@@ -296,8 +296,10 @@ static ColumnMetadata createColumnMetadata(
296296 Nullability nullability = getNullability (fromJdbc (() ->
297297 resultSetMetaData .isNullable (jdbcIndex )));
298298
299- if (type == R2dbcType .BLOB || type == R2dbcType .CLOB
300- || type == R2dbcType .NCLOB ) {
299+ if (type == R2dbcType .BLOB
300+ || type == R2dbcType .CLOB
301+ || type == R2dbcType .NCLOB
302+ || type == OracleR2dbcTypes .JSON ) {
301303 // For LOB types, use null as the precision. The actual maximum length
302304 // is (4GB x database-block-size), which can not be stored as an Integer
303305 return new OracleColumnMetadataImpl (type , name , nullability , null , null );
@@ -352,10 +354,10 @@ else if (type == R2dbcType.VARBINARY) {
352354
353355 return new OracleColumnMetadataImpl (
354356 type , name , nullability ,
355- // The getPrecision and getScale methods return 0 or -1 for types where
357+ // The getPrecision and getScale methods return 0 for types where
356358 // precision and scale are not applicable.
357- precision < 1 ? null : precision ,
358- scale < 1 ? null : scale );
359+ precision == 0 ? null : precision ,
360+ scale == 0 ? null : scale );
359361 }
360362 }
361363
0 commit comments