@@ -197,6 +197,9 @@ pub enum OracleType {
197
197
/// LONG RAW
198
198
LongRaw ,
199
199
200
+ /// JSON data type introduced in Oracle 21c
201
+ Json ,
202
+
200
203
/// Integer type in Oracle object type attributes. This will be renamed to Integer in future.
201
204
Int64 ,
202
205
@@ -247,6 +250,7 @@ impl OracleType {
247
250
) ?) ) ,
248
251
DPI_ORACLE_TYPE_LONG_VARCHAR => Ok ( OracleType :: Long ) ,
249
252
DPI_ORACLE_TYPE_LONG_RAW => Ok ( OracleType :: LongRaw ) ,
253
+ DPI_ORACLE_TYPE_JSON => Ok ( OracleType :: Json ) ,
250
254
_ => Err ( Error :: InternalError ( format ! (
251
255
"Unknown oracle type number: {}" ,
252
256
info. oracleTypeNum
@@ -391,6 +395,7 @@ impl fmt::Display for OracleType {
391
395
OracleType :: Object ( ref ty) => write ! ( f, "{}.{}" , ty. schema( ) , ty. name( ) ) ,
392
396
OracleType :: Long => write ! ( f, "LONG" ) ,
393
397
OracleType :: LongRaw => write ! ( f, "LONG RAW" ) ,
398
+ OracleType :: Json => write ! ( f, "JSON" ) ,
394
399
OracleType :: Int64 => write ! ( f, "INT64 used internally" ) ,
395
400
OracleType :: UInt64 => write ! ( f, "UINT64 used internally" ) ,
396
401
}
0 commit comments