提交 7c091a02 authored 作者: Thomas Mueller's avatar Thomas Mueller

--no commit message

--no commit message
上级 b492f851
...@@ -5,9 +5,9 @@ Initial Developer: H2 Group ...@@ -5,9 +5,9 @@ Initial Developer: H2 Group
--> -->
<html> <html>
<head> <head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>H2 Documentation</title> <title>H2 Documentation</title>
<link rel="stylesheet" type="text/css" href="stylesheet.css"> <link rel="stylesheet" type="text/css" href="stylesheet.css" />
</head> </head>
<body> <body>
...@@ -18,46 +18,46 @@ Initial Developer: H2 Group ...@@ -18,46 +18,46 @@ Initial Developer: H2 Group
<div class="menu"> <div class="menu">
<b><a href="overview.html" target="javadoc">API Overview</a></b><br> <b><a href="overview.html" target="javadoc">API Overview</a></b><br />
<br> <br />
<b>JDBC</b><br> <b>JDBC</b><br />
<a href="org/h2/jdbc/JdbcBlob.html" target="javadoc">Blob</a><br> <a href="org/h2/jdbc/JdbcBlob.html" target="javadoc">Blob</a><br />
<a href="org/h2/jdbc/JdbcCallableStatement.html" target="javadoc">CallableStatement</a><br> <a href="org/h2/jdbc/JdbcCallableStatement.html" target="javadoc">CallableStatement</a><br />
<a href="org/h2/jdbc/JdbcClob.html" target="javadoc">Clob</a><br> <a href="org/h2/jdbc/JdbcClob.html" target="javadoc">Clob</a><br />
<a href="org/h2/jdbc/JdbcConnection.html" target="javadoc">Connection</a><br> <a href="org/h2/jdbc/JdbcConnection.html" target="javadoc">Connection</a><br />
<a href="org/h2/jdbc/JdbcDatabaseMetaData.html" target="javadoc">DatabaseMetaData</a><br> <a href="org/h2/jdbc/JdbcDatabaseMetaData.html" target="javadoc">DatabaseMetaData</a><br />
<a href="org/h2/jdbc/JdbcParameterMetaData.html" target="javadoc">ParameterMetaData</a><br> <a href="org/h2/jdbc/JdbcParameterMetaData.html" target="javadoc">ParameterMetaData</a><br />
<a href="org/h2/jdbc/JdbcPreparedStatement.html" target="javadoc">PreparedStatement</a><br> <a href="org/h2/jdbc/JdbcPreparedStatement.html" target="javadoc">PreparedStatement</a><br />
<a href="org/h2/jdbc/JdbcResultSet.html" target="javadoc">ResultSet</a><br> <a href="org/h2/jdbc/JdbcResultSet.html" target="javadoc">ResultSet</a><br />
<a href="org/h2/jdbc/JdbcResultSetMetaData.html" target="javadoc">ResultSetMetaData</a><br> <a href="org/h2/jdbc/JdbcResultSetMetaData.html" target="javadoc">ResultSetMetaData</a><br />
<a href="org/h2/jdbc/JdbcSavepoint.html" target="javadoc">Savepoint</a><br> <a href="org/h2/jdbc/JdbcSavepoint.html" target="javadoc">Savepoint</a><br />
<a href="org/h2/jdbc/JdbcSQLException.html" target="javadoc">SQLException</a><br> <a href="org/h2/jdbc/JdbcSQLException.html" target="javadoc">SQLException</a><br />
<a href="org/h2/jdbc/JdbcStatement.html" target="javadoc">Statement</a><br> <a href="org/h2/jdbc/JdbcStatement.html" target="javadoc">Statement</a><br />
<br> <br />
<b>Tools</b><br> <b>Tools</b><br />
Package org.h2.tools<br> Package org.h2.tools<br />
<a href="org/h2/tools/Backup.html" target="javadoc">Backup</a><br> <a href="org/h2/tools/Backup.html" target="javadoc">Backup</a><br />
<a href="org/h2/tools/ChangePassword.html" target="javadoc">ChangePassword</a><br> <a href="org/h2/tools/ChangePassword.html" target="javadoc">ChangePassword</a><br />
<a href="org/h2/tools/CompressTool.html" target="javadoc">CompressTool</a><br> <a href="org/h2/tools/CompressTool.html" target="javadoc">CompressTool</a><br />
<a href="org/h2/tools/ConvertTraceFile.html" target="javadoc">ConvertTraceFile</a><br> <a href="org/h2/tools/ConvertTraceFile.html" target="javadoc">ConvertTraceFile</a><br />
<a href="org/h2/tools/CreateCluster.html" target="javadoc">CreateCluster</a><br> <a href="org/h2/tools/CreateCluster.html" target="javadoc">CreateCluster</a><br />
<a href="org/h2/tools/Csv.html" target="javadoc">Csv</a><br> <a href="org/h2/tools/Csv.html" target="javadoc">Csv</a><br />
<a href="org/h2/tools/DeleteDbFiles.html" target="javadoc">DeleteDbFiles</a><br> <a href="org/h2/tools/DeleteDbFiles.html" target="javadoc">DeleteDbFiles</a><br />
<a href="org/h2/tools/MultiDimension.html" target="javadoc">MultiDimension</a><br> <a href="org/h2/tools/MultiDimension.html" target="javadoc">MultiDimension</a><br />
<a href="org/h2/tools/Recover.html" target="javadoc">Recover</a><br> <a href="org/h2/tools/Recover.html" target="javadoc">Recover</a><br />
<a href="org/h2/tools/RunScript.html" target="javadoc">RunScript</a><br> <a href="org/h2/tools/RunScript.html" target="javadoc">RunScript</a><br />
<a href="org/h2/tools/Server.html" target="javadoc">Server</a><br> <a href="org/h2/tools/Server.html" target="javadoc">Server</a><br />
<a href="org/h2/tools/SimpleResultSet.html" target="javadoc">SimpleResultSet</a><br> <a href="org/h2/tools/SimpleResultSet.html" target="javadoc">SimpleResultSet</a><br />
<a href="org/h2/tools/SimpleRowSource.html" target="javadoc">SimpleRowSource</a><br> <a href="org/h2/tools/SimpleRowSource.html" target="javadoc">SimpleRowSource</a><br />
<br> <br />
<b>Interfaces</b><br> <b>Interfaces</b><br />
Package org.h2.api<br> Package org.h2.api<br />
<a href="org/h2/api/DatabaseEventListener.html" target="javadoc">DatabaseEventListener</a><br> <a href="org/h2/api/DatabaseEventListener.html" target="javadoc">DatabaseEventListener</a><br />
<a href="org/h2/api/Trigger.html" target="javadoc">Trigger</a><br> <a href="org/h2/api/Trigger.html" target="javadoc">Trigger</a><br />
<br> <br />
</div> </div>
......
...@@ -5,13 +5,13 @@ Initial Developer: H2 Group ...@@ -5,13 +5,13 @@ Initial Developer: H2 Group
--> -->
<html> <html>
<head> <head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>H2 Documentation</title> <title>H2 Documentation</title>
<link rel="stylesheet" type="text/css" href="stylesheet.css"> <link rel="stylesheet" type="text/css" href="stylesheet.css" />
</head> </head>
<frameset cols="175,*" rows="*" frameborder="2" framespacing="4" border="4" > <frameset cols="175,*" rows="*" frameborder="2" framespacing="4" border="4" >
<frame frameborder="0" marginheight="0" marginwidth="0" src="classes.html" name="classes"> <frame frameborder="0" marginheight="0" marginwidth="0" src="classes.html" name="classes" />
<frame frameborder="0" marginheight="0" marginwidth="0" src="overview.html" name="javadoc"> <frame frameborder="0" marginheight="0" marginwidth="0" src="overview.html" name="javadoc" />
</frameset> </frameset>
<noframes> <noframes>
<body> <body>
......
...@@ -5,9 +5,9 @@ Initial Developer: H2 Group ...@@ -5,9 +5,9 @@ Initial Developer: H2 Group
--> -->
<html> <html>
<head> <head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>API Overview</title> <title>API Overview</title>
<link rel="stylesheet" type="text/css" href="stylesheet.css"> <link rel="stylesheet" type="text/css" href="stylesheet.css" />
</head> </head>
<body> <body>
<table style="width: 100%; height: 100%; border: 0px;"> <table style="width: 100%; height: 100%; border: 0px;">
......
...@@ -452,8 +452,10 @@ public class Parser { ...@@ -452,8 +452,10 @@ public class Parser {
int type = TransactionCommand.SHUTDOWN; int type = TransactionCommand.SHUTDOWN;
if(readIf("IMMEDIATELY")) { if(readIf("IMMEDIATELY")) {
type = TransactionCommand.SHUTDOWN_IMMEDIATELY; type = TransactionCommand.SHUTDOWN_IMMEDIATELY;
} else if(readIf("COMPACT")) { } else {
} else if(readIf("SCRIPT")) { if(!readIf("COMPACT")) {
readIf("SCRIPT");
}
} }
TransactionCommand command = new TransactionCommand(session, type); TransactionCommand command = new TransactionCommand(session, type);
return command; return command;
......
...@@ -204,39 +204,43 @@ public class Script extends ScriptBase { ...@@ -204,39 +204,43 @@ public class Script extends ScriptBase {
Index index = plan.getIndex(); Index index = plan.getIndex();
Cursor cursor = index.find(session, null, null); Cursor cursor = index.find(session, null, null);
Column[] columns = table.getColumns(); Column[] columns = table.getColumns();
String ins = "INSERT INTO " + table.getSQL() + "("; StringBuffer buff = new StringBuffer();
buff.append("INSERT INTO ");
buff.append(table.getSQL());
buff.append('(');
for(int j=0; j<columns.length; j++) { for(int j=0; j<columns.length; j++) {
if(j>0) { if(j>0) {
ins += ", "; buff.append(", ");
} }
ins += Parser.quoteIdentifier(columns[j].getName()); buff.append(Parser.quoteIdentifier(columns[j].getName()));
} }
ins += ") VALUES("; buff.append(") VALUES(");
String ins = buff.toString();
while(cursor.next()) { while(cursor.next()) {
Row row = cursor.get(); Row row = cursor.get();
String s = ins; buff = new StringBuffer(ins);
for(int j=0; j<row.getColumnCount(); j++) { for(int j=0; j<row.getColumnCount(); j++) {
if(j>0) { if(j>0) {
s += ", "; buff.append(", ");
} }
Value v = row.getValue(j); Value v = row.getValue(j);
if(v.getPrecision() > lobBlockSize) { if(v.getPrecision() > lobBlockSize) {
int id; int id;
if(v.getType() == Value.CLOB) { if(v.getType() == Value.CLOB) {
id = writeLobStream((ValueLob)v); id = writeLobStream((ValueLob)v);
s += "SYSTEM_COMBINE_CLOB("+id+")"; buff.append("SYSTEM_COMBINE_CLOB("+id+")");
} else if(v.getType() == Value.BLOB) { } else if(v.getType() == Value.BLOB) {
id = writeLobStream((ValueLob)v); id = writeLobStream((ValueLob)v);
s += "SYSTEM_COMBINE_BLOB("+id+")"; buff.append("SYSTEM_COMBINE_BLOB("+id+")");
} else { } else {
s += v.getSQL(); buff.append(v.getSQL());
} }
} else { } else {
s += v.getSQL(); buff.append(v.getSQL());
} }
} }
s += ")"; buff.append(")");
add(s, true); add(buff.toString(), true);
} }
} }
} }
......
...@@ -222,17 +222,16 @@ public class Constants { ...@@ -222,17 +222,16 @@ public class Constants {
public static final int CACHE_MIN_RECORDS = 16; public static final int CACHE_MIN_RECORDS = 16;
public static final int MIN_WRITE_DELAY = getIntSetting("h2.minWriteDelay", 5); public static final int MIN_WRITE_DELAY = getIntSetting("h2.minWriteDelay", 5);
public static boolean CHECK = getBooleanSetting("h2.check", true);
public static final boolean CHECK2 = getBooleanSetting("h2.check2", false); public static final boolean CHECK2 = getBooleanSetting("h2.check2", false);
// TODO: also remove DataHandler.allocateObjectId, createTempFile when setting this to true and removing it // TODO: also remove DataHandler.allocateObjectId, createTempFile when setting this to true and removing it
public static final boolean LOB_FILES_IN_DIRECTORIES = getBooleanSetting("h2.lobFilesInDirectories", false); public static final boolean LOB_FILES_IN_DIRECTORIES = getBooleanSetting("h2.lobFilesInDirectories", false);
public static final int LOB_FILES_PER_DIRECTORY = getIntSetting("h2.lobFilesPerDirectory", 256); public static final int LOB_FILES_PER_DIRECTORY = getIntSetting("h2.lobFilesPerDirectory", 256);
public static boolean CHECK = getBooleanSetting("h2.check", true);
public static boolean MULTI_THREADED_KERNEL = getBooleanSetting("h2.multiThreadedKernel", false); public static boolean MULTI_THREADED_KERNEL = getBooleanSetting("h2.multiThreadedKernel", false);
public static boolean RUN_FINALIZE = getBooleanSetting("h2.runFinalize", true); public static boolean RUN_FINALIZE = getBooleanSetting("h2.runFinalize", true);
public static String SCRIPT_DIRECTORY = getStringSetting("h2.scriptDirectory", "");
public static final boolean OPTIMIZE_MIN_MAX = getBooleanSetting("h2.optimizeMinMax", true); public static final boolean OPTIMIZE_MIN_MAX = getBooleanSetting("h2.optimizeMinMax", true);
public static final boolean OPTIMIZE_IN = getBooleanSetting("h2.optimizeIn", true); public static final boolean OPTIMIZE_IN = getBooleanSetting("h2.optimizeIn", true);
...@@ -250,7 +249,6 @@ public class Constants { ...@@ -250,7 +249,6 @@ public class Constants {
public static final int OBJECT_CACHE_SIZE = getIntSetting("h2.objectCacheSize", 1024); public static final int OBJECT_CACHE_SIZE = getIntSetting("h2.objectCacheSize", 1024);
public static final int OBJECT_CACHE_MAX_PER_ELEMENT_SIZE = getIntSetting("h2.objectCacheMaxPerElementSize", 4096); public static final int OBJECT_CACHE_MAX_PER_ELEMENT_SIZE = getIntSetting("h2.objectCacheMaxPerElementSize", 4096);
public static final String CLIENT_TRACE_DIRECTORY = getStringSetting("h2.clientTraceDirectory", "trace.db/"); public static final String CLIENT_TRACE_DIRECTORY = getStringSetting("h2.clientTraceDirectory", "trace.db/");
public static String SCRIPT_DIRECTORY = getStringSetting("h2.scriptDirectory", "");
public static boolean getBooleanSetting(String name, boolean defaultValue) { public static boolean getBooleanSetting(String name, boolean defaultValue) {
String s = System.getProperty(name); String s = System.getProperty(name);
......
...@@ -173,10 +173,10 @@ public class FullText implements Trigger { ...@@ -173,10 +173,10 @@ public class FullText implements Trigger {
* This adds the following Java functions to the database: * This adds the following Java functions to the database:
* <ul> * <ul>
* <li>FT_CREATE_INDEX(schemaNameString, tableNameString, columnListString) * <li>FT_CREATE_INDEX(schemaNameString, tableNameString, columnListString)
* <li>FT_SEARCH(queryString, limitInt, offsetInt): result set * </li><li>FT_SEARCH(queryString, limitInt, offsetInt): result set
* <li>FT_REINDEX() * </li><li>FT_REINDEX()
* <li>FT_DROP_ALL() * </li><li>FT_DROP_ALL()
* </ul> * </li></ul>
* It also adds a schema FULLTEXT to the database where bookkeeping information is stored. * It also adds a schema FULLTEXT to the database where bookkeeping information is stored.
* This function may be called from a Java application, or by using the SQL statements: * This function may be called from a Java application, or by using the SQL statements:
* <pre> * <pre>
......
...@@ -165,10 +165,10 @@ public class FullTextLucene implements Trigger { ...@@ -165,10 +165,10 @@ public class FullTextLucene implements Trigger {
* database: * database:
* <ul> * <ul>
* <li>FTL_CREATE_INDEX(schemaNameString, tableNameString, columnListString) * <li>FTL_CREATE_INDEX(schemaNameString, tableNameString, columnListString)
* <li>FTL_SEARCH(queryString, limitInt, offsetInt): result set * </li><li>FTL_SEARCH(queryString, limitInt, offsetInt): result set
* <li>FTL_REINDEX() * </li><li>FTL_REINDEX()
* <li>FTL_DROP_ALL() * </li><li>FTL_DROP_ALL()
* </ul> * </li></ul>
* It also adds a schema FTL to the database where bookkeeping information is stored. This function may be * It also adds a schema FTL to the database where bookkeeping information is stored. This function may be
* called from a Java application, or by using the SQL statements: * called from a Java application, or by using the SQL statements:
* *
......
...@@ -86,13 +86,12 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat ...@@ -86,13 +86,12 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat
* *
* <ul> * <ul>
* <li>1 TABLE_CAT (String) table catalog * <li>1 TABLE_CAT (String) table catalog
* <li>2 TABLE_SCHEM (String) table schema * </li><li>2 TABLE_SCHEM (String) table schema
* <li>3 TABLE_NAME (String) table name * </li><li>3 TABLE_NAME (String) table name
* <li>4 TABLE_TYPE (String) table type * </li><li>4 TABLE_TYPE (String) table type
* <li>5 REMARKS (String) comment * </li><li>5 REMARKS (String) comment
* * </li><li>6 SQL (String) the create table statement or NULL for systems tables
* <li>6 SQL (String) the create table statement or NULL for systems tables * </li></ul>
* </ul>
* *
* @param catalog null (to get all objects) or the catalog name * @param catalog null (to get all objects) or the catalog name
* @param schemaPattern null (to get all objects) or a schema name (uppercase for unquoted names) * @param schemaPattern null (to get all objects) or a schema name (uppercase for unquoted names)
...@@ -156,24 +155,24 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat ...@@ -156,24 +155,24 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat
* *
* <ul> * <ul>
* <li>1 TABLE_CAT (String) table catalog * <li>1 TABLE_CAT (String) table catalog
* <li>2 TABLE_SCHEM (String) table schema * </li><li>2 TABLE_SCHEM (String) table schema
* <li>3 TABLE_NAME (String) table name * </li><li>3 TABLE_NAME (String) table name
* <li>4 COLUMN_NAME (String) column name * </li><li>4 COLUMN_NAME (String) column name
* <li>5 DATA_TYPE (short) data type (see java.sql.Types) * </li><li>5 DATA_TYPE (short) data type (see java.sql.Types)
* <li>6 TYPE_NAME (String) data type name ("INTEGER", "VARCHAR",...) * </li><li>6 TYPE_NAME (String) data type name ("INTEGER", "VARCHAR",...)
* <li>7 COLUMN_SIZE (int) precision * </li><li>7 COLUMN_SIZE (int) precision
* <li>8 BUFFER_LENGTH (int) unused * </li><li>8 BUFFER_LENGTH (int) unused
* <li>9 DECIMAL_DIGITS (int) scale (0 for INTEGER and VARCHAR) * </li><li>9 DECIMAL_DIGITS (int) scale (0 for INTEGER and VARCHAR)
* <li>10 NUM_PREC_RADIX (int) radix (always 10) * </li><li>10 NUM_PREC_RADIX (int) radix (always 10)
* <li>11 NULLABLE (int) nullable or not. columnNoNulls or columnNullable * </li><li>11 NULLABLE (int) nullable or not. columnNoNulls or columnNullable
* <li>12 REMARKS (String) comment (always empty) * </li><li>12 REMARKS (String) comment (always empty)
* <li>13 COLUMN_DEF (String) default value * </li><li>13 COLUMN_DEF (String) default value
* <li>14 SQL_DATA_TYPE (int) unused * </li><li>14 SQL_DATA_TYPE (int) unused
* <li>15 SQL_DATETIME_SUB (int) unused * </li><li>15 SQL_DATETIME_SUB (int) unused
* <li>16 CHAR_OCTET_LENGTH (int) unused * </li><li>16 CHAR_OCTET_LENGTH (int) unused
* <li>17 ORDINAL_POSITION (int) the column index (1,2,...) * </li><li>17 ORDINAL_POSITION (int) the column index (1,2,...)
* <li>18 IS_NULLABLE (String) "NO" or "YES" * </li><li>18 IS_NULLABLE (String) "NO" or "YES"
* </ul> * </li></ul>
* *
* @param catalog null (to get all objects) or the catalog name * @param catalog null (to get all objects) or the catalog name
* @param schemaPattern null (to get all objects) or a schema name (uppercase for unquoted names) * @param schemaPattern null (to get all objects) or a schema name (uppercase for unquoted names)
...@@ -236,19 +235,19 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat ...@@ -236,19 +235,19 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat
* *
* <ul> * <ul>
* <li>1 TABLE_CAT (String) table catalog * <li>1 TABLE_CAT (String) table catalog
* <li>2 TABLE_SCHEM (String) table schema * </li><li>2 TABLE_SCHEM (String) table schema
* <li>3 TABLE_NAME (String) table name * </li><li>3 TABLE_NAME (String) table name
* <li>4 NON_UNIQUE (boolean) 'false' for unique, 'true' for non-unique * </li><li>4 NON_UNIQUE (boolean) 'false' for unique, 'true' for non-unique
* <li>5 INDEX_QUALIFIER (String) index catalog * </li><li>5 INDEX_QUALIFIER (String) index catalog
* <li>6 INDEX_NAME (String) index name * </li><li>6 INDEX_NAME (String) index name
* <li>7 TYPE (short) the index type (always tableIndexOther) * </li><li>7 TYPE (short) the index type (always tableIndexOther)
* <li>8 ORDINAL_POSITION (short) column index (1, 2, ...) * </li><li>8 ORDINAL_POSITION (short) column index (1, 2, ...)
* <li>9 COLUMN_NAME (String) column name * </li><li>9 COLUMN_NAME (String) column name
* <li>10 ASC_OR_DESC (String) ascending or descending (always 'A') * </li><li>10 ASC_OR_DESC (String) ascending or descending (always 'A')
* <li>11 CARDINALITY (int) numbers of unique values * </li><li>11 CARDINALITY (int) numbers of unique values
* <li>12 PAGES (int) number of pages use (always 0) * </li><li>12 PAGES (int) number of pages use (always 0)
* <li>13 FILTER_CONDITION (String) filter condition (always empty) * </li><li>13 FILTER_CONDITION (String) filter condition (always empty)
* </ul> * </li></ul>
* *
* @param catalog null (to get all objects) or the catalog name * @param catalog null (to get all objects) or the catalog name
* @param schema schema name (must be specified) * @param schema schema name (must be specified)
...@@ -311,12 +310,12 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat ...@@ -311,12 +310,12 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat
* *
* <ul> * <ul>
* <li>1 TABLE_CAT (String) table catalog * <li>1 TABLE_CAT (String) table catalog
* <li>2 TABLE_SCHEM (String) table schema * </li><li>2 TABLE_SCHEM (String) table schema
* <li>3 TABLE_NAME (String) table name * </li><li>3 TABLE_NAME (String) table name
* <li>4 COLUMN_NAME (String) column name * </li><li>4 COLUMN_NAME (String) column name
* <li>5 KEY_SEQ (short) the column index of this column (1,2,...) * </li><li>5 KEY_SEQ (short) the column index of this column (1,2,...)
* <li>6 PK_NAME (String) always 'PRIMARY_KEY' * </li><li>6 PK_NAME (String) always 'PRIMARY_KEY'
* </ul> * </li></ul>
* *
* @param catalog null (to get all objects) or the catalog name * @param catalog null (to get all objects) or the catalog name
* @param schema schema name (must be specified) * @param schema schema name (must be specified)
...@@ -473,15 +472,15 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat ...@@ -473,15 +472,15 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat
* *
* <ul> * <ul>
* <li>1 PROCEDURE_CAT (String) catalog * <li>1 PROCEDURE_CAT (String) catalog
* <li>2 PROCEDURE_SCHEM (String) schema * </li><li>2 PROCEDURE_SCHEM (String) schema
* <li>3 PROCEDURE_NAME (String) name * </li><li>3 PROCEDURE_NAME (String) name
* <li>4 NUM_INPUT_PARAMS (int) for future use, always 0 * </li><li>4 NUM_INPUT_PARAMS (int) for future use, always 0
* <li>5 NUM_OUTPUT_PARAMS (int) for future use, always 0 * </li><li>5 NUM_OUTPUT_PARAMS (int) for future use, always 0
* <li>6 NUM_RESULT_SETS (int) for future use, always 0 * </li><li>6 NUM_RESULT_SETS (int) for future use, always 0
* <li>7 REMARKS (String) description * </li><li>7 REMARKS (String) description
* <li>8 PROCEDURE_TYPE (short) if this procedure returns a result * </li><li>8 PROCEDURE_TYPE (short) if this procedure returns a result
* (procedureNoResult or procedureReturnsResult) * (procedureNoResult or procedureReturnsResult)
* </ul> * </li></ul>
* *
* @return an empty result set * @return an empty result set
* @throws SQLException if the connection is closed * @throws SQLException if the connection is closed
...@@ -524,19 +523,19 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat ...@@ -524,19 +523,19 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat
* *
* <ul> * <ul>
* <li>1 PROCEDURE_CAT (String) catalog * <li>1 PROCEDURE_CAT (String) catalog
* <li>2 PROCEDURE_SCHEM (String) schema * </li><li>2 PROCEDURE_SCHEM (String) schema
* <li>3 PROCEDURE_NAME (String) name * </li><li>3 PROCEDURE_NAME (String) name
* <li>4 COLUMN_NAME (String) column name * </li><li>4 COLUMN_NAME (String) column name
* <li>5 COLUMN_TYPE (short) column type * </li><li>5 COLUMN_TYPE (short) column type
* <li>6 DATA_TYPE (short) sql type * </li><li>6 DATA_TYPE (short) sql type
* <li>7 TYPE_NAME (String) type name * </li><li>7 TYPE_NAME (String) type name
* <li>8 PRECISION (int) precision * </li><li>8 PRECISION (int) precision
* <li>9 LENGTH (int) length * </li><li>9 LENGTH (int) length
* <li>10 SCALE (short) scale * </li><li>10 SCALE (short) scale
* <li>11 RADIX (int) always 10 * </li><li>11 RADIX (int) always 10
* <li>12 NULLABLE (short) nullable * </li><li>12 NULLABLE (short) nullable
* <li>13 REMARKS (String) description * </li><li>13 REMARKS (String) description
* </ul> * </li></ul>
* *
* @throws SQLException if the connection is closed * @throws SQLException if the connection is closed
*/ */
...@@ -587,9 +586,9 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat ...@@ -587,9 +586,9 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat
* *
* <ul> * <ul>
* <li>1 TABLE_SCHEM (String) schema name * <li>1 TABLE_SCHEM (String) schema name
* <li>2 TABLE_CATALOG (String) catalog name * </li><li>2 TABLE_CATALOG (String) catalog name
* <li>3 IS_DEFAULT (boolean) if this is the default schema * </li><li>3 IS_DEFAULT (boolean) if this is the default schema
* </ul> * </li></ul>
* *
* @return the schema list * @return the schema list
* @throws SQLException if the connection is closed * @throws SQLException if the connection is closed
...@@ -617,7 +616,7 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat ...@@ -617,7 +616,7 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat
* *
* <ul> * <ul>
* <li>1 TABLE_CAT (String) catalog name * <li>1 TABLE_CAT (String) catalog name
* </ul> * </li></ul>
* *
* @return the catalog list * @return the catalog list
* @throws SQLException if the connection is closed * @throws SQLException if the connection is closed
...@@ -642,7 +641,7 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat ...@@ -642,7 +641,7 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat
* *
* <ul> * <ul>
* <li>1 TABLE_TYPE (String) table type * <li>1 TABLE_TYPE (String) table type
* </ul> * </li></ul>
* *
* @return the table types * @return the table types
* @throws SQLException if the connection is closed * @throws SQLException if the connection is closed
...@@ -667,14 +666,14 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat ...@@ -667,14 +666,14 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat
* *
* <ul> * <ul>
* <li>1 TABLE_CAT (String) table catalog * <li>1 TABLE_CAT (String) table catalog
* <li>2 TABLE_SCHEM (String) table schema * </li><li>2 TABLE_SCHEM (String) table schema
* <li>3 TABLE_NAME (String) table name * </li><li>3 TABLE_NAME (String) table name
* <li>4 COLUMN_NAME (String) column name * </li><li>4 COLUMN_NAME (String) column name
* <li>5 GRANTOR (String) grantor of access * </li><li>5 GRANTOR (String) grantor of access
* <li>6 GRANTEE (String) grantee of access * </li><li>6 GRANTEE (String) grantee of access
* <li>7 PRIVILEGE (String) SELECT, INSERT, UPDATE, DELETE or REFERENCES (only one per row) * </li><li>7 PRIVILEGE (String) SELECT, INSERT, UPDATE, DELETE or REFERENCES (only one per row)
* <li>8 IS_GRANTABLE (String) YES means the grantee can grant access to others * </li><li>8 IS_GRANTABLE (String) YES means the grantee can grant access to others
* </ul> * </li></ul>
* *
* @param catalog null (to get all objects) or the catalog name * @param catalog null (to get all objects) or the catalog name
* @param schema null (to get all objects) or a schema name (uppercase for unquoted names) * @param schema null (to get all objects) or a schema name (uppercase for unquoted names)
...@@ -725,13 +724,13 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat ...@@ -725,13 +724,13 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat
* *
* <ul> * <ul>
* <li>1 TABLE_CAT (String) table catalog * <li>1 TABLE_CAT (String) table catalog
* <li>2 TABLE_SCHEM (String) table schema * </li><li>2 TABLE_SCHEM (String) table schema
* <li>3 TABLE_NAME (String) table name * </li><li>3 TABLE_NAME (String) table name
* <li>4 GRANTOR (String) grantor of access * </li><li>4 GRANTOR (String) grantor of access
* <li>5 GRANTEE (String) grantee of access * </li><li>5 GRANTEE (String) grantee of access
* <li>6 PRIVILEGE (String) SELECT, INSERT, UPDATE, DELETE or REFERENCES (only one per row) * </li><li>6 PRIVILEGE (String) SELECT, INSERT, UPDATE, DELETE or REFERENCES (only one per row)
* <li>7 IS_GRANTABLE (String) YES means the grantee can grant access to others * </li><li>7 IS_GRANTABLE (String) YES means the grantee can grant access to others
* </ul> * </li></ul>
* *
* @param catalog null (to get all objects) or the catalog name * @param catalog null (to get all objects) or the catalog name
* @param schemaPattern null (to get all objects) or a schema name (uppercase for unquoted names) * @param schemaPattern null (to get all objects) or a schema name (uppercase for unquoted names)
...@@ -776,14 +775,14 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat ...@@ -776,14 +775,14 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat
* *
* <ul> * <ul>
* <li>1 SCOPE (short) scope of result (always bestRowSession) * <li>1 SCOPE (short) scope of result (always bestRowSession)
* <li>2 COLUMN_NAME (String) column name * </li><li>2 COLUMN_NAME (String) column name
* <li>3 DATA_TYPE (short) SQL data type, see also java.sql.Types * </li><li>3 DATA_TYPE (short) SQL data type, see also java.sql.Types
* <li>4 TYPE_NAME (String) type name * </li><li>4 TYPE_NAME (String) type name
* <li>5 COLUMN_SIZE (int) precision * </li><li>5 COLUMN_SIZE (int) precision
* <li>6 BUFFER_LENGTH (int) unused * </li><li>6 BUFFER_LENGTH (int) unused
* <li>7 DECIMAL_DIGITS (short) scale * </li><li>7 DECIMAL_DIGITS (short) scale
* <li>8 PSEUDO_COLUMN (short) (always bestRowNotPseudo) * </li><li>8 PSEUDO_COLUMN (short) (always bestRowNotPseudo)
* </ul> * </li></ul>
* *
* @param catalog null (to get all objects) or the catalog name * @param catalog null (to get all objects) or the catalog name
* @param schema schema name (must be specified) * @param schema schema name (must be specified)
...@@ -838,14 +837,14 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat ...@@ -838,14 +837,14 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat
* *
* <ul> * <ul>
* <li>1 SCOPE (int) not used * <li>1 SCOPE (int) not used
* <li>2 COLUMN_NAME (String) column name * </li><li>2 COLUMN_NAME (String) column name
* <li>3 DATA_TYPE (int) SQL data type - see also java.sql.Types * </li><li>3 DATA_TYPE (int) SQL data type - see also java.sql.Types
* <li>4 TYPE_NAME (String) data type name * </li><li>4 TYPE_NAME (String) data type name
* <li>5 COLUMN_SIZE (int) precision * </li><li>5 COLUMN_SIZE (int) precision
* <li>6 BUFFER_LENGTH (int) length (bytes) * </li><li>6 BUFFER_LENGTH (int) length (bytes)
* <li>7 DECIMAL_DIGITS (int) scale * </li><li>7 DECIMAL_DIGITS (int) scale
* <li>8 PSEUDO_COLUMN (int) is this column a pseudo column * </li><li>8 PSEUDO_COLUMN (int) is this column a pseudo column
* </ul> * </li></ul>
* *
* @param catalog null (to get all objects) or the catalog name * @param catalog null (to get all objects) or the catalog name
* @param schema schema name (must be specified) * @param schema schema name (must be specified)
...@@ -886,20 +885,20 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat ...@@ -886,20 +885,20 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat
* *
* <ul> * <ul>
* <li>1 PKTABLE_CAT (String) primary catalog * <li>1 PKTABLE_CAT (String) primary catalog
* <li>2 PKTABLE_SCHEM (String) primary schema * </li><li>2 PKTABLE_SCHEM (String) primary schema
* <li>3 PKTABLE_NAME (String) primary table * </li><li>3 PKTABLE_NAME (String) primary table
* <li>4 PKCOLUMN_NAME (String) primary column * </li><li>4 PKCOLUMN_NAME (String) primary column
* <li>5 FKTABLE_CAT (String) foreign catalog * </li><li>5 FKTABLE_CAT (String) foreign catalog
* <li>6 FKTABLE_SCHEM (String) foreign schema * </li><li>6 FKTABLE_SCHEM (String) foreign schema
* <li>7 FKTABLE_NAME (String) foreign table * </li><li>7 FKTABLE_NAME (String) foreign table
* <li>8 FKCOLUMN_NAME (String) foreign column * </li><li>8 FKCOLUMN_NAME (String) foreign column
* <li>9 KEY_SEQ (short) sequence number (1, 2, ...) * </li><li>9 KEY_SEQ (short) sequence number (1, 2, ...)
* <li>10 UPDATE_RULE (short) action on update (see DatabaseMetaData.importedKey...) * </li><li>10 UPDATE_RULE (short) action on update (see DatabaseMetaData.importedKey...)
* <li>11 DELETE_RULE (short) action on delete (see DatabaseMetaData.importedKey...) * </li><li>11 DELETE_RULE (short) action on delete (see DatabaseMetaData.importedKey...)
* <li>12 FK_NAME (String) foreign key name * </li><li>12 FK_NAME (String) foreign key name
* <li>13 PK_NAME (String) primary key name * </li><li>13 PK_NAME (String) primary key name
* <li>14 DEFERRABILITY (short) deferrable or not (always importedKeyNotDeferrable) * </li><li>14 DEFERRABILITY (short) deferrable or not (always importedKeyNotDeferrable)
* </ul> * </li></ul>
* *
* @param catalog null (to get all objects) or the catalog name * @param catalog null (to get all objects) or the catalog name
* @param schema the schema name of the foreign table * @param schema the schema name of the foreign table
...@@ -951,20 +950,20 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat ...@@ -951,20 +950,20 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat
* *
* <ul> * <ul>
* <li>1 PKTABLE_CAT (String) primary catalog * <li>1 PKTABLE_CAT (String) primary catalog
* <li>2 PKTABLE_SCHEM (String) primary schema * </li><li>2 PKTABLE_SCHEM (String) primary schema
* <li>3 PKTABLE_NAME (String) primary table * </li><li>3 PKTABLE_NAME (String) primary table
* <li>4 PKCOLUMN_NAME (String) primary column * </li><li>4 PKCOLUMN_NAME (String) primary column
* <li>5 FKTABLE_CAT (String) foreign catalog * </li><li>5 FKTABLE_CAT (String) foreign catalog
* <li>6 FKTABLE_SCHEM (String) foreign schema * </li><li>6 FKTABLE_SCHEM (String) foreign schema
* <li>7 FKTABLE_NAME (String) foreign table * </li><li>7 FKTABLE_NAME (String) foreign table
* <li>8 FKCOLUMN_NAME (String) foreign column * </li><li>8 FKCOLUMN_NAME (String) foreign column
* <li>9 KEY_SEQ (short) sequence number (1,2,...) * </li><li>9 KEY_SEQ (short) sequence number (1,2,...)
* <li>10 UPDATE_RULE (short) action on update (see DatabaseMetaData.importedKey...) * </li><li>10 UPDATE_RULE (short) action on update (see DatabaseMetaData.importedKey...)
* <li>11 DELETE_RULE (short) action on delete (see DatabaseMetaData.importedKey...) * </li><li>11 DELETE_RULE (short) action on delete (see DatabaseMetaData.importedKey...)
* <li>12 FK_NAME (String) foreign key name * </li><li>12 FK_NAME (String) foreign key name
* <li>13 PK_NAME (String) primary key name * </li><li>13 PK_NAME (String) primary key name
* <li>14 DEFERRABILITY (short) deferrable or not (always importedKeyNotDeferrable) * </li><li>14 DEFERRABILITY (short) deferrable or not (always importedKeyNotDeferrable)
* </ul> * </li></ul>
* *
* @param catalog null (to get all objects) or the catalog name * @param catalog null (to get all objects) or the catalog name
* @param schema the schema name of the primary table * @param schema the schema name of the primary table
...@@ -1018,20 +1017,20 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat ...@@ -1018,20 +1017,20 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat
* *
* <ul> * <ul>
* <li>1 PKTABLE_CAT (String) primary catalog * <li>1 PKTABLE_CAT (String) primary catalog
* <li>2 PKTABLE_SCHEM (String) primary schema * </li><li>2 PKTABLE_SCHEM (String) primary schema
* <li>3 PKTABLE_NAME (String) primary table * </li><li>3 PKTABLE_NAME (String) primary table
* <li>4 PKCOLUMN_NAME (String) primary column * </li><li>4 PKCOLUMN_NAME (String) primary column
* <li>5 FKTABLE_CAT (String) foreign catalog * </li><li>5 FKTABLE_CAT (String) foreign catalog
* <li>6 FKTABLE_SCHEM (String) foreign schema * </li><li>6 FKTABLE_SCHEM (String) foreign schema
* <li>7 FKTABLE_NAME (String) foreign table * </li><li>7 FKTABLE_NAME (String) foreign table
* <li>8 FKCOLUMN_NAME (String) foreign column * </li><li>8 FKCOLUMN_NAME (String) foreign column
* <li>9 KEY_SEQ (short) sequence number (1,2,...) * </li><li>9 KEY_SEQ (short) sequence number (1,2,...)
* <li>10 UPDATE_RULE (short) action on update (see DatabaseMetaData.importedKey...) * </li><li>10 UPDATE_RULE (short) action on update (see DatabaseMetaData.importedKey...)
* <li>11 DELETE_RULE (short) action on delete (see DatabaseMetaData.importedKey...) * </li><li>11 DELETE_RULE (short) action on delete (see DatabaseMetaData.importedKey...)
* <li>12 FK_NAME (String) foreign key name * </li><li>12 FK_NAME (String) foreign key name
* <li>13 PK_NAME (String) primary key name * </li><li>13 PK_NAME (String) primary key name
* <li>14 DEFERRABILITY (short) deferrable or not (always importedKeyNotDeferrable) * </li><li>14 DEFERRABILITY (short) deferrable or not (always importedKeyNotDeferrable)
* </ul> * </li></ul>
* *
* @param primaryCatalog ignored * @param primaryCatalog ignored
* @param primarySchema the schema name of the primary table (must be specified) * @param primarySchema the schema name of the primary table (must be specified)
...@@ -1097,13 +1096,13 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat ...@@ -1097,13 +1096,13 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat
* *
* <ul> * <ul>
* <li>1 TYPE_CAT (String) catalog * <li>1 TYPE_CAT (String) catalog
* <li>2 TYPE_SCHEM (String) schema * </li><li>2 TYPE_SCHEM (String) schema
* <li>3 TYPE_NAME (String) type name * </li><li>3 TYPE_NAME (String) type name
* <li>4 CLASS_NAME (String) Java class * </li><li>4 CLASS_NAME (String) Java class
* <li>5 DATA_TYPE (short) SQL Type - see also java.sql.Types * </li><li>5 DATA_TYPE (short) SQL Type - see also java.sql.Types
* <li>6 REMARKS (String) description * </li><li>6 REMARKS (String) description
* <li>7 BASE_TYPE (short) base type - see also java.sql.Types * </li><li>7 BASE_TYPE (short) base type - see also java.sql.Types
* </ul> * </li></ul>
* *
* @param catalog ignored * @param catalog ignored
* @param schemaPattern ignored * @param schemaPattern ignored
...@@ -1147,24 +1146,24 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat ...@@ -1147,24 +1146,24 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat
* *
* <ul> * <ul>
* <li>1 TYPE_NAME (String) type name * <li>1 TYPE_NAME (String) type name
* <li>2 DATA_TYPE (short) SQL data type - see also java.sql.Types * </li><li>2 DATA_TYPE (short) SQL data type - see also java.sql.Types
* <li>3 PRECISION (int) maximum precision * </li><li>3 PRECISION (int) maximum precision
* <li>4 LITERAL_PREFIX (String) prefix used to quote a literal * </li><li>4 LITERAL_PREFIX (String) prefix used to quote a literal
* <li>5 LITERAL_SUFFIX (String) suffix used to quote a literal * </li><li>5 LITERAL_SUFFIX (String) suffix used to quote a literal
* <li>6 CREATE_PARAMS (String) parameters used (may be null) * </li><li>6 CREATE_PARAMS (String) parameters used (may be null)
* <li>7 NULLABLE (short) typeNoNulls (NULL not allowed) or typeNullable * </li><li>7 NULLABLE (short) typeNoNulls (NULL not allowed) or typeNullable
* <li>8 CASE_SENSITIVE (boolean) case sensitive * </li><li>8 CASE_SENSITIVE (boolean) case sensitive
* <li>9 SEARCHABLE (short) typeSearchable * </li><li>9 SEARCHABLE (short) typeSearchable
* <li>10 UNSIGNED_ATTRIBUTE (boolean) unsigned * </li><li>10 UNSIGNED_ATTRIBUTE (boolean) unsigned
* <li>11 FIXED_PREC_SCALE (boolean) fixed precision * </li><li>11 FIXED_PREC_SCALE (boolean) fixed precision
* <li>12 AUTO_INCREMENT (boolean) auto increment * </li><li>12 AUTO_INCREMENT (boolean) auto increment
* <li>13 LOCAL_TYPE_NAME (String) localized version of the data type * </li><li>13 LOCAL_TYPE_NAME (String) localized version of the data type
* <li>14 MINIMUM_SCALE (short) minimum scale * </li><li>14 MINIMUM_SCALE (short) minimum scale
* <li>15 MAXIMUM_SCALE (short) maximum scale * </li><li>15 MAXIMUM_SCALE (short) maximum scale
* <li>16 SQL_DATA_TYPE (int) unused * </li><li>16 SQL_DATA_TYPE (int) unused
* <li>17 SQL_DATETIME_SUB (int) unused * </li><li>17 SQL_DATETIME_SUB (int) unused
* <li>18 NUM_PREC_RADIX (int) 2 for binary, 10 for decimal * </li><li>18 NUM_PREC_RADIX (int) 2 for binary, 10 for decimal
* </ul> * </li></ul>
* *
* @return the list of data types * @return the list of data types
* @throws SQLException if the connection is closed * @throws SQLException if the connection is closed
...@@ -2426,10 +2425,10 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat ...@@ -2426,10 +2425,10 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat
* *
* <ul> * <ul>
* <li>1 TABLE_CAT (String) table catalog * <li>1 TABLE_CAT (String) table catalog
* <li>2 TABLE_SCHEM (String) table schema * </li><li>2 TABLE_SCHEM (String) table schema
* <li>3 TABLE_NAME (String) table name * </li><li>3 TABLE_NAME (String) table name
* <li>4 SUPERTABLE_NAME (String) the name of the super table * </li><li>4 SUPERTABLE_NAME (String) the name of the super table
* </ul> * </li></ul>
* *
* @return an empty result set * @return an empty result set
*/ */
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
*/ */
package org.h2.jdbcx; package org.h2.jdbcx;
import java.io.IOException;
import java.io.PrintWriter; import java.io.PrintWriter;
import java.io.Serializable; import java.io.Serializable;
import java.sql.Connection; import java.sql.Connection;
...@@ -44,7 +45,7 @@ Serializable, Referenceable { ...@@ -44,7 +45,7 @@ Serializable, Referenceable {
private static final long serialVersionUID = 1288136338451857771L; private static final long serialVersionUID = 1288136338451857771L;
private transient JdbcDataSourceFactory factory = new JdbcDataSourceFactory(); private transient JdbcDataSourceFactory factory;
private transient PrintWriter logWriter; private transient PrintWriter logWriter;
private int timeout; private int timeout;
private String user = ""; private String user = "";
...@@ -52,9 +53,19 @@ Serializable, Referenceable { ...@@ -52,9 +53,19 @@ Serializable, Referenceable {
private String url = ""; private String url = "";
public JdbcDataSource() { public JdbcDataSource() {
initFactory();
int id = getNextId(TraceObject.DATA_SOURCE); int id = getNextId(TraceObject.DATA_SOURCE);
setTrace(factory.getTrace(), TraceObject.DATA_SOURCE, id); setTrace(factory.getTrace(), TraceObject.DATA_SOURCE, id);
} }
private void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException {
initFactory();
in.defaultReadObject();
}
private void initFactory() {
factory = new JdbcDataSourceFactory();
}
public int getLoginTimeout() throws SQLException { public int getLoginTimeout() throws SQLException {
debugCodeCall("getLoginTimeout"); debugCodeCall("getLoginTimeout");
......
...@@ -24,7 +24,6 @@ import org.h2.util.NetUtils; ...@@ -24,7 +24,6 @@ import org.h2.util.NetUtils;
public class TcpServer implements Service { public class TcpServer implements Service {
// TODO new feature: implement automatic client / server mode if 'socket' file locking is used // TODO new feature: implement automatic client / server mode if 'socket' file locking is used
// TODO make the kernel multi-threaded
// TODO better exception message if the port is already in use, maybe automatically use the next free port? // TODO better exception message if the port is already in use, maybe automatically use the next free port?
public static final int DEFAULT_PORT = 9092; public static final int DEFAULT_PORT = 9092;
......
...@@ -451,7 +451,7 @@ public class AppThread extends WebServerThread { ...@@ -451,7 +451,7 @@ public class AppThread extends WebServerThread {
} }
} }
rs.close(); rs.close();
rs = conn.createStatement().executeQuery("SELECT * FROM INFORMATION_SCHEMA.USERS ORDER BY NAME"); rs = stat.executeQuery("SELECT * FROM INFORMATION_SCHEMA.USERS ORDER BY NAME");
for(int i=0; rs.next(); i++) { for(int i=0; rs.next(); i++) {
if(i==0) { if(i==0) {
buff.append("setNode("+treeIndex+", 0, 1, 'users', '${text.tree.users}', null);\n"); buff.append("setNode("+treeIndex+", 0, 1, 'users', '${text.tree.users}', null);\n");
...@@ -475,8 +475,7 @@ public class AppThread extends WebServerThread { ...@@ -475,8 +475,7 @@ public class AppThread extends WebServerThread {
buff.append("setNode("+treeIndex+", 0, 0, 'info', '" + PageParser.escapeJavaScript(version)+ "', null);\n"); buff.append("setNode("+treeIndex+", 0, 0, 'info', '" + PageParser.escapeJavaScript(version)+ "', null);\n");
buff.append("refreshQueryTables();"); buff.append("refreshQueryTables();");
session.put("tree", buff.toString()); session.put("tree", buff.toString());
} catch(Exception e) { } catch(SQLException e) {
// TODO log error
session.put("tree", ""); session.put("tree", "");
session.put("error", getStackTrace(0, e)); session.put("error", getStackTrace(0, e));
} }
...@@ -490,7 +489,7 @@ public class AppThread extends WebServerThread { ...@@ -490,7 +489,7 @@ public class AppThread extends WebServerThread {
s = PageParser.escapeHtml(s); s = PageParser.escapeHtml(s);
s = StringUtils.replaceAll(s, "\t", "&nbsp;&nbsp;&nbsp;&nbsp;"); s = StringUtils.replaceAll(s, "\t", "&nbsp;&nbsp;&nbsp;&nbsp;");
String message = PageParser.escapeHtml(e.getMessage()); String message = PageParser.escapeHtml(e.getMessage());
s = "<a class=\"error\" href=\"#\" onclick=\"var x=document.getElementById('st"+id+"').style;x.display=x.display==''?'none':'';\">" + message + "</a><span style=\"display: none;\" id=\"st"+id+"\"><br>"+ s + "</span>"; s = "<a class=\"error\" href=\"#\" onclick=\"var x=document.getElementById('st"+id+"').style;x.display=x.display==''?'none':'';\">" + message + "</a><span style=\"display: none;\" id=\"st"+id+"\"><br />"+ s + "</span>";
s = formatAsError(s); s = formatAsError(s);
return s; return s;
} }
...@@ -524,7 +523,7 @@ public class AppThread extends WebServerThread { ...@@ -524,7 +523,7 @@ public class AppThread extends WebServerThread {
private String getLoginError(Exception e) { private String getLoginError(Exception e) {
if(e instanceof ClassNotFoundException) { if(e instanceof ClassNotFoundException) {
return "${text.login.driverNotFound}<br>" + getStackTrace(0, e); return "${text.login.driverNotFound}<br />" + getStackTrace(0, e);
} else { } else {
return getStackTrace(0, e); return getStackTrace(0, e);
} }
...@@ -587,10 +586,10 @@ public class AppThread extends WebServerThread { ...@@ -587,10 +586,10 @@ public class AppThread extends WebServerThread {
int level = Integer.parseInt(s); int level = Integer.parseInt(s);
conn.setTransactionIsolation(level); conn.setTransactionIsolation(level);
} }
result = "Transaction Isolation: " + conn.getTransactionIsolation() + "<br>"; result = "Transaction Isolation: " + conn.getTransactionIsolation() + "<br />";
result += Connection.TRANSACTION_READ_UNCOMMITTED + ": READ_UNCOMMITTED<br>"; result += Connection.TRANSACTION_READ_UNCOMMITTED + ": READ_UNCOMMITTED<br />";
result += Connection.TRANSACTION_READ_COMMITTED + ": READ_COMMITTED<br>"; result += Connection.TRANSACTION_READ_COMMITTED + ": READ_COMMITTED<br />";
result += Connection.TRANSACTION_REPEATABLE_READ + ": REPEATABLE_READ<br>"; result += Connection.TRANSACTION_REPEATABLE_READ + ": REPEATABLE_READ<br />";
result += Connection.TRANSACTION_SERIALIZABLE + ": SERIALIZABLE"; result += Connection.TRANSACTION_SERIALIZABLE + ": SERIALIZABLE";
} else if(sql.startsWith("@SET MAXROWS ")) { } else if(sql.startsWith("@SET MAXROWS ")) {
int maxrows = Integer.parseInt(sql.substring("@SET MAXROWS ".length())); int maxrows = Integer.parseInt(sql.substring("@SET MAXROWS ".length()));
...@@ -611,10 +610,10 @@ public class AppThread extends WebServerThread { ...@@ -611,10 +610,10 @@ public class AppThread extends WebServerThread {
String s = (String) list.get(i); String s = (String) list.get(i);
if(!s.startsWith("@")) { if(!s.startsWith("@")) {
buff.append(PageParser.escapeHtml(s+";")); buff.append(PageParser.escapeHtml(s+";"));
buff.append("<br>"); buff.append("<br />");
} }
buff.append(getResult(conn, i+1, s, list.size()==1)); buff.append(getResult(conn, i+1, s, list.size()==1));
buff.append("<br>"); buff.append("<br />");
} }
result = buff.toString(); result = buff.toString();
} }
...@@ -654,7 +653,7 @@ public class AppThread extends WebServerThread { ...@@ -654,7 +653,7 @@ public class AppThread extends WebServerThread {
// cancel // cancel
} }
} catch(Throwable e) { } catch(Throwable e) {
result = "<br>"+getStackTrace(0, e); result = "<br />"+getStackTrace(0, e);
error = formatAsError(e.getMessage()); error = formatAsError(e.getMessage());
} }
String sql = "@EDIT " + (String) session.get("resultSetSQL"); String sql = "@EDIT " + (String) session.get("resultSetSQL");
...@@ -954,7 +953,7 @@ public class AppThread extends WebServerThread { ...@@ -954,7 +953,7 @@ public class AppThread extends WebServerThread {
if(!isResultSet) { if(!isResultSet) {
buff.append("${text.result.updateCount}: "+stat.getUpdateCount()); buff.append("${text.result.updateCount}: "+stat.getUpdateCount());
time = System.currentTimeMillis() - time; time = System.currentTimeMillis() - time;
buff.append("<br>("); buff.append("<br />(");
buff.append(time); buff.append(time);
buff.append(" ms)"); buff.append(" ms)");
stat.close(); stat.close();
...@@ -1078,7 +1077,7 @@ public class AppThread extends WebServerThread { ...@@ -1078,7 +1077,7 @@ public class AppThread extends WebServerThread {
buff.append("<tr><td>"); buff.append("<tr><td>");
buff.append("<a href=\"getHistory.do?id="); buff.append("<a href=\"getHistory.do?id=");
buff.append(i); buff.append(i);
buff.append("&jsessionid=${sessionId}\" target=\"h2query\" ><img width=16 height=16 src=\"ico_write.gif\" onmouseover = \"this.className ='icon_hover'\" onmouseout = \"this.className ='icon'\" class=\"icon\" alt=\"${text.resultEdit.edit}\" title=\"${text.resultEdit.edit}\" border=\"1\"></a>"); buff.append("&jsessionid=${sessionId}\" target=\"h2query\" ><img width=16 height=16 src=\"ico_write.gif\" onmouseover = \"this.className ='icon_hover'\" onmouseout = \"this.className ='icon'\" class=\"icon\" alt=\"${text.resultEdit.edit}\" title=\"${text.resultEdit.edit}\" border=\"1\"/></a>");
buff.append("</td><td>"); buff.append("</td><td>");
buff.append(PageParser.escapeHtml(sql)); buff.append(PageParser.escapeHtml(sql));
buff.append("</td></tr>"); buff.append("</td></tr>");
...@@ -1095,8 +1094,8 @@ public class AppThread extends WebServerThread { ...@@ -1095,8 +1094,8 @@ public class AppThread extends WebServerThread {
if(edit) { if(edit) {
buff.append("<form id=\"editing\" name=\"editing\" method=\"post\" " buff.append("<form id=\"editing\" name=\"editing\" method=\"post\" "
+ "action=\"/editResult.do?jsessionid=${sessionId}\" id=\"mainForm\" target=\"h2result\">"); + "action=\"/editResult.do?jsessionid=${sessionId}\" id=\"mainForm\" target=\"h2result\">");
buff.append("<input type=\"hidden\" name=\"op\" value=\"1\">"); buff.append("<input type=\"hidden\" name=\"op\" value=\"1\" />");
buff.append("<input type=\"hidden\" name=\"row\" value=\"\">"); buff.append("<input type=\"hidden\" name=\"row\" value=\"\" />");
buff.append("<table cellspacing=0 cellpadding=0 id=\"editTable\">"); buff.append("<table cellspacing=0 cellpadding=0 id=\"editTable\">");
} else { } else {
buff.append("<table cellspacing=0 cellpadding=0>"); buff.append("<table cellspacing=0 cellpadding=0>");
...@@ -1157,10 +1156,10 @@ public class AppThread extends WebServerThread { ...@@ -1157,10 +1156,10 @@ public class AppThread extends WebServerThread {
buff.append("<img onclick=\"javascript:editRow("); buff.append("<img onclick=\"javascript:editRow(");
buff.append(rs.getRow()); buff.append(rs.getRow());
buff.append(",'${sessionId}', '${text.resultEdit.save}', '${text.resultEdit.cancel}'"); buff.append(",'${sessionId}', '${text.resultEdit.save}', '${text.resultEdit.cancel}'");
buff.append(")\" width=16 height=16 src=\"ico_write.gif\" onmouseover = \"this.className ='icon_hover'\" onmouseout = \"this.className ='icon'\" class=\"icon\" alt=\"${text.resultEdit.edit}\" title=\"${text.resultEdit.edit}\" border=\"1\">"); buff.append(")\" width=16 height=16 src=\"ico_write.gif\" onmouseover = \"this.className ='icon_hover'\" onmouseout = \"this.className ='icon'\" class=\"icon\" alt=\"${text.resultEdit.edit}\" title=\"${text.resultEdit.edit}\" border=\"1\"/>");
buff.append("<a href=\"editResult.do?op=2&row="); buff.append("<a href=\"editResult.do?op=2&row=");
buff.append(rs.getRow()); buff.append(rs.getRow());
buff.append("&jsessionid=${sessionId}\" target=\"h2result\" ><img width=16 height=16 src=\"ico_remove.gif\" onmouseover = \"this.className ='icon_hover'\" onmouseout = \"this.className ='icon'\" class=\"icon\" alt=\"${text.resultEdit.delete}\" title=\"${text.resultEdit.delete}\" border=\"1\"></a>"); buff.append("&jsessionid=${sessionId}\" target=\"h2result\" ><img width=16 height=16 src=\"ico_remove.gif\" onmouseover = \"this.className ='icon_hover'\" onmouseout = \"this.className ='icon'\" class=\"icon\" alt=\"${text.resultEdit.delete}\" title=\"${text.resultEdit.delete}\" border=\"1\" /></a>");
buff.append("</td>"); buff.append("</td>");
} }
for(int i=0; i<columns; i++) { for(int i=0; i<columns; i++) {
...@@ -1184,7 +1183,7 @@ public class AppThread extends WebServerThread { ...@@ -1184,7 +1183,7 @@ public class AppThread extends WebServerThread {
if(edit) { if(edit) {
buff.append("<tr><td>"); buff.append("<tr><td>");
buff.append("<img onclick=\"javascript:editRow(-1, '${sessionId}', '${text.resultEdit.save}', '${text.resultEdit.cancel}'"); buff.append("<img onclick=\"javascript:editRow(-1, '${sessionId}', '${text.resultEdit.save}', '${text.resultEdit.cancel}'");
buff.append(")\" width=16 height=16 src=\"ico_add.gif\" onmouseover = \"this.className ='icon_hover'\" onmouseout = \"this.className ='icon'\" class=\"icon\" alt=\"${text.resultEdit.add}\" title=\"${text.resultEdit.add}\" border=\"1\">"); buff.append(")\" width=16 height=16 src=\"ico_add.gif\" onmouseover = \"this.className ='icon_hover'\" onmouseout = \"this.className ='icon'\" class=\"icon\" alt=\"${text.resultEdit.add}\" title=\"${text.resultEdit.add}\" border=\"1\"/>");
buff.append("</td>"); buff.append("</td>");
for(int i=0; i<columns; i++) { for(int i=0; i<columns; i++) {
buff.append("<td></td>"); buff.append("<td></td>");
...@@ -1209,9 +1208,9 @@ public class AppThread extends WebServerThread { ...@@ -1209,9 +1208,9 @@ public class AppThread extends WebServerThread {
buff.append(time); buff.append(time);
buff.append(" ms)"); buff.append(" ms)");
if(!edit && isUpdatable && allowEdit) { if(!edit && isUpdatable && allowEdit) {
buff.append("<br><br><form name=\"editResult\" method=\"post\" action=\"/query.do?jsessionid=${sessionId}\" target=\"h2result\">"); buff.append("<br /><br /><form name=\"editResult\" method=\"post\" action=\"/query.do?jsessionid=${sessionId}\" target=\"h2result\">");
buff.append("<input type=\"submit\" class=\"button\" value=\"${text.resultEdit.editResult}\">"); buff.append("<input type=\"submit\" class=\"button\" value=\"${text.resultEdit.editResult}\" />");
buff.append("<input type=\"hidden\" name=\"sql\" value=\"@EDIT " + PageParser.escapeHtml(sql) +"\">"); buff.append("<input type=\"hidden\" name=\"sql\" value=\"@EDIT " + PageParser.escapeHtml(sql) +"\" />");
buff.append("</form>"); buff.append("</form>");
} }
return buff.toString(); return buff.toString();
......
...@@ -259,7 +259,7 @@ public class PageParser { ...@@ -259,7 +259,7 @@ public class PageParser {
break; break;
case '\n': case '\n':
if (convertBreak) { if (convertBreak) {
buff.append("<br>"); buff.append("<br />");
leadingSpace = true; leadingSpace = true;
} else { } else {
buff.append(c); buff.append(c);
......
...@@ -50,7 +50,7 @@ helpUpdate=&Auml;ndert Daten in einer Zeile ...@@ -50,7 +50,7 @@ helpUpdate=&Auml;ndert Daten in einer Zeile
helpWithColumnsIdName=mit zwei Spalten helpWithColumnsIdName=mit zwei Spalten
login.connect=Verbinden login.connect=Verbinden
login.driverClass=Datenbank-Treiber Klasse login.driverClass=Datenbank-Treiber Klasse
login.driverNotFound=Datenbank-Treiber nicht gefunden<br>F&uuml;r Informationen zum Hinzuf&uuml;gen von Treibern siehe Hilfe login.driverNotFound=Datenbank-Treiber nicht gefunden<br />F&uuml;r Informationen zum Hinzuf&uuml;gen von Treibern siehe Hilfe
login.goAdmin=Optionen login.goAdmin=Optionen
login.jdbcUrl=JDBC URL login.jdbcUrl=JDBC URL
login.language=Sprache login.language=Sprache
......
...@@ -50,7 +50,7 @@ helpUpdate=Change data in a row ...@@ -50,7 +50,7 @@ helpUpdate=Change data in a row
helpWithColumnsIdName=with ID and NAME columns helpWithColumnsIdName=with ID and NAME columns
login.connect=Connect login.connect=Connect
login.driverClass=Driver Class login.driverClass=Driver Class
login.driverNotFound=Database driver not found<br>See in the Help for how to add drivers login.driverNotFound=Database driver not found<br />See in the Help for how to add drivers
login.goAdmin=Preferences login.goAdmin=Preferences
login.jdbcUrl=JDBC URL login.jdbcUrl=JDBC URL
login.language=Language login.language=Language
......
...@@ -50,7 +50,7 @@ helpUpdate=Modifier un enregistrement ...@@ -50,7 +50,7 @@ helpUpdate=Modifier un enregistrement
helpWithColumnsIdName=avec les colonnes ID et NAME helpWithColumnsIdName=avec les colonnes ID et NAME
login.connect=Connecter login.connect=Connecter
login.driverClass=Pilote JDBC login.driverClass=Pilote JDBC
login.driverNotFound=Driver non trouv&eacute;.<br>Veuillez consulter dans l'aide la proc&eacute;dure d'ajout de drivers. login.driverNotFound=Driver non trouv&eacute;.<br />Veuillez consulter dans l'aide la proc&eacute;dure d'ajout de drivers.
login.goAdmin=Options login.goAdmin=Options
login.jdbcUrl=URL JDBC login.jdbcUrl=URL JDBC
login.language=Langue login.language=Langue
......
...@@ -51,7 +51,7 @@ helpUpdate=Rubah data dalam sebuah baris ...@@ -51,7 +51,7 @@ helpUpdate=Rubah data dalam sebuah baris
helpWithColumnsIdName=dengan kolom ID dan NAME helpWithColumnsIdName=dengan kolom ID dan NAME
login.connect=Hubungkan login.connect=Hubungkan
login.driverClass=Kelas Pengendali login.driverClass=Kelas Pengendali
login.driverNotFound=Pengendali basis data tidak ditemukan<br>Pelajari bagian Bantuan untuk mengetahui bagaimana cara menambah pengendali basis data login.driverNotFound=Pengendali basis data tidak ditemukan<br />Pelajari bagian Bantuan untuk mengetahui bagaimana cara menambah pengendali basis data
login.goAdmin=Pilihan login.goAdmin=Pilihan
login.jdbcUrl=JDBC URL login.jdbcUrl=JDBC URL
login.language=Bahasa login.language=Bahasa
......
...@@ -51,7 +51,7 @@ helpUpdate=\u884c\u30c7\u30fc\u30bf\u306e\u5909\u66f4 ...@@ -51,7 +51,7 @@ helpUpdate=\u884c\u30c7\u30fc\u30bf\u306e\u5909\u66f4
helpWithColumnsIdName=\u65b0\u3057\u3044\u30c6\u30fc\u30d6\u30eb\u3092\u4f5c\u6210 helpWithColumnsIdName=\u65b0\u3057\u3044\u30c6\u30fc\u30d6\u30eb\u3092\u4f5c\u6210
login.connect=\u63a5\u7d9a login.connect=\u63a5\u7d9a
login.driverClass=\u30c9\u30e9\u30a4\u30d0\u30af\u30e9\u30b9 login.driverClass=\u30c9\u30e9\u30a4\u30d0\u30af\u30e9\u30b9
login.driverNotFound=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30c9\u30e9\u30a4\u30d0\u304c\u898b\u4ed8\u304b\u308a\u307e\u305b\u3093<br>\u30d8\u30eb\u30d7\u3067\u30c9\u30e9\u30a4\u30d0\u306e\u8ffd\u52a0\u65b9\u6cd5\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044 login.driverNotFound=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30c9\u30e9\u30a4\u30d0\u304c\u898b\u4ed8\u304b\u308a\u307e\u305b\u3093<br />\u30d8\u30eb\u30d7\u3067\u30c9\u30e9\u30a4\u30d0\u306e\u8ffd\u52a0\u65b9\u6cd5\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044
login.goAdmin=\u8a2d\u5b9a login.goAdmin=\u8a2d\u5b9a
login.jdbcUrl=JDBC URL login.jdbcUrl=JDBC URL
login.language=\u8a00\u8a9e login.language=\u8a00\u8a9e
......
...@@ -53,7 +53,7 @@ helpUpdate=\u6539\u53D8\u4E00\u884C\u6570\u636E ...@@ -53,7 +53,7 @@ helpUpdate=\u6539\u53D8\u4E00\u884C\u6570\u636E
helpWithColumnsIdName=\u7528ID\u548CNAME\u5217 helpWithColumnsIdName=\u7528ID\u548CNAME\u5217
login.connect=\u8FDE\u63A5 login.connect=\u8FDE\u63A5
login.driverClass=\u9A71\u52A8\u7C7B login.driverClass=\u9A71\u52A8\u7C7B
login.driverNotFound=\u6570\u636E\u5E93\u9A71\u52A8\u6CA1\u6709\u53D1\u73B0<br>\u8BF7\u53C2\u8003\u5E2E\u52A9\u53BB\u6DFB\u52A0\u6570\u636E\u5E93\u9A71\u52A8 login.driverNotFound=\u6570\u636E\u5E93\u9A71\u52A8\u6CA1\u6709\u53D1\u73B0<br />\u8BF7\u53C2\u8003\u5E2E\u52A9\u53BB\u6DFB\u52A0\u6570\u636E\u5E93\u9A71\u52A8
login.goAdmin=\u914D\u7F6E login.goAdmin=\u914D\u7F6E
login.jdbcUrl=JDBC URL login.jdbcUrl=JDBC URL
login.language=\u8BED\u8A00 login.language=\u8BED\u8A00
......
...@@ -4,9 +4,9 @@ Copyright 2004-2006 H2 Group. Licensed under the H2 License, Version 1.0 (http:/ ...@@ -4,9 +4,9 @@ Copyright 2004-2006 H2 Group. Licensed under the H2 License, Version 1.0 (http:/
Initial Developer: H2 Group Initial Developer: H2 Group
--> -->
<html><head> <html><head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>${text.a.title}</title> <title>${text.a.title}</title>
<link rel="stylesheet" type="text/css" href="stylesheet.css"> <link rel="stylesheet" type="text/css" href="stylesheet.css" />
<script type="text/javascript"> <script type="text/javascript">
<!-- <!--
...@@ -24,62 +24,62 @@ Initial Developer: H2 Group ...@@ -24,62 +24,62 @@ Initial Developer: H2 Group
<p> <p>
<a href="index.do?jsessionid=${sessionId}">${text.adminLogout}</a> <a href="index.do?jsessionid=${sessionId}">${text.adminLogout}</a>
</p> </p>
<hr> <hr />
<form name="admin" method="post" action="/adminSave.do?jsessionid=${sessionId}"> <form name="admin" method="post" action="/adminSave.do?jsessionid=${sessionId}">
<h3> <h3>
${text.adminAllow} ${text.adminAllow}
</h3> </h3>
<p> <p>
<c:if test="allowOthers=='false'"> <c:if test="allowOthers=='false'">
<input type="radio" name="allowOthers" value="false" checked="checked"> <input type="radio" name="allowOthers" value="false" checked="checked" />
</c:if> </c:if>
<c:if test="allowOthers=='true'"> <c:if test="allowOthers=='true'">
<input type="radio" name="allowOthers" value="false"> <input type="radio" name="allowOthers" value="false" />
</c:if> </c:if>
${text.adminLocal}<br> ${text.adminLocal}<br />
<c:if test="allowOthers=='true'"> <c:if test="allowOthers=='true'">
<input type="radio" name="allowOthers" value="true" checked="checked"> <input type="radio" name="allowOthers" value="true" checked="checked" />
</c:if> </c:if>
<c:if test="allowOthers=='false'"> <c:if test="allowOthers=='false'">
<input type="radio" name="allowOthers" value="true"> <input type="radio" name="allowOthers" value="true" />
</c:if> </c:if>
${text.adminOthers}<br> ${text.adminOthers}<br />
</p> </p>
<h3> <h3>
${text.adminConnection} ${text.adminConnection}
</h3> </h3>
<p> <p>
<c:if test="ssl=='false'"> <c:if test="ssl=='false'">
<input type="radio" name="ssl" value="false" checked="checked"> <input type="radio" name="ssl" value="false" checked="checked" />
</c:if> </c:if>
<c:if test="ssl=='true'"> <c:if test="ssl=='true'">
<input type="radio" name="ssl" value="false"> <input type="radio" name="ssl" value="false" />
</c:if> </c:if>
${text.adminHttp}<br> ${text.adminHttp}<br />
<c:if test="ssl=='true'"> <c:if test="ssl=='true'">
<input type="radio" name="ssl" value="true" checked="checked"> <input type="radio" name="ssl" value="true" checked="checked" />
</c:if> </c:if>
<c:if test="ssl=='false'"> <c:if test="ssl=='false'">
<input type="radio" name="ssl" value="true"> <input type="radio" name="ssl" value="true" />
</c:if> </c:if>
${text.adminHttps}<br> ${text.adminHttps}<br />
</p> </p>
<h3> <h3>
Port number Port number
</h3> </h3>
<p> <p>
${text.adminPort}: <input type="text" name="port" value="${port}"> ${text.adminPort}: <input type="text" name="port" value="${port}" />
</p> </p>
<hr> <hr />
<p> <p>
<input type="submit" class="button" value="${text.adminSave}"> <input type="submit" class="button" value="${text.adminSave}" />
</p> </p>
<p> <p>
${text.adminRestart} ${text.adminRestart}
</p> </p>
<hr> <hr />
<h3> <h3>
${text.adminSessions} ${text.adminSessions}
</h3> </h3>
......
...@@ -4,9 +4,9 @@ Copyright 2004-2006 H2 Group. Licensed under the H2 License, Version 1.0 (http:/ ...@@ -4,9 +4,9 @@ Copyright 2004-2006 H2 Group. Licensed under the H2 License, Version 1.0 (http:/
Initial Developer: H2 Group Initial Developer: H2 Group
--> -->
<html><head> <html><head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>${text.a.title}</title> <title>${text.a.title}</title>
<link rel="stylesheet" type="text/css" href="stylesheet.css"> <link rel="stylesheet" type="text/css" href="stylesheet.css" />
<script type="text/javascript"> <script type="text/javascript">
<!-- <!--
...@@ -27,20 +27,20 @@ Initial Developer: H2 Group ...@@ -27,20 +27,20 @@ Initial Developer: H2 Group
<tr><td class="login" colspan="2"></td></tr> <tr><td class="login" colspan="2"></td></tr>
<tr class="login"> <tr class="login">
<td class="login">${text.a.password}:</td> <td class="login">${text.a.password}:</td>
<td class="login"><input type="password" name="password" value="" style="width:200px;"></td> <td class="login"><input type="password" name="password" value="" style="width:200px;" /></td>
</tr> </tr>
<tr class="login"> <tr class="login">
<td class="login"></td> <td class="login"></td>
<td class="login"> <td class="login">
<input type="submit" class="button" value="${text.adminLoginOk}"> <input type="submit" class="button" value="${text.adminLoginOk}" />
&nbsp; &nbsp;
<input type="button" class="button" value="${text.adminLoginCancel}" onclick="javascript:document.adminLogin.action='/index.do?jsessionid=${sessionId}';submit()"> <input type="button" class="button" value="${text.adminLoginCancel}" onclick="javascript:document.adminLogin.action='/index.do?jsessionid=${sessionId}';submit()" />
<br> <br />
<br> <br />
</td> </td>
</tr> </tr>
</table> </table>
<br> <br />
<p class="error">${error}</p> <p class="error">${error}</p>
</form> </form>
<script type="text/javascript"> <script type="text/javascript">
......
...@@ -4,9 +4,9 @@ Copyright 2004-2006 H2 Group. Licensed under the H2 License, Version 1.0 (http:/ ...@@ -4,9 +4,9 @@ Copyright 2004-2006 H2 Group. Licensed under the H2 License, Version 1.0 (http:/
Initial Developer: H2 Group Initial Developer: H2 Group
--> -->
<html><head> <html><head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>${text.a.title}</title> <title>${text.a.title}</title>
<link rel="stylesheet" type="text/css" href="stylesheet.css"> <link rel="stylesheet" type="text/css" href="stylesheet.css" />
</head> </head>
<body margin="10"> <body margin="10">
<p class="error"> <p class="error">
......
...@@ -5,17 +5,17 @@ Initial Developer: H2 Group ...@@ -5,17 +5,17 @@ Initial Developer: H2 Group
--> -->
<html> <html>
<head> <head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>${text.a.title}</title> <title>${text.a.title}</title>
<link rel="stylesheet" type="text/css" href="stylesheet.css"> <link rel="stylesheet" type="text/css" href="stylesheet.css" />
</head> </head>
<frameset cols="*" rows="36,*" frameborder="2" framespacing="4" border="4" > <frameset cols="*" rows="36,*" frameborder="2" framespacing="4" border="4" >
<frame noresize="noresize" frameborder="0" marginheight="0" marginwidth="0" src="header.jsp?jsessionid=${sessionId}" name="header" scrolling="no"> <frame noresize="noresize" frameborder="0" marginheight="0" marginwidth="0" src="header.jsp?jsessionid=${sessionId}" name="header" scrolling="no" />
<frameset cols="200,*" rows="*" frameborder="2" framespacing="4" border="4" > <frameset cols="200,*" rows="*" frameborder="2" framespacing="4" border="4" >
<frame frameborder="0" marginheight="0" marginwidth="0" src="tables.do?jsessionid=${sessionId}" name="h2menu"> <frame frameborder="0" marginheight="0" marginwidth="0" src="tables.do?jsessionid=${sessionId}" name="h2menu" />
<frameset rows="180,*" frameborder="2" framespacing="4" border="4" > <frameset rows="180,*" frameborder="2" framespacing="4" border="4" >
<frame frameborder="0" marginheight="0" marginwidth="0" src="query.jsp?jsessionid=${sessionId}" name="h2query" scrolling="no"> <frame frameborder="0" marginheight="0" marginwidth="0" src="query.jsp?jsessionid=${sessionId}" name="h2query" scrolling="no" />
<frame frameborder="0" marginheight="0" marginwidth="0" src="help.jsp?jsessionid=${sessionId}" name="h2result"> <frame frameborder="0" marginheight="0" marginwidth="0" src="help.jsp?jsessionid=${sessionId}" name="h2result" />
</frameset> </frameset>
</frameset> </frameset>
</frameset> </frameset>
......
...@@ -5,9 +5,9 @@ Initial Developer: H2 Group ...@@ -5,9 +5,9 @@ Initial Developer: H2 Group
--> -->
<html> <html>
<head> <head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>${text.a.title}</title> <title>${text.a.title}</title>
<link rel="stylesheet" type="text/css" href="stylesheet.css"> <link rel="stylesheet" type="text/css" href="stylesheet.css" />
</head> </head>
<body bgcolor="#FF00FF" class="toolbar"> <body bgcolor="#FF00FF" class="toolbar">
<form name="header" method="post" action="/header.jsp?jsessionid=${sessionId}"> <form name="header" method="post" action="/header.jsp?jsessionid=${sessionId}">
...@@ -16,33 +16,33 @@ Initial Developer: H2 Group ...@@ -16,33 +16,33 @@ Initial Developer: H2 Group
><img src="icon_disconnect.gif" ><img src="icon_disconnect.gif"
onmouseover = "this.className ='icon_hover'" onmouseover = "this.className ='icon_hover'"
onmouseout = "this.className ='icon'" onmouseout = "this.className ='icon'"
class="icon" alt="${text.toolbar.disconnect}" title="${text.toolbar.disconnect}" border="1"></a class="icon" alt="${text.toolbar.disconnect}" title="${text.toolbar.disconnect}" border="1" /></a
><img src="icon_line.gif" class="iconLine" alt="" ><img src="icon_line.gif" class="iconLine" alt=""
><a href="tables.do?jsessionid=${sessionId}" target="h2menu" /><a href="tables.do?jsessionid=${sessionId}" target="h2menu"
><img src="icon_refresh.gif" ><img src="icon_refresh.gif"
onmouseover = "this.className ='icon_hover'" onmouseover = "this.className ='icon_hover'"
onmouseout = "this.className ='icon'" onmouseout = "this.className ='icon'"
class="icon" alt="${text.toolbar.refresh}" title="${text.toolbar.refresh}" border="1"></a class="icon" alt="${text.toolbar.refresh}" title="${text.toolbar.refresh}" border="1" /></a
><img src="icon_line.gif" class="iconLine" alt="" ><img src="icon_line.gif" class="iconLine" alt=""
></td><td class="toolbar"><input type="checkbox" name="autoCommit" value="autoCommit" /></td><td class="toolbar"><input type="checkbox" name="autoCommit" value="autoCommit"
onclick="javascript:if(document.header.autoCommit.checked) onclick="javascript:if(document.header.autoCommit.checked)
top.frames['h2result'].document.location='query.do?jsessionid=${sessionId}&amp;sql=@AUTOCOMMIT+TRUE'; top.frames['h2result'].document.location='query.do?jsessionid=${sessionId}&amp;sql=@AUTOCOMMIT+TRUE';
else else
top.frames['h2result'].document.location='query.do?jsessionid=${sessionId}&amp;sql=@AUTOCOMMIT+FALSE'; top.frames['h2result'].document.location='query.do?jsessionid=${sessionId}&amp;sql=@AUTOCOMMIT+FALSE';
" "
></td><td class="toolbar">${text.toolbar.autoCommit}&nbsp;</td><td class="toolbar" /></td><td class="toolbar">${text.toolbar.autoCommit}&nbsp;</td><td class="toolbar"
><a href="query.do?jsessionid=${sessionId}&amp;sql=ROLLBACK" target="h2result" ><a href="query.do?jsessionid=${sessionId}&amp;sql=ROLLBACK" target="h2result"
><img src="icon_rollback.gif" ><img src="icon_rollback.gif"
onmouseover = "this.className ='icon_hover'" onmouseover = "this.className ='icon_hover'"
onmouseout = "this.className ='icon'" onmouseout = "this.className ='icon'"
class="icon" alt="${text.toolbar.rollback}" title="${text.toolbar.rollback}" border="1"></a class="icon" alt="${text.toolbar.rollback}" title="${text.toolbar.rollback}" border="1" /></a
><a href="query.do?jsessionid=${sessionId}&amp;sql=COMMIT" target="h2result" ><a href="query.do?jsessionid=${sessionId}&amp;sql=COMMIT" target="h2result"
><img src="icon_commit.gif" ><img src="icon_commit.gif"
onmouseover = "this.className ='icon_hover'" onmouseover = "this.className ='icon_hover'"
onmouseout = "this.className ='icon'" onmouseout = "this.className ='icon'"
class="icon" alt="${text.toolbar.commit}" title="${text.toolbar.commit}" border="1"></a class="icon" alt="${text.toolbar.commit}" title="${text.toolbar.commit}" border="1" /></a
><img src="icon_line.gif" class="iconLine" alt="" ><img src="icon_line.gif" class="iconLine" alt=""
></td><td class="toolbar">&nbsp;${text.toolbar.maxRows}:&nbsp;</td><td class="toolbar" /></td><td class="toolbar">&nbsp;${text.toolbar.maxRows}:&nbsp;</td><td class="toolbar"
><select name="rowcount" size="1" ><select name="rowcount" size="1"
onchange="javascript:top.frames['h2result'].document.location='query.do?jsessionid=${sessionId}&amp;sql=@SET+MAXROWS+'+header.rowcount.value;" onchange="javascript:top.frames['h2result'].document.location='query.do?jsessionid=${sessionId}&amp;sql=@SET+MAXROWS+'+header.rowcount.value;"
><option value="0">${text.toolbar.all}</option> ><option value="0">${text.toolbar.all}</option>
...@@ -55,20 +55,20 @@ Initial Developer: H2 Group ...@@ -55,20 +55,20 @@ Initial Developer: H2 Group
><img src="icon_run.gif" ><img src="icon_run.gif"
onmouseover = "this.className ='icon_hover'" onmouseover = "this.className ='icon_hover'"
onmouseout = "this.className ='icon'" onmouseout = "this.className ='icon'"
class="icon" alt="${text.toolbar.run}" title="${text.toolbar.run}" border="1"></a class="icon" alt="${text.toolbar.run}" title="${text.toolbar.run}" border="1" /></a
></td><td class="toolbar"><a href="query.do?jsessionid=${sessionId}&amp;sql=@CANCEL" target="h2result" ></td><td class="toolbar"><a href="query.do?jsessionid=${sessionId}&amp;sql=@CANCEL" target="h2result"
><img src="icon_stop.gif" ><img src="icon_stop.gif"
onmouseover = "this.className ='icon_hover'" onmouseover = "this.className ='icon_hover'"
onmouseout = "this.className ='icon'" onmouseout = "this.className ='icon'"
class="icon" alt="${text.toolbar.cancelStatement}" title="${text.toolbar.cancelStatement}" border="1"></a class="icon" alt="${text.toolbar.cancelStatement}" title="${text.toolbar.cancelStatement}" border="1" /></a
><img src="icon_line.gif" class="iconLine" alt="" ><img src="icon_line.gif" class="iconLine" alt=""
><a href="query.do?jsessionid=${sessionId}&amp;sql=@HISTORY" target="h2result" /><a href="query.do?jsessionid=${sessionId}&amp;sql=@HISTORY" target="h2result"
><img src="icon_history.gif" ><img src="icon_history.gif"
onmouseover = "this.className ='icon_hover'" onmouseover = "this.className ='icon_hover'"
onmouseout = "this.className ='icon'" onmouseout = "this.className ='icon'"
class="icon" alt="${text.toolbar.history}" title="${text.toolbar.history}" border="1"></a class="icon" alt="${text.toolbar.history}" title="${text.toolbar.history}" border="1" /></a
><img src="icon_line.gif" class="iconLine" alt="" ><img src="icon_line.gif" class="iconLine" alt=""
></td><td class="toolbar">${text.toolbar.autoComplete}&nbsp;<select name="autoComplete" size="1" /></td><td class="toolbar">${text.toolbar.autoComplete}&nbsp;<select name="autoComplete" size="1"
onchange="javascript:top.frames['h2query'].setAutoComplete(this.value)" onchange="javascript:top.frames['h2query'].setAutoComplete(this.value)"
><option value="0">${text.toolbar.autoComplete.off}</option> ><option value="0">${text.toolbar.autoComplete.off}</option>
<option selected="selected" value="1">${text.toolbar.autoComplete.normal}</option> <option selected="selected" value="1">${text.toolbar.autoComplete.normal}</option>
...@@ -80,7 +80,7 @@ Initial Developer: H2 Group ...@@ -80,7 +80,7 @@ Initial Developer: H2 Group
><img src="icon_help.gif" ><img src="icon_help.gif"
onmouseover = "this.className ='icon_hover'" onmouseover = "this.className ='icon_hover'"
onmouseout = "this.className ='icon'" onmouseout = "this.className ='icon'"
class="icon" alt="${text.a.help}" title="${text.a.help}" border="1"></a class="icon" alt="${text.a.help}" title="${text.a.help}" border="1"/></a
></td></tr></table> ></td></tr></table>
</form> </form>
<script type="text/javascript"> <script type="text/javascript">
......
...@@ -5,9 +5,9 @@ Initial Developer: H2 Group ...@@ -5,9 +5,9 @@ Initial Developer: H2 Group
--> -->
<html> <html>
<head> <head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>${text.a.title}</title> <title>${text.a.title}</title>
<link rel="stylesheet" type="text/css" href="stylesheet.css"> <link rel="stylesheet" type="text/css" href="stylesheet.css" />
</head> </head>
<body class="result"> <body class="result">
...@@ -25,25 +25,25 @@ function set(s) { ...@@ -25,25 +25,25 @@ function set(s) {
<table> <table>
<tr><th>${text.helpIcon}</th><th>${text.helpAction}</th></tr> <tr><th>${text.helpIcon}</th><th>${text.helpAction}</th></tr>
<tr> <tr>
<td style="padding:0px"><img src="icon_help.gif" alt="${text.a.help}"></td> <td style="padding:0px"><img src="icon_help.gif" alt="${text.a.help}"/></td>
<td style="vertical-align: middle;"> <td style="vertical-align: middle;">
${text.helpDisplayThis} ${text.helpDisplayThis}
</td> </td>
</tr> </tr>
<tr> <tr>
<td style="padding:0px"><img src="icon_history.gif" alt="${text.toolbar.history}"></td> <td style="padding:0px"><img src="icon_history.gif" alt="${text.toolbar.history}"/></td>
<td style="vertical-align: middle;"> <td style="vertical-align: middle;">
${text.helpCommandHistory} ${text.helpCommandHistory}
</td> </td>
</tr> </tr>
<tr> <tr>
<td style="padding:0px"><img src="icon_run.gif" alt="${text.toolbar.run}"></td> <td style="padding:0px"><img src="icon_run.gif" alt="${text.toolbar.run}"/></td>
<td style="vertical-align: middle;"> <td style="vertical-align: middle;">
${text.helpExecuteCurrent} ${text.helpExecuteCurrent}
</td> </td>
</tr> </tr>
<tr> <tr>
<td style="padding:0px"><img src="icon_disconnect.gif" alt="${text.toolbar.disconnect}"></td> <td style="padding:0px"><img src="icon_disconnect.gif" alt="${text.toolbar.disconnect}"/></td>
<td style="vertical-align: middle;"> <td style="vertical-align: middle;">
${text.helpDisconnect} ${text.helpDisconnect}
</td> </td>
...@@ -52,22 +52,22 @@ function set(s) { ...@@ -52,22 +52,22 @@ function set(s) {
<h3>${text.helpSampleSQL}</h3> <h3>${text.helpSampleSQL}</h3>
<table><tr><th>${text.helpOperations}</th><th>${text.helpStatements}</th></tr> <table><tr><th>${text.helpOperations}</th><th>${text.helpStatements}</th></tr>
<tr><td><a href="javascript:set('DROP TABLE IF EXISTS TEST;\rCREATE TABLE TEST(ID INT PRIMARY KEY, NAME VARCHAR(255));\rINSERT INTO TEST VALUES(1, \'Hello\');\rINSERT INTO TEST VALUES(2, \'World\');\rSELECT * FROM TEST ORDER BY ID;\rUPDATE TEST SET NAME=\'Hi\' WHERE ID=1;\rDELETE FROM TEST WHERE ID=2;');"> <tr><td><a href="javascript:set('DROP TABLE IF EXISTS TEST;\rCREATE TABLE TEST(ID INT PRIMARY KEY, NAME VARCHAR(255));\rINSERT INTO TEST VALUES(1, \'Hello\');\rINSERT INTO TEST VALUES(2, \'World\');\rSELECT * FROM TEST ORDER BY ID;\rUPDATE TEST SET NAME=\'Hi\' WHERE ID=1;\rDELETE FROM TEST WHERE ID=2;');">
${text.helpDropTable}<br> ${text.helpDropTable}<br />
${text.helpCreateTable}<br> ${text.helpCreateTable}<br />
&nbsp;&nbsp;${text.helpWithColumnsIdName}<br> &nbsp;&nbsp;${text.helpWithColumnsIdName}<br />
${text.helpAddRow}<br> ${text.helpAddRow}<br />
${text.helpAddAnotherRow}<br> ${text.helpAddAnotherRow}<br />
${text.helpQuery}<br> ${text.helpQuery}<br />
${text.helpUpdate}<br> ${text.helpUpdate}<br />
${text.helpDeleteRow} ${text.helpDeleteRow}
</a></td><td> </a></td><td>
DROP TABLE IF EXISTS TEST;<br> DROP TABLE IF EXISTS TEST;<br />
CREATE TABLE TEST(ID INT PRIMARY KEY,<br> CREATE TABLE TEST(ID INT PRIMARY KEY,<br />
&nbsp;&nbsp; NAME VARCHAR(255));<br> &nbsp;&nbsp; NAME VARCHAR(255));<br />
INSERT INTO TEST VALUES(1, 'Hello');<br> INSERT INTO TEST VALUES(1, 'Hello');<br />
INSERT INTO TEST VALUES(2, 'World');<br> INSERT INTO TEST VALUES(2, 'World');<br />
SELECT * FROM TEST ORDER BY ID;<br> SELECT * FROM TEST ORDER BY ID;<br />
UPDATE TEST SET NAME='Hi' WHERE ID=1;<br> UPDATE TEST SET NAME='Hi' WHERE ID=1;<br />
DELETE FROM TEST WHERE ID=2; DELETE FROM TEST WHERE ID=2;
</td></tr> </td></tr>
</table> </table>
......
...@@ -4,9 +4,9 @@ Copyright 2004-2006 H2 Group. Licensed under the H2 License, Version 1.0 (http:/ ...@@ -4,9 +4,9 @@ Copyright 2004-2006 H2 Group. Licensed under the H2 License, Version 1.0 (http:/
Initial Developer: H2 Group Initial Developer: H2 Group
--> -->
<html><head> <html><head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>${text.a.title}</title> <title>${text.a.title}</title>
<link rel="stylesheet" type="text/css" href="stylesheet.css"> <link rel="stylesheet" type="text/css" href="stylesheet.css" />
<script type="text/javascript"> <script type="text/javascript">
location.href = 'login.jsp?jsessionid=${sessionId}'; location.href = 'login.jsp?jsessionid=${sessionId}';
</script> </script>
......
...@@ -4,9 +4,9 @@ Copyright 2004-2006 H2 Group. Licensed under the H2 License, Version 1.0 (http:/ ...@@ -4,9 +4,9 @@ Copyright 2004-2006 H2 Group. Licensed under the H2 License, Version 1.0 (http:/
Initial Developer: H2 Group Initial Developer: H2 Group
--> -->
<html><head> <html><head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>${text.login.title}</title> <title>${text.login.title}</title>
<link rel="stylesheet" type="text/css" href="stylesheet.css"> <link rel="stylesheet" type="text/css" href="stylesheet.css" />
<script type="text/javascript"> <script type="text/javascript">
if(self != top) { if(self != top) {
top.location = "login.jsp"; top.location = "login.jsp";
...@@ -43,44 +43,44 @@ Initial Developer: H2 Group ...@@ -43,44 +43,44 @@ Initial Developer: H2 Group
<tr class="login"> <tr class="login">
<td class="login">${text.login.settingName}:</td> <td class="login">${text.login.settingName}:</td>
<td class="login"> <td class="login">
<input type="text" name="name" value="${name}" style="width:200px;"> <input type="text" name="name" value="${name}" style="width:200px;" />
<input type="button" class="button" value="${text.login.save}" onclick="javascript:document.login.action='/settingSave.do?jsessionid=${sessionId}';submit()"> <input type="button" class="button" value="${text.login.save}" onclick="javascript:document.login.action='/settingSave.do?jsessionid=${sessionId}';submit()" />
<input type="button" class="button" value="${text.login.remove}" onclick="javascript:document.login.action='/settingRemove.do?jsessionid=${sessionId}';submit()"> <input type="button" class="button" value="${text.login.remove}" onclick="javascript:document.login.action='/settingRemove.do?jsessionid=${sessionId}';submit()" />
</td> </td>
</tr> </tr>
<tr class="login"> <tr class="login">
<td class="login" colspan="2"> <td class="login" colspan="2">
<hr> <hr />
</td> </td>
</tr> </tr>
<tr class="login"> <tr class="login">
<td class="login">${text.login.driverClass}:</td> <td class="login">${text.login.driverClass}:</td>
<td class="login"><input type="text" name="driver" value="${driver}" style="width:300px;"></td> <td class="login"><input type="text" name="driver" value="${driver}" style="width:300px;" /></td>
</tr> </tr>
<tr class="login"> <tr class="login">
<td class="login">${text.login.jdbcUrl}:</td> <td class="login">${text.login.jdbcUrl}:</td>
<td class="login"><input type="text" name="url" value="${url}" style="width:300px;"></td> <td class="login"><input type="text" name="url" value="${url}" style="width:300px;" /></td>
</tr> </tr>
<tr class="login"> <tr class="login">
<td class="login">${text.a.user}:</td> <td class="login">${text.a.user}:</td>
<td class="login"><input type="text" name="user" value="${user}" style="width:200px;"></td> <td class="login"><input type="text" name="user" value="${user}" style="width:200px;" /></td>
</tr> </tr>
<tr class="login"> <tr class="login">
<td class="login">${text.a.password}:</td> <td class="login">${text.a.password}:</td>
<td class="login"><input type="password" name="password" value="" style="width:200px;"></td> <td class="login"><input type="password" name="password" value="" style="width:200px;" /></td>
</tr> </tr>
<tr class="login"> <tr class="login">
<td class="login"></td> <td class="login"></td>
<td class="login"> <td class="login">
<input type="submit" class="button" value="${text.login.connect}"> <input type="submit" class="button" value="${text.login.connect}" />
&nbsp; &nbsp;
<input type="button" class="button" value="${text.login.testConnection}" onclick="javascript:document.login.action='/test.do?jsessionid=${sessionId}';submit()"> <input type="button" class="button" value="${text.login.testConnection}" onclick="javascript:document.login.action='/test.do?jsessionid=${sessionId}';submit()" />
<br> <br />
<br> <br />
</td> </td>
</tr> </tr>
</table> </table>
<br> <br />
<p class="error">${error}</p> <p class="error">${error}</p>
</form> </form>
</body></html> </body></html>
\ No newline at end of file
...@@ -4,9 +4,9 @@ Copyright 2004-2006 H2 Group. Licensed under the H2 License, Version 1.0 (http:/ ...@@ -4,9 +4,9 @@ Copyright 2004-2006 H2 Group. Licensed under the H2 License, Version 1.0 (http:/
Initial Developer: H2 Group Initial Developer: H2 Group
--> -->
<html><head> <html><head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>${text.a.title}</title> <title>${text.a.title}</title>
<link rel="stylesheet" type="text/css" href="stylesheet.css"> <link rel="stylesheet" type="text/css" href="stylesheet.css" />
<script type="text/javascript"> <script type="text/javascript">
<!-- <!--
......
...@@ -4,7 +4,7 @@ Copyright 2004-2006 H2 Group. Licensed under the H2 License, Version 1.0 (http:/ ...@@ -4,7 +4,7 @@ Copyright 2004-2006 H2 Group. Licensed under the H2 License, Version 1.0 (http:/
Initial Developer: H2 Group Initial Developer: H2 Group
--> -->
<html><head> <html><head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>${text.a.title}</title> <title>${text.a.title}</title>
</head> </head>
<body style="margin: 20px"> <body style="margin: 20px">
......
...@@ -5,9 +5,9 @@ Initial Developer: H2 Group ...@@ -5,9 +5,9 @@ Initial Developer: H2 Group
--> -->
<html> <html>
<head> <head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>${text.a.title}</title> <title>${text.a.title}</title>
<link rel="stylesheet" type="text/css" href="stylesheet.css"> <link rel="stylesheet" type="text/css" href="stylesheet.css" />
<script type="text/javascript"> <script type="text/javascript">
//<!-- //<!--
...@@ -424,8 +424,8 @@ function processAsyncResponse() { ...@@ -424,8 +424,8 @@ function processAsyncResponse() {
</head> </head>
<body onresize="sizeTextArea();" onload="sizeTextArea();" style="margin: 0px; padding: 0px;"> <body onresize="sizeTextArea();" onload="sizeTextArea();" style="margin: 0px; padding: 0px;">
<form name="h2query" method="post" action="/query.do?jsessionid=${sessionId}" target="h2result"> <form name="h2query" method="post" action="/query.do?jsessionid=${sessionId}" target="h2result">
<input type="button" class="button" value="${text.toolbar.run}" onclick="javascript:submit();sql.focus();return true;"> <input type="button" class="button" value="${text.toolbar.run}" onclick="javascript:submit();sql.focus();return true;" />
<input type="button" class="button" value="${text.toolbar.clear}" onclick="javascript:sql.value='';keyUp();sql.focus();return true;"> <input type="button" class="button" value="${text.toolbar.clear}" onclick="javascript:sql.value='';keyUp();sql.focus();return true;" />
${text.toolbar.sqlStatement}: ${text.toolbar.sqlStatement}:
<div style="display:none"> <div style="display:none">
<iframe id="h2iframeTransport" src="" onload="showList(this.contentWindow.document.body.innerHTML);"></iframe> <iframe id="h2iframeTransport" src="" onload="showList(this.contentWindow.document.body.innerHTML);"></iframe>
......
...@@ -5,9 +5,9 @@ Initial Developer: H2 Group ...@@ -5,9 +5,9 @@ Initial Developer: H2 Group
--> -->
<html> <html>
<head> <head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>${text.a.title}</title> <title>${text.a.title}</title>
<link rel="stylesheet" type="text/css" href="stylesheet.css"> <link rel="stylesheet" type="text/css" href="stylesheet.css" />
<script type="text/javascript" src="table.js"></script> <script type="text/javascript" src="table.js"></script>
</head> </head>
<body class="result"> <body class="result">
......
...@@ -45,8 +45,8 @@ function editRow(row, session, write, undo) { ...@@ -45,8 +45,8 @@ function editRow(row, session, write, undo) {
for(i=1; i<table.rows.length; i++) { for(i=1; i<table.rows.length; i++) {
var cell = table.rows[i].cells[0]; var cell = table.rows[i].cells[0];
if(i == y) { if(i == y) {
var edit = '<img width=16 height=16 src="ico_ok.gif" onclick="javascript:editing.op.value=\'1\';editing.row.value=\''+row+'\';editing.submit()" onmouseover = "this.className =\'icon_hover\'" onmouseout = "this.className=\'icon\'" class="icon" alt="'+write+'" title="'+write+'" border="1">'; var edit = '<img width=16 height=16 src="ico_ok.gif" onclick="javascript:editing.op.value=\'1\';editing.row.value=\''+row+'\';editing.submit()" onmouseover = "this.className =\'icon_hover\'" onmouseout = "this.className=\'icon\'" class="icon" alt="'+write+'" title="'+write+'" border="1"/>';
var undo = '<img width=16 height=16 src="ico_undo.gif" onclick="javascript:editing.op.value=\'3\';editing.row.value=\''+row+'\';editing.submit()" onmouseover = "this.className =\'icon_hover\'" onmouseout = "this.className=\'icon\'" class="icon" alt="'+undo+'" title="'+undo+'" border="1">'; var undo = '<img width=16 height=16 src="ico_undo.gif" onclick="javascript:editing.op.value=\'3\';editing.row.value=\''+row+'\';editing.submit()" onmouseover = "this.className =\'icon_hover\'" onmouseout = "this.className=\'icon\'" class="icon" alt="'+undo+'" title="'+undo+'" border="1"/>';
cell.innerHTML = edit + undo; cell.innerHTML = edit + undo;
} else { } else {
cell.innerHTML = ''; cell.innerHTML = '';
...@@ -56,7 +56,7 @@ function editRow(row, session, write, undo) { ...@@ -56,7 +56,7 @@ function editRow(row, session, write, undo) {
for(i=1; i<cells.length; i++) { for(i=1; i<cells.length; i++) {
var cell = cells[i]; var cell = cells[i];
var text = getInnerText(cell); var text = getInnerText(cell);
cell.innerHTML = '<input type="text" name="r'+row+'c' + i + '" value="'+text+'" size="' + (text.length+5) + '">'; cell.innerHTML = '<input type="text" name="r'+row+'c' + i + '" value="'+text+'" size="' + (text.length+5) + '"/>';
} }
} }
...@@ -126,11 +126,11 @@ function resortTable(link) { ...@@ -126,11 +126,11 @@ function resortTable(link) {
var arrow; var arrow;
if (span.getAttribute("sortDir") == 'down') { if (span.getAttribute("sortDir") == 'down') {
arrow = '&nbsp;<img src="sort_up.gif" with=7 height=10 border=0>'; arrow = '&nbsp;<img src="sort_up.gif" with=7 height=10 border=0/>';
newRows.reverse(); newRows.reverse();
span.setAttribute('sortDir','up'); span.setAttribute('sortDir','up');
} else { } else {
arrow = '&nbsp;<img src="sort_down.gif" with=7 height=10 border=0>'; arrow = '&nbsp;<img src="sort_down.gif" with=7 height=10 border=0/>';
span.setAttribute('sortDir','down'); span.setAttribute('sortDir','down');
} }
......
...@@ -5,9 +5,9 @@ Initial Developer: H2 Group ...@@ -5,9 +5,9 @@ Initial Developer: H2 Group
--> -->
<html> <html>
<head> <head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>${text.a.title}</title> <title>${text.a.title}</title>
<link rel="stylesheet" type="text/css" href="stylesheet.css"> <link rel="stylesheet" type="text/css" href="stylesheet.css" />
<script type="text/javascript" src="tree.js"></script> <script type="text/javascript" src="tree.js"></script>
<script type="text/javascript"> <script type="text/javascript">
<!-- <!--
......
...@@ -97,7 +97,7 @@ function writeTree() { ...@@ -97,7 +97,7 @@ function writeTree() {
} else { } else {
document.write("<a name='"+node.text+"' href=\""+node.link+"\" >"+node.text+"</a>"); document.write("<a name='"+node.text+"' href=\""+node.link+"\" >"+node.text+"</a>");
} }
document.write("<br>"); document.write("<br />");
} }
writeDiv(0, 0, -last.type); writeDiv(0, 0, -last.type);
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论