|
From: SVN by r. <sv...@ca...> - 2008-02-27 15:30:07
|
Author: roy
Date: 2008-02-27 16:29:54 +0100 (Wed, 27 Feb 2008)
New Revision: 242
Modified:
src/main/java/nl/improved/sqlclient/SQLShell.java
Log:
fix queries
Modified: src/main/java/nl/improved/sqlclient/SQLShell.java
===================================================================
--- src/main/java/nl/improved/sqlclient/SQLShell.java 2008-02-27 09:49:14 UTC (rev 241)
+++ src/main/java/nl/improved/sqlclient/SQLShell.java 2008-02-27 15:29:54 UTC (rev 242)
@@ -128,6 +128,7 @@
commands.register("EXIT[\\s]*", new QuitCommand("exit"));
//commands.register("\\\\Q[\\s]*", new QuitCommand("\\q"));
commands.register("@.*", new ExecuteBatchCommand());
+ commands.register("(SELECT|UPDATE|ALTER|INSERT|DELETE).*;[\\s]*", new QueryCommand());
// keys
actionKeys.put(Integer.toString(InputChar.KEY_LEFT), new KeyAction() {
@@ -736,8 +737,11 @@
}
return true;
}
- final Command command = createCommand(commandString);
+ Command command = createCommand(commandString); // first try to find a match without ;
if (command == null) {
+ command = createCommand(sqlCommand.getUntrimmedCommandString()); // then with ; for sql statements...
+ }
+ if (command == null) {
return false;
}
// make sure only one command is run at once
@@ -748,6 +752,7 @@
Logger.getLogger(SQLShell.class.getName()).log(Level.SEVERE, null, ex);
}
}
+ output(commandString+"\n");
if (direct || !command.backgroundProcessSupported()) {
output(command.execute(sqlCommand));
} else {
@@ -766,7 +771,7 @@
if (command != null) {
return command;
}
- if (commandString.endsWith(";")) {
+ if (commandString.matches(".*;[\\s]*")) {
return new QueryCommand(); // TODO is this ever reached???
}
return null;
@@ -1381,7 +1386,7 @@
// Exec cmd
String commandString = cmd.toString();
currentCommand = createCommand(commandString);
- output(commandString);
+ output(commandString+"\n");
output(currentCommand.execute(new InputCommand(commandString)));
cmd=new StringBuilder();
}
@@ -1498,7 +1503,6 @@
execute();
} finally {
showPrompt = true;
- try { Thread.sleep(500);} catch(InterruptedException e) {} // hack
paint();
}
}
|