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

    java.lang.Object
      org.eclipse.datatools.connectivity.sqm.core.rte.fe.GenericDdlBuilder
          org.eclipse.datatools.enablement.sybase.ddl.SybaseDdlBuilder
              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[]