@@ -102,33 +102,18 @@ public AltibaseDialect(DatabaseVersion version) {
102
102
103
103
@ Override
104
104
protected String columnType (int sqlTypeCode ) {
105
- switch ( sqlTypeCode ) {
106
- case BOOLEAN :
107
- return "char(1)" ;
108
- case FLOAT :
109
- case DOUBLE :
110
- return "double" ;
111
- case TINYINT :
112
- return "smallint" ;
113
- case TIME :
114
- case TIMESTAMP :
115
- case TIME_WITH_TIMEZONE :
116
- case TIMESTAMP_WITH_TIMEZONE :
117
- return "date" ;
118
- case BINARY :
119
- return "byte($l)" ;
120
- case VARBINARY :
121
- return "varbyte($l)" ;
122
- case LONGVARBINARY :
123
- return "blob" ;
124
- case BIT :
125
- return "varbit($l)" ;
126
- case LONGVARCHAR :
127
- case NCLOB :
128
- return "clob" ;
129
- default :
130
- return super .columnType ( sqlTypeCode );
131
- }
105
+ return switch ( sqlTypeCode ) {
106
+ case BOOLEAN -> "char(1)" ;
107
+ case FLOAT , DOUBLE -> "double" ;
108
+ case TINYINT -> "smallint" ;
109
+ case TIME , TIMESTAMP , TIME_WITH_TIMEZONE , TIMESTAMP_WITH_TIMEZONE -> "date" ;
110
+ case BINARY -> "byte($l)" ;
111
+ case VARBINARY -> "varbyte($l)" ;
112
+ case LONGVARBINARY -> "blob" ;
113
+ case BIT -> "varbit($l)" ;
114
+ case LONGVARCHAR , NCLOB -> "clob" ;
115
+ default -> super .columnType ( sqlTypeCode );
116
+ };
132
117
}
133
118
134
119
@ Override
@@ -165,22 +150,11 @@ public int getDefaultStatementBatchSize() {
165
150
166
151
@ Override
167
152
public String trimPattern (TrimSpec specification , boolean isWhitespace ) {
168
- switch ( specification ) {
169
- case BOTH :
170
- return isWhitespace
171
- ? "trim(?1)"
172
- : "trim(?1,?2)" ;
173
- case LEADING :
174
- return isWhitespace
175
- ? "ltrim(?1)"
176
- : "ltrim(?1,?2)" ;
177
- case TRAILING :
178
- return isWhitespace
179
- ? "rtrim(?1)"
180
- : "rtrim(?1,?2)" ;
181
- }
182
-
183
- return super .trimPattern ( specification , isWhitespace );
153
+ return switch ( specification ) {
154
+ case BOTH -> isWhitespace ? "trim(?1)" : "trim(?1,?2)" ;
155
+ case LEADING -> isWhitespace ? "ltrim(?1)" : "ltrim(?1,?2)" ;
156
+ case TRAILING -> isWhitespace ? "rtrim(?1)" : "rtrim(?1,?2)" ;
157
+ };
184
158
}
185
159
186
160
@ Override
@@ -323,51 +297,36 @@ public long getFractionalSecondPrecisionInNanos() {
323
297
*/
324
298
@ Override
325
299
public String extractPattern (TemporalUnit unit ) {
326
- switch (unit ) {
327
- case DAY_OF_WEEK :
328
- return "extract(?2, 'DAYOFWEEK')" ;
329
- case DAY_OF_MONTH :
330
- return "extract(?2, 'DAY')" ;
331
- case DAY_OF_YEAR :
332
- return "extract(?2,'DAYOFYEAR')" ;
333
- case WEEK :
334
- return "to_number(to_char(?2,'IW'))" ; //the ISO week number
335
- case WEEK_OF_YEAR :
336
- return "extract(?2, 'WEEK')" ;
337
- case EPOCH :
338
- return timestampdiffPattern ( TemporalUnit .SECOND , TemporalType .TIMESTAMP , TemporalType .TIMESTAMP )
300
+ return switch (unit ) {
301
+ case DAY_OF_WEEK -> "extract(?2, 'DAYOFWEEK')" ;
302
+ case DAY_OF_MONTH -> "extract(?2, 'DAY')" ;
303
+ case DAY_OF_YEAR -> "extract(?2,'DAYOFYEAR')" ;
304
+ case WEEK -> "to_number(to_char(?2,'IW'))" ; //the ISO week number
305
+ case WEEK_OF_YEAR -> "extract(?2, 'WEEK')" ;
306
+ case EPOCH -> timestampdiffPattern ( TemporalUnit .SECOND , TemporalType .TIMESTAMP , TemporalType .TIMESTAMP )
339
307
.replace ( "?2" , "TO_DATE('1970-01-01 00:00:00','YYYY-MM-DD HH24:MI:SS')" )
340
308
.replace ( "?3" , "?2" );
341
- case QUARTER :
342
- return "extract(?2, 'QUARTER')" ;
343
- default :
344
- return super .extractPattern ( unit );
345
- }
309
+ case QUARTER -> "extract(?2, 'QUARTER')" ;
310
+ default -> super .extractPattern ( unit );
311
+ };
346
312
}
347
313
348
314
@ Override
349
315
public String timestampaddPattern (TemporalUnit unit , TemporalType temporalType , IntervalType intervalType ) {
350
- switch (unit ) {
351
- case NANOSECOND :
352
- return "timestampadd(MICROSECOND,(?2)/1e3,?3)" ;
353
- case NATIVE :
354
- return "timestampadd(SECOND, ?2, ?3)" ;
355
- default :
356
- return "timestampadd(?1, ?2, ?3)" ;
357
- }
316
+ return switch (unit ) {
317
+ case NANOSECOND -> "timestampadd(MICROSECOND,(?2)/1e3,?3)" ;
318
+ case NATIVE -> "timestampadd(SECOND, ?2, ?3)" ;
319
+ default -> "timestampadd(?1, ?2, ?3)" ;
320
+ };
358
321
}
359
322
360
323
@ Override
361
324
public String timestampdiffPattern (TemporalUnit unit , TemporalType fromTemporalType , TemporalType toTemporalType ) {
362
- switch (unit ) {
363
- case SECOND :
364
- case NATIVE :
365
- return "datediff(?2, ?3, 'SECOND')" ;
366
- case NANOSECOND :
367
- return "datediff(?2, ?3, 'MICROSECOND')*1e3" ;
368
- default :
369
- return "datediff(?2, ?3, '?1')" ;
370
- }
325
+ return switch (unit ) {
326
+ case SECOND , NATIVE -> "datediff(?2, ?3, 'SECOND')" ;
327
+ case NANOSECOND -> "datediff(?2, ?3, 'MICROSECOND')*1e3" ;
328
+ default -> "datediff(?2, ?3, '?1')" ;
329
+ };
371
330
}
372
331
373
332
@ Override
@@ -678,12 +637,12 @@ protected boolean supportsPredicateAsExpression() {
678
637
679
638
@ Override
680
639
public String translateExtractField (TemporalUnit unit ) {
681
- switch ( unit ) {
682
- case DAY_OF_MONTH : return "day" ;
683
- case DAY_OF_YEAR : return "dayofyear" ;
684
- case DAY_OF_WEEK : return "dayofweek" ;
685
- default : return super .translateExtractField ( unit );
686
- }
640
+ return switch ( unit ) {
641
+ case DAY_OF_MONTH -> "day" ;
642
+ case DAY_OF_YEAR -> "dayofyear" ;
643
+ case DAY_OF_WEEK -> "dayofweek" ;
644
+ default -> super .translateExtractField ( unit );
645
+ };
687
646
}
688
647
689
648
@ Override
0 commit comments