[
https://jira.codehaus.org/browse/MSQL-63?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mark Struberg closed MSQL-63.
-----------------------------
Resolution: Fixed
Fix Version/s: 1.5
> Problem into the SqlSplitter class when i'm using SQL statements including
> simple and double quotes which are not opened and closed in the same line.
> -----------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: MSQL-63
> URL: https://jira.codehaus.org/browse/MSQL-63
> Project: Maven 2.x SQL Plugin
> Issue Type: Bug
> Reporter: Mickael BARON
> Assignee: Mark Struberg
> Fix For: 1.5
>
>
> I detect problem into the SqlSplitter class when i'm using SQL statements
> including simple and double quotes which are not opened and closed in the
> same line.
> For instance, the following SQL statements are used to create a function.
> {code}
> CREATE FUNCTION add_rid_oid(bigint, character varying) RETURNS boolean
> AS $_$
> DECLARE
> Rid ALIAS FOR $1;
> Oid ALIAS FOR $2;
> tuple RECORD;
> requete VARCHAR;
> ok INT4;
> BEGIN
> requete='INSERT INTO rid_oid(rid,oids)
> VALUE('||quote_literal(rid)||','
> ||quote_literal(Oid)||')';
> EXECUTE requete;
> {code}
> A opened simple quote is found (requete='INSERT ...). Thus, the
> containsSqlEnd method into the SqlSplitter class is looping in infinite way
> because no closed simple quote is found in the same line.
> {code}
> do {
> if ( line.startsWith( quoteEscape, pos )) {
> pos += 2;
> }
> } while ( !line.startsWith( quoteChar, pos++ ) );
> {code}
> I propose to modify the previous code by this one
> {code}
> do {
> if (pos > line.length()) {
> return NO_END;
> }
> if ( line.startsWith( quoteEscape, pos ) ) {
> pos += 2;
> }
> } while ( !line.startsWith( quoteChar, pos++ ) );
> {code}
>
> Mickael
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email