SMACS

Package smacs.load.mapping

Transformation Information Blocks Module builder pieces The original module writer code was using the direct sql input text with a number of INSERT INTO and INSERT FROM statements.

See:
          Description

Interface Summary
DbMappingColumnFieldName used for contraint fields.
DbMappingConstraintFields base for constraint fields. of target inserts.
DbMappingDistinct representation of a distinct marker.
DbMappingForeignKeyFields representation of a foreign constraint of a mapping.
DbMappingRecordFieldList mark for nodes that have a field list.
DbMappingSimpleNode methods for mapping nodes.
DbMappingSourceCursor representation of data source.
DbMappingSourceSelector a source selector.
DbMappingSourceTableList a source table list.
DbMappingTargetInsert representation of a target data sink in a rule.
DbMappingTargetTable mapping target definition.
DbMappingTransform representation of transform rule.
DbMappingTransformList DbMapping TransformList operations.
DbMappingTransformStore DbMapping TransformList holder.
DbMappingUniqueKeyFields representation of a test constraint of a mapping.
 

Class Summary
DbMappingColumnFieldNode element inside of table constraints.
DbMappingDistinctList implementaiton of a list of distinct marker groups.
DbMappingDistinctNode implementaiton of a distinct marker group.
DbMappingForeignKeyFieldsNode implementation of a foreign constraint of a mapping.
DbMappingRecordField implementation of a record field.
DbMappingRecordSource the layout of a possible tupel stream source.
DbMappingScanSqlScript the main class.
DbMappingScriptNode base node for mapping implementation.
DbMappingSourceCursorNode implementation of data source.
DbMappingSourceTableNode implementation of a property for a source table.
DbMappingTargetInsertNode implementation of a target data sink in a rule.
DbMappingTargetNames names of distinct targets.
DbMappingTargetTableNode mapping target definition.
DbMappingTransformListNode DbMapping TransformList operations.
DbMappingTransformNode implementation of transform rule.
DbMappingUniqueKeyFieldsNode implementation of a test constraint of a mapping.
 

Package smacs.load.mapping Description

Transformation Information Blocks

Module builder pieces

The original module writer code was using the direct sql input text with a number of INSERT INTO and INSERT FROM statements. Each statement was converted to an equivalent JDBC script. That sql script equivalent was not capable to incorporate handling of constraints that come out of the schema. Such as unique keys and primaries and merging with rows.

Here is the next step after re-focussing on schema mapping transformation - we need to cut down the semantic parts of an expressed schema mapping which contains:

- source table - source where - source fields - target table - target fields - target where - target choice

the last part is the most problematic one since we can have atleast (a) exclusive choices where some condition (via where?) will trigger a data insert/update on that table with those fields or (b) inclusive choices where some condition (via where?) will trigger a data insert/update on that table with those fields.

We to optimize later for the various parts, including (a) which tables must be queried for data and (b) which condition clauses must be checked. - That's the main reason to cut those from the other parts.

technical

in this subsection we want all classes to carry the prefix "Select*" to make joining of classes easier in other parts of the project (due to java non-renaming problems).

next step

The "sink" is specified through a SelectUpdate clause which references various "Builds" modelled in terms of "Select*" interfaces. The Select nodes reference other nodes, so they do build a tree in a way after flattening it out. One of the Select nodes should be Cursor that will be used for the outer loop.

The select tree could be reordered to do some optimizations, just reassign the references.


SMACS