View Javadoc

1   package org.modeshape.sequencer.ddl.dialect.sybase;
2   
3   import org.modeshape.sequencer.ddl.DdlTokenStream;
4   import org.modeshape.sequencer.ddl.StandardDdlParser;
5   
6   public class SybaseDdlParser extends StandardDdlParser {
7   
8       /*
9        * 
10       * 
11       * Character
12      	CHAR [ ( max-length ) ]
13      	CHARACTER [ ( max-length ) ]
14      	CHARACTER VARYING [ ( max-length ) ]
15      	VARCHAR [ ( max-length ) ]
16      	UNIQUEIDENTIFIERSTR
17       * Numeric
18      	[ UNSIGNED ] BIGINT
19      	[ UNSIGNED ] { INT | INTEGER }
20      	SMALLINT
21      	TINYINT
22      	DECIMAL [ ( precision [ , scale ] ) ]
23      	NUMERIC [ ( precision [ , scale ] ) ]
24      	DOUBLE
25      	FLOAT [ ( precision ) ]
26      	REAL
27       * Binary
28      	BINARY [ ( length ) ]
29      	VARBINARY [ ( max-length ) ]
30      	UNIQUEIDENTIFIER
31       * Bit
32      	BIT
33       * Date/Time
34      	DATE
35      	DATETIME
36      	SMALLDATETIME
37      	TIME
38      	TIMESTAMP
39  
40  
41       * ===========================================================================================================================
42       * Data Definition Statements
43       ALLOCATE DESCRIPTOR
44       ALTER [DATABASE | DBSPACE | DOMAIN | EVENT | FUNCTION | INDEX | (LOGIN POLICY) | PROCEDURE | SERVER | SERVICE | TABLE | USER | VIEW]
45       BACKUP
46       BEGIN PARALLEL IQ … END PARALLEL IQ statement
47       BEGIN TRAN[SACTION] [ transaction-name ]
48       CHECKPOINT
49       COMMENT ON
50       COMMIT [ WORK ]
51       CONFIGURE
52       CREATE [DATABASE | DBSPACE | DOMAIN | EVENT | (EXISTING TABLE) | EXTERNLOGIN | FUNCTION | INDEX | (JOIN INDEX) 
53            | (LOGIN POLICY) | MESSAGE | PROCEDURE | SCHEMA | SERVER | SERVICE | TABLE | USER | VARIABLE | VIEW]
54       DEALLOCATE DESCRIPTOR
55       DECLARE LOCAL TEMPORARY TABLE
56       DELETE
57       DESCRIBE
58       DROP [CONNECTION | DATABASE | DBSPACE | DOMAIN | EVENT | EXTERNALLOGIN | FUNCTION | INDEX | (JOIN INDEX) | (LOGIN POLICY) 
59            | MESSAGE | PROCEDURE | SERVER | STATEMENT | TABLE | TRIGGER | USER | VARIABLE | VIEW]
60       EXEC[UTE]
61       EXIT
62       FORWARD TO
63       GET DESCRIPTOR
64       GRANT
65       INSERT
66       INSTALL JAVA
67       IQ UTILITIES
68       LOAD TABLE
69       LOCK TABLE
70       OUTPUT TO
71       PARAMETERS
72       READ
73       RELEASE SAVEPOINT
74       REMOVE JAVA
75       RESTORE DATABASE
76       REVOKE
77       ROLLBACK [WORK]
78       ROLLBACK TO SAVEPOINT
79       SAVEPOINT
80       SET [CONNECTION | DESCRIPTION | OPTION | SQLCA]
81       SIGNAL
82       START [DATABASE | ENGINE | JAVA]
83       STOP [DATABASE | ENGINE | JAVA]
84       SYNCHRONIZE JOIN INDEX
85       TRIGGER EVENT
86       TRUNCATE TABLE
87       UPDATE
88       WAITFOR
89       
90       * ===========================================================================================================================
91       * CREATE TABLE
92  
93      */
94  
95      private static final String[] COMMENT_ON = {"COMMENT", "ON"};
96      private static final String TERMINATOR = "go";
97  
98      public SybaseDdlParser() {
99          setTerminator(TERMINATOR);
100     }
101 
102     /**
103      * {@inheritDoc}
104      * 
105      * @see org.modeshape.sequencer.ddl.StandardDdlParser#initializeTokenStream(org.modeshape.sequencer.ddl.DdlTokenStream)
106      */
107     @Override
108     protected void initializeTokenStream( DdlTokenStream tokens ) {
109         super.initializeTokenStream(tokens);
110         tokens.registerStatementStartPhrase(COMMENT_ON);
111     }
112 }