Skip to content

Commit 2b44e52

Browse files
committed
modernize code using java 17 syntax
1 parent 4450ecf commit 2b44e52

35 files changed

+448
-853
lines changed

hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/AltibaseDialect.java

Lines changed: 43 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -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

hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/CUBRIDDialect.java

Lines changed: 20 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -74,22 +74,16 @@ public CUBRIDDialect() {
7474

7575
@Override
7676
protected String columnType(int sqlTypeCode) {
77-
switch ( sqlTypeCode ) {
78-
case BOOLEAN:
79-
return "bit";
80-
case TINYINT:
81-
return "smallint";
77+
return switch ( sqlTypeCode ) {
78+
case BOOLEAN -> "bit";
79+
case TINYINT -> "smallint";
8280
//'timestamp' has a very limited range
8381
//'datetime' does not support explicit precision
8482
//(always 3, millisecond precision)
85-
case TIMESTAMP:
86-
return "datetime";
87-
case TIME_WITH_TIMEZONE:
88-
case TIMESTAMP_WITH_TIMEZONE:
89-
return "datetimetz";
90-
default:
91-
return super.columnType( sqlTypeCode );
92-
}
83+
case TIMESTAMP -> "datetime";
84+
case TIME_WITH_TIMEZONE, TIMESTAMP_WITH_TIMEZONE -> "datetimetz";
85+
default -> super.columnType( sqlTypeCode );
86+
};
9387
}
9488

9589
@Override
@@ -427,20 +421,14 @@ public long getFractionalSecondPrecisionInNanos() {
427421
*/
428422
@Override
429423
public String extractPattern(TemporalUnit unit) {
430-
switch (unit) {
431-
case SECOND:
432-
return "(second(?2)+extract(millisecond from ?2)/1e3)";
433-
case DAY_OF_WEEK:
434-
return "dayofweek(?2)";
435-
case DAY_OF_MONTH:
436-
return "dayofmonth(?2)";
437-
case DAY_OF_YEAR:
438-
return "dayofyear(?2)";
439-
case WEEK:
440-
return "week(?2,3)"; //mode 3 is the ISO week
441-
default:
442-
return "?1(?2)";
443-
}
424+
return switch (unit) {
425+
case SECOND -> "(second(?2)+extract(millisecond from ?2)/1e3)";
426+
case DAY_OF_WEEK -> "dayofweek(?2)";
427+
case DAY_OF_MONTH ->"dayofmonth(?2)";
428+
case DAY_OF_YEAR -> "dayofyear(?2)";
429+
case WEEK -> "week(?2,3)"; //mode 3 is the ISO week
430+
default -> "?1(?2)";
431+
};
444432
}
445433

446434
@Override
@@ -450,14 +438,11 @@ public TimeZoneSupport getTimeZoneSupport() {
450438

451439
@Override
452440
public String timestampaddPattern(TemporalUnit unit, TemporalType temporalType, IntervalType intervalType) {
453-
switch (unit) {
454-
case NANOSECOND:
455-
return "adddate(?3,interval (?2)/1e6 millisecond)";
456-
case NATIVE:
457-
return "adddate(?3,interval ?2 millisecond)";
458-
default:
459-
return "adddate(?3,interval ?2 ?1)";
460-
}
441+
return switch (unit) {
442+
case NANOSECOND -> "adddate(?3,interval (?2)/1e6 millisecond)";
443+
case NATIVE -> "adddate(?3,interval ?2 millisecond)";
444+
default -> "adddate(?3,interval ?2 ?1)";
445+
};
461446
}
462447

463448
@Override

hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/CacheDialect.java

Lines changed: 15 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -83,20 +83,14 @@ public CacheDialect(DialectResolutionInfo info) {
8383
protected String columnType(int sqlTypeCode) {
8484
// Note: For object <-> SQL datatype mappings see:
8585
// Configuration Manager > Advanced > SQL > System DDL Datatype Mappings
86-
switch ( sqlTypeCode ) {
87-
case BOOLEAN:
88-
return "bit";
86+
return switch ( sqlTypeCode ) {
87+
case BOOLEAN -> "bit";
8988
//no explicit precision
90-
case TIMESTAMP:
91-
case TIMESTAMP_WITH_TIMEZONE:
92-
return "timestamp";
93-
case BLOB:
94-
return "image";
95-
case CLOB:
96-
return "text";
97-
default:
98-
return super.columnType( sqlTypeCode );
99-
}
89+
case TIMESTAMP, TIMESTAMP_WITH_TIMEZONE -> "timestamp";
90+
case BLOB -> "image";
91+
case CLOB -> "text";
92+
default -> super.columnType( sqlTypeCode );
93+
};
10094
}
10195

10296
@Override
@@ -228,24 +222,18 @@ public String extractPattern(TemporalUnit unit) {
228222

229223
@Override
230224
public String timestampaddPattern(TemporalUnit unit, TemporalType temporalType, IntervalType intervalType) {
231-
switch (unit) {
232-
case NANOSECOND:
233-
case NATIVE:
234-
return "dateadd(millisecond,(?2)/1e6,?3)";
235-
default:
236-
return "dateadd(?1,?2,?3)";
237-
}
225+
return switch (unit) {
226+
case NANOSECOND, NATIVE -> "dateadd(millisecond,(?2)/1e6,?3)";
227+
default -> "dateadd(?1,?2,?3)";
228+
};
238229
}
239230

240231
@Override
241232
public String timestampdiffPattern(TemporalUnit unit, TemporalType fromTemporalType, TemporalType toTemporalType) {
242-
switch (unit) {
243-
case NANOSECOND:
244-
case NATIVE:
245-
return "datediff(millisecond,?2,?3)*1e6";
246-
default:
247-
return "datediff(?1,?2,?3)";
248-
}
233+
return switch (unit) {
234+
case NANOSECOND, NATIVE -> "datediff(millisecond,?2,?3)*1e6";
235+
default -> "datediff(?1,?2,?3)";
236+
};
249237
}
250238

251239
// DDL support ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

0 commit comments

Comments
 (0)