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 }