Skip to content
Open
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -507,7 +507,7 @@ public void registerOutParameter(int parameterIndex, int sqlType) throws SQLExce
this.parameterHandler.setParameter(
parameterIndex,
null,
BigQueryJdbcTypeMappings.getJavaType(sqlType),
BigQueryTypeRegistry.toJavaClass(sqlType),
BigQueryParameterHandler.BigQueryStatementParameterType.OUT,
-1);
}
Expand All @@ -519,7 +519,7 @@ public void registerOutParameter(String parameterName, int sqlType) throws SQLEx
this.parameterHandler.setParameter(
parameterName,
null,
BigQueryJdbcTypeMappings.getJavaType(sqlType),
BigQueryTypeRegistry.toJavaClass(sqlType),
BigQueryParameterHandler.BigQueryStatementParameterType.OUT,
-1);
}
Expand All @@ -540,7 +540,7 @@ public void registerOutParameter(int parameterIndex, int sqlType, int scale) thr
this.parameterHandler.setParameter(
parameterIndex,
null,
BigQueryJdbcTypeMappings.getJavaType(sqlType),
BigQueryTypeRegistry.toJavaClass(sqlType),
BigQueryParameterHandler.BigQueryStatementParameterType.OUT,
scale);
}
Expand Down Expand Up @@ -572,7 +572,7 @@ public void registerOutParameter(String parameterName, int sqlType, int scale)
this.parameterHandler.setParameter(
parameterName,
null,
BigQueryJdbcTypeMappings.getJavaType(sqlType),
BigQueryTypeRegistry.toJavaClass(sqlType),
BigQueryParameterHandler.BigQueryStatementParameterType.OUT,
scale);
}
Expand Down Expand Up @@ -778,7 +778,7 @@ public void setNString(String parameterName, String value) throws SQLException {
@Override
public void setNull(String parameterName, int sqlType) throws SQLException {
checkClosed();
Class<?> javaType = BigQueryJdbcTypeMappings.getJavaType(sqlType);
Class<?> javaType = BigQueryTypeRegistry.toJavaClass(sqlType);
if (javaType == null) {
javaType = String.class;
}
Comment thread
Neenu1995 marked this conversation as resolved.
Outdated
Expand Down Expand Up @@ -812,8 +812,8 @@ public void setObject(String parameterName, Object value, int targetSqlType) thr
this.parameterHandler.setParameter(
parameterName, value, value.getClass(), BigQueryStatementParameterType.IN, 0);
StandardSQLTypeName sqlType = this.parameterHandler.getSqlType(parameterName);
if (BigQueryJdbcTypeMappings.standardSQLToJavaSqlTypesMapping.containsKey(sqlType)) {
int javaSqlType = BigQueryJdbcTypeMappings.standardSQLToJavaSqlTypesMapping.get(sqlType);
if (sqlType != null) {
int javaSqlType = BigQueryTypeRegistry.toJdbcType(sqlType);
if (javaSqlType != targetSqlType) {
throw new BigQueryJdbcSqlFeatureNotSupportedException(
String.format("Unsupported sql type:%s ", targetSqlType));
Expand All @@ -835,8 +835,8 @@ public void setObject(String parameterName, Object value, int targetSqlType, int
this.parameterHandler.setParameter(
parameterName, value, value.getClass(), BigQueryStatementParameterType.IN, scaleOrLength);
StandardSQLTypeName sqlType = this.parameterHandler.getSqlType(parameterName);
if (BigQueryJdbcTypeMappings.standardSQLToJavaSqlTypesMapping.containsKey(sqlType)) {
int javaSqlType = BigQueryJdbcTypeMappings.standardSQLToJavaSqlTypesMapping.get(sqlType);
if (sqlType != null) {
int javaSqlType = BigQueryTypeRegistry.toJdbcType(sqlType);
if (javaSqlType != targetSqlType) {
throw new BigQueryJdbcSqlFeatureNotSupportedException(
String.format("Unsupported sql type:%s ", targetSqlType));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@
import com.google.cloud.bigquery.TableDefinition;
import com.google.cloud.bigquery.TableId;
import com.google.cloud.bigquery.exception.BigQueryJdbcException;
import com.google.cloud.bigquery.jdbc.BigQueryJdbcTypeMappings.ColumnTypeInfo;
import com.google.cloud.bigquery.jdbc.BigQueryTypeRegistry.ColumnTypeInfo;
import com.google.cloud.bigquery.jdbc.utils.BigQueryJdbcVersionUtility;
import io.opentelemetry.context.Context;
import java.io.ByteArrayOutputStream;
Expand Down Expand Up @@ -3976,7 +3976,7 @@ private ColumnTypeInfo getColumnTypeInfoForSqlType(StandardSQLTypeName bqType) {
LOG.warning("Null BigQuery type encountered. Mapping to STRING.");
return new ColumnTypeInfo(Types.NVARCHAR, "STRING", null, null, null);
}
ColumnTypeInfo info = BigQueryJdbcTypeMappings.STANDARD_TYPE_INFO.get(bqType);
ColumnTypeInfo info = BigQueryTypeRegistry.getColumnTypeInfo(bqType);
if (info == null) {
LOG.warning("Unknown BigQuery type encountered: " + bqType.name() + ". Mapping to STRING.");
return new ColumnTypeInfo(Types.NVARCHAR, "STRING", null, null, null);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ void setParameter(int parameterIndex, Object value, Class type)
parameter.setIndex(parameterIndex);
parameter.setValue(value);
parameter.setType(type);
parameter.setSqlType(BigQueryJdbcTypeMappings.classToType(type));
parameter.setSqlType(BigQueryTypeRegistry.toBigQueryType(type));
parameter.setParamName("");
parameter.setParamType(BigQueryStatementParameterType.UNSPECIFIED);
parameter.setScale(-1);
Expand Down Expand Up @@ -208,7 +208,7 @@ void setParameter(
}
parameter.setValue(value);
parameter.setType(type);
parameter.setSqlType(BigQueryJdbcTypeMappings.classToType(type));
parameter.setSqlType(BigQueryTypeRegistry.toBigQueryType(type));
parameter.setParamName(paramName);
parameter.setParamType(paramType);
parameter.setScale(scale);
Expand Down Expand Up @@ -243,7 +243,7 @@ void setParameter(
parameter.setIndex(parameterIndex);
parameter.setValue(value);
parameter.setType(type);
parameter.setSqlType(BigQueryJdbcTypeMappings.classToType(type));
parameter.setSqlType(BigQueryTypeRegistry.toBigQueryType(type));
parameter.setParamName("");
parameter.setParamType(paramType);
parameter.setScale(scale);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,8 +69,7 @@ public int getPrecision(int param) throws SQLException {
if (sqlType == null) {
return 0;
}
BigQueryJdbcTypeMappings.ColumnTypeInfo typeInfo =
BigQueryJdbcTypeMappings.STANDARD_TYPE_INFO.get(sqlType);
BigQueryTypeRegistry.ColumnTypeInfo typeInfo = BigQueryTypeRegistry.getColumnTypeInfo(sqlType);
if (typeInfo != null && typeInfo.columnSize != null) {
return typeInfo.columnSize;
}
Expand All @@ -84,8 +83,7 @@ public int getScale(int param) throws SQLException {
if (sqlType == null) {
return 0;
}
BigQueryJdbcTypeMappings.ColumnTypeInfo typeInfo =
BigQueryJdbcTypeMappings.STANDARD_TYPE_INFO.get(sqlType);
BigQueryTypeRegistry.ColumnTypeInfo typeInfo = BigQueryTypeRegistry.getColumnTypeInfo(sqlType);
if (typeInfo != null && typeInfo.decimalDigits != null) {
return typeInfo.decimalDigits;
}
Expand All @@ -99,7 +97,7 @@ public int getParameterType(int param) throws SQLException {
if (sqlType == null) {
return Types.OTHER;
}
Integer jdbcType = BigQueryJdbcTypeMappings.standardSQLToJavaSqlTypesMapping.get(sqlType);
Integer jdbcType = BigQueryTypeRegistry.toJdbcType(sqlType);
if (jdbcType != null) {
return jdbcType;
Comment thread
Neenu1995 marked this conversation as resolved.
Outdated
}
Comment thread
Neenu1995 marked this conversation as resolved.
Outdated
Expand All @@ -118,7 +116,7 @@ public String getParameterClassName(int param) throws SQLException {
checkValidIndex(param);
StandardSQLTypeName sqlType = getStandardSQLTypeName(param);
if (sqlType != null) {
Class<?> clazz = BigQueryJdbcTypeMappings.standardSQLToJavaTypeMapping.get(sqlType);
Class<?> clazz = BigQueryTypeRegistry.toJavaClass(sqlType);
if (clazz != null) {
return clazz.getName();
}
Comment thread
Neenu1995 marked this conversation as resolved.
Outdated
Expand Down Expand Up @@ -162,12 +160,7 @@ private StandardSQLTypeName getStandardSQLTypeName(int param) {
if (javaType == null) {
return null;
}
try {
return BigQueryJdbcTypeMappings.classToType(javaType);
} catch (SQLException ignored) {
// fall back to default
return null;
}
return BigQueryTypeRegistry.toBigQueryType(javaType);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ public void clearParameters() {
@Override
public void setNull(int parameterIndex, int sqlType) throws SQLException {
checkClosed();
Class<?> javaType = BigQueryJdbcTypeMappings.getJavaType(sqlType);
Class<?> javaType = BigQueryTypeRegistry.toJavaClass(sqlType);
this.parameterHandler.setParameter(parameterIndex, null, javaType);
}

Expand Down Expand Up @@ -248,7 +248,7 @@ public void setObject(int parameterIndex, Object value, int targetSqlType) throw
if (setTemporalObject(parameterIndex, value)) {
return;
}
Class<?> javaType = BigQueryJdbcTypeMappings.getJavaType(targetSqlType);
Class<?> javaType = BigQueryTypeRegistry.toJavaClass(targetSqlType);
this.parameterHandler.setParameter(parameterIndex, value, javaType);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -139,8 +139,7 @@ public int getPrecision(int column) {
return precision.intValue();
}
StandardSQLTypeName type = getStandardSQLTypeName(column);
BigQueryJdbcTypeMappings.ColumnTypeInfo typeInfo =
BigQueryJdbcTypeMappings.STANDARD_TYPE_INFO.get(type);
BigQueryTypeRegistry.ColumnTypeInfo typeInfo = BigQueryTypeRegistry.getColumnTypeInfo(type);
if (typeInfo != null && typeInfo.columnSize != null) {
return typeInfo.columnSize;
}
Expand All @@ -154,8 +153,7 @@ public int getScale(int column) {
return scale.intValue();
}
StandardSQLTypeName type = getStandardSQLTypeName(column);
BigQueryJdbcTypeMappings.ColumnTypeInfo typeInfo =
BigQueryJdbcTypeMappings.STANDARD_TYPE_INFO.get(type);
BigQueryTypeRegistry.ColumnTypeInfo typeInfo = BigQueryTypeRegistry.getColumnTypeInfo(type);
if (typeInfo != null && typeInfo.decimalDigits != null) {
return typeInfo.decimalDigits;
}
Expand Down Expand Up @@ -189,8 +187,7 @@ private StandardSQLTypeName getStandardSQLTypeName(int column) {

@Override
public int getColumnType(int column) {
return BigQueryJdbcTypeMappings.standardSQLToJavaSqlTypesMapping.get(
getStandardSQLTypeName(column));
return BigQueryTypeRegistry.toJdbcType(getStandardSQLTypeName(column));
}

@Override
Expand All @@ -214,14 +211,12 @@ public boolean isDefinitelyWritable(int column) {
}

@Override
public String getColumnClassName(int column) {
public String getColumnClassName(int column) throws SQLException {
Field field = getField(column);
if (field.getMode() == Mode.REPEATED) {
return java.sql.Array.class.getName();
}
return BigQueryJdbcTypeMappings.standardSQLToJavaTypeMapping
.get(field.getType().getStandardType())
.getName();
return BigQueryTypeRegistry.toJavaClass(getStandardSQLTypeName(column)).getName();
}

// Wrapper methods:
Expand Down
Loading
Loading