mirror of
https://github.com/MariaDB/server.git
synced 2026-04-30 12:15:32 +02:00
Automerge
This commit is contained in:
commit
f813fbbb28
6 changed files with 51 additions and 11 deletions
|
|
@ -101,6 +101,8 @@ if (`SELECT @@global.binlog_format = 'STATEMENT'`)
|
|||
}
|
||||
|
||||
CREATE TABLE t1(a int, UNIQUE(a));
|
||||
--let $_start= query_get_value(SHOW MASTER STATUS, Position, 1)
|
||||
|
||||
INSERT DELAYED IGNORE INTO t1 VALUES(1);
|
||||
INSERT DELAYED IGNORE INTO t1 VALUES(1);
|
||||
flush table t1; # to wait for INSERT DELAYED to be done
|
||||
|
|
@ -108,8 +110,22 @@ if (`SELECT @@global.binlog_format = 'STATEMENT'`)
|
|||
{
|
||||
#must show two INSERT DELAYED
|
||||
--let $binlog_file= query_get_value(SHOW MASTER STATUS, File, 1)
|
||||
--let $binlog_limit= 1,4
|
||||
--source include/show_binlog_events.inc
|
||||
|
||||
# The first INSERT DELAYED
|
||||
--let $stmt= query_get_value(SHOW BINLOG EVENTS IN '$binlog_file' FROM $_start, Info, 2)
|
||||
--echo $stmt
|
||||
|
||||
# The second INSERT DELAYED statement is the 3 item if two INSERT DELAYED are
|
||||
# handled together
|
||||
--let $stmt= query_get_value(SHOW BINLOG EVENTS IN '$binlog_file' FROM $_start, Info, 3)
|
||||
|
||||
# The second INSERT DELAYED statement is the 5 item if two INSERT DELAYED are
|
||||
# handled separately
|
||||
if (`SELECT '$stmt' = 'COMMIT'`)
|
||||
{
|
||||
--let $stmt= query_get_value(SHOW BINLOG EVENTS IN '$binlog_file' FROM $_start, Info, 5)
|
||||
}
|
||||
--echo $stmt
|
||||
}
|
||||
select * from t1;
|
||||
|
||||
|
|
|
|||
|
|
@ -5,6 +5,20 @@ flush tables;
|
|||
select * from t1 where isnull(to_days(mydate));
|
||||
id mydate
|
||||
drop table t1;
|
||||
#
|
||||
# Bug#53933 crash when using uncacheable subquery in the having clause of outer query
|
||||
#
|
||||
CREATE TABLE t1 (f1 INT);
|
||||
INSERT INTO t1 VALUES (0),(0);
|
||||
SELECT ISNULL((SELECT GET_LOCK('Bug#53933', 0) FROM t1 GROUP BY f1)) AS f2
|
||||
FROM t1 GROUP BY f1 HAVING f2 = f2;
|
||||
f2
|
||||
0
|
||||
SELECT RELEASE_LOCK('Bug#53933');
|
||||
RELEASE_LOCK('Bug#53933')
|
||||
1
|
||||
DROP TABLE t1;
|
||||
End of 5.0 tests
|
||||
CREATE TABLE t1 (id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, PRIMARY KEY(id));
|
||||
INSERT INTO t1( id ) VALUES ( NULL );
|
||||
SELECT t1.id FROM t1 WHERE (id is not null and id is null );
|
||||
|
|
|
|||
|
|
@ -51,12 +51,8 @@ CREATE TABLE t1(a int, UNIQUE(a));
|
|||
INSERT DELAYED IGNORE INTO t1 VALUES(1);
|
||||
INSERT DELAYED IGNORE INTO t1 VALUES(1);
|
||||
flush table t1;
|
||||
show binlog events in 'master-bin.000002' from <binlog_start> limit 1,4;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000002 # Query # # BEGIN
|
||||
master-bin.000002 # Query # # use `test`; INSERT DELAYED IGNORE INTO t1 VALUES(1)
|
||||
master-bin.000002 # Query # # use `test`; INSERT DELAYED IGNORE INTO t1 VALUES(1)
|
||||
master-bin.000002 # Query # # COMMIT
|
||||
use `test`; INSERT DELAYED IGNORE INTO t1 VALUES(1)
|
||||
use `test`; INSERT DELAYED IGNORE INTO t1 VALUES(1)
|
||||
select * from t1;
|
||||
a
|
||||
1
|
||||
|
|
|
|||
|
|
@ -14,6 +14,21 @@ drop table t1;
|
|||
|
||||
# End of 4.1 tests
|
||||
|
||||
--echo #
|
||||
--echo # Bug#53933 crash when using uncacheable subquery in the having clause of outer query
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1 (f1 INT);
|
||||
INSERT INTO t1 VALUES (0),(0);
|
||||
|
||||
SELECT ISNULL((SELECT GET_LOCK('Bug#53933', 0) FROM t1 GROUP BY f1)) AS f2
|
||||
FROM t1 GROUP BY f1 HAVING f2 = f2;
|
||||
SELECT RELEASE_LOCK('Bug#53933');
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
||||
#
|
||||
# Bug #41371 Select returns 1 row with condition "col is not null and col is null"
|
||||
#
|
||||
|
|
|
|||
|
|
@ -1324,8 +1324,8 @@ public:
|
|||
else
|
||||
{
|
||||
args[0]->update_used_tables();
|
||||
if ((const_item_cache= !(used_tables_cache= args[0]->used_tables())) &&
|
||||
!with_subselect)
|
||||
if ((const_item_cache= !(used_tables_cache= args[0]->used_tables()) &&
|
||||
!with_subselect))
|
||||
{
|
||||
/* Remember if the value is always NULL or never NULL */
|
||||
cached_value= (longlong) args[0]->is_null();
|
||||
|
|
|
|||
|
|
@ -2388,7 +2388,6 @@ static bool check_timestamp(sys_var *self, THD *thd, set_var *var)
|
|||
if (!var->value)
|
||||
return FALSE;
|
||||
|
||||
var->save_result.ulonglong_value= var->value->val_int();
|
||||
val= (time_t) var->save_result.ulonglong_value;
|
||||
if (val < (time_t) MY_TIME_T_MIN || val > (time_t) MY_TIME_T_MAX)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue