|
||||||||||
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.FragmentationTrigger
class for creating/deploying and deleting Fragmentation Triggers.
This triggers are used to propagate tuple modifications in parameter relations (ValueParameter, PredicateParameter) to Fragmentation Relations.
Fields inherited from class dke.smwp.trigger.AbstractTrigger |
_connectionPool, NEW_OPERATOR, OLD_OPERATOR |
Constructor Summary | |
FragmentationTrigger()
default constructor |
Method Summary | |
void |
createDerived(DerivedFragmentClass fragmentClass)
Creates Trigger for Fragmentation Relation defined upon Fragment Class fragmentClass .
If the Derived Fragment Class is defined upon unfragmented Fragment Base
Class, only one trigger is to be created which is defined on the
Fragmentation Relation of its Derivation Base Class.
Otherwise trigger 1 is defined upon the Fragmentation Relation of its
Fragment Base Class, and trigger 2 is defined on the Fragmentation Relation
of its Derivation Base Class. |
void |
createPrimary(PrimaryFragmentClass fragmentClass,
AbstractParameter sourceParameter)
Creates Trigger for Fragmentation Relation defined upon Fragment Class fragmentClass .
|
void |
dropTrigger(java.lang.String fc_longName)
drops all Fragmentation Trigger designated by Fragment Class fc_longName as trigger target; |
private java.lang.String |
getTrigger(AbstractParameter sourceParameter1,
AbstractParameter sourceParameter2,
FragmentationRelation targetParameter,
java.lang.String fragmentSelectionPredicate,
int number)
creates PL/SQL trigger code for Fragmentation Relation; |
private java.lang.String |
getTrigger(AbstractParameter sourceParameter,
FragmentationRelation targetParameter,
java.lang.String fragmentSelectionPredicate,
boolean isPrimaryFragmentClass)
creates PL/SQL trigger code for Fragmentation Relation; |
Methods inherited from class dke.smwp.trigger.AbstractTrigger |
getTColumnPosition, getTColumnPosition, getTColumnPosition, getTColumnString, getWhereClause, getWhereClause, getWhereClause, getWhereClause, stingReplace, stingTablenameReplace |
Methods inherited from class java.lang.Object |
|
Constructor Detail |
public FragmentationTrigger()
Method Detail |
public void createPrimary(PrimaryFragmentClass fragmentClass, AbstractParameter sourceParameter) throws java.sql.SQLException
fragmentClass
.
If the Fragment Base Class of the Primary Fragment Class
fragmentClass
is unfragmented only one trigger is generated
which triggers from the sourceParameter
to the Fragmentation
Relation of the fragmentClass
.
On fragmented Fragmentation Base Class two triggers are to be created.
Trigger 1 defined upon sourceParameter
and trigges to the
Fragmentation Relation of the fragmentClass
. Trigger 2 is
defined upon the Fragmentation Relation of the Fragment Base Class and
triggeres to the Fragmentation Relation of the fragmentClass
.
fragmentClass
- Fragmentation Relation of Fragment Class
is trigger targetsourceParameter
- trigger base and trigger sourcejava.sql.SQLException
- deployment of trigger failedpublic void createDerived(DerivedFragmentClass fragmentClass) throws java.sql.SQLException
fragmentClass
.If the Derived Fragment Class is defined upon unfragmented Fragment Base Class, only one trigger is to be created which is defined on the Fragmentation Relation of its Derivation Base Class.
Otherwise trigger 1 is defined upon the Fragmentation Relation of its Fragment Base Class, and trigger 2 is defined on the Fragmentation Relation of its Derivation Base Class.
fragmentClass
- Fragment Class whose Fragment Base Class and
Derivation Base Class are trigger base / sourcejava.sql.SQLException
- deployment of trigger failspublic void dropTrigger(java.lang.String fc_longName)
fc_longName
as trigger target;dropTrigger
in class AbstractTrigger
fc_longName
- name of the Fragment Class, which is trigger target;private java.lang.String getTrigger(AbstractParameter sourceParameter, FragmentationRelation targetParameter, java.lang.String fragmentSelectionPredicate, boolean isPrimaryFragmentClass) throws java.sql.SQLException
sourceParameter
- parameter the trigger is declared upon;targetParameter
- parameter (Fragmentation Relation) which
designates the trigger target relation,
which is to be modified on
sourceParameter
modifications
(insert/update/delete)fragmentSelectionPredicate
- SQL statement; used as filter for
Fragmentation Relation which is trigger
target;isPrimaryFragmentClass
- true
if trigger is created
for Primary Fragment Class,
false
if fragment class is
Derived Fragment Classjava.sql.SQLException
- error on fetching meta-dataprivate java.lang.String getTrigger(AbstractParameter sourceParameter1, AbstractParameter sourceParameter2, FragmentationRelation targetParameter, java.lang.String fragmentSelectionPredicate, int number) throws java.sql.SQLException
sourceParameter1
- Reference Relation the PL/SQL trigger is
declared upon; trigger base
and trigger sourcesourceParameter2
- additional trigger sourcetargetParameter
- parameter which designates the trigger
target relation, which is to be modified
on sourceParameter1
modifications (insert/update/delete)number
- number used for extension of tigger name,
due two triggers are created for the same
targetParameter
.fragmentSelectionPredicate
- SQL statement; used as filter for
Fragmentation Relation
which is trigger target;java.sql.SQLException
- error on fetching meta-data
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |