Skip to content

Commit 1333743

Browse files
HHH-19365 - temp commit
1 parent afe3ff3 commit 1333743

File tree

6 files changed

+124
-130
lines changed

6 files changed

+124
-130
lines changed

hibernate-core/src/main/java/org/hibernate/dialect/AbstractGaussDBStructJdbcType.java

Lines changed: 45 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
* Copyright Red Hat Inc. and Hibernate Authors
44
*/
55
package org.hibernate.dialect;
6-
76
import java.lang.reflect.Array;
87
import java.sql.CallableStatement;
98
import java.sql.ResultSet;
@@ -38,11 +37,13 @@
3837
import org.hibernate.type.descriptor.java.JavaType;
3938
import org.hibernate.type.descriptor.java.PrimitiveByteArrayJavaType;
4039
import org.hibernate.type.descriptor.jdbc.BasicExtractor;
41-
import org.hibernate.type.descriptor.jdbc.StructJdbcType;
40+
import org.hibernate.type.descriptor.jdbc.StructAttributeValues;
41+
import org.hibernate.type.descriptor.jdbc.StructHelper;
42+
import org.hibernate.type.descriptor.jdbc.StructuredJdbcType;
4243
import org.hibernate.type.spi.TypeConfiguration;
4344

44-
import static org.hibernate.dialect.StructHelper.getEmbeddedPart;
45-
import static org.hibernate.dialect.StructHelper.instantiate;
45+
import static org.hibernate.type.descriptor.jdbc.StructHelper.getEmbeddedPart;
46+
import static org.hibernate.type.descriptor.jdbc.StructHelper.instantiate;
4647
import static org.hibernate.type.descriptor.DateTimeUtils.appendAsDate;
4748
import static org.hibernate.type.descriptor.DateTimeUtils.appendAsLocalTime;
4849
import static org.hibernate.type.descriptor.DateTimeUtils.appendAsTime;
@@ -58,7 +59,7 @@
5859
*
5960
* Notes: Original code of this class is based on AbstractPostgreSQLStructJdbcType.
6061
*/
61-
public abstract class AbstractGaussDBStructJdbcType implements StructJdbcType {
62+
public abstract class AbstractGaussDBStructJdbcType implements StructuredJdbcType {
6263

6364
private static final DateTimeFormatter LOCAL_DATE_TIME;
6465
static {
@@ -451,9 +452,7 @@ private int deserializeStruct(
451452
if ( string.charAt( i + 1 ) == '(' ) {
452453
// This could be a nested struct
453454
final JdbcMapping jdbcMapping = getJdbcValueSelectable( column ).getJdbcMapping();
454-
if ( jdbcMapping.getJdbcType() instanceof AbstractGaussDBStructJdbcType ) {
455-
final AbstractGaussDBStructJdbcType structJdbcType;
456-
structJdbcType = (AbstractGaussDBStructJdbcType) jdbcMapping.getJdbcType();
455+
if ( jdbcMapping.getJdbcType() instanceof AbstractGaussDBStructJdbcType structJdbcType ) {
457456
final Object[] subValues = new Object[structJdbcType.embeddableMappingType.getJdbcValueCount()];
458457
final int subEnd = structJdbcType.deserializeStruct(
459458
string,
@@ -503,8 +502,7 @@ private int deserializeStruct(
503502
else if ( string.charAt( i + 1 ) == '{' ) {
504503
// This could be a quoted array
505504
final JdbcMapping jdbcMapping = getJdbcValueSelectable( column ).getJdbcMapping();
506-
if ( jdbcMapping instanceof BasicPluralType<?, ?> ) {
507-
final BasicPluralType<?, ?> pluralType = (BasicPluralType<?, ?>) jdbcMapping;
505+
if ( jdbcMapping instanceof BasicPluralType<?, ?> pluralType ) {
508506
final ArrayList<Object> arrayList = new ArrayList<>();
509507
//noinspection unchecked
510508
final int subEnd = deserializeArray(
@@ -1003,9 +1001,7 @@ private SelectableMapping getJdbcValueSelectable(int jdbcValueSelectableIndex) {
10031001
int count = 0;
10041002
for ( int i = 0; i < size; i++ ) {
10051003
final ValuedModelPart modelPart = getEmbeddedPart( embeddableMappingType, orderMapping[i] );
1006-
final MappingType mappedType = modelPart.getMappedType();
1007-
if ( mappedType instanceof EmbeddableMappingType ) {
1008-
final EmbeddableMappingType embeddableMappingType = (EmbeddableMappingType) mappedType;
1004+
if ( modelPart.getMappedType() instanceof EmbeddableMappingType embeddableMappingType ) {
10091005
final SelectableMapping aggregateMapping = embeddableMappingType.getAggregateMapping();
10101006
if ( aggregateMapping == null ) {
10111007
final SelectableMapping subSelectable = embeddableMappingType.getJdbcValueSelectable( jdbcValueSelectableIndex - count );
@@ -1153,7 +1149,7 @@ private static String unescape(CharSequence string, int start, int end) {
11531149
public Object createJdbcValue(Object domainValue, WrapperOptions options) throws SQLException {
11541150
assert embeddableMappingType != null;
11551151
final StringBuilder sb = new StringBuilder();
1156-
serializeStructTo( new GaussDBAppender( sb ), domainValue, options );
1152+
serializeStructTo( new PostgreSQLAppender( sb ), domainValue, options );
11571153
return sb.toString();
11581154
}
11591155

@@ -1177,17 +1173,17 @@ protected <X> String toString(X value, JavaType<X> javaType, WrapperOptions opti
11771173
return null;
11781174
}
11791175
final StringBuilder sb = new StringBuilder();
1180-
serializeStructTo( new GaussDBAppender( sb ), value, options );
1176+
serializeStructTo( new PostgreSQLAppender( sb ), value, options );
11811177
return sb.toString();
11821178
}
11831179

1184-
private void serializeStructTo(GaussDBAppender appender, Object value, WrapperOptions options) throws SQLException {
1180+
private void serializeStructTo(PostgreSQLAppender appender, Object value, WrapperOptions options) throws SQLException {
11851181
serializeDomainValueTo( appender, options, value, '(' );
11861182
appender.append( ')' );
11871183
}
11881184

11891185
private void serializeDomainValueTo(
1190-
GaussDBAppender appender,
1186+
PostgreSQLAppender appender,
11911187
WrapperOptions options,
11921188
Object domainValue,
11931189
char separator) throws SQLException {
@@ -1200,7 +1196,7 @@ private void serializeDomainValueTo(
12001196
}
12011197

12021198
private void serializeJdbcValuesTo(
1203-
GaussDBAppender appender,
1199+
PostgreSQLAppender appender,
12041200
WrapperOptions options,
12051201
Object[] jdbcValues,
12061202
char separator) throws SQLException {
@@ -1215,9 +1211,9 @@ private void serializeJdbcValuesTo(
12151211
embeddableMappingType.getJdbcValueSelectable( i ) :
12161212
embeddableMappingType.getJdbcValueSelectable( orderMapping[i] );
12171213
final JdbcMapping jdbcMapping = selectableMapping.getJdbcMapping();
1218-
if ( jdbcMapping.getJdbcType() instanceof AbstractGaussDBStructJdbcType ) {
1214+
if ( jdbcMapping.getJdbcType() instanceof AbstractGaussDBStructJdbcType structJdbcType ) {
12191215
appender.quoteStart();
1220-
( (AbstractGaussDBStructJdbcType) jdbcMapping.getJdbcType() ).serializeJdbcValuesTo(
1216+
structJdbcType.serializeJdbcValuesTo(
12211217
appender,
12221218
options,
12231219
(Object[]) jdbcValue,
@@ -1233,7 +1229,7 @@ private void serializeJdbcValuesTo(
12331229
}
12341230

12351231
private void serializeConvertedBasicTo(
1236-
GaussDBAppender appender,
1232+
PostgreSQLAppender appender,
12371233
WrapperOptions options,
12381234
JdbcMapping jdbcMapping,
12391235
Object subValue) throws SQLException {
@@ -1243,13 +1239,13 @@ private void serializeConvertedBasicTo(
12431239
case SqlTypes.TINYINT:
12441240
case SqlTypes.SMALLINT:
12451241
case SqlTypes.INTEGER:
1246-
if ( subValue instanceof Boolean ) {
1242+
if ( subValue instanceof Boolean booleanValue ) {
12471243
// BooleanJavaType has this as an implicit conversion
1248-
appender.append( (Boolean) subValue ? '1' : '0' );
1244+
appender.append( booleanValue ? '1' : '0' );
12491245
break;
12501246
}
1251-
if ( subValue instanceof Enum ) {
1252-
appender.appendSql( ((Enum<?>) subValue).ordinal() );
1247+
if ( subValue instanceof Enum<?> enumValue ) {
1248+
appender.appendSql( enumValue.ordinal() );
12531249
break;
12541250
}
12551251
case SqlTypes.BOOLEAN:
@@ -1267,9 +1263,9 @@ private void serializeConvertedBasicTo(
12671263
case SqlTypes.NCHAR:
12681264
case SqlTypes.VARCHAR:
12691265
case SqlTypes.NVARCHAR:
1270-
if ( subValue instanceof Boolean ) {
1266+
if ( subValue instanceof Boolean booleanValue ) {
12711267
// BooleanJavaType has this as an implicit conversion
1272-
appender.append( (Boolean) subValue ? 'Y' : 'N' );
1268+
appender.append( booleanValue ? 'Y' : 'N' );
12731269
break;
12741270
}
12751271
case SqlTypes.LONGVARCHAR:
@@ -1404,8 +1400,7 @@ private int injectAttributeValue(
14041400
final MappingType mappedType = modelPart.getMappedType();
14051401
final int jdbcValueCount;
14061402
final Object rawJdbcValue = rawJdbcValues[jdbcIndex];
1407-
if ( mappedType instanceof EmbeddableMappingType ) {
1408-
final EmbeddableMappingType embeddableMappingType = (EmbeddableMappingType) mappedType;
1403+
if ( mappedType instanceof EmbeddableMappingType embeddableMappingType ) {
14091404
if ( embeddableMappingType.getAggregateMapping() != null ) {
14101405
jdbcValueCount = 1;
14111406
attributeValues.setAttributeValue( attributeIndex, rawJdbcValue );
@@ -1443,14 +1438,14 @@ private void appendTemporal(SqlAppender appender, JdbcMapping jdbcMapping, Objec
14431438
appender.append( '"' );
14441439
switch ( jdbcMapping.getJdbcType().getJdbcTypeCode() ) {
14451440
case SqlTypes.DATE:
1446-
if ( value instanceof java.util.Date ) {
1447-
appendAsDate( appender, (java.util.Date) value );
1441+
if ( value instanceof java.util.Date date ) {
1442+
appendAsDate( appender, date );
14481443
}
1449-
else if ( value instanceof java.util.Calendar ) {
1450-
appendAsDate( appender, (java.util.Calendar) value );
1444+
else if ( value instanceof java.util.Calendar calendar ) {
1445+
appendAsDate( appender, calendar );
14511446
}
1452-
else if ( value instanceof TemporalAccessor ) {
1453-
appendAsDate( appender, (TemporalAccessor) value );
1447+
else if ( value instanceof TemporalAccessor temporalAccessor ) {
1448+
appendAsDate( appender, temporalAccessor );
14541449
}
14551450
else {
14561451
appendAsDate(
@@ -1462,14 +1457,13 @@ else if ( value instanceof TemporalAccessor ) {
14621457
case SqlTypes.TIME:
14631458
case SqlTypes.TIME_WITH_TIMEZONE:
14641459
case SqlTypes.TIME_UTC:
1465-
if ( value instanceof java.util.Date ) {
1466-
appendAsTime( appender, (java.util.Date) value, jdbcTimeZone );
1460+
if ( value instanceof java.util.Date date ) {
1461+
appendAsTime( appender, date, jdbcTimeZone );
14671462
}
1468-
else if ( value instanceof java.util.Calendar ) {
1469-
appendAsTime( appender, (java.util.Calendar) value, jdbcTimeZone );
1463+
else if ( value instanceof java.util.Calendar calendar ) {
1464+
appendAsTime( appender, calendar, jdbcTimeZone );
14701465
}
1471-
else if ( value instanceof TemporalAccessor ) {
1472-
final TemporalAccessor temporalAccessor = (TemporalAccessor) value;
1466+
else if ( value instanceof TemporalAccessor temporalAccessor ) {
14731467
if ( temporalAccessor.isSupported( ChronoField.OFFSET_SECONDS ) ) {
14741468
appendAsTime( appender, temporalAccessor, true, jdbcTimeZone );
14751469
}
@@ -1488,14 +1482,13 @@ else if ( value instanceof TemporalAccessor ) {
14881482
case SqlTypes.TIMESTAMP:
14891483
case SqlTypes.TIMESTAMP_WITH_TIMEZONE:
14901484
case SqlTypes.TIMESTAMP_UTC:
1491-
if ( value instanceof java.util.Date ) {
1492-
appendAsTimestampWithMicros( appender, (java.util.Date) value, jdbcTimeZone );
1485+
if ( value instanceof java.util.Date date ) {
1486+
appendAsTimestampWithMicros( appender, date, jdbcTimeZone );
14931487
}
1494-
else if ( value instanceof java.util.Calendar ) {
1495-
appendAsTimestampWithMillis( appender, (java.util.Calendar) value, jdbcTimeZone );
1488+
else if ( value instanceof java.util.Calendar calendar ) {
1489+
appendAsTimestampWithMillis( appender, calendar, jdbcTimeZone );
14961490
}
1497-
else if ( value instanceof TemporalAccessor ) {
1498-
final TemporalAccessor temporalAccessor = (TemporalAccessor) value;
1491+
else if ( value instanceof TemporalAccessor temporalAccessor ) {
14991492
appendAsTimestampWithMicros( appender, temporalAccessor, temporalAccessor.isSupported( ChronoField.OFFSET_SECONDS ), jdbcTimeZone );
15001493
}
15011494
else {
@@ -1522,11 +1515,11 @@ protected <X> Object getBindValue(X value, WrapperOptions options) throws SQLExc
15221515
return StructHelper.getJdbcValues( embeddableMappingType, orderMapping, value, options );
15231516
}
15241517

1525-
private static class GaussDBAppender extends StringBuilderSqlAppender {
1518+
private static class PostgreSQLAppender extends StringBuilderSqlAppender {
15261519

15271520
private int quote = 1;
15281521

1529-
public GaussDBAppender(StringBuilder sb) {
1522+
public PostgreSQLAppender(StringBuilder sb) {
15301523
super( sb );
15311524
}
15321525

@@ -1545,7 +1538,7 @@ public void appendNull() {
15451538
}
15461539

15471540
@Override
1548-
public GaussDBAppender append(char fragment) {
1541+
public PostgreSQLAppender append(char fragment) {
15491542
if ( quote != 1 ) {
15501543
appendWithQuote( fragment );
15511544
}
@@ -1556,12 +1549,12 @@ public GaussDBAppender append(char fragment) {
15561549
}
15571550

15581551
@Override
1559-
public GaussDBAppender append(CharSequence csq) {
1552+
public PostgreSQLAppender append(CharSequence csq) {
15601553
return append( csq, 0, csq.length() );
15611554
}
15621555

15631556
@Override
1564-
public GaussDBAppender append(CharSequence csq, int start, int end) {
1557+
public PostgreSQLAppender append(CharSequence csq, int start, int end) {
15651558
if ( quote != 1 ) {
15661559
int len = end - start;
15671560
sb.ensureCapacity( sb.length() + len );

hibernate-core/src/main/java/org/hibernate/dialect/GaussDBSqlAstTranslator.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import org.hibernate.query.sqm.ComparisonOperator;
1010
import org.hibernate.query.common.FetchClauseType;
1111
import org.hibernate.sql.ast.Clause;
12+
import org.hibernate.sql.ast.spi.SqlAstTranslatorWithMerge;
1213
import org.hibernate.sql.ast.tree.Statement;
1314
import org.hibernate.sql.ast.tree.cte.CteMaterialization;
1415
import org.hibernate.sql.ast.tree.cte.CteStatement;

hibernate-core/src/main/java/org/hibernate/dialect/aggregate/GaussDBAggregateSupport.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
import java.util.Map;
99

1010
import org.hibernate.dialect.Dialect;
11-
import org.hibernate.dialect.XmlHelper;
1211
import org.hibernate.internal.util.StringHelper;
1312
import org.hibernate.mapping.Column;
1413
import org.hibernate.metamodel.mapping.EmbeddableMappingType;
@@ -22,6 +21,7 @@
2221
import org.hibernate.type.BasicPluralType;
2322
import org.hibernate.type.descriptor.jdbc.AggregateJdbcType;
2423
import org.hibernate.type.descriptor.jdbc.JdbcType;
24+
import org.hibernate.type.descriptor.jdbc.XmlHelper;
2525
import org.hibernate.type.spi.TypeConfiguration;
2626

2727
import static org.hibernate.type.SqlTypes.ARRAY;

hibernate-core/src/main/java/org/hibernate/dialect/function/json/GaussDBJsonValueFunction.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@
77
import java.util.Iterator;
88
import java.util.Map;
99

10-
import org.hibernate.dialect.JsonHelper;
1110
import org.hibernate.metamodel.model.domain.ReturnableType;
1211
import org.hibernate.sql.ast.SqlAstTranslator;
1312
import org.hibernate.sql.ast.spi.SqlAppender;
1413
import org.hibernate.sql.ast.tree.expression.Expression;
1514
import org.hibernate.sql.ast.tree.expression.JsonPathPassingClause;
15+
import org.hibernate.type.descriptor.jdbc.JsonHelper;
1616
import org.hibernate.type.spi.TypeConfiguration;
1717

1818
/**

hibernate-core/src/main/java/org/hibernate/dialect/function/json/GaussdbJsonQueryFunction.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@
44
*/
55
package org.hibernate.dialect.function.json;
66

7-
import org.hibernate.dialect.JsonHelper;
87
import org.hibernate.metamodel.model.domain.ReturnableType;
98
import org.hibernate.sql.ast.SqlAstTranslator;
109
import org.hibernate.sql.ast.spi.SqlAppender;
1110
import org.hibernate.sql.ast.tree.expression.Expression;
1211
import org.hibernate.sql.ast.tree.expression.JsonPathPassingClause;
1312
import org.hibernate.sql.ast.tree.expression.JsonQueryWrapMode;
13+
import org.hibernate.type.descriptor.jdbc.JsonHelper;
1414
import org.hibernate.type.spi.TypeConfiguration;
1515

1616
import java.util.Iterator;

0 commit comments

Comments
 (0)