@@ -1242,6 +1242,11 @@ TEST(FunctionJsonbTEST, JsonbCastToOtherTest) {
1242
1242
{{STRING (" true" ), static_cast <uint8_t >(PrimitiveType::TYPE_BOOLEAN)}, BOOLEAN (1 )},
1243
1243
{{STRING (" false" ), static_cast <uint8_t >(PrimitiveType::TYPE_BOOLEAN)}, BOOLEAN (0 )},
1244
1244
{{STRING (" 100" ), static_cast <uint8_t >(PrimitiveType::TYPE_BOOLEAN)}, BOOLEAN (1 )}, // int8
1245
+ {{STRING (R"( "true")" ), static_cast <uint8_t >(PrimitiveType::TYPE_BOOLEAN)}, BOOLEAN (1 )},
1246
+ {{STRING (R"( "false")" ), static_cast <uint8_t >(PrimitiveType::TYPE_BOOLEAN)}, BOOLEAN (0 )},
1247
+ {{STRING (R"( "1")" ), static_cast <uint8_t >(PrimitiveType::TYPE_BOOLEAN)}, BOOLEAN (1 )},
1248
+ {{STRING (R"( "0")" ), static_cast <uint8_t >(PrimitiveType::TYPE_BOOLEAN)}, BOOLEAN (0 )},
1249
+ {{STRING (R"( "abc")" ), static_cast <uint8_t >(PrimitiveType::TYPE_BOOLEAN)}, Null ()},
1245
1250
{{STRING (" 10000" ), static_cast <uint8_t >(PrimitiveType::TYPE_BOOLEAN)},
1246
1251
BOOLEAN (1 )}, // int16
1247
1252
{{STRING (" 1000000000" ), static_cast <uint8_t >(PrimitiveType::TYPE_BOOLEAN)},
@@ -1281,6 +1286,10 @@ TEST(FunctionJsonbTEST, JsonbCastToOtherTest) {
1281
1286
{{STRING (" null" ), static_cast <int8_t >(PrimitiveType::TYPE_TINYINT)}, Null ()},
1282
1287
{{STRING (" true" ), static_cast <int8_t >(PrimitiveType::TYPE_TINYINT)}, TINYINT (1 )},
1283
1288
{{STRING (" false" ), static_cast <int8_t >(PrimitiveType::TYPE_TINYINT)}, TINYINT (0 )},
1289
+ {{STRING (R"( "123")" ), static_cast <int8_t >(PrimitiveType::TYPE_TINYINT)}, TINYINT (123 )},
1290
+ {{STRING (R"( "-123")" ), static_cast <int8_t >(PrimitiveType::TYPE_TINYINT)},
1291
+ TINYINT (-123 )},
1292
+ {{STRING (R"( "abc")" ), static_cast <int8_t >(PrimitiveType::TYPE_TINYINT)}, Null ()},
1284
1293
{{STRING (" 100" ), static_cast <int8_t >(PrimitiveType::TYPE_TINYINT)},
1285
1294
TINYINT (100 )}, // int8
1286
1295
{{STRING (" 10000" ), static_cast <int8_t >(PrimitiveType::TYPE_TINYINT)},
@@ -1323,6 +1332,11 @@ TEST(FunctionJsonbTEST, JsonbCastToOtherTest) {
1323
1332
{{STRING (" null" ), static_cast <int16_t >(PrimitiveType::TYPE_SMALLINT)}, Null ()},
1324
1333
{{STRING (" true" ), static_cast <int16_t >(PrimitiveType::TYPE_SMALLINT)}, SMALLINT (1 )},
1325
1334
{{STRING (" false" ), static_cast <int16_t >(PrimitiveType::TYPE_SMALLINT)}, SMALLINT (0 )},
1335
+ {{STRING (R"( "123")" ), static_cast <int16_t >(PrimitiveType::TYPE_SMALLINT)},
1336
+ SMALLINT (123 )},
1337
+ {{STRING (R"( "-123")" ), static_cast <int16_t >(PrimitiveType::TYPE_SMALLINT)},
1338
+ SMALLINT (-123 )},
1339
+ {{STRING (R"( "abc")" ), static_cast <int16_t >(PrimitiveType::TYPE_SMALLINT)}, Null ()},
1326
1340
{{STRING (" 100" ), static_cast <int16_t >(PrimitiveType::TYPE_SMALLINT)},
1327
1341
SMALLINT (100 )}, // int8
1328
1342
{{STRING (" 10000" ), static_cast <int16_t >(PrimitiveType::TYPE_SMALLINT)},
@@ -1365,6 +1379,9 @@ TEST(FunctionJsonbTEST, JsonbCastToOtherTest) {
1365
1379
{{STRING (" null" ), static_cast <int32_t >(PrimitiveType::TYPE_INT)}, Null ()},
1366
1380
{{STRING (" true" ), static_cast <int32_t >(PrimitiveType::TYPE_INT)}, INT (1 )},
1367
1381
{{STRING (" false" ), static_cast <int32_t >(PrimitiveType::TYPE_INT)}, INT (0 )},
1382
+ {{STRING (R"( "abcd")" ), static_cast <int32_t >(PrimitiveType::TYPE_INT)}, Null ()},
1383
+ {{STRING (R"( "123")" ), static_cast <int32_t >(PrimitiveType::TYPE_INT)}, INT (123 )},
1384
+ {{STRING (R"( "-123")" ), static_cast <int32_t >(PrimitiveType::TYPE_INT)}, INT (-123 )},
1368
1385
{{STRING (" 100" ), static_cast <int32_t >(PrimitiveType::TYPE_INT)}, INT (100 )}, // int8
1369
1386
{{STRING (" 10000" ), static_cast <int32_t >(PrimitiveType::TYPE_INT)}, INT (10000 )}, // int16
1370
1387
{{STRING (" 1000000000" ), static_cast <int32_t >(PrimitiveType::TYPE_INT)},
@@ -1407,6 +1424,8 @@ TEST(FunctionJsonbTEST, JsonbCastToOtherTest) {
1407
1424
{{STRING (" 1152921504606846976" ), BIGINT (1 )}, BIGINT (1152921504606846976 )}, // int64
1408
1425
{{STRING (" 6.18" ), BIGINT (1 )}, BIGINT (6 )}, // double
1409
1426
{{STRING (R"( "abcd")" ), BIGINT (1 )}, Null ()}, // string
1427
+ {{STRING (R"( "123456789")" ), BIGINT (1 )}, BIGINT (123456789 )},
1428
+ {{STRING (R"( "-123456789")" ), BIGINT (1 )}, BIGINT (-123456789 )},
1410
1429
{{STRING (" {}" ), BIGINT (1 )}, Null ()}, // empty object
1411
1430
{{STRING (R"( {"k1":"v31", "k2": 300})" ), BIGINT (1 )}, Null ()}, // object
1412
1431
{{STRING (" []" ), BIGINT (1 )}, Null ()}, // empty array
@@ -1434,6 +1453,7 @@ TEST(FunctionJsonbTEST, JsonbCastToOtherTest) {
1434
1453
{{STRING (" 1000000000" ), DOUBLE (1 )}, DOUBLE (1000000000 )}, // int32
1435
1454
{{STRING (" 1152921504606846976" ), DOUBLE (1 )}, DOUBLE (1152921504606846976 )}, // int64
1436
1455
{{STRING (" 6.18" ), DOUBLE (1 )}, DOUBLE (6.18 )}, // double
1456
+ {{STRING (R"( "123.45")" ), DOUBLE (1 )}, DOUBLE (123.45 )}, // double
1437
1457
{{STRING (R"( "abcd")" ), DOUBLE (1 )}, Null ()}, // string
1438
1458
{{STRING (" {}" ), DOUBLE (1 )}, Null ()}, // empty object
1439
1459
{{STRING (R"( {"k1":"v31", "k2": 300})" ), DOUBLE (1 )}, Null ()}, // object
0 commit comments