|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--dke.smwp.trigger.AbstractTrigger | +--dke.smwp.trigger.DerivedDataTrigger
manages data trigger for derived fragment classes.
creates two Derived Fragment Data Trigger; Trigger 1 triggers from
fragmentBaseClass
to fragmentClass
, Trigger 2
triggers from derivedFragmentClass
to fragmentClass
;
Trigger 2 is seperated into before and after trigger to evade Mutating Table
problems; both triggers propagate tuple deleting/insertion/update to its
trigger target;
Field Summary | |
static java.lang.String |
TABLE_SMWP_WORKTRACE
|
Fields inherited from class dke.smwp.trigger.AbstractTrigger |
_connectionPool, NEW_OPERATOR, OLD_OPERATOR |
Constructor Summary | |
DerivedDataTrigger()
default constructor |
Method Summary | |
void |
createDerivedTrigger(DerivedFragmentClass fragmentClass,
FragmentClass fragmentBaseClass,
FragmentClass derivationBaseClass)
creates two Derived Fragment Data Trigger; Trigger 1 triggers from fragmentBaseClass to fragmentClass , Trigger 2
triggers from derivedFragmentClass to fragmentClass ;
Trigger 2 is seperated into before and after trigger to evade Mutating Table
problems; both triggers propagate tuple deleting/insertion/update to its
trigger target; |
private java.lang.String |
derivedColumnNamesToString(FragmentClass fragmentClass,
java.lang.String prefix)
generates a comma seperated list of derived column names; columns of Fragment Class MINUS columns of Fragment Base Class = derived column(s); syntax of generated string: prefix columnName { ", " prefix columnName } |
java.lang.String |
getDerivedTupleTrigger_derivBase_after(DerivedFragmentClass fragmentClass,
FragmentClass fragmentBaseClass,
FragmentClass derivationBaseClass)
creates PL/SQL trigger code for PL/SQL trigger defined upon Fragment Class derivatoinBaseClass and Fragment Class fragmentClass
as trigger target; due mutating table problems this trigger is devided into
before and after trigger;
the generated trigger uses the data saved into the temporary database
relation as substitute to :NEW, :OLD database operators to propagate
changes from fragmentBaseClass to fragmentClass |
java.lang.String |
getDerivedTupleTrigger_derivBase_before(DerivedFragmentClass fragmentClass,
FragmentClass derivationBaseClass)
creates PL/SQL trigger code for PL/SQL trigger defined upon Fragment Class derivatoinBaseClass and Fragment Class fragmentClass
as trigger target; due mutating table problems this trigger is devided into
before and after trigger;
the generated trigger saves inserted/deleted/updated tuples in
derivationBaseClass into a temporary database relation for
further processing in the after part of this trigger |
java.lang.String |
getDerivedTupleTrigger_fragBase(DerivedFragmentClass fragmentClass,
FragmentClass fragmentBaseClass,
FragmentClass derivationBaseClass)
creates PL/SQL trigger code for trigger defined upon fragment class fragmentBaseClass and fragment class fragmentClass
as trigger target; |
private java.lang.String |
getFragmentationKeys(FragmentClass fragmentClass,
java.lang.String prefix,
boolean showType)
creates comma seperated list of primary keys from Fragment Class fragmentClass ; method used for trigger generation on
SQL cursor handling;
syntax of generated String:prefix columnName [columnType] { "," prefix columnName [columnType] } |
Methods inherited from class dke.smwp.trigger.AbstractTrigger |
dropTrigger, getTColumnPosition, getTColumnPosition, getTColumnPosition, getTColumnString, getWhereClause, getWhereClause, getWhereClause, getWhereClause, stingReplace, stingTablenameReplace |
Methods inherited from class java.lang.Object |
|
Field Detail |
public static final java.lang.String TABLE_SMWP_WORKTRACE
Constructor Detail |
public DerivedDataTrigger()
Method Detail |
public void createDerivedTrigger(DerivedFragmentClass fragmentClass, FragmentClass fragmentBaseClass, FragmentClass derivationBaseClass) throws java.sql.SQLException
fragmentBaseClass
to fragmentClass
, Trigger 2
triggers from derivedFragmentClass
to fragmentClass
;
Trigger 2 is seperated into before and after trigger to evade Mutating Table
problems; both triggers propagate tuple deleting/insertion/update to its
trigger target;fragmentClass
- trigger targetfragmentBaseClass
- trigger source 1derivationBaseClass
- trigger source 2java.sql.SQLException
- trigger deployment failspublic java.lang.String getDerivedTupleTrigger_fragBase(DerivedFragmentClass fragmentClass, FragmentClass fragmentBaseClass, FragmentClass derivationBaseClass) throws java.sql.SQLException
fragmentBaseClass
and fragment class fragmentClass
as trigger target;fragmentClass
- trigger targetfragmentBaseClass
- trigger base / trigger sourcederivationBaseClass
- trigger sourcejava.sql.SQLException
- error fetching meta-datapublic java.lang.String getDerivedTupleTrigger_derivBase_before(DerivedFragmentClass fragmentClass, FragmentClass derivationBaseClass) throws java.sql.SQLException
derivatoinBaseClass
and Fragment Class fragmentClass
as trigger target; due mutating table problems this trigger is devided into
before and after trigger;
the generated trigger saves inserted/deleted/updated tuples in
derivationBaseClass
into a temporary database relation for
further processing in the after part of this trigger
fragmentClass
- only used for naming the triggerderivationBaseClass
- trigger base / sourcejava.sql.SQLException
- error fetching meta-datapublic java.lang.String getDerivedTupleTrigger_derivBase_after(DerivedFragmentClass fragmentClass, FragmentClass fragmentBaseClass, FragmentClass derivationBaseClass) throws java.sql.SQLException
derivatoinBaseClass
and Fragment Class fragmentClass
as trigger target; due mutating table problems this trigger is devided into
before and after trigger;
the generated trigger uses the data saved into the temporary database
relation as substitute to :NEW, :OLD database operators to propagate
changes from fragmentBaseClass
to fragmentClass
fragmentClass
- trigger targetfragmentBaseClass
- trigger sourcederivationBaseClass
- trigger base / sourcejava.sql.SQLException
- error fetching meta-dataprivate java.lang.String getFragmentationKeys(FragmentClass fragmentClass, java.lang.String prefix, boolean showType)
fragmentClass
; method used for trigger generation on
SQL cursor handling;
syntax of generated String:
prefix columnName [columnType] { "," prefix columnName [columnType] }
fragmentClass
- Fragment Class whose primary keys are fetchedprefix
- output column name prefixshowType
- true
if column data type is to be
displayed, false
otherwiseprivate java.lang.String derivedColumnNamesToString(FragmentClass fragmentClass, java.lang.String prefix)
syntax of generated string:
prefix columnName { ", " prefix columnName }
fragmentClass
- Fragment Class whose derived column names are fetchedprefix
- output column name prefix
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |