Server IP : 185.86.78.101 / Your IP : 216.73.216.124 Web Server : Apache System : Linux 675867-vds-valikoshka1996.gmhost.pp.ua 5.4.0-150-generic #167-Ubuntu SMP Mon May 15 17:35:05 UTC 2023 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /www/server/mysql/mysql-test/t/ |
Upload File : |
#Get deafult engine value --let $DEFAULT_ENGINE = `select @@global.default_storage_engine` --disable_warnings DROP TABLE IF EXISTS t1, t2; --enable_warnings SET NAMES latin1; SET sql_mode = 'NO_ENGINE_SUBSTITUTION'; --echo # --echo # Testing DATE literals --echo # --error ER_WRONG_VALUE SELECT DATE'xxxx'; --error ER_WRONG_VALUE SELECT DATE'01'; --error ER_WRONG_VALUE SELECT DATE'01-01'; --error ER_WRONG_VALUE SELECT DATE'2001'; --error ER_WRONG_VALUE SELECT DATE'2001-01'; SELECT DATE'2001-00-00'; SELECT DATE'2001-01-00'; SELECT DATE'0000-00-00'; --error ER_WRONG_VALUE SELECT DATE'2001-01-01 00:00:00'; SELECT DATE'01:01:01'; SELECT DATE'01-01-01'; SELECT DATE'2010-01-01'; SELECT DATE '2010-01-01'; CREATE TABLE t1 AS SELECT DATE'2010-01-01'; #Replace default engine value with static engine string --replace_result $DEFAULT_ENGINE ENGINE SHOW CREATE TABLE t1; DROP TABLE t1; CREATE TABLE t1 AS SELECT {d'2001-01-01'}, {d'2001-01-01 10:10:10'}; #Replace default engine value with static engine string --replace_result $DEFAULT_ENGINE ENGINE SHOW CREATE TABLE t1; DROP TABLE t1; EXPLAIN EXTENDED SELECT {d'2010-01-01'}; EXPLAIN EXTENDED SELECT DATE'2010-01-01'; --echo # --echo # Testing DATE literals in non-default sql_mode --echo # SET sql_mode='NO_ZERO_IN_DATE'; --error ER_WRONG_VALUE SELECT DATE'2001-00-00'; --error ER_WRONG_VALUE SELECT DATE'2001-01-00'; SET sql_mode = ''; SELECT DATE'0000-00-00'; SET sql_mode=default; --echo # --echo # Testing TIME literals --echo # --error ER_WRONG_VALUE SELECT TIME'xxxx'; --error ER_WRONG_VALUE SELECT TIME'900:00:00'; --error ER_WRONG_VALUE SELECT TIME'-900:00:00'; SELECT TIME'1 24:00:00'; SELECT TIME'30 24:00:00'; --error ER_WRONG_VALUE SELECT TIME'0000-00-00 00:00:00'; --error ER_WRONG_VALUE SELECT TIME'40 24:00:00'; SELECT TIME'10'; SELECT TIME'10:10'; SELECT TIME'10:11.12'; SELECT TIME'10:10:10'; SELECT TIME'10:10:10.'; SELECT TIME'10:10:10.1'; SELECT TIME'10:10:10.12'; SELECT TIME'10:10:10.123'; SELECT TIME'10:10:10.1234'; SELECT TIME'10:10:10.12345'; SELECT TIME'10:10:10.123456'; SELECT TIME'-10:00:00'; SELECT TIME '10:11:12'; CREATE TABLE t1 AS SELECT TIME'10:10:10', TIME'10:10:10.', TIME'10:10:10.1', TIME'10:10:10.12', TIME'10:10:10.123', TIME'10:10:10.1234', TIME'10:10:10.12345', TIME'10:10:10.123456'; #Replace default engine value with static engine string --replace_result $DEFAULT_ENGINE ENGINE SHOW CREATE TABLE t1; DROP TABLE t1; CREATE TABLE t1 AS SELECT {t'10:10:10'}, {t'10:10:10.'}, {t'10:10:10.123456'}, {t'2001-01-01'}; #Replace default engine value with static engine string --replace_result $DEFAULT_ENGINE ENGINE SHOW CREATE TABLE t1; DROP TABLE t1; EXPLAIN EXTENDED SELECT {t'10:01:01'}; EXPLAIN EXTENDED SELECT TIME'10:01:01'; --echo # --echo # Testing TIMESTAMP literals --echo # --error ER_WRONG_VALUE SELECT TIMESTAMP'xxxx'; --error ER_WRONG_VALUE SELECT TIMESTAMP'2010'; --error ER_WRONG_VALUE SELECT TIMESTAMP'2010-01'; --error ER_WRONG_VALUE SELECT TIMESTAMP'2010-01-01'; SELECT TIMESTAMP'2010-01-01 00'; SELECT TIMESTAMP'2010-01-01 00:01'; SELECT TIMESTAMP'2010-01-01 10:10:10'; SELECT TIMESTAMP'2010-01-01 10:10:10.'; SELECT TIMESTAMP'2010-01-01 10:10:10.1'; SELECT TIMESTAMP'2010-01-01 10:10:10.12'; SELECT TIMESTAMP'2010-01-01 10:10:10.123'; SELECT TIMESTAMP'2010-01-01 10:10:10.1234'; SELECT TIMESTAMP'2010-01-01 10:10:10.12345'; SELECT TIMESTAMP'2010-01-01 10:10:10.123456'; SELECT TIMESTAMP '2010-01-01 10:20:30'; CREATE TABLE t1 AS SELECT TIMESTAMP'2010-01-01 10:10:10', TIMESTAMP'2010-01-01 10:10:10.', TIMESTAMP'2010-01-01 10:10:10.1', TIMESTAMP'2010-01-01 10:10:10.12', TIMESTAMP'2010-01-01 10:10:10.123', TIMESTAMP'2010-01-01 10:10:10.1234', TIMESTAMP'2010-01-01 10:10:10.12345', TIMESTAMP'2010-01-01 10:10:10.123456'; #Replace default engine value with static engine string --replace_result $DEFAULT_ENGINE ENGINE SHOW CREATE TABLE t1; DROP TABLE t1; CREATE TABLE t1 AS SELECT {ts'2001-01-01 10:10:10'}, {ts'2001-01-01 10:10:10.'}, {ts'2001-01-01 10:10:10.123456'}, {ts'2001-01-01'}; #Replace default engine value with static engine string --replace_result $DEFAULT_ENGINE ENGINE SHOW CREATE TABLE t1; DROP TABLE t1; EXPLAIN EXTENDED SELECT {ts'2010-01-01 10:10:10'}; EXPLAIN EXTENDED SELECT TIMESTAMP'2010-01-01 10:10:10'; --echo # --echo # Testing nanosecond rounding for TIMESTAMP literals with bad dates --echo # SET sql_mode = 'NO_ENGINE_SUBSTITUTION'; SELECT TIMESTAMP'2001-00-00 00:00:00.999999'; SELECT TIMESTAMP'2001-00-01 00:00:00.999999'; SELECT TIMESTAMP'2001-01-00 00:00:00.999999'; --error ER_WRONG_VALUE SELECT TIMESTAMP'2001-00-00 00:00:00.9999999'; --error ER_WRONG_VALUE SELECT TIMESTAMP'2001-00-01 00:00:00.9999999'; --error ER_WRONG_VALUE SELECT TIMESTAMP'2001-01-00 00:00:00.9999999'; --echo # --echo # String literal with bad dates and nanoseconds to DATETIME(N) --echo # CREATE TABLE t1 (a DATETIME(6)); INSERT INTO t1 VALUES ('2001-00-00 00:00:00.9999999'); INSERT INTO t1 VALUES ('2001-00-01 00:00:00.9999999'); INSERT INTO t1 VALUES ('2001-01-00 00:00:00.9999999'); SELECT * FROM t1; DROP TABLE t1; CREATE TABLE t1 (a DATETIME(5)); INSERT INTO t1 VALUES ('2001-00-00 00:00:00.9999999'); INSERT INTO t1 VALUES ('2001-00-01 00:00:00.9999999'); INSERT INTO t1 VALUES ('2001-01-00 00:00:00.9999999'); SELECT * FROM t1; DROP TABLE t1; CREATE TABLE t1 (a DATETIME); INSERT INTO t1 VALUES ('2001-00-00 00:00:00.9999999'); INSERT INTO t1 VALUES ('2001-00-01 00:00:00.9999999'); INSERT INTO t1 VALUES ('2001-01-00 00:00:00.9999999'); SELECT * FROM t1; DROP TABLE t1; --echo # --echo # Testing Item_date_literal::eq --echo # CREATE TABLE t1 (a DATE); INSERT INTO t1 VALUES ('2001-01-01'),('2003-01-01'); SELECT * FROM t1 WHERE a BETWEEN DATE'2001-01-01' AND DATE'2002-01-01'; SELECT DATE'2001-01-01' FROM t1 GROUP BY DATE'2001-01-01'; DROP TABLE t1; SET sql_mode = default; --echo # --echo # BUG #16812821: INCONSISTANT RESULTS WHEN ODBC DATE FORMAT IS USED --echo # CREATE TABLE t1(c1 INT, c2 DATE, c3 TIME, c4 TIMESTAMP); CREATE TABLE t2(c11 INT, C12 INT); INSERT INTO t1 VALUES (1, '2014-01-02', '01:01:01', '2014-01-02 01:01:01'), (2, '2014-01-04', '01:01:01', '2014-01-02 01:01:01'); INSERT INTO t2 VALUES (3, 4), (5, 6); SELECT * FROM t1 LEFT JOIN t2 ON c1 = c11 WHERE c2 BETWEEN {d'2014-01-01'} AND {d'2014-01-05'}; SELECT * FROM t1 LEFT JOIN t2 ON c1 = c11 WHERE c3 BETWEEN {t'01:01:01'} AND {t'01:01:05'}; SELECT * FROM t1 LEFT JOIN t2 ON c1 = c11 WHERE c4 BETWEEN {ts'2014-01-01 01:01:01'} AND {ts'2014-01-05 01:01:01'}; SELECT * FROM t1 LEFT JOIN t2 ON c1 = c11 WHERE c2 BETWEEN DATE'2014-01-01' AND DATE'2014-01-05'; SELECT * FROM t1 LEFT JOIN t2 ON c1 = c11 WHERE c3 BETWEEN TIME'01:01:01' AND TIME'01:01:05'; SELECT * FROM t1 LEFT JOIN t2 ON c1 = c11 WHERE c4 BETWEEN TIMESTAMP'2014-01-01 01:01:01' AND TIMESTAMP'2014-01-05 01:01:01'; DROP TABLE t1, t2;