117 lines
3.2 KiB
PHP
117 lines
3.2 KiB
PHP
eval CREATE TABLE $table_name (t $ts_type$decimals $nullness);
|
|
eval INSERT INTO $table_name VALUES ($min_ts), ($ca_now), ($max_ts);
|
|
eval ANALYZE TABLE $table_name;
|
|
eval SELECT * FROM $table_name;
|
|
let $colname=t;
|
|
SET @OLD_SQL_MODE=@@SQL_MODE, @@SQL_MODE=ALLOW_INVALID_DATES;
|
|
|
|
--echo
|
|
--echo 1. String literals
|
|
--echo
|
|
--echo TIMESTAMP: Some out of range constants (adjusted to TZ +0300
|
|
--echo for MTR)
|
|
--echo DATETIME: 1970, 2038 just fine.
|
|
let $constant='0000-00-00 10:20:30';
|
|
--source include/const_folding_cmp_ops.inc
|
|
let $constant='2038-01-19 06:14:07.999999';
|
|
--source include/const_folding_cmp_ops.inc
|
|
let $constant='2038-01-19 06:14:08.000000';
|
|
--source include/const_folding_cmp_ops.inc
|
|
let $constant='1970-01-01 00:00:01';
|
|
--source include/const_folding_cmp_ops.inc
|
|
let $constant='1970-01-01 03:00:00.999999';
|
|
--source include/const_folding_cmp_ops.inc
|
|
|
|
--echo Zero date?
|
|
let $constant='0000-00-00 00:00:00';
|
|
--source include/const_folding_cmp_ops.inc
|
|
|
|
--echo Zero in date
|
|
let $constant='2018-00-03 00:00:00';
|
|
--source include/const_folding_cmp_ops.inc
|
|
|
|
--echo
|
|
--echo Some in range string literals
|
|
--echo
|
|
let $constant='2038-01-19 06:14:07';
|
|
--source include/const_folding_cmp_ops.inc
|
|
let $constant='1970-01-01 03:00:01';
|
|
--source include/const_folding_cmp_ops.inc
|
|
|
|
--echo
|
|
--echo 2. TIMESTAMP literals
|
|
--echo These are the same as above, but with TIMESTAMP prefix.
|
|
--echo
|
|
--echo TIMESTAMP field: Some out of range constants (adjusted to TZ
|
|
--echo +0300 for MTR)
|
|
--echo DATETIME field: in range
|
|
|
|
# Gives error: let $constant=TIMESTAMP'0000-00-00 10:20:30';
|
|
|
|
let $constant=TIMESTAMP'2038-01-19 06:14:07.999999';
|
|
--source include/const_folding_cmp_ops.inc
|
|
let $constant=TIMESTAMP'2038-01-19 06:14:08.000000';
|
|
--source include/const_folding_cmp_ops.inc
|
|
|
|
# Gives error: let $constant=TIMESTAMP'12038-01-19 06:14:08.000000';
|
|
|
|
let $constant=TIMESTAMP'1970-01-01 00:00:01';
|
|
--source include/const_folding_cmp_ops.inc
|
|
let $constant=TIMESTAMP'1970-01-01 03:00:00.999999';
|
|
--source include/const_folding_cmp_ops.inc
|
|
|
|
# Gives error: let $constant=TIMESTAMP'0000-00-00 00:00:00';
|
|
# Gives error: let $constant=TIMESTAMP'2018-02-31 00:00:00';
|
|
|
|
|
|
--echo
|
|
--echo Some in range constants
|
|
--echo
|
|
let $constant=TIMESTAMP'2038-01-19 06:14:07';
|
|
--source include/const_folding_cmp_ops.inc
|
|
let $constant=TIMESTAMP'1970-01-01 03:00:01';
|
|
--source include/const_folding_cmp_ops.inc
|
|
|
|
--echo
|
|
--echo 3. Integer literals
|
|
--echo
|
|
|
|
# in range
|
|
let $constant=20380119061407;
|
|
--source include/const_folding_cmp_ops.inc
|
|
|
|
# out of range; interpreted as a value smaller than TIMESTAMP min
|
|
let $constant=2018;
|
|
--source include/const_folding_cmp_ops.inc
|
|
|
|
let $constant=0;
|
|
--source include/const_folding_cmp_ops.inc
|
|
|
|
--echo
|
|
--echo 3. Decimal literals: rounded up to whole seconds
|
|
--echo
|
|
# in range
|
|
let $constant=20380119061405.55;
|
|
--source include/const_folding_cmp_ops.inc
|
|
|
|
# out of range compare using double
|
|
let $constant=2018.55;
|
|
--source include/const_folding_cmp_ops.inc
|
|
|
|
let $constant=0.00;
|
|
--source include/const_folding_cmp_ops.inc
|
|
|
|
--echo
|
|
--echo 3. Real literals: rounded up to whole seconds
|
|
--echo
|
|
# in range
|
|
let $constant=20380119061405.55E00;
|
|
--source include/const_folding_cmp_ops.inc
|
|
# out of range compare using double
|
|
let $constant=2018.55E00;
|
|
|
|
let $constant=0.00E00;
|
|
--source include/const_folding_cmp_ops.inc
|
|
|
|
eval DROP TABLE $table_name;
|