@@ -357,135 +357,127 @@ func TestRead_CanPickRdonlyForShardedKeyspaces(t *testing.T) {
357
357
}
358
358
359
359
func TestDiscover_CanPickRightAirbyteType (t * testing.T ) {
360
- numberType := "number"
361
- booleanType := "boolean"
362
- stringType := "string"
363
-
364
360
var tests = []struct {
365
361
MysqlType string
366
- JSONSchemaType * string
367
- OneOf []OneOfType
362
+ JSONSchemaType []string
368
363
AirbyteType string
369
364
TreatTinyIntAsBoolean bool
370
365
IsNullable string
371
366
}{
372
367
{
373
368
MysqlType : "int(11)" ,
374
- JSONSchemaType : & numberType ,
369
+ JSONSchemaType : [] string { "number" } ,
375
370
AirbyteType : "integer" ,
376
371
},
377
372
{
378
373
MysqlType : "smallint(4)" ,
379
- JSONSchemaType : & numberType ,
374
+ JSONSchemaType : [] string { "number" } ,
380
375
AirbyteType : "integer" ,
381
376
},
382
377
{
383
378
MysqlType : "mediumint(8)" ,
384
- JSONSchemaType : & numberType ,
379
+ JSONSchemaType : [] string { "number" } ,
385
380
AirbyteType : "integer" ,
386
381
},
387
382
{
388
383
MysqlType : "tinyint" ,
389
- JSONSchemaType : & numberType ,
384
+ JSONSchemaType : [] string { "number" } ,
390
385
AirbyteType : "integer" ,
391
386
TreatTinyIntAsBoolean : true ,
392
387
},
393
388
{
394
389
MysqlType : "tinyint(1)" ,
395
- JSONSchemaType : & booleanType ,
390
+ JSONSchemaType : [] string { "boolean" } ,
396
391
AirbyteType : "" ,
397
392
TreatTinyIntAsBoolean : true ,
398
393
},
399
394
{
400
395
MysqlType : "tinyint(1) unsigned" ,
401
- JSONSchemaType : & booleanType ,
396
+ JSONSchemaType : [] string { "boolean" } ,
402
397
AirbyteType : "" ,
403
398
TreatTinyIntAsBoolean : true ,
404
399
},
405
400
{
406
401
MysqlType : "tinyint(1)" ,
407
- JSONSchemaType : & numberType ,
402
+ JSONSchemaType : [] string { "number" } ,
408
403
AirbyteType : "integer" ,
409
404
TreatTinyIntAsBoolean : false ,
410
405
},
411
406
{
412
407
MysqlType : "tinyint(1) unsigned" ,
413
- JSONSchemaType : & numberType ,
408
+ JSONSchemaType : [] string { "number" } ,
414
409
AirbyteType : "integer" ,
415
410
TreatTinyIntAsBoolean : false ,
416
411
},
417
412
{
418
413
MysqlType : "bigint(16)" ,
419
- JSONSchemaType : & numberType ,
414
+ JSONSchemaType : [] string { "number" } ,
420
415
AirbyteType : "integer" ,
421
416
},
422
417
{
423
418
MysqlType : "bigint unsigned" ,
424
- JSONSchemaType : & numberType ,
419
+ JSONSchemaType : [] string { "number" } ,
425
420
AirbyteType : "integer" ,
426
421
},
427
422
{
428
423
MysqlType : "bigint zerofill" ,
429
- JSONSchemaType : & numberType ,
424
+ JSONSchemaType : [] string { "number" } ,
430
425
AirbyteType : "integer" ,
431
426
},
432
427
{
433
428
MysqlType : "datetime" ,
434
- JSONSchemaType : & stringType ,
429
+ JSONSchemaType : [] string { "string" } ,
435
430
AirbyteType : "timestamp_without_timezone" ,
436
431
},
437
432
{
438
433
MysqlType : "datetime(6)" ,
439
- JSONSchemaType : & stringType ,
434
+ JSONSchemaType : [] string { "string" } ,
440
435
AirbyteType : "timestamp_without_timezone" ,
441
436
},
442
437
{
443
438
MysqlType : "time" ,
444
- JSONSchemaType : & stringType ,
439
+ JSONSchemaType : [] string { "string" } ,
445
440
AirbyteType : "time_without_timezone" ,
446
441
},
447
442
{
448
443
MysqlType : "time(6)" ,
449
- JSONSchemaType : & stringType ,
444
+ JSONSchemaType : [] string { "string" } ,
450
445
AirbyteType : "time_without_timezone" ,
451
446
},
452
447
{
453
448
MysqlType : "date" ,
454
- JSONSchemaType : & stringType ,
449
+ JSONSchemaType : [] string { "string" } ,
455
450
AirbyteType : "date" ,
456
451
},
457
452
{
458
453
MysqlType : "text" ,
459
- JSONSchemaType : & stringType ,
454
+ JSONSchemaType : [] string { "string" } ,
460
455
AirbyteType : "" ,
461
456
},
462
457
{
463
458
MysqlType : "varchar(256)" ,
464
- JSONSchemaType : & stringType ,
459
+ JSONSchemaType : [] string { "string" } ,
465
460
AirbyteType : "" ,
466
461
},
467
462
{
468
- MysqlType : "varchar(256)" ,
469
- AirbyteType : "" ,
470
- IsNullable : "YES" ,
471
- OneOf : []OneOfType {
472
- {Type : "string" },
473
- {Type : "null" },
474
- },
463
+ MysqlType : "varchar(256)" ,
464
+ AirbyteType : "" ,
465
+ IsNullable : "YES" ,
466
+ JSONSchemaType : []string {"null" , "string" },
475
467
},
476
468
{
477
469
MysqlType : "decimal(12,5)" ,
478
- JSONSchemaType : & numberType ,
470
+ JSONSchemaType : [] string { "number" } ,
479
471
AirbyteType : "" ,
480
472
},
481
473
{
482
474
MysqlType : "double" ,
483
- JSONSchemaType : & numberType ,
475
+ JSONSchemaType : [] string { "number" } ,
484
476
AirbyteType : "" ,
485
477
},
486
478
{
487
479
MysqlType : "float(30)" ,
488
- JSONSchemaType : & numberType ,
480
+ JSONSchemaType : [] string { "number" } ,
489
481
AirbyteType : "" ,
490
482
},
491
483
}
@@ -496,7 +488,6 @@ func TestDiscover_CanPickRightAirbyteType(t *testing.T) {
496
488
p := getJsonSchemaType (typeTest .MysqlType , typeTest .TreatTinyIntAsBoolean , typeTest .IsNullable )
497
489
assert .Equal (t , typeTest .AirbyteType , p .AirbyteType )
498
490
assert .Equal (t , typeTest .JSONSchemaType , p .Type )
499
- assert .Equal (t , typeTest .OneOf , p .OneOf )
500
491
})
501
492
}
502
493
}
0 commit comments