|
From: SVN by r. <sv...@ca...> - 2007-11-06 10:52:38
|
Author: roy
Date: 2007-11-06 11:50:30 +0100 (Tue, 06 Nov 2007)
New Revision: 194
Modified:
src/main/java/nl/improved/sqlclient/SQLUtil.java
src/test/java/nl/improved/sqlclient/SQLUtilTest.java
Log:
fixed index out of bounds
Modified: src/main/java/nl/improved/sqlclient/SQLUtil.java
===================================================================
--- src/main/java/nl/improved/sqlclient/SQLUtil.java 2007-10-29 15:31:08 UTC (rev 193)
+++ src/main/java/nl/improved/sqlclient/SQLUtil.java 2007-11-06 10:50:30 UTC (rev 194)
@@ -216,7 +216,7 @@
, Arrays.asList(new String[]{"WHERE"}), end);
}
String end;
- startOfCommand = startOfCommand.substring(startOfCommand.indexOf("FROM"));
+ startOfCommand = startOfCommand.substring(startOfCommand.toUpperCase().indexOf("FROM"));
if (startOfCommand.indexOf(',') > 0) {
end = startOfCommand.substring(startOfCommand.lastIndexOf(',')+1).trim();
} else {
Modified: src/test/java/nl/improved/sqlclient/SQLUtilTest.java
===================================================================
--- src/test/java/nl/improved/sqlclient/SQLUtilTest.java 2007-10-29 15:31:08 UTC (rev 193)
+++ src/test/java/nl/improved/sqlclient/SQLUtilTest.java 2007-11-06 10:50:30 UTC (rev 194)
@@ -135,6 +135,15 @@
assertEquals(0, matches.size());
assertEquals("A", info.getStart());
+ sqlCommand = Arrays.asList(new String[]{"select * from A"});
+ cursorPos = new Point(sqlCommand.get(0).length(),0);
+ info = SQLUtil.getTabCompletionInfo(sqlCommand, cursorPos);
+ assertNotNull(info);
+ assertEquals(TabCompletionInfo.MatchType.TABLE_NAMES, info.getMatchType());
+ matches = info.getPossibleMatches();
+ assertEquals(0, matches.size());
+ assertEquals("A", info.getStart());
+
sqlCommand = Arrays.asList(new String[]{"SELECT * FROM A, B"});
cursorPos = new Point(sqlCommand.get(0).length(),0);
info = SQLUtil.getTabCompletionInfo(sqlCommand, cursorPos);
|