Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 13 additions & 3 deletions console/src/main/java/com/arcadedb/console/Console.java
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,10 @@ public Console(final boolean interactive) throws IOException {
if (!interactive)
return;

Runtime.getRuntime().addShutdownHook(new Thread(() -> {
close();
}));

lineReader.getHistory().load();

try {
Expand Down Expand Up @@ -358,8 +362,14 @@ else if (!urlParts[0].isEmpty()) {

final String databaseUrl = databaseDirectory + urlParts[0];

databaseFactory = new DatabaseFactory(databaseUrl);
localDatabase = (DatabaseInternal) databaseFactory.setAutoTransaction(true).open(mode);
final File lockFile = new File(databaseUrl + "/database.lck");

if (!lockFile.exists()) {
databaseFactory = new DatabaseFactory(databaseUrl);
localDatabase = (DatabaseInternal) databaseFactory.setAutoTransaction(true).open(mode);
} else {
outputLine("Database appears locked by server.");
}
}
} else
throw new ConsoleException("URL missing");
Expand Down Expand Up @@ -675,7 +685,7 @@ private void executeHelp() {
outputLine("help|? -> ask for this help");
outputLine("info types -> prints available types");
outputLine("info transaction -> prints current transaction");
outputLine("list databases |remote:<url> <user> <pw> -> lists databases");
outputLine("list databases |remote:<url> <user> <pw> -> prints list of databases");
outputLine("load <path> -> runs local script");
outputLine("rollback -> rolls back current transaction");
outputLine("set language = sql|sqlscript|cypher|gremlin|mongo -> sets console query language");
Expand Down