Commit d5e606c6 authored by Rucha Deodhar's avatar Rucha Deodhar

MDEV-26611: ERROR_INDEX isn't intuitively clear

Fixup for MDEV-10075

Analysis: ERROR_INDEX implemented in MDEV-10075 was not intuitively clear.

Fix: changed parser to use ROW_NUMBER instead of ERROR_INDEX. Removed
ERROR_INDEX and ERROR_INDEX_SYM from related files. Changed m_error_index
to m_row_number.
parent e9d80027
......@@ -801,8 +801,8 @@ CREATE TABLE t2(id2 INT PRIMARY KEY, val2 VARCHAR(10), d2 DOUBLE, p2 POINT);
INSERT INTO t1 VALUES(1,'a',1.00101), (2,'b',1.00102), (3,'c',1.00103);
INSERT INTO t1 VALUES (4,'d',1.00104),(1,'a',1.00101),(2,'b',1.00102);
ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
GET DIAGNOSTICS CONDITION 1 @var1= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var2= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var1= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var2= ROW_NUMBER;
Warnings:
Error 1062 Duplicate entry '1' for key 'PRIMARY'
Error 1758 Invalid condition number
......@@ -811,8 +811,8 @@ SELECT @var1, @var2;
2
INSERT INTO t1 VALUES (5,'e',1.00105),(6,'f',1.79769313486232e+308);
ERROR 22007: Illegal double '1.79769313486232e+308' value found during parsing
GET DIAGNOSTICS CONDITION 1 @var3= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var4= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var3= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var4= ROW_NUMBER;
Warnings:
Error 1367 Illegal double '1.79769313486232e+308' value found during parsing
Error 1758 Invalid condition number
......@@ -821,8 +821,8 @@ SELECT @var3, @var4;
2 NULL
INSERT INTO t1 VALUES (7,'g',1.00107),(8,'h',1.00108),(9,'i'),(10,'j');
ERROR 21S01: Column count doesn't match value count at row 3
GET DIAGNOSTICS CONDITION 1 @var5= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var6= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var5= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var6= ROW_NUMBER;
Warnings:
Error 1136 Column count doesn't match value count at row 3
Error 1758 Invalid condition number
......@@ -831,8 +831,8 @@ SELECT @var5, @var6;
3 NULL
INSERT INTO t1 VALUES (9,CAST(123 AS CHAR(1)),1.00109);
ERROR 22007: Truncated incorrect CHAR(1) value: '123'
GET DIAGNOSTICS CONDITION 1 @var7= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var8= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var7= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var8= ROW_NUMBER;
Warnings:
Error 1292 Truncated incorrect CHAR(1) value: '123'
Error 1758 Invalid condition number
......@@ -841,8 +841,8 @@ SELECT @var7, @var8;
1 NULL
INSERT INTO t1 VALUES ('x','foo',1.0203);
ERROR 22007: Incorrect integer value: 'x' for column `test`.`t1`.`id1` at row 1
GET DIAGNOSTICS CONDITION 1 @var9= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var10= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var9= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var10= ROW_NUMBER;
Warnings:
Error 1366 Incorrect integer value: 'x' for column `test`.`t1`.`id1` at row 1
Error 1758 Invalid condition number
......@@ -851,8 +851,8 @@ SELECT @var9, @var10;
1 NULL
INSERT INTO t1 VALUES ((13,'m',1.0113));
ERROR 21000: Operand should contain 1 column(s)
GET DIAGNOSTICS CONDITION 1 @var11= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var12= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var11= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var12= ROW_NUMBER;
Warnings:
Error 1241 Operand should contain 1 column(s)
Error 1758 Invalid condition number
......@@ -863,9 +863,9 @@ INSERT INTO t1 VALUES (14,'n',1.0114), (15,'o',1.0115), (16/0,'p',1.0116);
Warnings:
Warning 1365 Division by 0
Warning 1048 Column 'id1' cannot be null
GET DIAGNOSTICS CONDITION 1 @var13= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var14= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 3 @var15= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var13= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var14= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 3 @var15= ROW_NUMBER;
Warnings:
Warning 1365 Division by 0
Warning 1048 Column 'id1' cannot be null
......@@ -880,9 +880,9 @@ INSERT IGNORE INTO t1 VALUES (4,'d',1.00104),(1,'a',1.00101),(2,'b',1.00102);
Warnings:
Warning 1062 Duplicate entry '1' for key 'PRIMARY'
Warning 1062 Duplicate entry '2' for key 'PRIMARY'
GET DIAGNOSTICS CONDITION 1 @var16= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var17= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 3 @var18= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var16= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var17= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 3 @var18= ROW_NUMBER;
Warnings:
Warning 1062 Duplicate entry '1' for key 'PRIMARY'
Warning 1062 Duplicate entry '2' for key 'PRIMARY'
......@@ -892,8 +892,8 @@ SELECT @var16, @var17, @var18;
2 3 NULL
INSERT IGNORE INTO t1 VALUES (5,'e',1.00105),(6,'f',1.79769313486232e+308);
ERROR 22007: Illegal double '1.79769313486232e+308' value found during parsing
GET DIAGNOSTICS CONDITION 1 @var19= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var20= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var19= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var20= ROW_NUMBER;
Warnings:
Error 1367 Illegal double '1.79769313486232e+308' value found during parsing
Error 1758 Invalid condition number
......@@ -902,8 +902,8 @@ SELECT @var19, @var20;
2 NULL
INSERT IGNORE INTO t1 VALUES (7,'g',1.00107),(8,'h',1.00108),(9,'i'),(10,'j');
ERROR 21S01: Column count doesn't match value count at row 3
GET DIAGNOSTICS CONDITION 1 @var21= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var22= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var21= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var22= ROW_NUMBER;
Warnings:
Error 1136 Column count doesn't match value count at row 3
Error 1758 Invalid condition number
......@@ -913,8 +913,8 @@ SELECT @var21, @var22;
INSERT IGNORE INTO t1 VALUES (9,CAST(123 AS CHAR(1)),1.00109);
Warnings:
Warning 1292 Truncated incorrect CHAR(1) value: '123'
GET DIAGNOSTICS CONDITION 1 @var23= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var24= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var23= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var24= ROW_NUMBER;
Warnings:
Warning 1292 Truncated incorrect CHAR(1) value: '123'
Error 1758 Invalid condition number
......@@ -924,8 +924,8 @@ SELECT @var23, @var24;
INSERT IGNORE INTO t1 VALUES ('x','foo',1.0203);
Warnings:
Warning 1366 Incorrect integer value: 'x' for column `test`.`t1`.`id1` at row 1
GET DIAGNOSTICS CONDITION 1 @var25= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var26= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var25= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var26= ROW_NUMBER;
Warnings:
Warning 1366 Incorrect integer value: 'x' for column `test`.`t1`.`id1` at row 1
Error 1758 Invalid condition number
......@@ -934,8 +934,8 @@ SELECT @var25, @var26;
1 NULL
INSERT IGNORE INTO t1 VALUES ((13,'m',1.0113));
ERROR 21000: Operand should contain 1 column(s)
GET DIAGNOSTICS CONDITION 1 @var27= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var28= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var27= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var28= ROW_NUMBER;
Warnings:
Error 1241 Operand should contain 1 column(s)
Error 1758 Invalid condition number
......@@ -948,10 +948,10 @@ Warnings:
Warning 1365 Division by 0
Warning 1048 Column 'id1' cannot be null
Warning 1062 Duplicate entry '0' for key 'PRIMARY'
GET DIAGNOSTICS CONDITION 1 @var29= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var30= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 3 @var31= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 4 @var32= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var29= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var30= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 3 @var31= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 4 @var32= ROW_NUMBER;
Warnings:
Warning 1365 Division by 0
Warning 1048 Column 'id1' cannot be null
......@@ -967,8 +967,8 @@ INSERT INTO t1 SET id1=2, val1='b', d1=1.00102;
INSERT INTO t1 SET id1=3, val1='c', d1=1.00103;
INSERT INTO t1 SET id1=1, val1='a', d1=1.00101;
ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
GET DIAGNOSTICS CONDITION 1 @var33= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var34= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var33= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var34= ROW_NUMBER;
Warnings:
Error 1062 Duplicate entry '1' for key 'PRIMARY'
Error 1758 Invalid condition number
......@@ -977,8 +977,8 @@ SELECT @var33, @var34;
1 NULL
INSERT INTO t1 SET id1=6, val1='f', d1=1.79769313486232e+308);
ERROR 22007: Illegal double '1.79769313486232e+308' value found during parsing
GET DIAGNOSTICS CONDITION 1 @var35= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var36= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var35= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var36= ROW_NUMBER;
Warnings:
Error 1367 Illegal double '1.79769313486232e+308' value found during parsing
Error 1758 Invalid condition number
......@@ -987,8 +987,8 @@ SELECT @var35, @var36;
1 NULL
INSERT INTO t1 SET id1=9, val1=CAST(123 AS CHAR(1)), d1=1.00109;
ERROR 22007: Truncated incorrect CHAR(1) value: '123'
GET DIAGNOSTICS CONDITION 1 @var37= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var38= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var37= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var38= ROW_NUMBER;
Warnings:
Error 1292 Truncated incorrect CHAR(1) value: '123'
Error 1758 Invalid condition number
......@@ -997,8 +997,8 @@ SELECT @var37, @var38;
1 NULL
INSERT INTO t1 SET id1='x', val1='foo', d1=1.0203;
ERROR 22007: Incorrect integer value: 'x' for column `test`.`t1`.`id1` at row 1
GET DIAGNOSTICS CONDITION 1 @var39= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var40= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var39= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var40= ROW_NUMBER;
Warnings:
Error 1366 Incorrect integer value: 'x' for column `test`.`t1`.`id1` at row 1
Error 1758 Invalid condition number
......@@ -1007,10 +1007,10 @@ SELECT @var39, @var40;
1 NULL
INSERT INTO t1 SET id1=3/0, val1='p', d1=1.0116;
ERROR 22012: Division by 0
GET DIAGNOSTICS CONDITION 1 @var41= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var42= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 3 @var43= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 4 @var44= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var41= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var42= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 3 @var43= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 4 @var44= ROW_NUMBER;
Warnings:
Error 1365 Division by 0
Error 1048 Column 'id1' cannot be null
......@@ -1024,10 +1024,10 @@ TRUNCATE TABLE t1;
INSERT INTO t1 VALUES(1,'a',1.00101), (2,'b',1.00102), (3,'c',1.00103);
INSERT INTO t1 VALUES (4,'d',1.00104),(1,'a',1.00101)
ON DUPLICATE KEY UPDATE val1='a', d1=1.00101;
GET DIAGNOSTICS CONDITION 1 @var45= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var45= ROW_NUMBER;
Warnings:
Error 1758 Invalid condition number
GET DIAGNOSTICS CONDITION 2 @var46= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var46= ROW_NUMBER;
Warnings:
Error 1758 Invalid condition number
Error 1758 Invalid condition number
......@@ -1037,8 +1037,8 @@ NULL NULL
INSERT INTO t1 VALUES (5,'e',1.00105),(3,'f',1.79769313486232e+308)
ON DUPLICATE KEY UPDATE val1='c';
ERROR 22007: Illegal double '1.79769313486232e+308' value found during parsing
GET DIAGNOSTICS CONDITION 1 @var47= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var48= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var47= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var48= ROW_NUMBER;
Warnings:
Error 1367 Illegal double '1.79769313486232e+308' value found during parsing
Error 1758 Invalid condition number
......@@ -1048,8 +1048,8 @@ SELECT @var47, @var48;
INSERT INTO t1 VALUES (5,'e',1.00105), (3,'i')
ON DUPLICATE KEY UPDATE val1='c';
ERROR 21S01: Column count doesn't match value count at row 2
GET DIAGNOSTICS CONDITION 1 @var49= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var50= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var49= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var50= ROW_NUMBER;
Warnings:
Error 1136 Column count doesn't match value count at row 2
Error 1758 Invalid condition number
......@@ -1059,8 +1059,8 @@ SELECT @var49, @var50;
INSERT INTO t1 VALUES (3, CAST(123 AS CHAR(1)), 1.00103)
ON DUPLICATE KEY UPDATE val1='c';
ERROR 22007: Truncated incorrect CHAR(1) value: '123'
GET DIAGNOSTICS CONDITION 1 @var51= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var52= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var51= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var52= ROW_NUMBER;
Warnings:
Error 1292 Truncated incorrect CHAR(1) value: '123'
Error 1758 Invalid condition number
......@@ -1070,8 +1070,8 @@ SELECT @var51, @var52;
INSERT INTO t1 VALUES ('x','foo',1.0203)
ON DUPLICATE KEY UPDATE val1='c';
ERROR 22007: Incorrect integer value: 'x' for column `test`.`t1`.`id1` at row 1
GET DIAGNOSTICS CONDITION 1 @var53= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var54= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var53= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var54= ROW_NUMBER;
Warnings:
Error 1366 Incorrect integer value: 'x' for column `test`.`t1`.`id1` at row 1
Error 1758 Invalid condition number
......@@ -1080,8 +1080,8 @@ SELECT @var53, @var54;
1 NULL
INSERT INTO t1 VALUES ((13,'m',1.0113)) ON DUPLICATE KEY UPDATE val1='c';
ERROR 21000: Operand should contain 1 column(s)
GET DIAGNOSTICS CONDITION 1 @var55= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var56= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var55= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var56= ROW_NUMBER;
Warnings:
Error 1241 Operand should contain 1 column(s)
Error 1758 Invalid condition number
......@@ -1093,9 +1093,9 @@ ON DUPLICATE KEY UPDATE val1='b';
Warnings:
Warning 1365 Division by 0
Warning 1048 Column 'id1' cannot be null
GET DIAGNOSTICS CONDITION 1 @var57= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var58= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 3 @var59= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var57= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var58= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 3 @var59= ROW_NUMBER;
Warnings:
Warning 1365 Division by 0
Warning 1048 Column 'id1' cannot be null
......@@ -1106,8 +1106,8 @@ SELECT @var57, @var58, @var59;
INSERT INTO t1 VALUES (1,'e',1.0),(5,'e',1.0),(5,'f',1.7)
ON DUPLICATE KEY UPDATE id1='1';
ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
GET DIAGNOSTICS CONDITION 1 @var60= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var61= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var60= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var61= ROW_NUMBER;
Warnings:
Error 1062 Duplicate entry '1' for key 'PRIMARY'
Error 1758 Invalid condition number
......@@ -1126,8 +1126,8 @@ INSERT INTO t2 VALUES(1,'a',1.00101,PointFromText('POINT(20 10)')),
INSERT INTO t1 SELECT id2, val2, d2 FROM t2;
INSERT INTO t1 SELECT id2, val2, d2 FROM t2 WHERE id2=1;
ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
GET DIAGNOSTICS CONDITION 1 @var62= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var63= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var62= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var63= ROW_NUMBER;
Warnings:
Error 1062 Duplicate entry '1' for key 'PRIMARY'
Error 1758 Invalid condition number
......@@ -1136,8 +1136,8 @@ SELECT @var62, @var63;
1 NULL
INSERT INTO t1 SELECT id2, val2, p2 from t2;
ERROR 22007: Incorrect double value: '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x004@\x00\x00\x00\x00\x00\x00$@' for column `test`.`t1`.`d1` at row 1
GET DIAGNOSTICS CONDITION 1 @var64= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var65= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var64= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var65= ROW_NUMBER;
Warnings:
Error 1366 Incorrect double value: '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x004@\x00\x00\x00\x00\x00\x00$@' for column `test`.`t1`.`d1` at row 1
Error 1758 Invalid condition number
......@@ -1146,8 +1146,8 @@ SELECT @var64, @var65;
1 NULL
INSERT INTO t1 SELECT id2, val2 FROM t2;
ERROR 21S01: Column count doesn't match value count at row 1
GET DIAGNOSTICS CONDITION 1 @var66= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var67= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var66= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var67= ROW_NUMBER;
Warnings:
Error 1136 Column count doesn't match value count at row 1
Error 1758 Invalid condition number
......@@ -1157,8 +1157,8 @@ SELECT @var66, @var67;
INSERT INTO t2 VALUES(4,'a',1.00101,PointFromText('POINT(20 10)'));
INSERT INTO t1 SELECT id2, CAST(123 AS CHAR(1)), d2 FROM t2 WHERE id2=4;
ERROR 22007: Truncated incorrect CHAR(1) value: '123'
GET DIAGNOSTICS CONDITION 1 @var68= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var69= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var68= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var69= ROW_NUMBER;
Warnings:
Error 1292 Truncated incorrect CHAR(1) value: '123'
Error 1758 Invalid condition number
......@@ -1167,8 +1167,8 @@ SELECT @var68, @var69;
1 NULL
INSERT INTO t1 SELECT id2, val2, 1.79769313486232e+308 FROM t2;
ERROR 22007: Illegal double '1.79769313486232e+308' value found during parsing
GET DIAGNOSTICS CONDITION 1 @var70= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var71= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var70= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var71= ROW_NUMBER;
Warnings:
Error 1367 Illegal double '1.79769313486232e+308' value found during parsing
Error 1758 Invalid condition number
......@@ -1177,9 +1177,9 @@ SELECT @var70, @var71;
1 NULL
INSERT INTO t1 SELECT id2/0, val2, d2 FROM t2;
ERROR 22012: Division by 0
GET DIAGNOSTICS CONDITION 1 @var72= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var73= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 3 @var74= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var72= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var73= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 3 @var74= ROW_NUMBER;
Warnings:
Error 1365 Division by 0
Error 1048 Column 'id1' cannot be null
......@@ -1188,7 +1188,7 @@ SELECT @var72, @var73, @var74;
@var72 @var73 @var74
1 1 NULL
DROP TABLE t1,t2;
# Checking ERROR_INDEX in STORED PROCEDURE for INSERT
# Checking ROW_NUMBER in STORED PROCEDURE for INSERT
CREATE TABLE t1(id1 INT PRIMARY KEY);
CREATE PROCEDURE proc1 ()
BEGIN
......@@ -1196,8 +1196,8 @@ DECLARE var75 INT;
DECLARE var76 INT;
INSERT INTO t1 VALUES (1),(2);
INSERT IGNORE INTO t1 VALUES(2);
GET DIAGNOSTICS CONDITION 1 var75= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 var76= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 var75= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 var76= ROW_NUMBER;
SELECT var75, var76;
END;
|
......@@ -1208,13 +1208,13 @@ Warnings:
Warning 1062 Duplicate entry '2' for key 'PRIMARY'
Error 1758 Invalid condition number
TRUNCATE TABLE t1;
# Checking ERROR_INDEX in PREPARED STATEMENTS for INSERT
# Checking ROW_NUMBER in PREPARED STATEMENTS for INSERT
INSERT INTO t1 VALUES (1), (2), (3);
INSERT IGNORE INTO t1 VALUES(2),(3),(4);
Warnings:
Warning 1062 Duplicate entry '2' for key 'PRIMARY'
Warning 1062 Duplicate entry '3' for key 'PRIMARY'
PREPARE stmt1 FROM "GET DIAGNOSTICS CONDITION 2 @var77= ERROR_INDEX";
PREPARE stmt1 FROM "GET DIAGNOSTICS CONDITION 2 @var77= ROW_NUMBER";
EXECUTE stmt1;
SELECT @var77;
@var77
......@@ -1230,7 +1230,7 @@ CREATE TABLE t2(id2 INT PRIMARY KEY, val2 VARCHAR(10), d2 DOUBLE);
# Simple REPLACE statement
REPLACE INTO t1 VALUES(1,'a',1.00101), (2,'b',1.00102), (3,'c',1.00103);
REPLACE INTO t1 VALUES (4,'d',1.00104),(1,'a',1.00101),(2,'b',1.00102);
GET DIAGNOSTICS CONDITION 1 @var78= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var78= ROW_NUMBER;
Warnings:
Error 1758 Invalid condition number
SELECT @var78;
......@@ -1238,8 +1238,8 @@ SELECT @var78;
NULL
REPLACE INTO t1 VALUES (5,'e',1.00105),(6,'f',1.79769313486232e+308);
ERROR 22007: Illegal double '1.79769313486232e+308' value found during parsing
GET DIAGNOSTICS CONDITION 1 @var79= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var80= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var79= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var80= ROW_NUMBER;
Warnings:
Error 1367 Illegal double '1.79769313486232e+308' value found during parsing
Error 1758 Invalid condition number
......@@ -1248,8 +1248,8 @@ SELECT @var79, @var80;
2 NULL
REPLACE INTO t1 VALUES (7,'g',1.00107),(8,'h',1.00108),(9,'i'),(10,'j');
ERROR 21S01: Column count doesn't match value count at row 3
GET DIAGNOSTICS CONDITION 1 @var81= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var82= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var81= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var82= ROW_NUMBER;
Warnings:
Error 1136 Column count doesn't match value count at row 3
Error 1758 Invalid condition number
......@@ -1258,8 +1258,8 @@ SELECT @var81, @var82;
3 NULL
REPLACE INTO t1 VALUES (9,CAST(123 AS CHAR(1)),1.00109);
ERROR 22007: Truncated incorrect CHAR(1) value: '123'
GET DIAGNOSTICS CONDITION 1 @var83= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var84= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var83= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var84= ROW_NUMBER;
Warnings:
Error 1292 Truncated incorrect CHAR(1) value: '123'
Error 1758 Invalid condition number
......@@ -1268,8 +1268,8 @@ SELECT @var83, @var84;
1 NULL
REPLACE INTO t1 VALUES ('x','foo',1.0203);
ERROR 22007: Incorrect integer value: 'x' for column `test`.`t1`.`id1` at row 1
GET DIAGNOSTICS CONDITION 1 @var85= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var86= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var85= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var86= ROW_NUMBER;
Warnings:
Error 1366 Incorrect integer value: 'x' for column `test`.`t1`.`id1` at row 1
Error 1758 Invalid condition number
......@@ -1278,8 +1278,8 @@ SELECT @var85, @var86;
1 NULL
REPLACE INTO t1 VALUES ((13,'m',1.0113));
ERROR 21000: Operand should contain 1 column(s)
GET DIAGNOSTICS CONDITION 1 @var87= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var88= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var87= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var88= ROW_NUMBER;
Warnings:
Error 1241 Operand should contain 1 column(s)
Error 1758 Invalid condition number
......@@ -1290,9 +1290,9 @@ REPLACE INTO t1 VALUES (14,'n',1.0114), (15,'o',1.0115), (16/0,'p',1.0116);
Warnings:
Warning 1365 Division by 0
Warning 1048 Column 'id1' cannot be null
GET DIAGNOSTICS CONDITION 1 @var89= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var90= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 3 @var91= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var89= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var90= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 3 @var91= ROW_NUMBER;
Warnings:
Warning 1365 Division by 0
Warning 1048 Column 'id1' cannot be null
......@@ -1306,7 +1306,7 @@ REPLACE INTO t1 SET id1=1, val1='a', d1=1.00101;
REPLACE INTO t1 SET id1=2, val1='b', d1=1.00102;
REPLACE INTO t1 SET id1=3, val1='c', d1=1.00103;
REPLACE INTO t1 SET id1=1, val1='a', d1=1.00101;
GET DIAGNOSTICS CONDITION 1 @var92= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var92= ROW_NUMBER;
Warnings:
Error 1758 Invalid condition number
SELECT @var92;
......@@ -1314,8 +1314,8 @@ SELECT @var92;
NULL
REPLACE INTO t1 SET id1=6, val1='f', d1=1.79769313486232e+308);
ERROR 22007: Illegal double '1.79769313486232e+308' value found during parsing
GET DIAGNOSTICS CONDITION 1 @var93= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var94= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var93= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var94= ROW_NUMBER;
Warnings:
Error 1367 Illegal double '1.79769313486232e+308' value found during parsing
Error 1758 Invalid condition number
......@@ -1324,8 +1324,8 @@ SELECT @var93, @var94;
1 NULL
REPLACE INTO t1 SET id1=9, val1=CAST(123 AS CHAR(1)), d1=1.00109;
ERROR 22007: Truncated incorrect CHAR(1) value: '123'
GET DIAGNOSTICS CONDITION 1 @var95= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var96= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var95= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var96= ROW_NUMBER;
Warnings:
Error 1292 Truncated incorrect CHAR(1) value: '123'
Error 1758 Invalid condition number
......@@ -1334,8 +1334,8 @@ SELECT @var95, @var96;
1 NULL
REPLACE INTO t1 SET id1='x', val1='foo', d1=1.0203;
ERROR 22007: Incorrect integer value: 'x' for column `test`.`t1`.`id1` at row 1
GET DIAGNOSTICS CONDITION 1 @var97= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var98= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var97= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var98= ROW_NUMBER;
Warnings:
Error 1366 Incorrect integer value: 'x' for column `test`.`t1`.`id1` at row 1
Error 1758 Invalid condition number
......@@ -1344,10 +1344,10 @@ SELECT @var97, @var98;
1 NULL
REPLACE INTO t1 SET id1=3/0, val1='p', d1=1.0116;
ERROR 22012: Division by 0
GET DIAGNOSTICS CONDITION 1 @var99= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var100= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 3 @var101= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 4 @var102= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var99= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var100= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 3 @var101= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 4 @var102= ROW_NUMBER;
Warnings:
Error 1365 Division by 0
Error 1048 Column 'id1' cannot be null
......@@ -1368,8 +1368,8 @@ INSERT INTO t2 VALUES(1,'a',1.00101,PointFromText('POINT(20 10)')),
INSERT INTO t1 SELECT id2, val2, d2 FROM t2;
INSERT INTO t1 SELECT id2, val2, d2 FROM t2 WHERE id2=1;
ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
GET DIAGNOSTICS CONDITION 1 @var103= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var104= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var103= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var104= ROW_NUMBER;
Warnings:
Error 1062 Duplicate entry '1' for key 'PRIMARY'
Error 1758 Invalid condition number
......@@ -1378,8 +1378,8 @@ SELECT @var103, @var104;
1 NULL
INSERT INTO t1 SELECT id2, val2, p2 from t2;
ERROR 22007: Incorrect double value: '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x004@\x00\x00\x00\x00\x00\x00$@' for column `test`.`t1`.`d1` at row 1
GET DIAGNOSTICS CONDITION 1 @var105= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var106= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var105= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var106= ROW_NUMBER;
Warnings:
Error 1366 Incorrect double value: '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x004@\x00\x00\x00\x00\x00\x00$@' for column `test`.`t1`.`d1` at row 1
Error 1758 Invalid condition number
......@@ -1388,8 +1388,8 @@ SELECT @var105, @var106;
1 NULL
INSERT INTO t1 SELECT id2, val2 FROM t2;
ERROR 21S01: Column count doesn't match value count at row 1
GET DIAGNOSTICS CONDITION 1 @var107= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var108= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var107= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var108= ROW_NUMBER;
Warnings:
Error 1136 Column count doesn't match value count at row 1
Error 1758 Invalid condition number
......@@ -1399,8 +1399,8 @@ SELECT @var107, @var108;
INSERT INTO t2 VALUES(4,'a',1.00101,PointFromText('POINT(20 10)'));
INSERT INTO t1 SELECT id2, CAST(123 AS CHAR(1)), d2 FROM t2 WHERE id2=4;
ERROR 22007: Truncated incorrect CHAR(1) value: '123'
GET DIAGNOSTICS CONDITION 1 @var109= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var110= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var109= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var110= ROW_NUMBER;
Warnings:
Error 1292 Truncated incorrect CHAR(1) value: '123'
Error 1758 Invalid condition number
......@@ -1409,8 +1409,8 @@ SELECT @var109, @var110;
1 NULL
INSERT INTO t1 SELECT id2, val2, 1.79769313486232e+308 FROM t2;
ERROR 22007: Illegal double '1.79769313486232e+308' value found during parsing
GET DIAGNOSTICS CONDITION 1 @var111= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var112= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var111= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var112= ROW_NUMBER;
Warnings:
Error 1367 Illegal double '1.79769313486232e+308' value found during parsing
Error 1758 Invalid condition number
......@@ -1419,9 +1419,9 @@ SELECT @var111, @var112;
1 NULL
INSERT INTO t1 SELECT id2/0, val2, d2 FROM t2;
ERROR 22012: Division by 0
GET DIAGNOSTICS CONDITION 1 @var113= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var114= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 3 @var115= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var113= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var114= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 3 @var115= ROW_NUMBER;
Warnings:
Error 1365 Division by 0
Error 1048 Column 'id1' cannot be null
......@@ -1430,13 +1430,13 @@ SELECT @var113, @var114, @var115;
@var113 @var114 @var115
1 1 NULL
DROP TABLE t1,t2;
# Checking ERROR_INDEX in STORED PROCEDURE
# Checking ROW_NUMBER in STORED PROCEDURE
CREATE TABLE t1(id1 INT PRIMARY KEY);
CREATE PROCEDURE proc1 ()
BEGIN
DECLARE var116 INT;
REPLACE INTO t1 VALUES (1),(2);
GET DIAGNOSTICS CONDITION 1 var116= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 var116= ROW_NUMBER;
SELECT var116;
END;
|
......@@ -1446,9 +1446,9 @@ NULL
Warnings:
Error 1758 Invalid condition number
TRUNCATE TABLE t1;
# Checking ERROR_INDEX in PREPARED STATEMENTS
# Checking ROW_NUMBER in PREPARED STATEMENTS
REPLACE INTO t1 VALUES (1), (2), (3);
PREPARE stmt1 FROM "GET DIAGNOSTICS CONDITION 2 @var117= ERROR_INDEX";
PREPARE stmt1 FROM "GET DIAGNOSTICS CONDITION 2 @var117= ROW_NUMBER";
EXECUTE stmt1;
Warnings:
Error 1758 Invalid condition number
......@@ -1459,7 +1459,7 @@ DROP PROCEDURE proc1;
DROP PREPARE stmt1;
DROP TABLE t1;
#
# Checking that error_index is only for errors with rows/values
# Checking that ROW_NUMBER is only for errors with rows/values
#
# INSERT STATEMENT
CREATE TABLE t1(id1 INT);
......@@ -1467,7 +1467,7 @@ CREATE TABLE t2(id2 INT);
CREATE VIEW v AS SELECT t1.id1 AS A, t2.id2 AS b FROM t1,t2;
INSERT INTO t1(id1, id1) VALUES (1,1);
ERROR 42000: Column 'id1' specified twice
GET DIAGNOSTICS CONDITION 1 @var118= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var118= ROW_NUMBER;
SELECT @var118;
@var118
1
......@@ -1478,38 +1478,38 @@ RETURN 1;
END |
INSERT INTO t1 VALUES (1), (f1());
ERROR HY000: Can't update table 't1' in stored function/trigger because it is already used by statement which invoked this stored function/trigger
GET DIAGNOSTICS CONDITION 1 @var119= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var119= ROW_NUMBER;
SELECT @var119;
@var119
2
INSERT INTO t1 VALUES (1) RETURNING id2;
ERROR 42S22: Unknown column 'id2' in 'field list'
GET DIAGNOSTICS CONDITION 1 @var120= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var120= ROW_NUMBER;
SELECT @var120;
@var120
1
INSERT INTO t1(id2) VALUES(1);
ERROR 42S22: Unknown column 'id2' in 'field list'
GET DIAGNOSTICS CONDITION 1 @var121= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var121= ROW_NUMBER;
SELECT @var121;
@var121
1
INSERT INTO v VALUES(1,2);
ERROR HY000: Can not insert into join view 'test.v' without fields list
GET DIAGNOSTICS CONDITION 1 @var122= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var122= ROW_NUMBER;
SELECT @var122;
@var122
1
INSERT INTO v(a,b) VALUES (1,2);
ERROR HY000: Can not modify more than one base table through a join view 'test.v'
GET DIAGNOSTICS CONDITION 1 @var123= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var123= ROW_NUMBER;
SELECT @var123;
@var123
1
# REPLACE STATEMENT
REPLACE INTO t1(id1, id1) VALUES (1,1);
ERROR 42000: Column 'id1' specified twice
GET DIAGNOSTICS CONDITION 1 @var124= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var124= ROW_NUMBER;
SELECT @var124;
@var124
1
......@@ -1520,31 +1520,31 @@ RETURN 1;
END |
REPLACE INTO t1 VALUES (1), (f2());
ERROR HY000: Can't update table 't1' in stored function/trigger because it is already used by statement which invoked this stored function/trigger
GET DIAGNOSTICS CONDITION 1 @var125= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var125= ROW_NUMBER;
SELECT @var125;
@var125
2
REPLACE INTO t1 VALUES (1) RETURNING id2;
ERROR 42S22: Unknown column 'id2' in 'field list'
GET DIAGNOSTICS CONDITION 1 @var126= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var126= ROW_NUMBER;
SELECT @var126;
@var126
1
REPLACE INTO t1(id2) VALUES(1);
ERROR 42S22: Unknown column 'id2' in 'field list'
GET DIAGNOSTICS CONDITION 1 @var127= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var127= ROW_NUMBER;
SELECT @var127;
@var127
1
REPLACE INTO v VALUES(1,2);
ERROR HY000: Can not insert into join view 'test.v' without fields list
GET DIAGNOSTICS CONDITION 1 @var128= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var128= ROW_NUMBER;
SELECT @var128;
@var128
1
REPLACE INTO v(a,b) VALUES (1,2);
ERROR HY000: Can not modify more than one base table through a join view 'test.v'
GET DIAGNOSTICS CONDITION 1 @var129= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var129= ROW_NUMBER;
SELECT @var129;
@var129
1
......
......@@ -869,44 +869,44 @@ CREATE TABLE t2(id2 INT PRIMARY KEY, val2 VARCHAR(10), d2 DOUBLE, p2 POINT);
INSERT INTO t1 VALUES(1,'a',1.00101), (2,'b',1.00102), (3,'c',1.00103);
--error ER_DUP_ENTRY
INSERT INTO t1 VALUES (4,'d',1.00104),(1,'a',1.00101),(2,'b',1.00102);
GET DIAGNOSTICS CONDITION 1 @var1= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var2= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var1= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var2= ROW_NUMBER;
SELECT @var1, @var2;
--error ER_ILLEGAL_VALUE_FOR_TYPE
INSERT INTO t1 VALUES (5,'e',1.00105),(6,'f',1.79769313486232e+308);
GET DIAGNOSTICS CONDITION 1 @var3= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var4= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var3= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var4= ROW_NUMBER;
SELECT @var3, @var4;
--error ER_WRONG_VALUE_COUNT_ON_ROW
INSERT INTO t1 VALUES (7,'g',1.00107),(8,'h',1.00108),(9,'i'),(10,'j');
GET DIAGNOSTICS CONDITION 1 @var5= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var6= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var5= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var6= ROW_NUMBER;
SELECT @var5, @var6;
--error ER_TRUNCATED_WRONG_VALUE
INSERT INTO t1 VALUES (9,CAST(123 AS CHAR(1)),1.00109);
GET DIAGNOSTICS CONDITION 1 @var7= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var8= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var7= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var8= ROW_NUMBER;
SELECT @var7, @var8;
--error ER_TRUNCATED_WRONG_VALUE_FOR_FIELD
INSERT INTO t1 VALUES ('x','foo',1.0203);
GET DIAGNOSTICS CONDITION 1 @var9= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var10= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var9= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var10= ROW_NUMBER;
SELECT @var9, @var10;
--error ER_OPERAND_COLUMNS
INSERT INTO t1 VALUES ((13,'m',1.0113));
GET DIAGNOSTICS CONDITION 1 @var11= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var12= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var11= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var12= ROW_NUMBER;
SELECT @var11, @var12;
INSERT INTO t1 VALUES (14,'n',1.0114), (15,'o',1.0115), (16/0,'p',1.0116);
GET DIAGNOSTICS CONDITION 1 @var13= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var14= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 3 @var15= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var13= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var14= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 3 @var15= ROW_NUMBER;
SELECT @var13, @var14, @var15;
TRUNCATE TABLE t1;
......@@ -915,45 +915,45 @@ TRUNCATE TABLE t1;
INSERT IGNORE INTO t1 VALUES(1,'a',1.00101), (2,'b',1.00102), (3,'c',1.00103);
INSERT IGNORE INTO t1 VALUES (4,'d',1.00104),(1,'a',1.00101),(2,'b',1.00102);
GET DIAGNOSTICS CONDITION 1 @var16= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var17= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 3 @var18= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var16= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var17= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 3 @var18= ROW_NUMBER;
SELECT @var16, @var17, @var18;
--error ER_ILLEGAL_VALUE_FOR_TYPE
INSERT IGNORE INTO t1 VALUES (5,'e',1.00105),(6,'f',1.79769313486232e+308);
GET DIAGNOSTICS CONDITION 1 @var19= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var20= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var19= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var20= ROW_NUMBER;
SELECT @var19, @var20;
--error ER_WRONG_VALUE_COUNT_ON_ROW
INSERT IGNORE INTO t1 VALUES (7,'g',1.00107),(8,'h',1.00108),(9,'i'),(10,'j');
GET DIAGNOSTICS CONDITION 1 @var21= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var22= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var21= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var22= ROW_NUMBER;
SELECT @var21, @var22;
INSERT IGNORE INTO t1 VALUES (9,CAST(123 AS CHAR(1)),1.00109);
GET DIAGNOSTICS CONDITION 1 @var23= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var24= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var23= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var24= ROW_NUMBER;
SELECT @var23, @var24;
INSERT IGNORE INTO t1 VALUES ('x','foo',1.0203);
GET DIAGNOSTICS CONDITION 1 @var25= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var26= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var25= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var26= ROW_NUMBER;
SELECT @var25, @var26;
--error ER_OPERAND_COLUMNS
INSERT IGNORE INTO t1 VALUES ((13,'m',1.0113));
GET DIAGNOSTICS CONDITION 1 @var27= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var28= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var27= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var28= ROW_NUMBER;
SELECT @var27, @var28;
INSERT IGNORE INTO t1 VALUES (14,'n',1.0114), (15,'o',1.0115),
(16/0,'p',1.0116);
GET DIAGNOSTICS CONDITION 1 @var29= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var30= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 3 @var31= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 4 @var32= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var29= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var30= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 3 @var31= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 4 @var32= ROW_NUMBER;
SELECT @var29, @var30, @var31, @var32;
TRUNCATE TABLE t1;
......@@ -966,35 +966,35 @@ INSERT INTO t1 SET id1=3, val1='c', d1=1.00103;
--error ER_DUP_ENTRY
INSERT INTO t1 SET id1=1, val1='a', d1=1.00101;
GET DIAGNOSTICS CONDITION 1 @var33= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var34= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var33= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var34= ROW_NUMBER;
SELECT @var33, @var34;
--error ER_ILLEGAL_VALUE_FOR_TYPE
INSERT INTO t1 SET id1=6, val1='f', d1=1.79769313486232e+308);
GET DIAGNOSTICS CONDITION 1 @var35= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var36= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var35= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var36= ROW_NUMBER;
SELECT @var35, @var36;
--error ER_TRUNCATED_WRONG_VALUE
INSERT INTO t1 SET id1=9, val1=CAST(123 AS CHAR(1)), d1=1.00109;
GET DIAGNOSTICS CONDITION 1 @var37= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var38= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var37= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var38= ROW_NUMBER;
SELECT @var37, @var38;
--error ER_TRUNCATED_WRONG_VALUE_FOR_FIELD
INSERT INTO t1 SET id1='x', val1='foo', d1=1.0203;
GET DIAGNOSTICS CONDITION 1 @var39= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var40= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var39= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var40= ROW_NUMBER;
SELECT @var39, @var40;
--error ER_DIVISION_BY_ZERO
INSERT INTO t1 SET id1=3/0, val1='p', d1=1.0116;
GET DIAGNOSTICS CONDITION 1 @var41= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var42= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 3 @var43= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 4 @var44= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var41= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var42= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 3 @var43= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 4 @var44= ROW_NUMBER;
SELECT @var41, @var42, @var43, @var44;
TRUNCATE TABLE t1;
......@@ -1005,56 +1005,56 @@ INSERT INTO t1 VALUES(1,'a',1.00101), (2,'b',1.00102), (3,'c',1.00103);
INSERT INTO t1 VALUES (4,'d',1.00104),(1,'a',1.00101)
ON DUPLICATE KEY UPDATE val1='a', d1=1.00101;
GET DIAGNOSTICS CONDITION 1 @var45= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var46= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var45= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var46= ROW_NUMBER;
SELECT @var45, @var46;
--error ER_ILLEGAL_VALUE_FOR_TYPE
INSERT INTO t1 VALUES (5,'e',1.00105),(3,'f',1.79769313486232e+308)
ON DUPLICATE KEY UPDATE val1='c';
GET DIAGNOSTICS CONDITION 1 @var47= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var48= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var47= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var48= ROW_NUMBER;
SELECT @var47, @var48;
--error ER_WRONG_VALUE_COUNT_ON_ROW
INSERT INTO t1 VALUES (5,'e',1.00105), (3,'i')
ON DUPLICATE KEY UPDATE val1='c';
GET DIAGNOSTICS CONDITION 1 @var49= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var50= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var49= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var50= ROW_NUMBER;
SELECT @var49, @var50;
--error ER_TRUNCATED_WRONG_VALUE
INSERT INTO t1 VALUES (3, CAST(123 AS CHAR(1)), 1.00103)
ON DUPLICATE KEY UPDATE val1='c';
GET DIAGNOSTICS CONDITION 1 @var51= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var52= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var51= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var52= ROW_NUMBER;
SELECT @var51, @var52;
--error ER_TRUNCATED_WRONG_VALUE_FOR_FIELD
INSERT INTO t1 VALUES ('x','foo',1.0203)
ON DUPLICATE KEY UPDATE val1='c';
GET DIAGNOSTICS CONDITION 1 @var53= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var54= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var53= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var54= ROW_NUMBER;
SELECT @var53, @var54;
--error ER_OPERAND_COLUMNS
INSERT INTO t1 VALUES ((13,'m',1.0113)) ON DUPLICATE KEY UPDATE val1='c';
GET DIAGNOSTICS CONDITION 1 @var55= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var56= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var55= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var56= ROW_NUMBER;
SELECT @var55, @var56;
INSERT INTO t1 VALUES (14,'n',1.0114), (15,'o',1.0115), (2/0,'p',1.00102)
ON DUPLICATE KEY UPDATE val1='b';
GET DIAGNOSTICS CONDITION 1 @var57= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var58= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 3 @var59= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var57= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var58= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 3 @var59= ROW_NUMBER;
SELECT @var57, @var58, @var59;
--error ER_DUP_ENTRY
INSERT INTO t1 VALUES (1,'e',1.0),(5,'e',1.0),(5,'f',1.7)
ON DUPLICATE KEY UPDATE id1='1';
GET DIAGNOSTICS CONDITION 1 @var60= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var61= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var60= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var61= ROW_NUMBER;
SELECT @var60, @var61;
TRUNCATE TABLE t1;
......@@ -1074,46 +1074,46 @@ INSERT INTO t1 SELECT id2, val2, d2 FROM t2;
--error ER_DUP_ENTRY
INSERT INTO t1 SELECT id2, val2, d2 FROM t2 WHERE id2=1;
GET DIAGNOSTICS CONDITION 1 @var62= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var63= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var62= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var63= ROW_NUMBER;
SELECT @var62, @var63;
--error ER_TRUNCATED_WRONG_VALUE_FOR_FIELD
INSERT INTO t1 SELECT id2, val2, p2 from t2;
GET DIAGNOSTICS CONDITION 1 @var64= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var65= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var64= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var65= ROW_NUMBER;
SELECT @var64, @var65;
--error ER_WRONG_VALUE_COUNT_ON_ROW
INSERT INTO t1 SELECT id2, val2 FROM t2;
GET DIAGNOSTICS CONDITION 1 @var66= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var67= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var66= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var67= ROW_NUMBER;
SELECT @var66, @var67;
INSERT INTO t2 VALUES(4,'a',1.00101,PointFromText('POINT(20 10)'));
--error ER_TRUNCATED_WRONG_VALUE
INSERT INTO t1 SELECT id2, CAST(123 AS CHAR(1)), d2 FROM t2 WHERE id2=4;
GET DIAGNOSTICS CONDITION 1 @var68= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var69= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var68= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var69= ROW_NUMBER;
SELECT @var68, @var69;
--error ER_ILLEGAL_VALUE_FOR_TYPE
INSERT INTO t1 SELECT id2, val2, 1.79769313486232e+308 FROM t2;
GET DIAGNOSTICS CONDITION 1 @var70= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var71= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var70= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var71= ROW_NUMBER;
SELECT @var70, @var71;
--error ER_DIVISION_BY_ZERO
INSERT INTO t1 SELECT id2/0, val2, d2 FROM t2;
GET DIAGNOSTICS CONDITION 1 @var72= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var73= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 3 @var74= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var72= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var73= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 3 @var74= ROW_NUMBER;
SELECT @var72, @var73, @var74;
DROP TABLE t1,t2;
--echo # Checking ERROR_INDEX in STORED PROCEDURE for INSERT
--echo # Checking ROW_NUMBER in STORED PROCEDURE for INSERT
CREATE TABLE t1(id1 INT PRIMARY KEY);
......@@ -1128,8 +1128,8 @@ BEGIN
INSERT INTO t1 VALUES (1),(2);
INSERT IGNORE INTO t1 VALUES(2);
GET DIAGNOSTICS CONDITION 1 var75= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 var76= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 var75= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 var76= ROW_NUMBER;
SELECT var75, var76;
......@@ -1141,12 +1141,12 @@ DELIMITER ;|
CALL proc1();
TRUNCATE TABLE t1;
--echo # Checking ERROR_INDEX in PREPARED STATEMENTS for INSERT
--echo # Checking ROW_NUMBER in PREPARED STATEMENTS for INSERT
INSERT INTO t1 VALUES (1), (2), (3);
INSERT IGNORE INTO t1 VALUES(2),(3),(4);
PREPARE stmt1 FROM "GET DIAGNOSTICS CONDITION 2 @var77= ERROR_INDEX";
PREPARE stmt1 FROM "GET DIAGNOSTICS CONDITION 2 @var77= ROW_NUMBER";
EXECUTE stmt1;
SELECT @var77;
......@@ -1166,43 +1166,43 @@ CREATE TABLE t2(id2 INT PRIMARY KEY, val2 VARCHAR(10), d2 DOUBLE);
REPLACE INTO t1 VALUES(1,'a',1.00101), (2,'b',1.00102), (3,'c',1.00103);
REPLACE INTO t1 VALUES (4,'d',1.00104),(1,'a',1.00101),(2,'b',1.00102);
GET DIAGNOSTICS CONDITION 1 @var78= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var78= ROW_NUMBER;
SELECT @var78;
--error ER_ILLEGAL_VALUE_FOR_TYPE
REPLACE INTO t1 VALUES (5,'e',1.00105),(6,'f',1.79769313486232e+308);
GET DIAGNOSTICS CONDITION 1 @var79= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var80= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var79= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var80= ROW_NUMBER;
SELECT @var79, @var80;
--error ER_WRONG_VALUE_COUNT_ON_ROW
REPLACE INTO t1 VALUES (7,'g',1.00107),(8,'h',1.00108),(9,'i'),(10,'j');
GET DIAGNOSTICS CONDITION 1 @var81= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var82= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var81= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var82= ROW_NUMBER;
SELECT @var81, @var82;
--error ER_TRUNCATED_WRONG_VALUE
REPLACE INTO t1 VALUES (9,CAST(123 AS CHAR(1)),1.00109);
GET DIAGNOSTICS CONDITION 1 @var83= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var84= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var83= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var84= ROW_NUMBER;
SELECT @var83, @var84;
--error ER_TRUNCATED_WRONG_VALUE_FOR_FIELD
REPLACE INTO t1 VALUES ('x','foo',1.0203);
GET DIAGNOSTICS CONDITION 1 @var85= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var86= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var85= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var86= ROW_NUMBER;
SELECT @var85, @var86;
--error ER_OPERAND_COLUMNS
REPLACE INTO t1 VALUES ((13,'m',1.0113));
GET DIAGNOSTICS CONDITION 1 @var87= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var88= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var87= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var88= ROW_NUMBER;
SELECT @var87, @var88;
REPLACE INTO t1 VALUES (14,'n',1.0114), (15,'o',1.0115), (16/0,'p',1.0116);
GET DIAGNOSTICS CONDITION 1 @var89= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var90= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 3 @var91= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var89= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var90= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 3 @var91= ROW_NUMBER;
SELECT @var89, @var90, @var91;
TRUNCATE TABLE t1;
......@@ -1214,34 +1214,34 @@ REPLACE INTO t1 SET id1=2, val1='b', d1=1.00102;
REPLACE INTO t1 SET id1=3, val1='c', d1=1.00103;
REPLACE INTO t1 SET id1=1, val1='a', d1=1.00101;
GET DIAGNOSTICS CONDITION 1 @var92= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var92= ROW_NUMBER;
SELECT @var92;
--error ER_ILLEGAL_VALUE_FOR_TYPE
REPLACE INTO t1 SET id1=6, val1='f', d1=1.79769313486232e+308);
GET DIAGNOSTICS CONDITION 1 @var93= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var94= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var93= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var94= ROW_NUMBER;
SELECT @var93, @var94;
--error ER_TRUNCATED_WRONG_VALUE
REPLACE INTO t1 SET id1=9, val1=CAST(123 AS CHAR(1)), d1=1.00109;
GET DIAGNOSTICS CONDITION 1 @var95= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var96= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var95= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var96= ROW_NUMBER;
SELECT @var95, @var96;
--error ER_TRUNCATED_WRONG_VALUE_FOR_FIELD
REPLACE INTO t1 SET id1='x', val1='foo', d1=1.0203;
GET DIAGNOSTICS CONDITION 1 @var97= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var98= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var97= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var98= ROW_NUMBER;
SELECT @var97, @var98;
--error ER_DIVISION_BY_ZERO
REPLACE INTO t1 SET id1=3/0, val1='p', d1=1.0116;
GET DIAGNOSTICS CONDITION 1 @var99= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var100= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 3 @var101= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 4 @var102= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var99= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var100= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 3 @var101= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 4 @var102= ROW_NUMBER;
SELECT @var99, @var100, @var101, @var102;
TRUNCATE TABLE t1;
......@@ -1262,46 +1262,46 @@ INSERT INTO t1 SELECT id2, val2, d2 FROM t2;
--error ER_DUP_ENTRY
INSERT INTO t1 SELECT id2, val2, d2 FROM t2 WHERE id2=1;
GET DIAGNOSTICS CONDITION 1 @var103= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var104= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var103= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var104= ROW_NUMBER;
SELECT @var103, @var104;
--error ER_TRUNCATED_WRONG_VALUE_FOR_FIELD
INSERT INTO t1 SELECT id2, val2, p2 from t2;
GET DIAGNOSTICS CONDITION 1 @var105= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var106= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var105= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var106= ROW_NUMBER;
SELECT @var105, @var106;
--error ER_WRONG_VALUE_COUNT_ON_ROW
INSERT INTO t1 SELECT id2, val2 FROM t2;
GET DIAGNOSTICS CONDITION 1 @var107= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var108= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var107= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var108= ROW_NUMBER;
SELECT @var107, @var108;
INSERT INTO t2 VALUES(4,'a',1.00101,PointFromText('POINT(20 10)'));
--error ER_TRUNCATED_WRONG_VALUE
INSERT INTO t1 SELECT id2, CAST(123 AS CHAR(1)), d2 FROM t2 WHERE id2=4;
GET DIAGNOSTICS CONDITION 1 @var109= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var110= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var109= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var110= ROW_NUMBER;
SELECT @var109, @var110;
--error ER_ILLEGAL_VALUE_FOR_TYPE
INSERT INTO t1 SELECT id2, val2, 1.79769313486232e+308 FROM t2;
GET DIAGNOSTICS CONDITION 1 @var111= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var112= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var111= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var112= ROW_NUMBER;
SELECT @var111, @var112;
--error ER_DIVISION_BY_ZERO
INSERT INTO t1 SELECT id2/0, val2, d2 FROM t2;
GET DIAGNOSTICS CONDITION 1 @var113= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 2 @var114= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 3 @var115= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var113= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 2 @var114= ROW_NUMBER;
GET DIAGNOSTICS CONDITION 3 @var115= ROW_NUMBER;
SELECT @var113, @var114, @var115;
DROP TABLE t1,t2;
--echo # Checking ERROR_INDEX in STORED PROCEDURE
--echo # Checking ROW_NUMBER in STORED PROCEDURE
CREATE TABLE t1(id1 INT PRIMARY KEY);
......@@ -1314,7 +1314,7 @@ BEGIN
REPLACE INTO t1 VALUES (1),(2);
GET DIAGNOSTICS CONDITION 1 var116= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 var116= ROW_NUMBER;
SELECT var116;
......@@ -1326,11 +1326,11 @@ DELIMITER ;|
CALL proc1();
TRUNCATE TABLE t1;
--echo # Checking ERROR_INDEX in PREPARED STATEMENTS
--echo # Checking ROW_NUMBER in PREPARED STATEMENTS
REPLACE INTO t1 VALUES (1), (2), (3);
PREPARE stmt1 FROM "GET DIAGNOSTICS CONDITION 2 @var117= ERROR_INDEX";
PREPARE stmt1 FROM "GET DIAGNOSTICS CONDITION 2 @var117= ROW_NUMBER";
EXECUTE stmt1;
SELECT @var117;
......@@ -1339,7 +1339,7 @@ DROP PREPARE stmt1;
DROP TABLE t1;
--echo #
--echo # Checking that error_index is only for errors with rows/values
--echo # Checking that ROW_NUMBER is only for errors with rows/values
--echo #
--echo # INSERT STATEMENT
......@@ -1350,7 +1350,7 @@ CREATE VIEW v AS SELECT t1.id1 AS A, t2.id2 AS b FROM t1,t2;
--error ER_FIELD_SPECIFIED_TWICE
INSERT INTO t1(id1, id1) VALUES (1,1);
GET DIAGNOSTICS CONDITION 1 @var118= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var118= ROW_NUMBER;
SELECT @var118;
delimiter |;
......@@ -1363,34 +1363,34 @@ delimiter ;|
--error ER_CANT_UPDATE_USED_TABLE_IN_SF_OR_TRG
INSERT INTO t1 VALUES (1), (f1());
GET DIAGNOSTICS CONDITION 1 @var119= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var119= ROW_NUMBER;
SELECT @var119;
--error ER_BAD_FIELD_ERROR
INSERT INTO t1 VALUES (1) RETURNING id2;
GET DIAGNOSTICS CONDITION 1 @var120= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var120= ROW_NUMBER;
SELECT @var120;
--error ER_BAD_FIELD_ERROR
INSERT INTO t1(id2) VALUES(1);
GET DIAGNOSTICS CONDITION 1 @var121= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var121= ROW_NUMBER;
SELECT @var121;
--error ER_VIEW_NO_INSERT_FIELD_LIST
INSERT INTO v VALUES(1,2);
GET DIAGNOSTICS CONDITION 1 @var122= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var122= ROW_NUMBER;
SELECT @var122;
--error ER_VIEW_MULTIUPDATE
INSERT INTO v(a,b) VALUES (1,2);
GET DIAGNOSTICS CONDITION 1 @var123= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var123= ROW_NUMBER;
SELECT @var123;
--echo # REPLACE STATEMENT
--error ER_FIELD_SPECIFIED_TWICE
REPLACE INTO t1(id1, id1) VALUES (1,1);
GET DIAGNOSTICS CONDITION 1 @var124= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var124= ROW_NUMBER;
SELECT @var124;
delimiter |;
......@@ -1403,27 +1403,27 @@ delimiter ;|
--error ER_CANT_UPDATE_USED_TABLE_IN_SF_OR_TRG
REPLACE INTO t1 VALUES (1), (f2());
GET DIAGNOSTICS CONDITION 1 @var125= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var125= ROW_NUMBER;
SELECT @var125;
--error ER_BAD_FIELD_ERROR
REPLACE INTO t1 VALUES (1) RETURNING id2;
GET DIAGNOSTICS CONDITION 1 @var126= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var126= ROW_NUMBER;
SELECT @var126;
--error ER_BAD_FIELD_ERROR
REPLACE INTO t1(id2) VALUES(1);
GET DIAGNOSTICS CONDITION 1 @var127= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var127= ROW_NUMBER;
SELECT @var127;
--error ER_VIEW_NO_INSERT_FIELD_LIST
REPLACE INTO v VALUES(1,2);
GET DIAGNOSTICS CONDITION 1 @var128= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var128= ROW_NUMBER;
SELECT @var128;
--error ER_VIEW_MULTIUPDATE
REPLACE INTO v(a,b) VALUES (1,2);
GET DIAGNOSTICS CONDITION 1 @var129= ERROR_INDEX;
GET DIAGNOSTICS CONDITION 1 @var129= ROW_NUMBER;
SELECT @var129;
DROP TABLE t1,t2;
......
......@@ -8,5 +8,5 @@ SELECT 1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1
####################################
SELECT event_name, digest, digest_text, sql_text FROM events_statements_history_long;
event_name digest digest_text sql_text
statement/sql/select dfe1e2b52a48f7294a6385d229770021 SELECT ? + ? + SELECT ...
statement/sql/truncate 6aa520d69a5b4c9035650e7deeae48fd TRUNCATE TABLE truncat...
statement/sql/select ca9181d6d668396d467dd974f58a9402 SELECT ? + ? + SELECT ...
statement/sql/truncate 460cb5329baea0e4242059cfda01d1d7 TRUNCATE TABLE truncat...
......@@ -222,7 +222,6 @@ SYMBOL symbols[] = {
{ "ENUM", SYM(ENUM)},
{ "ERROR", SYM(ERROR_SYM)},
{ "ERRORS", SYM(ERRORS)},
{ "ERROR_INDEX", SYM(ERROR_INDEX_SYM)},
{ "ESCAPE", SYM(ESCAPE_SYM)},
{ "ESCAPED", SYM(ESCAPED)},
{ "EVENT", SYM(EVENT_SYM)},
......@@ -569,6 +568,8 @@ SYMBOL symbols[] = {
{ "ROWTYPE", SYM(ROWTYPE_MARIADB_SYM)},
{ "ROW_COUNT", SYM(ROW_COUNT_SYM)},
{ "ROW_FORMAT", SYM(ROW_FORMAT_SYM)},
/** sql_function and condition_property_name for GET DIAGNOSTICS */
{ "ROW_NUMBER", SYM(ROW_NUMBER_SYM)},
{ "RTREE", SYM(RTREE_SYM)},
{ "SAVEPOINT", SYM(SAVEPOINT_SYM)},
{ "SCHEDULE", SYM(SCHEDULE_SYM)},
......@@ -783,7 +784,6 @@ SYMBOL sql_functions[] = {
{ "PERCENTILE_CONT", SYM(PERCENTILE_CONT_SYM)},
{ "PERCENTILE_DISC", SYM(PERCENTILE_DISC_SYM)},
{ "RANK", SYM(RANK_SYM)},
{ "ROW_NUMBER", SYM(ROW_NUMBER_SYM)},
{ "SESSION_USER", SYM(USER_SYM)},
{ "STD", SYM(STD_SYM)},
{ "STDDEV", SYM(STD_SYM)},
......
......@@ -306,7 +306,8 @@ class Sql_condition_items
/** SQL CURSOR_NAME condition item. */
String m_cursor_name;
ulong m_error_index;
/** SQL ROW_NUMBER condition item. */
ulong m_row_number;
Sql_condition_items()
:m_class_origin((const char*) NULL, 0, & my_charset_utf8mb3_bin),
......@@ -319,7 +320,7 @@ class Sql_condition_items
m_table_name((const char*) NULL, 0, & my_charset_utf8mb3_bin),
m_column_name((const char*) NULL, 0, & my_charset_utf8mb3_bin),
m_cursor_name((const char*) NULL, 0, & my_charset_utf8mb3_bin),
m_error_index(0)
m_row_number(0)
{ }
void clear()
......@@ -334,7 +335,7 @@ class Sql_condition_items
m_table_name.length(0);
m_column_name.length(0);
m_cursor_name.length(0);
m_error_index= 0;
m_row_number= 0;
}
};
......@@ -446,7 +447,7 @@ class Sql_condition : public Sql_alloc,
DBUG_ASSERT(value.get_sql_errno() != 0);
DBUG_ASSERT(msg != NULL);
set_builtin_message_text(msg);
m_error_index= current_row_for_warning;
m_row_number= current_row_for_warning;
}
/** Destructor. */
......
......@@ -338,8 +338,8 @@ Condition_information_item::get_value(THD *thd, const Sql_condition *cond)
str.set_ascii(cond->get_sqlstate(), strlen(cond->get_sqlstate()));
value= make_utf8_string_item(thd, &str);
break;
case ERROR_INDEX:
value= new (thd->mem_root) Item_uint(thd, cond->m_error_index);
case ROW_NUMBER:
value= new (thd->mem_root) Item_uint(thd, cond->m_row_number);
}
DBUG_RETURN(value);
......
......@@ -255,7 +255,7 @@ class Condition_information_item : public Diagnostics_information_item
MESSAGE_TEXT,
MYSQL_ERRNO,
RETURNED_SQLSTATE,
ERROR_INDEX
ROW_NUMBER
};
/**
......
......@@ -974,7 +974,6 @@ bool my_yyoverflow(short **a, YYSTYPE **b, size_t *yystacksize);
%token <kwd> MUTEX_SYM
%token <kwd> MYSQL_SYM
%token <kwd> MYSQL_ERRNO_SYM
%token <kwd> ERROR_INDEX_SYM
%token <kwd> NAMES_SYM /* SQL-2003-N */
%token <kwd> NAME_SYM /* SQL-2003-N */
%token <kwd> NATIONAL_SYM /* SQL-2003-R */
......@@ -3631,8 +3630,8 @@ condition_information_item_name:
{ $$= Condition_information_item::MYSQL_ERRNO; }
| RETURNED_SQLSTATE_SYM
{ $$= Condition_information_item::RETURNED_SQLSTATE; }
| ERROR_INDEX_SYM
{ $$= Condition_information_item::ERROR_INDEX; }
| ROW_NUMBER_SYM
{ $$= Condition_information_item::ROW_NUMBER; }
;
sp_decl_ident:
......@@ -15664,7 +15663,6 @@ keyword_sp_var_and_label:
| INVOKER_SYM
| IMPORT
| INDEXES
| ERROR_INDEX_SYM
| INITIAL_SIZE_SYM
| IO_SYM
| IPC_SYM
......
......@@ -21580,7 +21580,7 @@ void test_mdev_10075()
mysql_stmt_close(stmt);
rc= mysql_query(mysql, "GET DIAGNOSTICS CONDITION 1 @var1 = ERROR_INDEX");
rc= mysql_query(mysql, "GET DIAGNOSTICS CONDITION 1 @var1 = ROW_NUMBER");
myquery(rc);
rc= mysql_query(mysql, "SELECT @var1");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment