fix split bug
This commit is contained in:
		@ -25,6 +25,16 @@ function splitSql(sql) {
 | 
			
		||||
        sql += ';';
 | 
			
		||||
        haveEnd = false;
 | 
			
		||||
    }
 | 
			
		||||
    function pushSql(parser, sql) {
 | 
			
		||||
        if (!haveEnd && parser.index == sql.length - 1) {
 | 
			
		||||
            parser.sqls.push(parser.index - 1);
 | 
			
		||||
            parser.queue = '';
 | 
			
		||||
        }
 | 
			
		||||
        else {
 | 
			
		||||
            parser.sqls.push(parser.index);
 | 
			
		||||
            parser.queue = '';
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    // 处理引号
 | 
			
		||||
    function quoteToken(parser, sql) {
 | 
			
		||||
        let queue = parser.queue;
 | 
			
		||||
@ -81,14 +91,7 @@ function splitSql(sql) {
 | 
			
		||||
    function splitToken(parser, sql) {
 | 
			
		||||
        let queue = parser.queue;
 | 
			
		||||
        if (queue.endsWith(';')) {
 | 
			
		||||
            if (!haveEnd && parser.index == sql.length - 1) {
 | 
			
		||||
                parser.sqls.push(parser.index - 1);
 | 
			
		||||
                queue = '';
 | 
			
		||||
            }
 | 
			
		||||
            else {
 | 
			
		||||
                parser.sqls.push(parser.index);
 | 
			
		||||
                queue = '';
 | 
			
		||||
            }
 | 
			
		||||
            pushSql(parser, sql);
 | 
			
		||||
        }
 | 
			
		||||
        else {
 | 
			
		||||
            return null;
 | 
			
		||||
@ -106,6 +109,9 @@ function splitSql(sql) {
 | 
			
		||||
        for (let i = 0; i < tokenFuncs.length; i++) {
 | 
			
		||||
            tokenFuncs[i](parser, sql);
 | 
			
		||||
        }
 | 
			
		||||
        if (parser.index == sql.length - 1 && parser.queue) {
 | 
			
		||||
            pushSql(parser, sql);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    return parser.sqls;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user