|
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;
|