From: SVN by r. <sv...@ca...> - 2010-07-19 14:20:11
|
Author: roy Date: 2010-07-19 15:17:56 +0200 (Mon, 19 Jul 2010) New Revision: 477 Modified: src/main/java/nl/improved/sqlclient/util/SQLParser.java src/main/java/nl/improved/sqlclient/util/SQLPart.java Log: fix column completion when statement ends with <tablename>; Modified: src/main/java/nl/improved/sqlclient/util/SQLParser.java =================================================================== --- src/main/java/nl/improved/sqlclient/util/SQLParser.java 2010-05-08 10:32:22 UTC (rev 476) +++ src/main/java/nl/improved/sqlclient/util/SQLParser.java 2010-07-19 13:17:56 UTC (rev 477) @@ -98,6 +98,8 @@ return getInsertTabCompletionInfo(part, parts, charsLeft); case VALUES : return getValuesTabCompletionInfo(part, parts, charsLeft); + case END : + return new TabCompletionInfo(TabCompletionInfo.MatchType.OTHER, null); } } else { charsLeft -=part.getPart().length(); @@ -109,13 +111,17 @@ } - static List<SQLPart> parse(CharSequence sqlSequence) { + static List<SQLPart> parse(CharSequence sqlPart) { List<SQLPart> returnValue = new ArrayList<SQLPart>(); - if (sqlSequence.length() == 0) { + if (sqlPart.length() == 0) { return returnValue; } SQLPart.SQLType sqlType; int start = 0; + CharSequence sqlSequence = sqlPart; + if (sqlPart.charAt(sqlPart.length()-1) ==';') { + sqlSequence = sqlPart.subSequence(0, sqlPart.length()-1); + } int end = sqlSequence.length(); String sql = sqlSequence.toString().toUpperCase(); //System.out.println("SQL: "+ sql); Modified: src/main/java/nl/improved/sqlclient/util/SQLPart.java =================================================================== --- src/main/java/nl/improved/sqlclient/util/SQLPart.java 2010-05-08 10:32:22 UTC (rev 476) +++ src/main/java/nl/improved/sqlclient/util/SQLPart.java 2010-07-19 13:17:56 UTC (rev 477) @@ -16,7 +16,7 @@ */ public class SQLPart { - enum SQLType {SELECT, INSERT, UPDATE, DELETE, WHERE, VALUES, FROM, GROUPBY, ORDERBY, OTHER, SET} + enum SQLType {SELECT, INSERT, UPDATE, DELETE, WHERE, VALUES, FROM, GROUPBY, ORDERBY, OTHER, SET, END} private SQLType sqlType; private CharSequence part; |