private Object sqlCommand(final String iExpectedCommand, String iReceivedCommand, final String iMessage, final boolean iIncludeResult) { checkForDatabase(); if (iReceivedCommand == null) return null; iReceivedCommand = iExpectedCommand + " " + iReceivedCommand.trim(); resetResultSet(); final long start = System.currentTimeMillis(); final Object result; try (OResultSet rs = currentDatabase.command(iReceivedCommand)) { result = rs.stream().map(x -> x.toElement()).collect(Collectors.toList()); } float elapsedSeconds = getElapsedSecs(start); if (iIncludeResult) message(iMessage, result, elapsedSeconds); else message(iMessage, elapsedSeconds); return result; } }
@ConsoleCommand(splitInWords = false, description = "Create a new edge into the database", onlineHelp = "SQL-Create-Edge") public void createEdge( @ConsoleParameter(name = "command-text", description = "The command text to execute") String iCommandText) { String command = "create " + iCommandText; resetResultSet(); final long start = System.currentTimeMillis(); OResultSet rs = currentDatabase.command(command); final List<OIdentifiable> result = rs.stream().map(x -> x.toElement()).collect(Collectors.toList()); rs.close(); float elapsedSeconds = getElapsedSecs(start); setResultset((List<OIdentifiable>) result); int displayLimit = Integer.parseInt(properties.get("limit")); dumpResultSet(displayLimit); message("\nCreated '%s' edges in %f sec(s).\n", ((List<OIdentifiable>) result).size(), elapsedSeconds); }
protected void executeServerSideScript(final String iLanguage, final String iText) { if (iText == null) return; resetResultSet(); long start = System.currentTimeMillis(); OResultSet rs = currentDatabase.execute(iLanguage, iText); currentResult = rs.stream().map(x -> x.toElement()).collect(Collectors.toList()); rs.close(); float elapsedSeconds = getElapsedSecs(start); parseResult(); if (currentResultSet != null) { dumpResultSet(-1); message("\nServer side script executed in %f sec(s). Returned %d records", elapsedSeconds, currentResultSet.size()); } else { String lineFeed = currentResult instanceof Map<?, ?> ? "\n" : ""; message("\nServer side script executed in %f sec(s). Value returned is: %s%s", elapsedSeconds, lineFeed, currentResult); } }
@ConsoleCommand(description = "Browse all records of a class", onlineHelp = "Console-Command-Browse-Class") public void browseClass(@ConsoleParameter(name = "class-name", description = "The name of the class") final String iClassName) { checkForDatabase(); resetResultSet(); final OIdentifiableIterator<?> it = currentDatabase.browseClass(iClassName); browseRecords(it); }
@ConsoleCommand(description = "Browse all records of a cluster", onlineHelp = "Console-Command-Browse-Cluster") public void browseCluster( @ConsoleParameter(name = "cluster-name", description = "The name of the cluster") final String iClusterName) { checkForDatabase(); resetResultSet(); final ORecordIteratorCluster<?> it = currentDatabase.browseCluster(iClusterName); browseRecords(it); }
@SuppressWarnings("unchecked") @ConsoleCommand(splitInWords = false, description = "Execute javascript commands in the console") public void js( @ConsoleParameter(name = "text", description = "The javascript to execute. Use 'db' to reference to a document database, 'gdb' for a graph database") final String iText) { if (iText == null) return; resetResultSet(); long start = System.currentTimeMillis(); while (true) { try { final OCommandExecutorScript cmd = new OCommandExecutorScript(); cmd.parse(new OCommandScript("Javascript", iText)); currentResult = cmd.execute(null); break; } catch (ORetryQueryException e) { continue; } } float elapsedSeconds = getElapsedSecs(start); parseResult(); if (currentResultSet != null) { dumpResultSet(-1); message("\nClient side script executed in %f sec(s). Returned %d records", elapsedSeconds, currentResultSet.size()); } else message("\nClient side script executed in %f sec(s). Value returned is: %s", elapsedSeconds, currentResult); }