99import  org .hibernate .type .StringType ;
1010
1111public  class  SQLiteDialect  extends  Dialect  {
12+ 
1213    public  SQLiteDialect () {
14+ 
1315        registerColumnType (Types .BIT , "integer" );
16+ 
1417        registerColumnType (Types .TINYINT , "tinyint" );
18+ 
1519        registerColumnType (Types .SMALLINT , "smallint" );
20+ 
1621        registerColumnType (Types .INTEGER , "integer" );
22+ 
1723        registerColumnType (Types .BIGINT , "bigint" );
24+ 
1825        registerColumnType (Types .FLOAT , "float" );
26+ 
1927        registerColumnType (Types .REAL , "real" );
28+ 
2029        registerColumnType (Types .DOUBLE , "double" );
30+ 
2131        registerColumnType (Types .NUMERIC , "numeric" );
32+ 
2233        registerColumnType (Types .DECIMAL , "decimal" );
34+ 
2335        registerColumnType (Types .CHAR , "char" );
36+ 
2437        registerColumnType (Types .VARCHAR , "varchar" );
38+ 
2539        registerColumnType (Types .LONGVARCHAR , "longvarchar" );
40+ 
2641        registerColumnType (Types .DATE , "date" );
42+ 
2743        registerColumnType (Types .TIME , "time" );
44+ 
2845        registerColumnType (Types .TIMESTAMP , "timestamp" );
46+ 
2947        registerColumnType (Types .BINARY , "blob" );
48+ 
3049        registerColumnType (Types .VARBINARY , "blob" );
50+ 
3151        registerColumnType (Types .LONGVARBINARY , "blob" );
52+ 
3253        // registerColumnType(Types.NULL, "null"); 
3354        registerColumnType (Types .BLOB , "blob" );
55+ 
3456        registerColumnType (Types .CLOB , "clob" );
57+ 
3558        registerColumnType (Types .BOOLEAN , "integer" );
3659
3760        registerFunction ("concat" , new  VarArgsSQLFunction (StringType .INSTANCE , "" , "||" , "" ));
61+ 
3862        registerFunction ("mod" , new  SQLFunctionTemplate (StringType .INSTANCE , "?1 % ?2" ));
63+ 
3964        registerFunction ("substr" , new  StandardSQLFunction ("substr" , StringType .INSTANCE ));
65+ 
4066        registerFunction ("substring" , new  StandardSQLFunction ("substr" , StringType .INSTANCE ));
4167    }
4268
@@ -77,6 +103,7 @@ public boolean supportsLimit() {
77103    }
78104
79105    protected  String  getLimitString (String  query , boolean  hasOffset ) {
106+ 
80107        return  new  StringBuffer (query .length () + 20 ).
81108                append (query ).
82109                append (hasOffset  ? " limit ? offset ?"  : " limit ?" ).
@@ -132,7 +159,9 @@ public boolean supportsOuterJoinForUpdate() {
132159    }
133160
134161    public  String  getDropForeignKeyString () {
162+ 
135163        throw  new  UnsupportedOperationException ("No drop foreign key syntax supported by SQLiteDialect" );
164+ 
136165    }
137166
138167    public  String  getAddForeignKeyConstraintString (String  constraintName ,
@@ -142,7 +171,9 @@ public String getAddForeignKeyConstraintString(String constraintName,
142171    }
143172
144173    public  String  getAddPrimaryKeyConstraintString (String  constraintName ) {
174+ 
145175        throw  new  UnsupportedOperationException ("No add primary key syntax supported by SQLiteDialect" );
176+ 
146177    }
147178
148179    public  boolean  supportsIfExistsBeforeTableName () {
0 commit comments