@@ -42,7 +42,7 @@ set global example_ulong_var=500;
42
42
set global example_enum_var= e1;
43
43
select * from performance_schema.global_status where variable_name like 'example%' order by variable_name;
44
44
VARIABLE_NAME VARIABLE_VALUE
45
- example_func_example enum_var is 0, ulong_var is 500, double_var is 8.500000
45
+ example_func_example enum_var is 0, ulong_var is 500, double_var is 8.500000, signed_int_var is -10, signed_long_var is -10, signed_longlong_var is -10
46
46
example_status_array_var1 100
47
47
example_status_array_var2 20.010000
48
48
example_status_var3 three hundred
@@ -56,6 +56,12 @@ example_double_thdvar 8.500000
56
56
example_double_var 8.500000
57
57
example_enum_var e1
58
58
example_last_create_thdvar Last creation 't1'
59
+ example_signed_int_thdvar -10
60
+ example_signed_int_var -10
61
+ example_signed_long_thdvar -10
62
+ example_signed_long_var -10
63
+ example_signed_longlong_thdvar -10
64
+ example_signed_longlong_var -10
59
65
example_ulong_var 500
60
66
UNINSTALL PLUGIN example;
61
67
UNINSTALL PLUGIN EXAMPLE;
@@ -302,3 +308,232 @@ UNINSTALL PLUGIN example;
302
308
DROP USER bug51770@localhost;
303
309
INSTALL PLUGIN example SONAME '../ha_example.so';
304
310
ERROR HY000: No paths allowed for shared library
311
+ #
312
+ # Bug #28534414: NEGATIVE NUMBERS IN PLUGIN VARIABLES
313
+ # NOT DISPLAYED CORRECTLY
314
+ #
315
+ INSTALL PLUGIN example SONAME 'ha_example.so';
316
+ SELECT * FROM performance_schema.global_status WHERE variable_name LIKE 'example_func_example' ORDER BY variable_name;
317
+ VARIABLE_NAME VARIABLE_VALUE
318
+ example_func_example enum_var is 0, ulong_var is 8, double_var is 8.500000, signed_int_var is -10, signed_long_var is -10, signed_longlong_var is -10
319
+ SHOW VARIABLES LIKE 'example_signed_int_var';
320
+ Variable_name Value
321
+ example_signed_int_var -10
322
+ SELECT @@GLOBAL.example_signed_int_var;
323
+ @@GLOBAL.example_signed_int_var
324
+ -10
325
+ SET GLOBAL example_signed_int_var = -2147483648;
326
+ SELECT @@GLOBAL.example_signed_int_var;
327
+ @@GLOBAL.example_signed_int_var
328
+ -2147483648
329
+ SET GLOBAL example_signed_int_var = -100;
330
+ SELECT @@GLOBAL.example_signed_int_var;
331
+ @@GLOBAL.example_signed_int_var
332
+ -100
333
+ SET GLOBAL example_signed_int_var = 0;
334
+ SELECT @@GLOBAL.example_signed_int_var;
335
+ @@GLOBAL.example_signed_int_var
336
+ 0
337
+ SET GLOBAL example_signed_int_var = 100;
338
+ SELECT @@GLOBAL.example_signed_int_var;
339
+ @@GLOBAL.example_signed_int_var
340
+ 100
341
+ SET GLOBAL example_signed_int_var = 2147483647;
342
+ SELECT @@GLOBAL.example_signed_int_var;
343
+ @@GLOBAL.example_signed_int_var
344
+ 2147483647
345
+ SET GLOBAL example_signed_int_var = -2147483649;
346
+ Warnings:
347
+ Warning 1292 Truncated incorrect example_signed_int_var value: '-2147483649'
348
+ SELECT @@GLOBAL.example_signed_int_var;
349
+ @@GLOBAL.example_signed_int_var
350
+ -2147483648
351
+ SET GLOBAL example_signed_int_var = 2147483648;
352
+ Warnings:
353
+ Warning 1292 Truncated incorrect example_signed_int_var value: '2147483648'
354
+ SELECT @@GLOBAL.example_signed_int_var;
355
+ @@GLOBAL.example_signed_int_var
356
+ 2147483647
357
+ SHOW SESSION VARIABLES LIKE 'example_signed_int_thdvar';
358
+ Variable_name Value
359
+ example_signed_int_thdvar -10
360
+ SELECT @@SESSION.example_signed_int_thdvar;
361
+ @@SESSION.example_signed_int_thdvar
362
+ -10
363
+ SET SESSION example_signed_int_thdvar = -2147483648;
364
+ SELECT @@SESSION.example_signed_int_thdvar;
365
+ @@SESSION.example_signed_int_thdvar
366
+ -2147483648
367
+ SET SESSION example_signed_int_thdvar = -100;
368
+ SELECT @@SESSION.example_signed_int_thdvar;
369
+ @@SESSION.example_signed_int_thdvar
370
+ -100
371
+ SET SESSION example_signed_int_thdvar = 0;
372
+ SELECT @@SESSION.example_signed_int_thdvar;
373
+ @@SESSION.example_signed_int_thdvar
374
+ 0
375
+ SET SESSION example_signed_int_thdvar = 100;
376
+ SELECT @@SESSION.example_signed_int_thdvar;
377
+ @@SESSION.example_signed_int_thdvar
378
+ 100
379
+ SET SESSION example_signed_int_thdvar = 2147483647;
380
+ SELECT @@SESSION.example_signed_int_thdvar;
381
+ @@SESSION.example_signed_int_thdvar
382
+ 2147483647
383
+ SET SESSION example_signed_int_thdvar = -2147483649;
384
+ Warnings:
385
+ Warning 1292 Truncated incorrect example_signed_int_thdvar value: '-2147483649'
386
+ SELECT @@SESSION.example_signed_int_thdvar;
387
+ @@SESSION.example_signed_int_thdvar
388
+ -2147483648
389
+ SET SESSION example_signed_int_thdvar = 2147483648;
390
+ Warnings:
391
+ Warning 1292 Truncated incorrect example_signed_int_thdvar value: '2147483648'
392
+ SELECT @@SESSION.example_signed_int_thdvar;
393
+ @@SESSION.example_signed_int_thdvar
394
+ 2147483647
395
+ SHOW VARIABLES LIKE 'example_signed_long_var';
396
+ Variable_name Value
397
+ example_signed_long_var -10
398
+ SELECT @@GLOBAL.example_signed_long_var;
399
+ @@GLOBAL.example_signed_long_var
400
+ -10
401
+ SET GLOBAL example_signed_long_var = -9223372036854775808;
402
+ SELECT @@GLOBAL.example_signed_long_var IN (-2147483648, -9223372036854775808);
403
+ @@GLOBAL.example_signed_long_var IN (-2147483648, -9223372036854775808)
404
+ 1
405
+ SET GLOBAL example_signed_long_var = -100;
406
+ SELECT @@GLOBAL.example_signed_long_var;
407
+ @@GLOBAL.example_signed_long_var
408
+ -100
409
+ SET GLOBAL example_signed_long_var = 0;
410
+ SELECT @@GLOBAL.example_signed_long_var;
411
+ @@GLOBAL.example_signed_long_var
412
+ 0
413
+ SET GLOBAL example_signed_long_var = 100;
414
+ SELECT @@GLOBAL.example_signed_long_var;
415
+ @@GLOBAL.example_signed_long_var
416
+ 100
417
+ SET GLOBAL example_signed_long_var = 9223372036854775807;
418
+ SELECT @@GLOBAL.example_signed_long_var IN (2147483647, 9223372036854775807);
419
+ @@GLOBAL.example_signed_long_var IN (2147483647, 9223372036854775807)
420
+ 1
421
+ SET GLOBAL example_signed_long_var = -9223372036854775809;
422
+ ERROR 42000: Incorrect argument type to variable 'example_signed_long_var'
423
+ SELECT @@GLOBAL.example_signed_long_var IN (2147483647, 9223372036854775807);
424
+ @@GLOBAL.example_signed_long_var IN (2147483647, 9223372036854775807)
425
+ 1
426
+ SET GLOBAL example_signed_long_var = 9223372036854775808;
427
+ SELECT @@GLOBAL.example_signed_long_var IN (2147483647, 9223372036854775807);
428
+ @@GLOBAL.example_signed_long_var IN (2147483647, 9223372036854775807)
429
+ 1
430
+ SHOW SESSION VARIABLES LIKE 'example_signed_long_thdvar';
431
+ Variable_name Value
432
+ example_signed_long_thdvar -10
433
+ SELECT @@SESSION.example_signed_long_thdvar;
434
+ @@SESSION.example_signed_long_thdvar
435
+ -10
436
+ SET SESSION example_signed_long_thdvar = -9223372036854775808;
437
+ SELECT @@SESSION.example_signed_long_thdvar IN (-2147483648, -9223372036854775808);
438
+ @@SESSION.example_signed_long_thdvar IN (-2147483648, -9223372036854775808)
439
+ 1
440
+ SET SESSION example_signed_long_thdvar = -100;
441
+ SELECT @@SESSION.example_signed_long_thdvar;
442
+ @@SESSION.example_signed_long_thdvar
443
+ -100
444
+ SET SESSION example_signed_long_thdvar = 0;
445
+ SELECT @@SESSION.example_signed_long_thdvar;
446
+ @@SESSION.example_signed_long_thdvar
447
+ 0
448
+ SET SESSION example_signed_long_thdvar = 100;
449
+ SELECT @@SESSION.example_signed_long_thdvar;
450
+ @@SESSION.example_signed_long_thdvar
451
+ 100
452
+ SET SESSION example_signed_long_thdvar = 9223372036854775807;
453
+ SELECT @@SESSION.example_signed_long_thdvar IN (2147483647, 9223372036854775807);
454
+ @@SESSION.example_signed_long_thdvar IN (2147483647, 9223372036854775807)
455
+ 1
456
+ SET SESSION example_signed_long_thdvar = -9223372036854775809;
457
+ ERROR 42000: Incorrect argument type to variable 'example_signed_long_thdvar'
458
+ SELECT @@SESSION.example_signed_long_thdvar IN (2147483647, 9223372036854775807);
459
+ @@SESSION.example_signed_long_thdvar IN (2147483647, 9223372036854775807)
460
+ 1
461
+ SET SESSION example_signed_long_thdvar = 9223372036854775808;
462
+ SELECT @@SESSION.example_signed_long_thdvar IN (2147483647, 9223372036854775807);
463
+ @@SESSION.example_signed_long_thdvar IN (2147483647, 9223372036854775807)
464
+ 1
465
+ SHOW VARIABLES LIKE 'example_signed_longlong_var';
466
+ Variable_name Value
467
+ example_signed_longlong_var -10
468
+ SELECT @@GLOBAL.example_signed_longlong_var;
469
+ @@GLOBAL.example_signed_longlong_var
470
+ -10
471
+ SET GLOBAL example_signed_longlong_var = -9223372036854775808;
472
+ SELECT @@GLOBAL.example_signed_longlong_var;
473
+ @@GLOBAL.example_signed_longlong_var
474
+ -9223372036854775808
475
+ SET GLOBAL example_signed_longlong_var = -100;
476
+ SELECT @@GLOBAL.example_signed_longlong_var;
477
+ @@GLOBAL.example_signed_longlong_var
478
+ -100
479
+ SET GLOBAL example_signed_longlong_var = 0;
480
+ SELECT @@GLOBAL.example_signed_longlong_var;
481
+ @@GLOBAL.example_signed_longlong_var
482
+ 0
483
+ SET GLOBAL example_signed_longlong_var = 100;
484
+ SELECT @@GLOBAL.example_signed_longlong_var;
485
+ @@GLOBAL.example_signed_longlong_var
486
+ 100
487
+ SET GLOBAL example_signed_longlong_var = 9223372036854775807;
488
+ SELECT @@GLOBAL.example_signed_longlong_var;
489
+ @@GLOBAL.example_signed_longlong_var
490
+ 9223372036854775807
491
+ SET GLOBAL example_signed_longlong_var = -9223372036854775809;
492
+ ERROR 42000: Incorrect argument type to variable 'example_signed_longlong_var'
493
+ SELECT @@GLOBAL.example_signed_longlong_var;
494
+ @@GLOBAL.example_signed_longlong_var
495
+ 9223372036854775807
496
+ SET GLOBAL example_signed_longlong_var = 9223372036854775808;
497
+ Warnings:
498
+ Warning 1292 Truncated incorrect example_signed_longlong_var value: '9223372036854775808'
499
+ SELECT @@GLOBAL.example_signed_longlong_var;
500
+ @@GLOBAL.example_signed_longlong_var
501
+ 9223372036854775807
502
+ SHOW SESSION VARIABLES LIKE 'example_signed_longlong_thdvar';
503
+ Variable_name Value
504
+ example_signed_longlong_thdvar -10
505
+ SELECT @@SESSION.example_signed_longlong_thdvar;
506
+ @@SESSION.example_signed_longlong_thdvar
507
+ -10
508
+ SET SESSION example_signed_longlong_thdvar = -9223372036854775808;
509
+ SELECT @@SESSION.example_signed_longlong_thdvar;
510
+ @@SESSION.example_signed_longlong_thdvar
511
+ -9223372036854775808
512
+ SET SESSION example_signed_longlong_thdvar = -100;
513
+ SELECT @@SESSION.example_signed_longlong_thdvar;
514
+ @@SESSION.example_signed_longlong_thdvar
515
+ -100
516
+ SET SESSION example_signed_longlong_thdvar = 0;
517
+ SELECT @@SESSION.example_signed_longlong_thdvar;
518
+ @@SESSION.example_signed_longlong_thdvar
519
+ 0
520
+ SET SESSION example_signed_longlong_thdvar = 100;
521
+ SELECT @@SESSION.example_signed_longlong_thdvar;
522
+ @@SESSION.example_signed_longlong_thdvar
523
+ 100
524
+ SET SESSION example_signed_longlong_thdvar = 9223372036854775807;
525
+ SELECT @@SESSION.example_signed_longlong_thdvar;
526
+ @@SESSION.example_signed_longlong_thdvar
527
+ 9223372036854775807
528
+ SET SESSION example_signed_longlong_thdvar = -9223372036854775809;
529
+ ERROR 42000: Incorrect argument type to variable 'example_signed_longlong_thdvar'
530
+ SELECT @@SESSION.example_signed_longlong_thdvar;
531
+ @@SESSION.example_signed_longlong_thdvar
532
+ 9223372036854775807
533
+ SET SESSION example_signed_longlong_thdvar = 9223372036854775808;
534
+ Warnings:
535
+ Warning 1292 Truncated incorrect example_signed_longlong_thdvar value: '9223372036854775808'
536
+ SELECT @@SESSION.example_signed_longlong_thdvar;
537
+ @@SESSION.example_signed_longlong_thdvar
538
+ 9223372036854775807
539
+ UNINSTALL PLUGIN example;
0 commit comments