Package org.h2.tools
Class Shell
java.lang.Object
org.h2.util.Tool
org.h2.tools.Shell
- All Implemented Interfaces:
Runnable
Interactive command line tool to access a database using JDBC.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final char
private Connection
private PrintStream
private static final int
private InputStream
private boolean
private static final int
private int
private BufferedReader
private String
private Statement
private boolean
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate void
connect()
private Connection
private void
private boolean
static void
Options are case sensitive.protected void
Print the string without newline, and flush.private void
private int
printResult
(ResultSet rs, boolean asList) private int
private int
private int[]
private void
private String
readLine()
private String
private String
void
run()
INTERNAL.void
Run the shell tool with the given command line settings.void
runTool
(Connection conn, String... args) Run the shell tool with the given connection and command line settings.void
setErr
(PrintStream err) Sets the standard error stream.void
setIn
(InputStream in) Redirects the standard input.void
setInReader
(BufferedReader reader) Redirects the standard input.private void
showHelp()
Methods inherited from class org.h2.util.Tool
isOption, printNoDatabaseFilesFound, setOut, showUsage, showUsageAndThrowUnsupportedOption, throwUnsupportedOption
-
Field Details
-
MAX_ROW_BUFFER
private static final int MAX_ROW_BUFFER- See Also:
-
HISTORY_COUNT
private static final int HISTORY_COUNT- See Also:
-
BOX_VERTICAL
private static final char BOX_VERTICAL- See Also:
-
err
-
in
-
reader
-
conn
-
stat
-
listMode
private boolean listMode -
maxColumnSize
private int maxColumnSize -
history
-
stopHide
private boolean stopHide -
serverPropertiesDir
-
-
Constructor Details
-
Shell
public Shell()
-
-
Method Details
-
main
Options are case sensitive.Supported options [-help] or [-?] Print the list of options [-url "<url>"] The database URL (jdbc:h2:...) [-user <user>] The user name [-password <pwd>] The password [-driver <class>] The JDBC driver class to use (not required in most cases) [-sql "<statements>"] Execute the SQL statements and exit [-properties "<dir>"] Load the server properties from this directory - Parameters:
args
- the command line arguments- Throws:
SQLException
- on failure
-
setErr
Sets the standard error stream.- Parameters:
err
- the new standard error stream
-
setIn
Redirects the standard input. By default, System.in is used.- Parameters:
in
- the input stream to use
-
setInReader
Redirects the standard input. By default, System.in is used.- Parameters:
reader
- the input stream reader to use
-
runTool
Run the shell tool with the given command line settings.- Specified by:
runTool
in classTool
- Parameters:
args
- the command line settings- Throws:
SQLException
- on failure
-
runTool
Run the shell tool with the given connection and command line settings. The connection will be closed when the shell exits. This is primary used to integrate the Shell into another application.Note: using the "-url" option in
args
doesn't make much sense since it will override theconn
parameter.- Parameters:
conn
- the connectionargs
- the command line settings- Throws:
SQLException
- on failure
-
showHelp
private void showHelp() -
promptLoop
private void promptLoop() -
connect
- Throws:
IOException
SQLException
-
connectH2
private Connection connectH2(String driver, String url, String user) throws IOException, SQLException - Throws:
IOException
SQLException
-
print
Print the string without newline, and flush.- Parameters:
s
- the string to print
-
println
-
readPassword
- Throws:
IOException
-
run
public void run()INTERNAL. Hides the password by repeatedly printing backspace, backspace, >, <. -
readLine
- Throws:
IOException
-
readLine
- Throws:
IOException
-
execute
-
printResult
- Throws:
SQLException
-
printResultAsTable
- Throws:
SQLException
-
loadRow
- Throws:
SQLException
-
printRows
-
printResultAsList
- Throws:
SQLException
-