mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
MDEV-9371 select insert('a',2,1,'b') doesn't return expected 'a'
This commit is contained in:
@ -116,7 +116,7 @@ hex(a) STRCMP(a,'a') STRCMP(a,'a ')
|
|||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
select insert('txs',2,1,'hi'),insert('is ',4,0,'a'),insert('txxxxt',2,4,'es');
|
select insert('txs',2,1,'hi'),insert('is ',4,0,'a'),insert('txxxxt',2,4,'es');
|
||||||
insert('txs',2,1,'hi') insert('is ',4,0,'a') insert('txxxxt',2,4,'es')
|
insert('txs',2,1,'hi') insert('is ',4,0,'a') insert('txxxxt',2,4,'es')
|
||||||
this is a test
|
this is test
|
||||||
select insert("aa",100,1,"b"),insert("aa",1,3,"b");
|
select insert("aa",100,1,"b"),insert("aa",1,3,"b");
|
||||||
insert("aa",100,1,"b") insert("aa",1,3,"b")
|
insert("aa",100,1,"b") insert("aa",1,3,"b")
|
||||||
aa b
|
aa b
|
||||||
@ -5092,9 +5092,10 @@ SET sql_mode=default;
|
|||||||
SET NAMES utf8;
|
SET NAMES utf8;
|
||||||
CREATE TABLE t1 (a INT);
|
CREATE TABLE t1 (a INT);
|
||||||
INSERT INTO t1 VALUES (0), (0), (1), (0), (0);
|
INSERT INTO t1 VALUES (0), (0), (1), (0), (0);
|
||||||
SELECT COUNT(*) FROM t1, t1 t2
|
SELECT COUNT(*) FROM t1, t1 t2
|
||||||
GROUP BY INSERT('', t2.a, t1.a, (@@global.max_binlog_size));
|
GROUP BY INSERT('', t2.a, t1.a, (@@global.max_binlog_size));
|
||||||
ERROR 23000: Duplicate entry '107374182410737418241' for key 'group_key'
|
COUNT(*)
|
||||||
|
25
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
#
|
#
|
||||||
# Bug#11764503 (Bug#57341) Query in EXPLAIN EXTENDED shows wrong characters
|
# Bug#11764503 (Bug#57341) Query in EXPLAIN EXTENDED shows wrong characters
|
||||||
|
@ -116,7 +116,7 @@ hex(a) STRCMP(a,'a') STRCMP(a,'a ')
|
|||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
select insert('txs',2,1,'hi'),insert('is ',4,0,'a'),insert('txxxxt',2,4,'es');
|
select insert('txs',2,1,'hi'),insert('is ',4,0,'a'),insert('txxxxt',2,4,'es');
|
||||||
insert('txs',2,1,'hi') insert('is ',4,0,'a') insert('txxxxt',2,4,'es')
|
insert('txs',2,1,'hi') insert('is ',4,0,'a') insert('txxxxt',2,4,'es')
|
||||||
this is a test
|
this is test
|
||||||
select insert("aa",100,1,"b"),insert("aa",1,3,"b");
|
select insert("aa",100,1,"b"),insert("aa",1,3,"b");
|
||||||
insert("aa",100,1,"b") insert("aa",1,3,"b")
|
insert("aa",100,1,"b") insert("aa",1,3,"b")
|
||||||
aa b
|
aa b
|
||||||
|
@ -116,7 +116,7 @@ hex(a) STRCMP(a,'a') STRCMP(a,'a ')
|
|||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
select insert('txs',2,1,'hi'),insert('is ',4,0,'a'),insert('txxxxt',2,4,'es');
|
select insert('txs',2,1,'hi'),insert('is ',4,0,'a'),insert('txxxxt',2,4,'es');
|
||||||
insert('txs',2,1,'hi') insert('is ',4,0,'a') insert('txxxxt',2,4,'es')
|
insert('txs',2,1,'hi') insert('is ',4,0,'a') insert('txxxxt',2,4,'es')
|
||||||
this is a test
|
this is test
|
||||||
select insert("aa",100,1,"b"),insert("aa",1,3,"b");
|
select insert("aa",100,1,"b"),insert("aa",1,3,"b");
|
||||||
insert("aa",100,1,"b") insert("aa",1,3,"b")
|
insert("aa",100,1,"b") insert("aa",1,3,"b")
|
||||||
aa b
|
aa b
|
||||||
|
@ -116,7 +116,7 @@ hex(a) STRCMP(a,'a') STRCMP(a,'a ')
|
|||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
select insert('txs',2,1,'hi'),insert('is ',4,0,'a'),insert('txxxxt',2,4,'es');
|
select insert('txs',2,1,'hi'),insert('is ',4,0,'a'),insert('txxxxt',2,4,'es');
|
||||||
insert('txs',2,1,'hi') insert('is ',4,0,'a') insert('txxxxt',2,4,'es')
|
insert('txs',2,1,'hi') insert('is ',4,0,'a') insert('txxxxt',2,4,'es')
|
||||||
this is a test
|
this is test
|
||||||
select insert("aa",100,1,"b"),insert("aa",1,3,"b");
|
select insert("aa",100,1,"b"),insert("aa",1,3,"b");
|
||||||
insert("aa",100,1,"b") insert("aa",1,3,"b")
|
insert("aa",100,1,"b") insert("aa",1,3,"b")
|
||||||
aa b
|
aa b
|
||||||
|
@ -116,7 +116,7 @@ hex(a) STRCMP(a,'a') STRCMP(a,'a ')
|
|||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
select insert('txs',2,1,'hi'),insert('is ',4,0,'a'),insert('txxxxt',2,4,'es');
|
select insert('txs',2,1,'hi'),insert('is ',4,0,'a'),insert('txxxxt',2,4,'es');
|
||||||
insert('txs',2,1,'hi') insert('is ',4,0,'a') insert('txxxxt',2,4,'es')
|
insert('txs',2,1,'hi') insert('is ',4,0,'a') insert('txxxxt',2,4,'es')
|
||||||
this is a test
|
this is test
|
||||||
select insert("aa",100,1,"b"),insert("aa",1,3,"b");
|
select insert("aa",100,1,"b"),insert("aa",1,3,"b");
|
||||||
insert("aa",100,1,"b") insert("aa",1,3,"b")
|
insert("aa",100,1,"b") insert("aa",1,3,"b")
|
||||||
aa b
|
aa b
|
||||||
|
@ -203,7 +203,7 @@ CONCAT('"',CONCAT_WS('";"',repeat('a',60),repeat('b',60),repeat('c',60),repeat('
|
|||||||
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb";"cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc";"dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"
|
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb";"cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc";"dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"
|
||||||
select insert('txs',2,1,'hi'),insert('is ',4,0,'a'),insert('txxxxt',2,4,'es');
|
select insert('txs',2,1,'hi'),insert('is ',4,0,'a'),insert('txxxxt',2,4,'es');
|
||||||
insert('txs',2,1,'hi') insert('is ',4,0,'a') insert('txxxxt',2,4,'es')
|
insert('txs',2,1,'hi') insert('is ',4,0,'a') insert('txxxxt',2,4,'es')
|
||||||
this is a test
|
this is test
|
||||||
select replace('aaaa','a','b'),replace('aaaa','aa','b'),replace('aaaa','a','bb'),replace('aaaa','','b'),replace('bbbb','a','c');
|
select replace('aaaa','a','b'),replace('aaaa','aa','b'),replace('aaaa','a','bb'),replace('aaaa','','b'),replace('bbbb','a','c');
|
||||||
replace('aaaa','a','b') replace('aaaa','aa','b') replace('aaaa','a','bb') replace('aaaa','','b') replace('bbbb','a','c')
|
replace('aaaa','a','b') replace('aaaa','aa','b') replace('aaaa','a','bb') replace('aaaa','','b') replace('bbbb','a','c')
|
||||||
bbbb bb bbbbbbbb aaaa bbbb
|
bbbb bb bbbbbbbb aaaa bbbb
|
||||||
@ -2335,7 +2335,7 @@ INSERT('abc', 3, 3, '1234')
|
|||||||
ab1234
|
ab1234
|
||||||
SELECT INSERT('abc', 4, 3, '1234');
|
SELECT INSERT('abc', 4, 3, '1234');
|
||||||
INSERT('abc', 4, 3, '1234')
|
INSERT('abc', 4, 3, '1234')
|
||||||
abc1234
|
abc
|
||||||
SELECT INSERT('abc', 5, 3, '1234');
|
SELECT INSERT('abc', 5, 3, '1234');
|
||||||
INSERT('abc', 5, 3, '1234')
|
INSERT('abc', 5, 3, '1234')
|
||||||
abc
|
abc
|
||||||
@ -2625,7 +2625,7 @@ CREATE TABLE t1 ( a TEXT );
|
|||||||
SELECT 'aaaaaaaaaaaaaa' INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/bug58165.txt';;
|
SELECT 'aaaaaaaaaaaaaa' INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/bug58165.txt';;
|
||||||
SELECT insert( substring_index( 'a', 'a', 'b' ), 1, 0, 'x' );
|
SELECT insert( substring_index( 'a', 'a', 'b' ), 1, 0, 'x' );
|
||||||
insert( substring_index( 'a', 'a', 'b' ), 1, 0, 'x' )
|
insert( substring_index( 'a', 'a', 'b' ), 1, 0, 'x' )
|
||||||
x
|
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1292 Truncated incorrect INTEGER value: 'b'
|
Warning 1292 Truncated incorrect INTEGER value: 'b'
|
||||||
LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/bug58165.txt' INTO TABLE t1;;
|
LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/bug58165.txt' INTO TABLE t1;;
|
||||||
|
@ -1563,8 +1563,7 @@ SET NAMES utf8;
|
|||||||
SET NAMES utf8;
|
SET NAMES utf8;
|
||||||
CREATE TABLE t1 (a INT);
|
CREATE TABLE t1 (a INT);
|
||||||
INSERT INTO t1 VALUES (0), (0), (1), (0), (0);
|
INSERT INTO t1 VALUES (0), (0), (1), (0), (0);
|
||||||
--error ER_DUP_ENTRY
|
SELECT COUNT(*) FROM t1, t1 t2
|
||||||
SELECT COUNT(*) FROM t1, t1 t2
|
|
||||||
GROUP BY INSERT('', t2.a, t1.a, (@@global.max_binlog_size));
|
GROUP BY INSERT('', t2.a, t1.a, (@@global.max_binlog_size));
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
@ -1212,7 +1212,7 @@ String *Item_func_insert::val_str(String *str)
|
|||||||
length= res->charpos((int) length, (uint32) start);
|
length= res->charpos((int) length, (uint32) start);
|
||||||
|
|
||||||
/* Re-testing with corrected params */
|
/* Re-testing with corrected params */
|
||||||
if (start > res->length())
|
if (start + 1 > res->length()) // remember, start = args[1].val_int() - 1
|
||||||
return res; /* purecov: inspected */ // Wrong param; skip insert
|
return res; /* purecov: inspected */ // Wrong param; skip insert
|
||||||
if (length > res->length() - start)
|
if (length > res->length() - start)
|
||||||
length= res->length() - start;
|
length= res->length() - start;
|
||||||
|
Reference in New Issue
Block a user