org.eclipse.datatools.enablement.sybase.asa.ddl
Class SybaseASADdlBuilder

java.lang.Object
  extended by org.eclipse.datatools.connectivity.sqm.core.rte.fe.GenericDdlBuilder
      extended by org.eclipse.datatools.enablement.sybase.ddl.SybaseDdlBuilder
          extended by org.eclipse.datatools.enablement.sybase.asa.ddl.SybaseASADdlBuilder
All Implemented Interfaces:
ISybaseASADdlConstants, ISybaseDdlConstants

public class SybaseASADdlBuilder
extends SybaseDdlBuilder
implements ISybaseASADdlConstants


Field Summary
static com.ibm.icu.text.DateFormat DATE_FORMAT
          Used in event schedule formatting
static com.ibm.icu.text.DateFormat TIME_FORMAT
           
 
Fields inherited from interface org.eclipse.datatools.enablement.sybase.asa.ISybaseASADdlConstants
AND, ASE, BETWEEN, BLANK, BY, CASE, CHECKSUM, COLLATION, COMPATIBLE, COMPUTE, CONNECT, DATE, DAYS_OF_WEEK, DBSPACE, DECLARELOCALTEMP, DISABLE, ENABLE, ENCRYPTED, EVENT_CONDITION, EVERY, EXISTING, GLOBALTEMPTABLE, GROUP, HANDLER, IDENTIFIED, IGNORE, JCONNECT, JDK, KEY, MEMBERSHIP, MIRROR, MODIFY, NOTTRANSACTIONAL, OFF, ONCOMMITDELETE, ONCOMMITPRESERVE, ONEXCEPTIONRESUME, ORDER, PADDING, PAGE, PASSWORD, PCTFREE, REMOTE, RESPECT, RESULT, SCHEDULE, SERVICE, SIZE, START, SYNTAX_TYPE_LIBRARY_CALL, SYNTAX_TYPE_PROXY, SYNTAX_TYPE_SQLJ, SYNTAX_TYPE_TSQL, SYNTAX_TYPE_WATCOM1, SYNTAX_TYPE_WATCOM2, TEMP_PASSWORD, TIME, USER, VIRTUAL, WHERE
 
Fields inherited from interface org.eclipse.datatools.enablement.sybase.ddl.ISybaseDdlConstants
ALTER_PRIVILEGE, ASC, AT, BEGIN, CAST, CHECKOPTION, CLUSTERED, COLUMN, COMMENT, COMMIT, DATABASE, DELETE_PRIVILEGE, DESC, END, END_IF, EQUAL, EVENT, EXEC_PRIVILEGE, EXISTS, EXTERNAL, EXTERNAL_NAME, FILE, FROM, GO, GO_FOR, GRANT, IF, IN, INOUT, INSERT_PRIVILEGE, IS, JAVA, LOCATOR, LOG, MESSAGE, NONCLUSTERED, OUT, OUTPUT, REFERENCE_PRIVILEGE, REFERENCES_PRIVILEGE, REMOVE, RENAME, REVOKE, SELECT_PRIVILEGE, SEMICOLUMN, SP_RENAME, THEN, TO, UPDATE_PRIVILEGE, WITH_GRANT_OPTION, WITH_RECOMPILE
 
Method Summary
 java.lang.String[] addCheckConstraint(CheckConstraint constraint, boolean quoteIdentifiers, boolean qualifyNames, boolean fullSyntax)
          Returns the SQL Statement for adding check constraint clause.
 java.lang.String[] addForeignKey(ForeignKey foreignKey, boolean quoteIdentifiers, boolean qualifyNames, boolean fullSyntax)
          Returns the SQL Statement for adding foreign key clause.
 java.lang.String[] addUniqueConstraint(UniqueConstraint constraint, boolean quoteIdentifiers, boolean qualifyNames, boolean fullSyntax)
          Returns the SQL Statement for adding unique constraint/primary key clause.
 java.lang.String[] createAuthorizationId(AuthorizationIdentifier authId, boolean quoteIdentifiers, boolean qualifyNames, boolean fullSyntax)
           GRANT CONNECT TO userid, ...
 java.lang.String[] createCatalogs(Catalog catalog, boolean quoteIdentifiers, boolean qualifyNames, boolean fullSyntax)
           
 java.lang.String[] createColumn(Column col, boolean quoteIdentifiers, boolean qualifyNames, boolean fullSyntax)
           ALTER TABLE [ owner.]table-name ADD column-name data-type [ NOT NULL ] [ DEFAULT default-value ] [ column-constraint ...
 java.lang.String createComment(SQLObject obj, boolean quoteIdentifiers, boolean qualifyNames)
           COMMENT ON { COLUMN [ owner.]table-name.column-name | EVENT event-name | FOREIGN KEY [ owner.]table-name.role-name | INDEX [ [ owner.] table.]index-name | JAVA CLASS java-class-name | JAVA JAR java-jar-name | LOGIN integrated_login_id | PROCEDURE [ owner.]procedure-name | SERVICE web-service-name | TABLE [ owner.]table-name | TRIGGER [ [ owner.]tablename.]trigger-name | USER userid | VIEW [ owner.]view-name } IS comment
 java.lang.String createComment(SQLObject obj, boolean quoteIdentifiers, boolean qualifyNames, boolean removeComment)
           
 java.lang.String[] createDatabase(Database database, boolean quoteIdentifiers, boolean qualifyNames, boolean fullSyntax)
           
 java.lang.String[] createDBSpace(SybaseASABaseDBSpace dbSpace, boolean quoteIdentifiers, boolean qualifyNames, boolean fullSyntax)
           CREATE DBSPACE dbspace-name AS filename
 java.lang.String[] createEvent(Event event, boolean quoteIdentifiers, boolean qualifyNames, boolean fullSyntax)
           CREATE EVENT event-name [ TYPE event-type [ WHERE trigger-condition [ AND trigger-condition ] ...
 java.lang.String[] createIndex(Index index, boolean quoteIdentifiers, boolean qualifyNames, boolean fullSyntax)
           
 java.lang.String[] createProcedure(Procedure procedure, boolean quoteIdentifiers, boolean qualifyNames, boolean fullSyntax)
           TSQL:
 java.lang.String[] createTrigger(Trigger trigger, boolean quoteIdentifiers, boolean qualifyNames, boolean fullSyntax)
           CREATE TRIGGER trigger-name trigger-time { trigger-event-list | UPDATE OF column-list } [ ORDER integer ] ON table-name [ REFERENCING [ OLD AS old-name ] [ NEW AS new-name ] [ REMOTE AS remote-name ] ] [ FOR EACH { ROW | STATEMENT } ] [ WHEN ( search-condition ) ] compound-statement trigger-time : BEFORE | AFTER | RESOLVE trigger-event-list : trigger-event [ , trigger-event ] trigger-event : DELETE | INSERT | UPDATE
 java.lang.String[] createUserDefinedFunction(UserDefinedFunction function, boolean quoteIdentifiers, boolean qualifyNames, boolean fullSyntax)
           CREATE FUNCTION [ owner.]function-name ( [ parameter, ...
 java.lang.String[] createUserDefinedType(UserDefinedType udt, boolean quoteIdentifiers, boolean qualifyNames, boolean fullSyntax)
          Returns the SQL Statement for creating domain.
 java.lang.String[] createView(ViewTable view, boolean quoteIdentifiers, boolean qualifyNames, boolean fullSyntax)
           CREATE VIEW [ owner.]view-name [ ( column-name, .
 java.lang.String dropAuthorizationId(AuthorizationIdentifier authId, boolean quoteIdentifiers, boolean qualifyNames)
           REVOKE CONNECT FROM userid, ...
 java.lang.String dropCheckConstraint(CheckConstraint constraint, boolean quoteIdentifiers, boolean qualifyNames)
           
 java.lang.String dropDatabase(Database db, boolean quoteIdentifiers, boolean qualifyNames)
           
 java.lang.String dropDBSpace(SybaseASABaseDBSpace dbspace, boolean quoteIdentifiers, boolean qualifyNames)
           
 java.lang.String dropEvent(Event event, boolean quoteIdentifiers, boolean qualifyNames)
           
 java.lang.String dropForeignKey(ForeignKey foreignKey, boolean quoteIdentifiers, boolean qualifyNames)
           
 java.lang.String dropFunction(UserDefinedFunction function, boolean quoteIdentifiers, boolean qualifyNames)
           
 java.lang.String dropIndex(Index index, boolean quoteIdentifiers, boolean qualifyNames)
           
 java.lang.String dropProcedure(Procedure procedure, boolean quoteIdentifiers, boolean qualifyNames)
           
 java.lang.String dropTable(BaseTable table, boolean quoteIdentifiers, boolean qualifyNames)
           
 java.lang.String dropTrigger(Trigger trigger, boolean quoteIdentifiers, boolean qualifyNames)
           
 java.lang.String dropUniqueConstraint(UniqueConstraint constraint, boolean quoteIdentifiers, boolean qualifyNames)
           
 java.lang.String dropUserDefinedType(UserDefinedType udt, boolean quoteIdentifiers, boolean qualifyNames)
          Returns the SQL Statement for droping domain.
 java.lang.String dropView(ViewTable view, boolean quoteIdentifiers, boolean qualifyNames)
           DROP VIEW [ owner.]view-name
 java.lang.String getCharacteristics(Routine routine)
           
 java.lang.String getEventComment(Event obj)
          Returns the embeded comment for Event
 java.lang.String getEventConditions(java.util.List details)
           
 java.lang.String getEventHeader(Event event, boolean quoteIdentifiers, boolean qualifyNames, boolean fullSyntax, boolean debugFormat)
           
 java.lang.String getEventLocation(boolean fullSyntax, SybaseASABaseEvent evt)
           
 java.lang.String getEventSchedule(Schedule schedule)
           
 java.lang.String getEventScheduleOrType(SybaseASABaseEvent evt)
           
 java.lang.String getEventSchedules(SybaseASABaseEvent evt)
           
 java.lang.String[] getEventSource(Event event, boolean quoteIdentifiers, boolean qualifyNames, boolean fullSyntax, boolean debugFormat)
           
 java.lang.String getEventStatus(SybaseASABaseEvent evt)
           
 java.lang.String getFullTriggerEvents(SybaseASABaseTrigger trig)
           
static SybaseASADdlBuilder getInstance()
           
 java.lang.String getRoutineResults(Procedure procedure)
           
 int getSyntaxType(Procedure routine)
           
 java.lang.String getTriggerGranularity(SybaseASABaseTrigger trig)
           
 java.lang.String getTriggerOrder(boolean fullSyntax, SybaseASABaseTrigger trig)
           
 java.lang.String getTriggerReference(SybaseASABaseTrigger trig)
           
 java.lang.String getWatcomParameter(Routine routine, Parameter p)
           
 java.lang.String getWatcomParameter(java.lang.String name, java.lang.String type, java.lang.String defValue, java.lang.String mode, ParameterType paramType)
           
 java.lang.String getWatcomParameters(Routine routine, boolean fullSyntax)
          Generates watcom style parameters without parenthesis
 java.lang.String[] grantPrivilege(Privilege privilege, boolean quoteIdentifiers, boolean qualifyNames, boolean fullSyntax)
          Assemble SQL statement to grant privilege.
One thing needs to be pointed out is, a privilege instance can be referenced by an instance of AuthorizationIdentifier (The grantor), it can also be contained by an instance of AuthorizationIdentifier (The grantee).
 java.lang.String parseDaysOfMonth(int daysOfMonth)
           
 java.lang.String parseDaysOfWeek(int daysOfWeek)
           
 
Methods inherited from class org.eclipse.datatools.enablement.sybase.ddl.SybaseDdlBuilder
createTable, createTSQLTrigger, dropCatalog, dropColumn, getDatabaseIdentifier, getIndexKeyColumns, getName, getTriggerBody, getTriggerEvents, getTSQLParameter, getTSQLParameter, revokePrivilege
 
Methods inherited from class org.eclipse.datatools.connectivity.sqm.core.rte.fe.GenericDdlBuilder
addCheckConstraint, addForeignKey, addUniqueConstraint, alterTableAddColumn, createAssertion, createIndex, createProcedure, createSchema, createTable, createTrigger, createUserDefinedFunction, createUserDefinedType, createView, dropAssertion, dropSchema, dropTableConstraint, getEngineeringCallBack, isImplicitConstraint, setEngineeringCallBack
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DATE_FORMAT

public static final com.ibm.icu.text.DateFormat DATE_FORMAT
Used in event schedule formatting


TIME_FORMAT

public static final com.ibm.icu.text.DateFormat TIME_FORMAT
Method Detail

getInstance

public static SybaseASADdlBuilder getInstance()

createCatalogs

public java.lang.String[] createCatalogs(Catalog catalog,
                                         boolean quoteIdentifiers,
                                         boolean qualifyNames,
                                         boolean fullSyntax)
Specified by:
createCatalogs in class SybaseDdlBuilder

dropIndex

public java.lang.String dropIndex(Index index,
                                  boolean quoteIdentifiers,
                                  boolean qualifyNames)
Overrides:
dropIndex in class GenericDdlBuilder

dropDatabase

public java.lang.String dropDatabase(Database db,
                                     boolean quoteIdentifiers,
                                     boolean qualifyNames)
Overrides:
dropDatabase in class SybaseDdlBuilder

dropTrigger

public java.lang.String dropTrigger(Trigger trigger,
                                    boolean quoteIdentifiers,
                                    boolean qualifyNames)
Overrides:
dropTrigger in class GenericDdlBuilder

createDatabase

public java.lang.String[] createDatabase(Database database,
                                         boolean quoteIdentifiers,
                                         boolean qualifyNames,
                                         boolean fullSyntax)
Specified by:
createDatabase in class SybaseDdlBuilder

createEvent

public java.lang.String[] createEvent(Event event,
                                      boolean quoteIdentifiers,
                                      boolean qualifyNames,
                                      boolean fullSyntax)
      CREATE EVENT event-name
      [ TYPE event-type
          [ WHERE trigger-condition [ AND trigger-condition ] ... ]
      | SCHEDULE schedule-spec, ... ]
      [ ENABLE | DISABLE ]
      [ AT { CONSOLIDATED | REMOTE | ALL } ]
      [ HANDLER
      BEGIN
      ...
      END ]
 
      event-type :
      BackupEnd   | "Connect"
      | ConnectFailed  | DatabaseStart
      | DBDiskSpace | "Disconnect"
      | GlobalAutoincrement | GrowDB
      | GrowLog     | GrowTemp
      | LogDiskSpace   | "RAISERROR"
      | ServerIdle     | TempDiskSpace
 
      trigger-condition :
      event_condition( condition-name ) { = | < | > | != | <= | >= } value
 
      schedule-spec :
      [ schedule-name ]
      { START TIME start-time | BETWEEN start-time AND end-time }
      [ EVERY period { HOURS | MINUTES | SECONDS } ]
      [ ON { ( day-of-week, ... ) | ( day-of-month, ... ) } ]
      [ START DATE start-date ]
 
      event-name | schedule-name : identifier
 
      day-of-week :        string
 
      day-of-month | value | period :   integer
 
      start-time | end-time :      time
 
      start-date :         date
 
 
TODO check the format of the ASA debugger

Specified by:
createEvent in class SybaseDdlBuilder

getEventSource

public java.lang.String[] getEventSource(Event event,
                                         boolean quoteIdentifiers,
                                         boolean qualifyNames,
                                         boolean fullSyntax,
                                         boolean debugFormat)
Parameters:
event -
quoteIdentifiers -
qualifyNames -
fullSyntax -
debugFormat - Whether the generated ddl should be used for debugging
Returns:

getEventHeader

public java.lang.String getEventHeader(Event event,
                                       boolean quoteIdentifiers,
                                       boolean qualifyNames,
                                       boolean fullSyntax,
                                       boolean debugFormat)

getEventStatus

public java.lang.String getEventStatus(SybaseASABaseEvent evt)

getEventLocation

public java.lang.String getEventLocation(boolean fullSyntax,
                                         SybaseASABaseEvent evt)

getEventScheduleOrType

public java.lang.String getEventScheduleOrType(SybaseASABaseEvent evt)

getEventConditions

public java.lang.String getEventConditions(java.util.List details)

createProcedure

public java.lang.String[] createProcedure(Procedure procedure,
                                          boolean quoteIdentifiers,
                                          boolean qualifyNames,
                                          boolean fullSyntax)

TSQL:

      CREATE PROCEDURE [owner.]procedure_name
      [ [ ( ] @parameter_name data-type [ = default ] [ OUTPUT ], ... [ ) ] ]
      [ WITH RECOMPILE ] AS statement-list
 

Watcom1:

       CREATE PROCEDURE [ owner.]procedure-name ( [ parameter, ... ] )
       {   [ RESULT ( result-column, ... ) ]
       [ ON EXCEPTION RESUME ]
       compound-statement
       | AT location-string
       | EXTERNAL NAME library-call
       | [ DYNAMIC RESULT SETS integer-expression ]
       [ EXTERNAL NAME java-call LANGUAGE JAVA ]
       }
 

Watcom2:

      CREATE PROCEDURE [ owner.]procedure-name ( [ parameter, ... ] )
      compound-statement
 

Specified by:
createProcedure in class SybaseDdlBuilder

getRoutineResults

public java.lang.String getRoutineResults(Procedure procedure)

createUserDefinedFunction

public java.lang.String[] createUserDefinedFunction(UserDefinedFunction function,
                                                    boolean quoteIdentifiers,
                                                    boolean qualifyNames,
                                                    boolean fullSyntax)
      CREATE FUNCTION [ owner.]function-name ( [ parameter, ... ] )
      RETURNS data-type routine-characteristics
      { compound-statement
      | AS tsql-compound-statement
      | external-name }
 
      parameter :
      [ IN ] parameter-name data-type
 
      routine-characteristics
      ON EXCEPTION RESUME | [ NOT ] DETERMINISTIC
 
      tsql-compound-statement:
      sql-statement
      sql-statement
      ...
 
      external-name:
      EXTERNAL NAME library-call
      | EXTERNAL NAME java-call LANGUAGE JAVA
 
      library-call :
      '[operating-system:]function-name@library; ...'
 
      operating-system :
      Windows95 | WindowsNT | NetWare | UNIX
 
      java-call :
      '[package-name.]class-name.method-name method-signature'
 
 
      method-signature :
      ([field-descriptor, ... ]) return-descriptor
 
      field-descriptor | return-descriptor :
      Z | B | S | I | J | F | D | C | V | [descriptor | Lclass-name;
 

Specified by:
createUserDefinedFunction in class SybaseDdlBuilder

getCharacteristics

public java.lang.String getCharacteristics(Routine routine)

createTrigger

public java.lang.String[] createTrigger(Trigger trigger,
                                        boolean quoteIdentifiers,
                                        boolean qualifyNames,
                                        boolean fullSyntax)
      CREATE TRIGGER trigger-name trigger-time { trigger-event-list | UPDATE OF column-list }
      [ ORDER integer ] ON table-name
      [ REFERENCING [ OLD AS old-name ]
                      [ NEW AS new-name ] 
                      [ REMOTE AS remote-name ] ]
      [ FOR EACH { ROW | STATEMENT } ]
      [ WHEN ( search-condition ) ]
      compound-statement
 
      trigger-time : BEFORE | AFTER | RESOLVE
 
      trigger-event-list : trigger-event [ , trigger-event ]
 
      trigger-event :
      DELETE | INSERT | UPDATE
 
TODO TSQL

Specified by:
createTrigger in class SybaseDdlBuilder

getTriggerReference

public java.lang.String getTriggerReference(SybaseASABaseTrigger trig)

getTriggerGranularity

public java.lang.String getTriggerGranularity(SybaseASABaseTrigger trig)

getTriggerOrder

public java.lang.String getTriggerOrder(boolean fullSyntax,
                                        SybaseASABaseTrigger trig)

getFullTriggerEvents

public java.lang.String getFullTriggerEvents(SybaseASABaseTrigger trig)

createUserDefinedType

public java.lang.String[] createUserDefinedType(UserDefinedType udt,
                                                boolean quoteIdentifiers,
                                                boolean qualifyNames,
                                                boolean fullSyntax)
Returns the SQL Statement for creating domain.

See following SQL Syntax:

  CREATE { DOMAIN | DATATYPE } [ AS ] domain-name data-type
           [ [ NOT ] NULL ]
           [ DEFAULT default-value ]
           [ CHECK ( condition ) ]
   
 

Specified by:
createUserDefinedType in class SybaseDdlBuilder
Parameters:
asaUDT -
quoteIdentifiers -
qualifyNames -
Returns:

grantPrivilege

public java.lang.String[] grantPrivilege(Privilege privilege,
                                         boolean quoteIdentifiers,
                                         boolean qualifyNames,
                                         boolean fullSyntax)
Description copied from class: SybaseDdlBuilder
Assemble SQL statement to grant privilege.
One thing needs to be pointed out is, a privilege instance can be referenced by an instance of AuthorizationIdentifier (The grantor), it can also be contained by an instance of AuthorizationIdentifier (The grantee).

In this case, to avoid generating a same grant statement two times, we only generate the statement for a contained privilege.

Syntax:
Adaptive Server Anywhere 9.x

        GRANT {
            ALL [ PRIVILEGES ],
            ALTER,
            DELETE,
            INSERT,
            REFERENCES [ ( column-name, ... ) ],
            SELECT [ ( column-name, ... ) ],
            UPDATE [ ( column-name, ... ) ],
            }
            ON [ owner.]table-name
            TO userid, ...
            [ WITH GRANT OPTION ]
            [ FROM userid  ]
 
   GRANT EXECUTE ON [ owner.]procedure-name TO userid, ...
 

Adaptive Server Enterprise 12.5.x & 15.x

        grant {all [privileges]| permission_list}
            on { table_name [(column_list)]
            | view_name[(column_list)]
            | stored_procedure_name}
            to {public | name_list | role_name}
            [with grant option]
 
           Object              permission_list
           ------------------------------------------------------
           Table               select, insert, delete, update, references
           View                select, insert, delete, update
           Column              select, update, references
           Stored procedure    execute
 
TODO: For ASE15, there're new types of permissions, I'll do research to find out if we should support them. The "[FROM userid]" sub clause won't be used here.
Generally speaking, the "[ALL PRIVILEGES]" won't appear since in system table there is no "[ALL PRIVILEGES]" type.

Overrides:
grantPrivilege in class SybaseDdlBuilder
Parameters:
privilege - the privilege instance
quoteIdentifiers - the status of "quoted_identifier"
qualifyNames - if qulified name should be used

createView

public java.lang.String[] createView(ViewTable view,
                                     boolean quoteIdentifiers,
                                     boolean qualifyNames,
                                     boolean fullSyntax)
   CREATE VIEW
   [ owner.]view-name [ ( column-name, . . . ) ]
   AS select-statement
   [ WITH CHECK OPTION ]
 

Specified by:
createView in class SybaseDdlBuilder

createComment

public java.lang.String createComment(SQLObject obj,
                                      boolean quoteIdentifiers,
                                      boolean qualifyNames)
   COMMENT ON
   {
      COLUMN [ owner.]table-name.column-name
      | EVENT event-name
      | FOREIGN KEY [ owner.]table-name.role-name
      | INDEX [ [ owner.] table.]index-name
      | JAVA CLASS java-class-name
      | JAVA JAR java-jar-name
      | LOGIN integrated_login_id
      | PROCEDURE [ owner.]procedure-name
      | SERVICE web-service-name
      | TABLE [ owner.]table-name
      | TRIGGER [ [ owner.]tablename.]trigger-name
      | USER userid
      | VIEW [ owner.]view-name
   }
   IS comment
 
For ASA, when creating a view, there may be comments on the view or its columns, so COMMENT ON statement is needed for the view creating.


createComment

public java.lang.String createComment(SQLObject obj,
                                      boolean quoteIdentifiers,
                                      boolean qualifyNames,
                                      boolean removeComment)
Parameters:
obj -
quoteIdentifiers -
qualifyNames -
removeComment - whether to create sql statement to remove the comment if it's null.
Returns:

getEventComment

public java.lang.String getEventComment(Event obj)
Returns the embeded comment for Event

Parameters:
obj -
Returns:

createIndex

public java.lang.String[] createIndex(Index index,
                                      boolean quoteIdentifiers,
                                      boolean qualifyNames,
                                      boolean fullSyntax)
Overrides:
createIndex in class SybaseDdlBuilder

addUniqueConstraint

public java.lang.String[] addUniqueConstraint(UniqueConstraint constraint,
                                              boolean quoteIdentifiers,
                                              boolean qualifyNames,
                                              boolean fullSyntax)
Returns the SQL Statement for adding unique constraint/primary key clause.

See following SQL Syntax:

 alter table [[database.][owner].table_name
    add CONSTRAINT constraint-name ] { UNIQUE ( column-name, . . . )
      | PRIMARY KEY [ CLUSTERED ] ( column-name, . . . )
 

Specified by:
addUniqueConstraint in class SybaseDdlBuilder
Parameters:
constraint -
quoteIdentifiers -
qualifyNames -
fullSyntax -
Returns:
String[]

addForeignKey

public java.lang.String[] addForeignKey(ForeignKey foreignKey,
                                        boolean quoteIdentifiers,
                                        boolean qualifyNames,
                                        boolean fullSyntax)
Returns the SQL Statement for adding foreign key clause.

See following SQL Syntax:

 alter table [[database.][owner].table_name
    add {[constraint constraint_name]
    [ NOT NULL ] FOREIGN KEY [ role-name ] [ (column-name, . . . ) ]
      REFERENCES table-name [ (column-name, . . . ) ] [ CLUSTERED ]
       [ actions ] [ CHECK ON COMMIT ]
  actions :
   [ ON UPDATE action ] [ ON DELETE action ]
  action :
   CASCADE | SET NULL | SET DEFAULT | RESTRICT
 

Specified by:
addForeignKey in class SybaseDdlBuilder
Parameters:
constraint -
quoteIdentifiers -
qualifyNames -
fullSyntax -
Returns:
String[]

createColumn

public java.lang.String[] createColumn(Column col,
                                       boolean quoteIdentifiers,
                                       boolean qualifyNames,
                                       boolean fullSyntax)
   ALTER TABLE [ owner.]table-name
   ADD column-name data-type [ NOT NULL ] [ DEFAULT default-value ] [ column-constraint ... ]
 

Specified by:
createColumn in class SybaseDdlBuilder

createDBSpace

public java.lang.String[] createDBSpace(SybaseASABaseDBSpace dbSpace,
                                        boolean quoteIdentifiers,
                                        boolean qualifyNames,
                                        boolean fullSyntax)
  CREATE DBSPACE dbspace-name AS filename
 


createAuthorizationId

public java.lang.String[] createAuthorizationId(AuthorizationIdentifier authId,
                                                boolean quoteIdentifiers,
                                                boolean qualifyNames,
                                                boolean fullSyntax)
 GRANT CONNECT TO userid, ...
  IDENTIFIED BY password, ...
 ;
 GRANT {
   GROUP,
   MEMBERSHIP IN GROUP userid, ...,
   [ RESOURCE | ALL ]
 }
 TO userid, ...
 

Specified by:
createAuthorizationId in class SybaseDdlBuilder

dropEvent

public java.lang.String dropEvent(Event event,
                                  boolean quoteIdentifiers,
                                  boolean qualifyNames)
Overrides:
dropEvent in class SybaseDdlBuilder

dropProcedure

public java.lang.String dropProcedure(Procedure procedure,
                                      boolean quoteIdentifiers,
                                      boolean qualifyNames)
Overrides:
dropProcedure in class SybaseDdlBuilder

dropFunction

public java.lang.String dropFunction(UserDefinedFunction function,
                                     boolean quoteIdentifiers,
                                     boolean qualifyNames)
Overrides:
dropFunction in class SybaseDdlBuilder

dropTable

public java.lang.String dropTable(BaseTable table,
                                  boolean quoteIdentifiers,
                                  boolean qualifyNames)
Overrides:
dropTable in class GenericDdlBuilder

dropView

public java.lang.String dropView(ViewTable view,
                                 boolean quoteIdentifiers,
                                 boolean qualifyNames)
Description copied from class: SybaseDdlBuilder
     DROP VIEW
     [ owner.]view-name 
 

Overrides:
dropView in class SybaseDdlBuilder

dropForeignKey

public java.lang.String dropForeignKey(ForeignKey foreignKey,
                                       boolean quoteIdentifiers,
                                       boolean qualifyNames)
Specified by:
dropForeignKey in class SybaseDdlBuilder

dropCheckConstraint

public java.lang.String dropCheckConstraint(CheckConstraint constraint,
                                            boolean quoteIdentifiers,
                                            boolean qualifyNames)
Specified by:
dropCheckConstraint in class SybaseDdlBuilder

dropUniqueConstraint

public java.lang.String dropUniqueConstraint(UniqueConstraint constraint,
                                             boolean quoteIdentifiers,
                                             boolean qualifyNames)
Specified by:
dropUniqueConstraint in class SybaseDdlBuilder

dropUserDefinedType

public java.lang.String dropUserDefinedType(UserDefinedType udt,
                                            boolean quoteIdentifiers,
                                            boolean qualifyNames)
Returns the SQL Statement for droping domain.

See following SQL Syntax:

  DROP { DATATYPE | DOMAIN } datatype-name
  
 

Specified by:
dropUserDefinedType in class SybaseDdlBuilder
Parameters:
asaUDT -
quoteIdentifiers -
qualifyNames -
Returns:

dropDBSpace

public java.lang.String dropDBSpace(SybaseASABaseDBSpace dbspace,
                                    boolean quoteIdentifiers,
                                    boolean qualifyNames)
Parameters:
dbspace -
quoteIdentifiers -
qualifyNames -
Returns:

dropAuthorizationId

public java.lang.String dropAuthorizationId(AuthorizationIdentifier authId,
                                            boolean quoteIdentifiers,
                                            boolean qualifyNames)
 REVOKE CONNECT FROM userid, ...
 

Specified by:
dropAuthorizationId in class SybaseDdlBuilder

getWatcomParameters

public java.lang.String getWatcomParameters(Routine routine,
                                            boolean fullSyntax)
Generates watcom style parameters without parenthesis
      parameter_mode parameter-name data-type [ DEFAULT expression ]
      | SQLCODE
      | SQLSTATE
 


getWatcomParameter

public java.lang.String getWatcomParameter(Routine routine,
                                           Parameter p)

getWatcomParameter

public java.lang.String getWatcomParameter(java.lang.String name,
                                           java.lang.String type,
                                           java.lang.String defValue,
                                           java.lang.String mode,
                                           ParameterType paramType)

getSyntaxType

public int getSyntaxType(Procedure routine)

getEventSchedules

public java.lang.String getEventSchedules(SybaseASABaseEvent evt)

getEventSchedule

public java.lang.String getEventSchedule(Schedule schedule)

parseDaysOfWeek

public java.lang.String parseDaysOfWeek(int daysOfWeek)

parseDaysOfMonth

public java.lang.String parseDaysOfMonth(int daysOfMonth)

addCheckConstraint

public java.lang.String[] addCheckConstraint(CheckConstraint constraint,
                                             boolean quoteIdentifiers,
                                             boolean qualifyNames,
                                             boolean fullSyntax)
Description copied from class: SybaseDdlBuilder
Returns the SQL Statement for adding check constraint clause.

See following SQL Syntax:

   alter table [[database.][owner].table_name
      add {[constraint constraint_name]
      check (search_condition)}
 

Overrides:
addCheckConstraint in class SybaseDdlBuilder
Returns:
String[]