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 }