File tree Expand file tree Collapse file tree 18 files changed +436
-66
lines changed
Expand file tree Collapse file tree 18 files changed +436
-66
lines changed Original file line number Diff line number Diff line change @@ -269,3 +269,61 @@ v0 v1
269269Warnings:
270270Note 1265 Data truncated for column 'b' at row 1
271271DROP PROCEDURE p1;
272+ CREATE PACKAGE pkg1 AS
273+ PROCEDURE p1;
274+ END;
275+ $$
276+ CREATE PACKAGE BODY pkg1 AS
277+ TYPE rec0_t IS RECORD(a INT, b VARCHAR(10));
278+ TYPE cur0_t IS REF CURSOR RETURN rec0_t;
279+ PROCEDURE p20 (c0 cur0_t) AS
280+ r0 rec0_t;
281+ BEGIN
282+ FETCH c0 INTO r0;
283+ SELECT r0.a, r0.b;
284+ END;
285+ PROCEDURE p1 AS
286+ c0 cur0_t;
287+ BEGIN
288+ OPEN c0 FOR SELECT 1 AS a, ' ' AS b;
289+ CALL p20(c0);
290+ CLOSE c0;
291+ END;
292+ END;
293+ $$
294+ CALL pkg1.p1;
295+ r0.a r0.b
296+ 1
297+ Warnings:
298+ Note 1265 Data truncated for column 'b' at row 0
299+ DROP PACKAGE pkg1;
300+ CREATE PACKAGE pkg1 AS
301+ PROCEDURE p1;
302+ END;
303+ $$
304+ CREATE PACKAGE BODY pkg1 AS
305+ TYPE rec0_t IS RECORD(a INT, b VARCHAR(10));
306+ TYPE cur0_t IS REF CURSOR RETURN rec0_t;
307+ FUNCTION f1() RETURN cur0_t AS
308+ c0 cur0_t;
309+ BEGIN
310+ OPEN c0 FOR SELECT 1 AS a, ' ' AS b;
311+ RETURN c0;
312+ END;
313+ PROCEDURE p1 AS
314+ c0 cur0_t;
315+ r0 rec0_t;
316+ BEGIN
317+ c0:= f1();
318+ FETCH c0 INTO r0;
319+ SELECT r0.a, r0.b;
320+ CLOSE c0;
321+ END;
322+ END;
323+ $$
324+ CALL pkg1.p1;
325+ r0.a r0.b
326+ 1
327+ Warnings:
328+ Note 1265 Data truncated for column 'b' at row 0
329+ DROP PACKAGE pkg1;
Original file line number Diff line number Diff line change 339339DELIMITER ;$$
340340CALL p1;
341341DROP PROCEDURE p1;
342+
343+
344+ DELIMITER $$;
345+ CREATE PACKAGE pkg1 AS
346+ PROCEDURE p1;
347+ END;
348+ $$
349+ CREATE PACKAGE BODY pkg1 AS
350+ TYPE rec0_t IS RECORD(a INT, b VARCHAR(10));
351+ TYPE cur0_t IS REF CURSOR RETURN rec0_t;
352+ PROCEDURE p20 (c0 cur0_t) AS
353+ r0 rec0_t;
354+ BEGIN
355+ FETCH c0 INTO r0;
356+ SELECT r0.a, r0.b;
357+ END;
358+ PROCEDURE p1 AS
359+ c0 cur0_t;
360+ BEGIN
361+ OPEN c0 FOR SELECT 1 AS a, ' ' AS b;
362+ CALL p20(c0);
363+ CLOSE c0;
364+ END;
365+ END;
366+ $$
367+ DELIMITER ;$$
368+ CALL pkg1.p1;
369+ DROP PACKAGE pkg1;
370+
371+
372+ DELIMITER $$;
373+ CREATE PACKAGE pkg1 AS
374+ PROCEDURE p1;
375+ END;
376+ $$
377+ CREATE PACKAGE BODY pkg1 AS
378+ TYPE rec0_t IS RECORD(a INT, b VARCHAR(10));
379+ TYPE cur0_t IS REF CURSOR RETURN rec0_t;
380+ FUNCTION f1() RETURN cur0_t AS
381+ c0 cur0_t;
382+ BEGIN
383+ OPEN c0 FOR SELECT 1 AS a, ' ' AS b;
384+ RETURN c0;
385+ END;
386+ PROCEDURE p1 AS
387+ c0 cur0_t;
388+ r0 rec0_t;
389+ BEGIN
390+ c0:= f1();
391+ FETCH c0 INTO r0;
392+ SELECT r0.a, r0.b;
393+ CLOSE c0;
394+ END;
395+ END;
396+ $$
397+ DELIMITER ;$$
398+ CALL pkg1.p1;
399+ DROP PACKAGE pkg1;
Original file line number Diff line number Diff line change @@ -36,7 +36,7 @@ BEGIN NOT ATOMIC
3636DECLARE c SYS_REFCURSOR DEFAULT 0;
3737END;
3838$$
39- ERROR HY000: Cannot cast 'int' as 'sys_refcursor' in assignment of `c`
39+ ERROR HY000: Cannot cast 'int' as 'sys_refcursor' in assignment of `c` for operation SET
4040BEGIN NOT ATOMIC
4141DECLARE c SYS_REFCURSOR DEFAULT IGNORE;
4242END;
Original file line number Diff line number Diff line change @@ -46,7 +46,7 @@ DELIMITER ;$$
4646
4747
4848DELIMITER $$;
49- --error ER_ILLEGAL_PARAMETER_DATA_TYPES2_FOR_OPERATION
49+ --error ER_CANNOT_CAST_ON_IDENT1_ASSIGNMENT_FOR_OPERATION
5050BEGIN NOT ATOMIC
5151 DECLARE c SYS_REFCURSOR DEFAULT 0;
5252END;
Original file line number Diff line number Diff line change @@ -220,14 +220,14 @@ DECLARE c SYS_REFCURSOR;
220220SET c=1;
221221END;
222222$$
223- ERROR HY000: Cannot cast 'int' as 'sys_refcursor' in assignment of `c`
223+ ERROR HY000: Cannot cast 'int' as 'sys_refcursor' in assignment of `c` for operation SET
224224BEGIN NOT ATOMIC
225225DECLARE c SYS_REFCURSOR;
226226DECLARE i INT;
227227SET c=i;
228228END;
229229$$
230- ERROR HY000: Cannot cast 'int' as 'sys_refcursor' in assignment of `c`
230+ ERROR HY000: Cannot cast 'int' as 'sys_refcursor' in assignment of `c` for operation SET
231231BEGIN NOT ATOMIC
232232DECLARE c SYS_REFCURSOR;
233233DECLARE i INT;
@@ -248,7 +248,7 @@ FETCH p1c0 INTO p1c1;
248248END;
249249/
250250CALL p1;
251- ERROR HY000: Cannot cast 'int' as 'sys_refcursor' in assignment of `p1c1`
251+ ERROR HY000: Cannot cast 'int' as 'sys_refcursor' in assignment of `p1c1` for operation SET
252252DROP PROCEDURE p1;
253253CREATE PROCEDURE p1()
254254BEGIN
@@ -259,7 +259,7 @@ FETCH p1c0 INTO p1c1;
259259END;
260260/
261261CALL p1;
262- ERROR HY000: Cannot cast 'int' as 'sys_refcursor' in assignment of `p1c1`
262+ ERROR HY000: Cannot cast 'int' as 'sys_refcursor' in assignment of `p1c1` for operation SET
263263DROP PROCEDURE p1;
264264CREATE PROCEDURE p1()
265265BEGIN
Original file line number Diff line number Diff line change @@ -319,7 +319,7 @@ SET sql_mode=DEFAULT;
319319--echo #
320320
321321DELIMITER $$;
322- --error ER_ILLEGAL_PARAMETER_DATA_TYPES2_FOR_OPERATION
322+ --error ER_CANNOT_CAST_ON_IDENT1_ASSIGNMENT_FOR_OPERATION
323323BEGIN NOT ATOMIC
324324 DECLARE c SYS_REFCURSOR;
325325 SET c=1;
328328DELIMITER ;$$
329329
330330DELIMITER $$;
331- --error ER_ILLEGAL_PARAMETER_DATA_TYPES2_FOR_OPERATION
331+ --error ER_CANNOT_CAST_ON_IDENT1_ASSIGNMENT_FOR_OPERATION
332332BEGIN NOT ATOMIC
333333 DECLARE c SYS_REFCURSOR;
334334 DECLARE i INT;
@@ -363,7 +363,7 @@ BEGIN
363363END;
364364/
365365DELIMITER ;/
366- --error ER_ILLEGAL_PARAMETER_DATA_TYPES2_FOR_OPERATION
366+ --error ER_CANNOT_CAST_ON_IDENT1_ASSIGNMENT_FOR_OPERATION
367367CALL p1;
368368DROP PROCEDURE p1;
369369
@@ -378,7 +378,7 @@ BEGIN
378378END;
379379/
380380DELIMITER ;/
381- --error ER_ILLEGAL_PARAMETER_DATA_TYPES2_FOR_OPERATION
381+ --error ER_CANNOT_CAST_ON_IDENT1_ASSIGNMENT_FOR_OPERATION
382382CALL p1;
383383DROP PROCEDURE p1;
384384
You can’t perform that action at this time.
0 commit comments