@@ -3231,5 +3231,170 @@ NULL
3231
3231
DROP TABLE t2;
3232
3232
DROP TABLE t1;
3233
3233
#
3234
+ # MDEV-8912 Wrong metadata or type for @c:=string_or_blob_field
3235
+ #
3236
+ CREATE TABLE t1 (c1 TINYBLOB, c2 BLOB, c3 MEDIUMBLOB, c4 LONGBLOB);
3237
+ CREATE TABLE t2 AS
3238
+ SELECT
3239
+ @c1:=c1 AS c1,
3240
+ @c2:=c2 AS c2,
3241
+ @c3:=c3 AS c3,
3242
+ @c4:=c4 AS c4
3243
+ FROM t1;
3244
+ SHOW CREATE TABLE t2;
3245
+ Table Create Table
3246
+ t2 CREATE TABLE `t2` (
3247
+ `c1` varbinary(255) DEFAULT NULL,
3248
+ `c2` blob,
3249
+ `c3` mediumblob,
3250
+ `c4` longblob
3251
+ ) ENGINE=MyISAM DEFAULT CHARSET=latin1
3252
+ SELECT
3253
+ @c1:=c1 AS c1,
3254
+ @c2:=c2 AS c2,
3255
+ @c3:=c3 AS c3,
3256
+ @c4:=c4 AS c4
3257
+ FROM t1;
3258
+ Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
3259
+ def c1 253 255 0 Y 128 31 63
3260
+ def c2 252 65535 0 Y 128 31 63
3261
+ def c3 250 16777215 0 Y 128 31 63
3262
+ def c4 251 4294967295 0 Y 128 31 63
3263
+ c1 c2 c3 c4
3264
+ DROP TABLE t2;
3265
+ DROP TABLE t1;
3266
+ CREATE TABLE t1 (c1 CHAR(1), c2 CHAR(255)) CHARACTER SET latin1;
3267
+ CREATE TABLE t2 AS
3268
+ SELECT
3269
+ @c1:=c1 AS c1,
3270
+ @c2:=c2 AS c2
3271
+ FROM t1;
3272
+ SHOW CREATE TABLE t2;
3273
+ Table Create Table
3274
+ t2 CREATE TABLE `t2` (
3275
+ `c1` varchar(1) DEFAULT NULL,
3276
+ `c2` varchar(255) DEFAULT NULL
3277
+ ) ENGINE=MyISAM DEFAULT CHARSET=latin1
3278
+ SELECT
3279
+ @c1:=c1 AS c1,
3280
+ @c2:=c2 AS c2
3281
+ FROM t1;
3282
+ Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
3283
+ def c1 253 1 0 Y 0 31 8
3284
+ def c2 253 255 0 Y 0 31 8
3285
+ c1 c2
3286
+ DROP TABLE t2;
3287
+ DROP TABLE t1;
3288
+ CREATE TABLE t1 (c1 CHAR(1), c2 CHAR(255)) CHARACTER SET utf8;
3289
+ CREATE TABLE t2 AS
3290
+ SELECT
3291
+ @c1:=c1 AS c1,
3292
+ @c2:=c2 AS c2
3293
+ FROM t1;
3294
+ SHOW CREATE TABLE t2;
3295
+ Table Create Table
3296
+ t2 CREATE TABLE `t2` (
3297
+ `c1` varchar(1) CHARACTER SET utf8 DEFAULT NULL,
3298
+ `c2` varchar(255) CHARACTER SET utf8 DEFAULT NULL
3299
+ ) ENGINE=MyISAM DEFAULT CHARSET=latin1
3300
+ SELECT
3301
+ @c1:=c1 AS c1,
3302
+ @c2:=c2 AS c2
3303
+ FROM t1;
3304
+ Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
3305
+ def c1 253 1 0 Y 0 31 8
3306
+ def c2 253 255 0 Y 0 31 8
3307
+ c1 c2
3308
+ DROP TABLE t2;
3309
+ DROP TABLE t1;
3310
+ CREATE TABLE t1 (c1 VARCHAR(1), c2 VARCHAR(255), c3 VARCHAR(20000)) CHARACTER SET latin1;
3311
+ CREATE TABLE t2 AS
3312
+ SELECT
3313
+ @c:=c1 AS c1,
3314
+ @c:=c2 AS c2,
3315
+ @c:=c3 AS c3
3316
+ FROM t1;
3317
+ SHOW CREATE TABLE t2;
3318
+ Table Create Table
3319
+ t2 CREATE TABLE `t2` (
3320
+ `c1` varchar(1) DEFAULT NULL,
3321
+ `c2` varchar(255) DEFAULT NULL,
3322
+ `c3` text
3323
+ ) ENGINE=MyISAM DEFAULT CHARSET=latin1
3324
+ SELECT
3325
+ @c:=c1 AS c1,
3326
+ @c:=c2 AS c2,
3327
+ @c:=c3 AS c3
3328
+ FROM t1;
3329
+ Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
3330
+ def c1 253 1 0 Y 0 31 8
3331
+ def c2 253 255 0 Y 0 31 8
3332
+ def c3 252 20000 0 Y 0 31 8
3333
+ c1 c2 c3
3334
+ DROP TABLE t2;
3335
+ DROP TABLE t1;
3336
+ CREATE TABLE t1 (c1 VARCHAR(1), c2 VARCHAR(255), c3 VARCHAR(20000)) CHARACTER SET utf8;
3337
+ CREATE TABLE t2 AS
3338
+ SELECT
3339
+ @c:=c1 AS c1,
3340
+ @c:=c2 AS c2,
3341
+ @c:=c3 AS c3
3342
+ FROM t1;
3343
+ SHOW CREATE TABLE t2;
3344
+ Table Create Table
3345
+ t2 CREATE TABLE `t2` (
3346
+ `c1` varchar(1) CHARACTER SET utf8 DEFAULT NULL,
3347
+ `c2` varchar(255) CHARACTER SET utf8 DEFAULT NULL,
3348
+ `c3` text CHARACTER SET utf8
3349
+ ) ENGINE=MyISAM DEFAULT CHARSET=latin1
3350
+ SELECT
3351
+ @c:=c1 AS c1,
3352
+ @c:=c2 AS c2,
3353
+ @c:=c3 AS c3
3354
+ FROM t1;
3355
+ Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
3356
+ def c1 253 1 0 Y 0 31 8
3357
+ def c2 253 255 0 Y 0 31 8
3358
+ def c3 252 60000 0 Y 0 31 8
3359
+ c1 c2 c3
3360
+ DROP TABLE t2;
3361
+ DROP TABLE t1;
3362
+ CREATE TABLE t1 (c1 ENUM('a')) CHARACTER SET latin1;
3363
+ CREATE TABLE t2 AS
3364
+ SELECT
3365
+ @c:=c1 AS c1
3366
+ FROM t1;
3367
+ SHOW CREATE TABLE t2;
3368
+ Table Create Table
3369
+ t2 CREATE TABLE `t2` (
3370
+ `c1` varchar(1) DEFAULT NULL
3371
+ ) ENGINE=MyISAM DEFAULT CHARSET=latin1
3372
+ SELECT
3373
+ @c:=c1 AS c1
3374
+ FROM t1;
3375
+ Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
3376
+ def c1 253 1 0 Y 0 0 8
3377
+ c1
3378
+ DROP TABLE t2;
3379
+ DROP TABLE t1;
3380
+ CREATE TABLE t1 (c1 ENUM('a')) CHARACTER SET utf8;
3381
+ CREATE TABLE t2 AS
3382
+ SELECT
3383
+ @c:=c1 AS c1
3384
+ FROM t1;
3385
+ SHOW CREATE TABLE t2;
3386
+ Table Create Table
3387
+ t2 CREATE TABLE `t2` (
3388
+ `c1` varchar(1) CHARACTER SET utf8 DEFAULT NULL
3389
+ ) ENGINE=MyISAM DEFAULT CHARSET=latin1
3390
+ SELECT
3391
+ @c:=c1 AS c1
3392
+ FROM t1;
3393
+ Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
3394
+ def c1 253 1 0 Y 0 0 8
3395
+ c1
3396
+ DROP TABLE t2;
3397
+ DROP TABLE t1;
3398
+ #
3234
3399
# End of 10.1 tests
3235
3400
#
0 commit comments