[teiid-issues] [JBoss JIRA] (TEIID-3795) Order of VARIADIC parameters is not preserved

Salvatore R (JIRA) issues at jboss.org
Thu Oct 29 18:39:00 EDT 2015


    [ https://issues.jboss.org/browse/TEIID-3795?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13123585#comment-13123585 ] 

Salvatore R commented on TEIID-3795:
------------------------------------

It seems that it doesn't depend on the logger. I accumulated the values and printed the result at the end in this way:
{code:sql}
CREATE PROCEDURE p1(VARIADIC parameters string)
AS
BEGIN
declare integer i = 1;
declare string result = '';
	WHILE(i <= array_length(parameters))
		BEGIN
			result = result || parameters[i] || ' ';
			i = i + 1;
		END
exec "SYSADMIN.logMsg"("level" => 'INFO', "context" => 'test', "msg" => result);
END;
{code}

but the order is still not preserved:
23:34:15,155 INFO  [test] (Worker0_QueryProcessorQueue0) OkU8Fo/gqQZC 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 16 19 18 20

> Order of VARIADIC parameters is not preserved
> ---------------------------------------------
>
>                 Key: TEIID-3795
>                 URL: https://issues.jboss.org/browse/TEIID-3795
>             Project: Teiid
>          Issue Type: Bug
>            Reporter: Salvatore R
>            Assignee: Steven Hawkins
>
> It seems that the order of VARIADIC arguments passed to a stored procedure is not always preserved.
> For example, I defined a procedure in a virtual model in the VDB as follows:
> {code:sql}
> <model visible = "true" type = "VIRTUAL" name = "test_variadic">
>         <metadata type = "DDL"><![CDATA[
> 		CREATE PROCEDURE p1(VARIADIC parameters string)
> 		AS BEGIN
> 			declare integer i = 1;
> 			WHILE(i <= array_length(parameters))
> 			BEGIN
> 				exec "SYSADMIN.logMsg"("level" => 'INFO', "context" => 'test', "msg" => 'param '|| parameters[i]);
> 				i = i + 1;
> 			END
> 		END;
>             ]]>
>         </metadata>
>     </model>
> {code}
> The procedure just prints to the console the passed arguments.
> When I call the procedure:
> {code:sql}
> exec "test_variadic.p1"('1' , '2', '3' , '4', '5' , '6', '7' , '8', '9' , '10', '11' , '12', '13' , '14', '15' , '16', '17' , '18', '19' , '20')
> {code}
> only the first 15 parameters are printed in the same order as they are passed, as shown in the log below:
> {code}
> 22:44:26,117 INFO  [test] (Worker2_QueryProcessorQueue21) AbdPCQQAsiSL param 1
> 22:44:26,118 INFO  [test] (Worker2_QueryProcessorQueue21) AbdPCQQAsiSL param 2
> 22:44:26,119 INFO  [test] (Worker2_QueryProcessorQueue21) AbdPCQQAsiSL param 3
> 22:44:26,122 INFO  [test] (Worker2_QueryProcessorQueue21) AbdPCQQAsiSL param 4
> 22:44:26,123 INFO  [test] (Worker2_QueryProcessorQueue21) AbdPCQQAsiSL param 5
> 22:44:26,125 INFO  [test] (Worker2_QueryProcessorQueue21) AbdPCQQAsiSL param 6
> 22:44:26,127 INFO  [test] (Worker2_QueryProcessorQueue21) AbdPCQQAsiSL param 7
> 22:44:26,130 INFO  [test] (Worker2_QueryProcessorQueue21) AbdPCQQAsiSL param 8
> 22:44:26,132 INFO  [test] (Worker2_QueryProcessorQueue21) AbdPCQQAsiSL param 9
> 22:44:26,134 INFO  [test] (Worker2_QueryProcessorQueue21) AbdPCQQAsiSL param 10
> 22:44:26,138 INFO  [test] (Worker2_QueryProcessorQueue21) AbdPCQQAsiSL param 11
> 22:44:26,138 INFO  [test] (Worker2_QueryProcessorQueue21) AbdPCQQAsiSL param 12
> 22:44:26,140 INFO  [test] (Worker2_QueryProcessorQueue21) AbdPCQQAsiSL param 13
> 22:44:26,143 INFO  [test] (Worker2_QueryProcessorQueue21) AbdPCQQAsiSL param 14
> 22:44:26,144 INFO  [test] (Worker2_QueryProcessorQueue21) AbdPCQQAsiSL param 15
> 22:44:26,147 INFO  [test] (Worker2_QueryProcessorQueue21) AbdPCQQAsiSL param 17
> 22:44:26,149 INFO  [test] (Worker2_QueryProcessorQueue21) AbdPCQQAsiSL param 16
> 22:44:26,151 INFO  [test] (Worker2_QueryProcessorQueue21) AbdPCQQAsiSL param 19
> 22:44:26,153 INFO  [test] (Worker2_QueryProcessorQueue21) AbdPCQQAsiSL param 18
> 22:44:26,156 INFO  [test] (Worker2_QueryProcessorQueue21) AbdPCQQAsiSL param 20
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.11#64026)


More information about the teiid-issues mailing list