@@ -102,33 +102,18 @@ public AltibaseDialect(DatabaseVersion version) {
102102
103103 @ Override
104104 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+ };
132117 }
133118
134119 @ Override
@@ -165,22 +150,11 @@ public int getDefaultStatementBatchSize() {
165150
166151 @ Override
167152 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+ };
184158 }
185159
186160 @ Override
@@ -323,51 +297,36 @@ public long getFractionalSecondPrecisionInNanos() {
323297 */
324298 @ Override
325299 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 )
339307 .replace ( "?2" , "TO_DATE('1970-01-01 00:00:00','YYYY-MM-DD HH24:MI:SS')" )
340308 .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+ };
346312 }
347313
348314 @ Override
349315 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+ };
358321 }
359322
360323 @ Override
361324 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+ };
371330 }
372331
373332 @ Override
@@ -678,12 +637,12 @@ protected boolean supportsPredicateAsExpression() {
678637
679638 @ Override
680639 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+ };
687646 }
688647
689648 @ Override
0 commit comments