Module org.postgresql.pljava
Package org.postgresql.pljava.annotation
Annotation Interface SQLAction
@Documented
@Target({PACKAGE,TYPE})
@Repeatable(SQLActions.class)
@Retention(CLASS)
public @interface SQLAction
Annotation that supplies verbatim commands to be copied into the
deployment descriptor.
Strings supplied within a single SQLAction annotation will be copied
in the order supplied. Strings from different SQLAction annotations, and
generated code for functions, will be assembled in an order that can be
influenced by 'provides' and 'requires' labels. No snippet X will be
emitted ahead of any snippets that provide what X requires. The "remove"
actions will be assembled in the reverse of that order.
- Author:
- Thomas Hallgren - pre-Java6 version, Chapman Flack (Purdue Mathematics) - updated to Java6, added SQLAction
-
Optional Element Summary
Modifier and TypeOptional ElementDescriptionThe<implementor name>
to be used around SQL code generated here.String[]
SQL commands to be included in a BEGIN INSTALL group (each string considered a separate command to which a semicolon will be added).String[]
One or more arbitrary labels that will be considered 'provided' by the object carrying this annotation.String[]
SQL commands to be included in a BEGIN REMOVE group (each string considered a separate command to which a semicolon will be added).String[]
One or more arbitrary labels that will be considered 'required' by the object carrying this annotation.
-
Element Details
-
install
String[] installSQL commands to be included in a BEGIN INSTALL group (each string considered a separate command to which a semicolon will be added).- Default:
{}
-
remove
String[] removeSQL commands to be included in a BEGIN REMOVE group (each string considered a separate command to which a semicolon will be added).- Default:
{}
-
provides
String[] providesOne or more arbitrary labels that will be considered 'provided' by the object carrying this annotation. The deployment descriptor will be generated in such an order that other objects that 'require' labels 'provided' by this come later in the output for install actions, and earlier for remove actions.- Default:
{}
-
requires
String[] requiresOne or more arbitrary labels that will be considered 'required' by the object carrying this annotation. The deployment descriptor will be generated in such an order that other objects that 'provide' labels 'required' by this come earlier in the output for install actions, and later for remove actions.- Default:
{}
-
implementor
String implementorThe<implementor name>
to be used around SQL code generated here. Defaults toPostgreSQL
. Set explicitly to""
to emit code not wrapped in an<implementor block>
.- Default:
""
-