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

--no commit message

--no commit message
上级 b492f851
......@@ -5,9 +5,9 @@ Initial Developer: H2 Group
-->
<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>H2 Documentation</title>
<link rel="stylesheet" type="text/css" href="stylesheet.css">
<link rel="stylesheet" type="text/css" href="stylesheet.css" />
</head>
<body>
......@@ -18,46 +18,46 @@ Initial Developer: H2 Group
<div class="menu">
<b><a href="overview.html" target="javadoc">API Overview</a></b><br>
<br>
<b><a href="overview.html" target="javadoc">API Overview</a></b><br />
<br />
<b>JDBC</b><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/JdbcClob.html" target="javadoc">Clob</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/JdbcParameterMetaData.html" target="javadoc">ParameterMetaData</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/JdbcResultSetMetaData.html" target="javadoc">ResultSetMetaData</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/JdbcStatement.html" target="javadoc">Statement</a><br>
<br>
<b>JDBC</b><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/JdbcClob.html" target="javadoc">Clob</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/JdbcParameterMetaData.html" target="javadoc">ParameterMetaData</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/JdbcResultSetMetaData.html" target="javadoc">ResultSetMetaData</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/JdbcStatement.html" target="javadoc">Statement</a><br />
<br />
<b>Tools</b><br>
Package org.h2.tools<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/CompressTool.html" target="javadoc">CompressTool</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/Csv.html" target="javadoc">Csv</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/Recover.html" target="javadoc">Recover</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/SimpleResultSet.html" target="javadoc">SimpleResultSet</a><br>
<a href="org/h2/tools/SimpleRowSource.html" target="javadoc">SimpleRowSource</a><br>
<br>
<b>Tools</b><br />
Package org.h2.tools<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/CompressTool.html" target="javadoc">CompressTool</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/Csv.html" target="javadoc">Csv</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/Recover.html" target="javadoc">Recover</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/SimpleResultSet.html" target="javadoc">SimpleResultSet</a><br />
<a href="org/h2/tools/SimpleRowSource.html" target="javadoc">SimpleRowSource</a><br />
<br />
<b>Interfaces</b><br>
Package org.h2.api<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>
<br>
<b>Interfaces</b><br />
Package org.h2.api<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 />
<br />
</div>
......
......@@ -5,13 +5,13 @@ Initial Developer: H2 Group
-->
<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>H2 Documentation</title>
<link rel="stylesheet" type="text/css" href="stylesheet.css">
<link rel="stylesheet" type="text/css" href="stylesheet.css" />
</head>
<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="overview.html" name="javadoc">
<frame frameborder="0" marginheight="0" marginwidth="0" src="classes.html" name="classes" />
<frame frameborder="0" marginheight="0" marginwidth="0" src="overview.html" name="javadoc" />
</frameset>
<noframes>
<body>
......
......@@ -5,9 +5,9 @@ Initial Developer: H2 Group
-->
<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>API Overview</title>
<link rel="stylesheet" type="text/css" href="stylesheet.css">
<link rel="stylesheet" type="text/css" href="stylesheet.css" />
</head>
<body>
<table style="width: 100%; height: 100%; border: 0px;">
......
......@@ -452,8 +452,10 @@ public class Parser {
int type = TransactionCommand.SHUTDOWN;
if(readIf("IMMEDIATELY")) {
type = TransactionCommand.SHUTDOWN_IMMEDIATELY;
} else if(readIf("COMPACT")) {
} else if(readIf("SCRIPT")) {
} else {
if(!readIf("COMPACT")) {
readIf("SCRIPT");
}
}
TransactionCommand command = new TransactionCommand(session, type);
return command;
......
......@@ -204,39 +204,43 @@ public class Script extends ScriptBase {
Index index = plan.getIndex();
Cursor cursor = index.find(session, null, null);
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++) {
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()) {
Row row = cursor.get();
String s = ins;
buff = new StringBuffer(ins);
for(int j=0; j<row.getColumnCount(); j++) {
if(j>0) {
s += ", ";
buff.append(", ");
}
Value v = row.getValue(j);
if(v.getPrecision() > lobBlockSize) {
int id;
if(v.getType() == Value.CLOB) {
id = writeLobStream((ValueLob)v);
s += "SYSTEM_COMBINE_CLOB("+id+")";
buff.append("SYSTEM_COMBINE_CLOB("+id+")");
} else if(v.getType() == Value.BLOB) {
id = writeLobStream((ValueLob)v);
s += "SYSTEM_COMBINE_BLOB("+id+")";
buff.append("SYSTEM_COMBINE_BLOB("+id+")");
} else {
s += v.getSQL();
buff.append(v.getSQL());
}
} else {
s += v.getSQL();
buff.append(v.getSQL());
}
}
s += ")";
add(s, true);
buff.append(")");
add(buff.toString(), true);
}
}
}
......
......@@ -222,17 +222,16 @@ public class Constants {
public static final int CACHE_MIN_RECORDS = 16;
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);
// 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 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 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_IN = getBooleanSetting("h2.optimizeIn", true);
......@@ -250,7 +249,6 @@ public class Constants {
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 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) {
String s = System.getProperty(name);
......
......@@ -173,10 +173,10 @@ public class FullText implements Trigger {
* This adds the following Java functions to the database:
* <ul>
* <li>FT_CREATE_INDEX(schemaNameString, tableNameString, columnListString)
* <li>FT_SEARCH(queryString, limitInt, offsetInt): result set
* <li>FT_REINDEX()
* <li>FT_DROP_ALL()
* </ul>
* </li><li>FT_SEARCH(queryString, limitInt, offsetInt): result set
* </li><li>FT_REINDEX()
* </li><li>FT_DROP_ALL()
* </li></ul>
* 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:
* <pre>
......
......@@ -165,10 +165,10 @@ public class FullTextLucene implements Trigger {
* database:
* <ul>
* <li>FTL_CREATE_INDEX(schemaNameString, tableNameString, columnListString)
* <li>FTL_SEARCH(queryString, limitInt, offsetInt): result set
* <li>FTL_REINDEX()
* <li>FTL_DROP_ALL()
* </ul>
* </li><li>FTL_SEARCH(queryString, limitInt, offsetInt): result set
* </li><li>FTL_REINDEX()
* </li><li>FTL_DROP_ALL()
* </li></ul>
* 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:
*
......
......@@ -86,13 +86,12 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat
*
* <ul>
* <li>1 TABLE_CAT (String) table catalog
* <li>2 TABLE_SCHEM (String) table schema
* <li>3 TABLE_NAME (String) table name
* <li>4 TABLE_TYPE (String) table type
* <li>5 REMARKS (String) comment
*
* <li>6 SQL (String) the create table statement or NULL for systems tables
* </ul>
* </li><li>2 TABLE_SCHEM (String) table schema
* </li><li>3 TABLE_NAME (String) table name
* </li><li>4 TABLE_TYPE (String) table type
* </li><li>5 REMARKS (String) comment
* </li><li>6 SQL (String) the create table statement or NULL for systems tables
* </li></ul>
*
* @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)
......@@ -156,24 +155,24 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat
*
* <ul>
* <li>1 TABLE_CAT (String) table catalog
* <li>2 TABLE_SCHEM (String) table schema
* <li>3 TABLE_NAME (String) table name
* <li>4 COLUMN_NAME (String) column name
* <li>5 DATA_TYPE (short) data type (see java.sql.Types)
* <li>6 TYPE_NAME (String) data type name ("INTEGER", "VARCHAR",...)
* <li>7 COLUMN_SIZE (int) precision
* <li>8 BUFFER_LENGTH (int) unused
* <li>9 DECIMAL_DIGITS (int) scale (0 for INTEGER and VARCHAR)
* <li>10 NUM_PREC_RADIX (int) radix (always 10)
* <li>11 NULLABLE (int) nullable or not. columnNoNulls or columnNullable
* <li>12 REMARKS (String) comment (always empty)
* <li>13 COLUMN_DEF (String) default value
* <li>14 SQL_DATA_TYPE (int) unused
* <li>15 SQL_DATETIME_SUB (int) unused
* <li>16 CHAR_OCTET_LENGTH (int) unused
* <li>17 ORDINAL_POSITION (int) the column index (1,2,...)
* <li>18 IS_NULLABLE (String) "NO" or "YES"
* </ul>
* </li><li>2 TABLE_SCHEM (String) table schema
* </li><li>3 TABLE_NAME (String) table name
* </li><li>4 COLUMN_NAME (String) column name
* </li><li>5 DATA_TYPE (short) data type (see java.sql.Types)
* </li><li>6 TYPE_NAME (String) data type name ("INTEGER", "VARCHAR",...)
* </li><li>7 COLUMN_SIZE (int) precision
* </li><li>8 BUFFER_LENGTH (int) unused
* </li><li>9 DECIMAL_DIGITS (int) scale (0 for INTEGER and VARCHAR)
* </li><li>10 NUM_PREC_RADIX (int) radix (always 10)
* </li><li>11 NULLABLE (int) nullable or not. columnNoNulls or columnNullable
* </li><li>12 REMARKS (String) comment (always empty)
* </li><li>13 COLUMN_DEF (String) default value
* </li><li>14 SQL_DATA_TYPE (int) unused
* </li><li>15 SQL_DATETIME_SUB (int) unused
* </li><li>16 CHAR_OCTET_LENGTH (int) unused
* </li><li>17 ORDINAL_POSITION (int) the column index (1,2,...)
* </li><li>18 IS_NULLABLE (String) "NO" or "YES"
* </li></ul>
*
* @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)
......@@ -236,19 +235,19 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat
*
* <ul>
* <li>1 TABLE_CAT (String) table catalog
* <li>2 TABLE_SCHEM (String) table schema
* <li>3 TABLE_NAME (String) table name
* <li>4 NON_UNIQUE (boolean) 'false' for unique, 'true' for non-unique
* <li>5 INDEX_QUALIFIER (String) index catalog
* <li>6 INDEX_NAME (String) index name
* <li>7 TYPE (short) the index type (always tableIndexOther)
* <li>8 ORDINAL_POSITION (short) column index (1, 2, ...)
* <li>9 COLUMN_NAME (String) column name
* <li>10 ASC_OR_DESC (String) ascending or descending (always 'A')
* <li>11 CARDINALITY (int) numbers of unique values
* <li>12 PAGES (int) number of pages use (always 0)
* <li>13 FILTER_CONDITION (String) filter condition (always empty)
* </ul>
* </li><li>2 TABLE_SCHEM (String) table schema
* </li><li>3 TABLE_NAME (String) table name
* </li><li>4 NON_UNIQUE (boolean) 'false' for unique, 'true' for non-unique
* </li><li>5 INDEX_QUALIFIER (String) index catalog
* </li><li>6 INDEX_NAME (String) index name
* </li><li>7 TYPE (short) the index type (always tableIndexOther)
* </li><li>8 ORDINAL_POSITION (short) column index (1, 2, ...)
* </li><li>9 COLUMN_NAME (String) column name
* </li><li>10 ASC_OR_DESC (String) ascending or descending (always 'A')
* </li><li>11 CARDINALITY (int) numbers of unique values
* </li><li>12 PAGES (int) number of pages use (always 0)
* </li><li>13 FILTER_CONDITION (String) filter condition (always empty)
* </li></ul>
*
* @param catalog null (to get all objects) or the catalog name
* @param schema schema name (must be specified)
......@@ -311,12 +310,12 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat
*
* <ul>
* <li>1 TABLE_CAT (String) table catalog
* <li>2 TABLE_SCHEM (String) table schema
* <li>3 TABLE_NAME (String) table name
* <li>4 COLUMN_NAME (String) column name
* <li>5 KEY_SEQ (short) the column index of this column (1,2,...)
* <li>6 PK_NAME (String) always 'PRIMARY_KEY'
* </ul>
* </li><li>2 TABLE_SCHEM (String) table schema
* </li><li>3 TABLE_NAME (String) table name
* </li><li>4 COLUMN_NAME (String) column name
* </li><li>5 KEY_SEQ (short) the column index of this column (1,2,...)
* </li><li>6 PK_NAME (String) always 'PRIMARY_KEY'
* </li></ul>
*
* @param catalog null (to get all objects) or the catalog name
* @param schema schema name (must be specified)
......@@ -473,15 +472,15 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat
*
* <ul>
* <li>1 PROCEDURE_CAT (String) catalog
* <li>2 PROCEDURE_SCHEM (String) schema
* <li>3 PROCEDURE_NAME (String) name
* <li>4 NUM_INPUT_PARAMS (int) for future use, always 0
* <li>5 NUM_OUTPUT_PARAMS (int) for future use, always 0
* <li>6 NUM_RESULT_SETS (int) for future use, always 0
* <li>7 REMARKS (String) description
* <li>8 PROCEDURE_TYPE (short) if this procedure returns a result
* </li><li>2 PROCEDURE_SCHEM (String) schema
* </li><li>3 PROCEDURE_NAME (String) name
* </li><li>4 NUM_INPUT_PARAMS (int) for future use, always 0
* </li><li>5 NUM_OUTPUT_PARAMS (int) for future use, always 0
* </li><li>6 NUM_RESULT_SETS (int) for future use, always 0
* </li><li>7 REMARKS (String) description
* </li><li>8 PROCEDURE_TYPE (short) if this procedure returns a result
* (procedureNoResult or procedureReturnsResult)
* </ul>
* </li></ul>
*
* @return an empty result set
* @throws SQLException if the connection is closed
......@@ -524,19 +523,19 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat
*
* <ul>
* <li>1 PROCEDURE_CAT (String) catalog
* <li>2 PROCEDURE_SCHEM (String) schema
* <li>3 PROCEDURE_NAME (String) name
* <li>4 COLUMN_NAME (String) column name
* <li>5 COLUMN_TYPE (short) column type
* <li>6 DATA_TYPE (short) sql type
* <li>7 TYPE_NAME (String) type name
* <li>8 PRECISION (int) precision
* <li>9 LENGTH (int) length
* <li>10 SCALE (short) scale
* <li>11 RADIX (int) always 10
* <li>12 NULLABLE (short) nullable
* <li>13 REMARKS (String) description
* </ul>
* </li><li>2 PROCEDURE_SCHEM (String) schema
* </li><li>3 PROCEDURE_NAME (String) name
* </li><li>4 COLUMN_NAME (String) column name
* </li><li>5 COLUMN_TYPE (short) column type
* </li><li>6 DATA_TYPE (short) sql type
* </li><li>7 TYPE_NAME (String) type name
* </li><li>8 PRECISION (int) precision
* </li><li>9 LENGTH (int) length
* </li><li>10 SCALE (short) scale
* </li><li>11 RADIX (int) always 10
* </li><li>12 NULLABLE (short) nullable
* </li><li>13 REMARKS (String) description
* </li></ul>
*
* @throws SQLException if the connection is closed
*/
......@@ -587,9 +586,9 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat
*
* <ul>
* <li>1 TABLE_SCHEM (String) schema name
* <li>2 TABLE_CATALOG (String) catalog name
* <li>3 IS_DEFAULT (boolean) if this is the default schema
* </ul>
* </li><li>2 TABLE_CATALOG (String) catalog name
* </li><li>3 IS_DEFAULT (boolean) if this is the default schema
* </li></ul>
*
* @return the schema list
* @throws SQLException if the connection is closed
......@@ -617,7 +616,7 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat
*
* <ul>
* <li>1 TABLE_CAT (String) catalog name
* </ul>
* </li></ul>
*
* @return the catalog list
* @throws SQLException if the connection is closed
......@@ -642,7 +641,7 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat
*
* <ul>
* <li>1 TABLE_TYPE (String) table type
* </ul>
* </li></ul>
*
* @return the table types
* @throws SQLException if the connection is closed
......@@ -667,14 +666,14 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat
*
* <ul>
* <li>1 TABLE_CAT (String) table catalog
* <li>2 TABLE_SCHEM (String) table schema
* <li>3 TABLE_NAME (String) table name
* <li>4 COLUMN_NAME (String) column name
* <li>5 GRANTOR (String) grantor of access
* <li>6 GRANTEE (String) grantee of access
* <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
* </ul>
* </li><li>2 TABLE_SCHEM (String) table schema
* </li><li>3 TABLE_NAME (String) table name
* </li><li>4 COLUMN_NAME (String) column name
* </li><li>5 GRANTOR (String) grantor of access
* </li><li>6 GRANTEE (String) grantee of access
* </li><li>7 PRIVILEGE (String) SELECT, INSERT, UPDATE, DELETE or REFERENCES (only one per row)
* </li><li>8 IS_GRANTABLE (String) YES means the grantee can grant access to others
* </li></ul>
*
* @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)
......@@ -725,13 +724,13 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat
*
* <ul>
* <li>1 TABLE_CAT (String) table catalog
* <li>2 TABLE_SCHEM (String) table schema
* <li>3 TABLE_NAME (String) table name
* <li>4 GRANTOR (String) grantor of access
* <li>5 GRANTEE (String) grantee of access
* <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
* </ul>
* </li><li>2 TABLE_SCHEM (String) table schema
* </li><li>3 TABLE_NAME (String) table name
* </li><li>4 GRANTOR (String) grantor of access
* </li><li>5 GRANTEE (String) grantee of access
* </li><li>6 PRIVILEGE (String) SELECT, INSERT, UPDATE, DELETE or REFERENCES (only one per row)
* </li><li>7 IS_GRANTABLE (String) YES means the grantee can grant access to others
* </li></ul>
*
* @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)
......@@ -776,14 +775,14 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat
*
* <ul>
* <li>1 SCOPE (short) scope of result (always bestRowSession)
* <li>2 COLUMN_NAME (String) column name
* <li>3 DATA_TYPE (short) SQL data type, see also java.sql.Types
* <li>4 TYPE_NAME (String) type name
* <li>5 COLUMN_SIZE (int) precision
* <li>6 BUFFER_LENGTH (int) unused
* <li>7 DECIMAL_DIGITS (short) scale
* <li>8 PSEUDO_COLUMN (short) (always bestRowNotPseudo)
* </ul>
* </li><li>2 COLUMN_NAME (String) column name
* </li><li>3 DATA_TYPE (short) SQL data type, see also java.sql.Types
* </li><li>4 TYPE_NAME (String) type name
* </li><li>5 COLUMN_SIZE (int) precision
* </li><li>6 BUFFER_LENGTH (int) unused
* </li><li>7 DECIMAL_DIGITS (short) scale
* </li><li>8 PSEUDO_COLUMN (short) (always bestRowNotPseudo)
* </li></ul>
*
* @param catalog null (to get all objects) or the catalog name
* @param schema schema name (must be specified)
......@@ -838,14 +837,14 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat
*
* <ul>
* <li>1 SCOPE (int) not used
* <li>2 COLUMN_NAME (String) column name
* <li>3 DATA_TYPE (int) SQL data type - see also java.sql.Types
* <li>4 TYPE_NAME (String) data type name
* <li>5 COLUMN_SIZE (int) precision
* <li>6 BUFFER_LENGTH (int) length (bytes)
* <li>7 DECIMAL_DIGITS (int) scale
* <li>8 PSEUDO_COLUMN (int) is this column a pseudo column
* </ul>
* </li><li>2 COLUMN_NAME (String) column name
* </li><li>3 DATA_TYPE (int) SQL data type - see also java.sql.Types
* </li><li>4 TYPE_NAME (String) data type name
* </li><li>5 COLUMN_SIZE (int) precision
* </li><li>6 BUFFER_LENGTH (int) length (bytes)
* </li><li>7 DECIMAL_DIGITS (int) scale
* </li><li>8 PSEUDO_COLUMN (int) is this column a pseudo column
* </li></ul>
*
* @param catalog null (to get all objects) or the catalog name
* @param schema schema name (must be specified)
......@@ -886,20 +885,20 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat
*
* <ul>
* <li>1 PKTABLE_CAT (String) primary catalog
* <li>2 PKTABLE_SCHEM (String) primary schema
* <li>3 PKTABLE_NAME (String) primary table
* <li>4 PKCOLUMN_NAME (String) primary column
* <li>5 FKTABLE_CAT (String) foreign catalog
* <li>6 FKTABLE_SCHEM (String) foreign schema
* <li>7 FKTABLE_NAME (String) foreign table
* <li>8 FKCOLUMN_NAME (String) foreign column
* <li>9 KEY_SEQ (short) sequence number (1, 2, ...)
* <li>10 UPDATE_RULE (short) action on update (see DatabaseMetaData.importedKey...)
* <li>11 DELETE_RULE (short) action on delete (see DatabaseMetaData.importedKey...)
* <li>12 FK_NAME (String) foreign key name
* <li>13 PK_NAME (String) primary key name
* <li>14 DEFERRABILITY (short) deferrable or not (always importedKeyNotDeferrable)
* </ul>
* </li><li>2 PKTABLE_SCHEM (String) primary schema
* </li><li>3 PKTABLE_NAME (String) primary table
* </li><li>4 PKCOLUMN_NAME (String) primary column
* </li><li>5 FKTABLE_CAT (String) foreign catalog
* </li><li>6 FKTABLE_SCHEM (String) foreign schema
* </li><li>7 FKTABLE_NAME (String) foreign table
* </li><li>8 FKCOLUMN_NAME (String) foreign column
* </li><li>9 KEY_SEQ (short) sequence number (1, 2, ...)
* </li><li>10 UPDATE_RULE (short) action on update (see DatabaseMetaData.importedKey...)
* </li><li>11 DELETE_RULE (short) action on delete (see DatabaseMetaData.importedKey...)
* </li><li>12 FK_NAME (String) foreign key name
* </li><li>13 PK_NAME (String) primary key name
* </li><li>14 DEFERRABILITY (short) deferrable or not (always importedKeyNotDeferrable)
* </li></ul>
*
* @param catalog null (to get all objects) or the catalog name
* @param schema the schema name of the foreign table
......@@ -951,20 +950,20 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat
*
* <ul>
* <li>1 PKTABLE_CAT (String) primary catalog
* <li>2 PKTABLE_SCHEM (String) primary schema
* <li>3 PKTABLE_NAME (String) primary table
* <li>4 PKCOLUMN_NAME (String) primary column
* <li>5 FKTABLE_CAT (String) foreign catalog
* <li>6 FKTABLE_SCHEM (String) foreign schema
* <li>7 FKTABLE_NAME (String) foreign table
* <li>8 FKCOLUMN_NAME (String) foreign column
* <li>9 KEY_SEQ (short) sequence number (1,2,...)
* <li>10 UPDATE_RULE (short) action on update (see DatabaseMetaData.importedKey...)
* <li>11 DELETE_RULE (short) action on delete (see DatabaseMetaData.importedKey...)
* <li>12 FK_NAME (String) foreign key name
* <li>13 PK_NAME (String) primary key name
* <li>14 DEFERRABILITY (short) deferrable or not (always importedKeyNotDeferrable)
* </ul>
* </li><li>2 PKTABLE_SCHEM (String) primary schema
* </li><li>3 PKTABLE_NAME (String) primary table
* </li><li>4 PKCOLUMN_NAME (String) primary column
* </li><li>5 FKTABLE_CAT (String) foreign catalog
* </li><li>6 FKTABLE_SCHEM (String) foreign schema
* </li><li>7 FKTABLE_NAME (String) foreign table
* </li><li>8 FKCOLUMN_NAME (String) foreign column
* </li><li>9 KEY_SEQ (short) sequence number (1,2,...)
* </li><li>10 UPDATE_RULE (short) action on update (see DatabaseMetaData.importedKey...)
* </li><li>11 DELETE_RULE (short) action on delete (see DatabaseMetaData.importedKey...)
* </li><li>12 FK_NAME (String) foreign key name
* </li><li>13 PK_NAME (String) primary key name
* </li><li>14 DEFERRABILITY (short) deferrable or not (always importedKeyNotDeferrable)
* </li></ul>
*
* @param catalog null (to get all objects) or the catalog name
* @param schema the schema name of the primary table
......@@ -1018,20 +1017,20 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat
*
* <ul>
* <li>1 PKTABLE_CAT (String) primary catalog
* <li>2 PKTABLE_SCHEM (String) primary schema
* <li>3 PKTABLE_NAME (String) primary table
* <li>4 PKCOLUMN_NAME (String) primary column
* <li>5 FKTABLE_CAT (String) foreign catalog
* <li>6 FKTABLE_SCHEM (String) foreign schema
* <li>7 FKTABLE_NAME (String) foreign table
* <li>8 FKCOLUMN_NAME (String) foreign column
* <li>9 KEY_SEQ (short) sequence number (1,2,...)
* <li>10 UPDATE_RULE (short) action on update (see DatabaseMetaData.importedKey...)
* <li>11 DELETE_RULE (short) action on delete (see DatabaseMetaData.importedKey...)
* <li>12 FK_NAME (String) foreign key name
* <li>13 PK_NAME (String) primary key name
* <li>14 DEFERRABILITY (short) deferrable or not (always importedKeyNotDeferrable)
* </ul>
* </li><li>2 PKTABLE_SCHEM (String) primary schema
* </li><li>3 PKTABLE_NAME (String) primary table
* </li><li>4 PKCOLUMN_NAME (String) primary column
* </li><li>5 FKTABLE_CAT (String) foreign catalog
* </li><li>6 FKTABLE_SCHEM (String) foreign schema
* </li><li>7 FKTABLE_NAME (String) foreign table
* </li><li>8 FKCOLUMN_NAME (String) foreign column
* </li><li>9 KEY_SEQ (short) sequence number (1,2,...)
* </li><li>10 UPDATE_RULE (short) action on update (see DatabaseMetaData.importedKey...)
* </li><li>11 DELETE_RULE (short) action on delete (see DatabaseMetaData.importedKey...)
* </li><li>12 FK_NAME (String) foreign key name
* </li><li>13 PK_NAME (String) primary key name
* </li><li>14 DEFERRABILITY (short) deferrable or not (always importedKeyNotDeferrable)
* </li></ul>
*
* @param primaryCatalog ignored
* @param primarySchema the schema name of the primary table (must be specified)
......@@ -1097,13 +1096,13 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat
*
* <ul>
* <li>1 TYPE_CAT (String) catalog
* <li>2 TYPE_SCHEM (String) schema
* <li>3 TYPE_NAME (String) type name
* <li>4 CLASS_NAME (String) Java class
* <li>5 DATA_TYPE (short) SQL Type - see also java.sql.Types
* <li>6 REMARKS (String) description
* <li>7 BASE_TYPE (short) base type - see also java.sql.Types
* </ul>
* </li><li>2 TYPE_SCHEM (String) schema
* </li><li>3 TYPE_NAME (String) type name
* </li><li>4 CLASS_NAME (String) Java class
* </li><li>5 DATA_TYPE (short) SQL Type - see also java.sql.Types
* </li><li>6 REMARKS (String) description
* </li><li>7 BASE_TYPE (short) base type - see also java.sql.Types
* </li></ul>
*
* @param catalog ignored
* @param schemaPattern ignored
......@@ -1147,24 +1146,24 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat
*
* <ul>
* <li>1 TYPE_NAME (String) type name
* <li>2 DATA_TYPE (short) SQL data type - see also java.sql.Types
* <li>3 PRECISION (int) maximum precision
* <li>4 LITERAL_PREFIX (String) prefix used to quote a literal
* <li>5 LITERAL_SUFFIX (String) suffix used to quote a literal
* <li>6 CREATE_PARAMS (String) parameters used (may be null)
* <li>7 NULLABLE (short) typeNoNulls (NULL not allowed) or typeNullable
* <li>8 CASE_SENSITIVE (boolean) case sensitive
* <li>9 SEARCHABLE (short) typeSearchable
* <li>10 UNSIGNED_ATTRIBUTE (boolean) unsigned
* <li>11 FIXED_PREC_SCALE (boolean) fixed precision
* <li>12 AUTO_INCREMENT (boolean) auto increment
* <li>13 LOCAL_TYPE_NAME (String) localized version of the data type
* <li>14 MINIMUM_SCALE (short) minimum scale
* <li>15 MAXIMUM_SCALE (short) maximum scale
* <li>16 SQL_DATA_TYPE (int) unused
* <li>17 SQL_DATETIME_SUB (int) unused
* <li>18 NUM_PREC_RADIX (int) 2 for binary, 10 for decimal
* </ul>
* </li><li>2 DATA_TYPE (short) SQL data type - see also java.sql.Types
* </li><li>3 PRECISION (int) maximum precision
* </li><li>4 LITERAL_PREFIX (String) prefix used to quote a literal
* </li><li>5 LITERAL_SUFFIX (String) suffix used to quote a literal
* </li><li>6 CREATE_PARAMS (String) parameters used (may be null)
* </li><li>7 NULLABLE (short) typeNoNulls (NULL not allowed) or typeNullable
* </li><li>8 CASE_SENSITIVE (boolean) case sensitive
* </li><li>9 SEARCHABLE (short) typeSearchable
* </li><li>10 UNSIGNED_ATTRIBUTE (boolean) unsigned
* </li><li>11 FIXED_PREC_SCALE (boolean) fixed precision
* </li><li>12 AUTO_INCREMENT (boolean) auto increment
* </li><li>13 LOCAL_TYPE_NAME (String) localized version of the data type
* </li><li>14 MINIMUM_SCALE (short) minimum scale
* </li><li>15 MAXIMUM_SCALE (short) maximum scale
* </li><li>16 SQL_DATA_TYPE (int) unused
* </li><li>17 SQL_DATETIME_SUB (int) unused
* </li><li>18 NUM_PREC_RADIX (int) 2 for binary, 10 for decimal
* </li></ul>
*
* @return the list of data types
* @throws SQLException if the connection is closed
......@@ -2426,10 +2425,10 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat
*
* <ul>
* <li>1 TABLE_CAT (String) table catalog
* <li>2 TABLE_SCHEM (String) table schema
* <li>3 TABLE_NAME (String) table name
* <li>4 SUPERTABLE_NAME (String) the name of the super table
* </ul>
* </li><li>2 TABLE_SCHEM (String) table schema
* </li><li>3 TABLE_NAME (String) table name
* </li><li>4 SUPERTABLE_NAME (String) the name of the super table
* </li></ul>
*
* @return an empty result set
*/
......
......@@ -4,6 +4,7 @@
*/
package org.h2.jdbcx;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.Serializable;
import java.sql.Connection;
......@@ -44,7 +45,7 @@ Serializable, Referenceable {
private static final long serialVersionUID = 1288136338451857771L;
private transient JdbcDataSourceFactory factory = new JdbcDataSourceFactory();
private transient JdbcDataSourceFactory factory;
private transient PrintWriter logWriter;
private int timeout;
private String user = "";
......@@ -52,10 +53,20 @@ Serializable, Referenceable {
private String url = "";
public JdbcDataSource() {
initFactory();
int id = getNextId(TraceObject.DATA_SOURCE);
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 {
debugCodeCall("getLoginTimeout");
return timeout;
......
......@@ -24,7 +24,6 @@ import org.h2.util.NetUtils;
public class TcpServer implements Service {
// 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?
public static final int DEFAULT_PORT = 9092;
......
......@@ -451,7 +451,7 @@ public class AppThread extends WebServerThread {
}
}
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++) {
if(i==0) {
buff.append("setNode("+treeIndex+", 0, 1, 'users', '${text.tree.users}', null);\n");
......@@ -475,8 +475,7 @@ public class AppThread extends WebServerThread {
buff.append("setNode("+treeIndex+", 0, 0, 'info', '" + PageParser.escapeJavaScript(version)+ "', null);\n");
buff.append("refreshQueryTables();");
session.put("tree", buff.toString());
} catch(Exception e) {
// TODO log error
} catch(SQLException e) {
session.put("tree", "");
session.put("error", getStackTrace(0, e));
}
......@@ -490,7 +489,7 @@ public class AppThread extends WebServerThread {
s = PageParser.escapeHtml(s);
s = StringUtils.replaceAll(s, "\t", "&nbsp;&nbsp;&nbsp;&nbsp;");
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);
return s;
}
......@@ -524,7 +523,7 @@ public class AppThread extends WebServerThread {
private String getLoginError(Exception e) {
if(e instanceof ClassNotFoundException) {
return "${text.login.driverNotFound}<br>" + getStackTrace(0, e);
return "${text.login.driverNotFound}<br />" + getStackTrace(0, e);
} else {
return getStackTrace(0, e);
}
......@@ -587,10 +586,10 @@ public class AppThread extends WebServerThread {
int level = Integer.parseInt(s);
conn.setTransactionIsolation(level);
}
result = "Transaction Isolation: " + conn.getTransactionIsolation() + "<br>";
result += Connection.TRANSACTION_READ_UNCOMMITTED + ": READ_UNCOMMITTED<br>";
result += Connection.TRANSACTION_READ_COMMITTED + ": READ_COMMITTED<br>";
result += Connection.TRANSACTION_REPEATABLE_READ + ": REPEATABLE_READ<br>";
result = "Transaction Isolation: " + conn.getTransactionIsolation() + "<br />";
result += Connection.TRANSACTION_READ_UNCOMMITTED + ": READ_UNCOMMITTED<br />";
result += Connection.TRANSACTION_READ_COMMITTED + ": READ_COMMITTED<br />";
result += Connection.TRANSACTION_REPEATABLE_READ + ": REPEATABLE_READ<br />";
result += Connection.TRANSACTION_SERIALIZABLE + ": SERIALIZABLE";
} else if(sql.startsWith("@SET MAXROWS ")) {
int maxrows = Integer.parseInt(sql.substring("@SET MAXROWS ".length()));
......@@ -611,10 +610,10 @@ public class AppThread extends WebServerThread {
String s = (String) list.get(i);
if(!s.startsWith("@")) {
buff.append(PageParser.escapeHtml(s+";"));
buff.append("<br>");
buff.append("<br />");
}
buff.append(getResult(conn, i+1, s, list.size()==1));
buff.append("<br>");
buff.append("<br />");
}
result = buff.toString();
}
......@@ -654,7 +653,7 @@ public class AppThread extends WebServerThread {
// cancel
}
} catch(Throwable e) {
result = "<br>"+getStackTrace(0, e);
result = "<br />"+getStackTrace(0, e);
error = formatAsError(e.getMessage());
}
String sql = "@EDIT " + (String) session.get("resultSetSQL");
......@@ -954,7 +953,7 @@ public class AppThread extends WebServerThread {
if(!isResultSet) {
buff.append("${text.result.updateCount}: "+stat.getUpdateCount());
time = System.currentTimeMillis() - time;
buff.append("<br>(");
buff.append("<br />(");
buff.append(time);
buff.append(" ms)");
stat.close();
......@@ -1078,7 +1077,7 @@ public class AppThread extends WebServerThread {
buff.append("<tr><td>");
buff.append("<a href=\"getHistory.do?id=");
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(PageParser.escapeHtml(sql));
buff.append("</td></tr>");
......@@ -1095,8 +1094,8 @@ public class AppThread extends WebServerThread {
if(edit) {
buff.append("<form id=\"editing\" name=\"editing\" method=\"post\" "
+ "action=\"/editResult.do?jsessionid=${sessionId}\" id=\"mainForm\" target=\"h2result\">");
buff.append("<input type=\"hidden\" name=\"op\" value=\"1\">");
buff.append("<input type=\"hidden\" name=\"row\" value=\"\">");
buff.append("<input type=\"hidden\" name=\"op\" value=\"1\" />");
buff.append("<input type=\"hidden\" name=\"row\" value=\"\" />");
buff.append("<table cellspacing=0 cellpadding=0 id=\"editTable\">");
} else {
buff.append("<table cellspacing=0 cellpadding=0>");
......@@ -1157,10 +1156,10 @@ public class AppThread extends WebServerThread {
buff.append("<img onclick=\"javascript:editRow(");
buff.append(rs.getRow());
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(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>");
}
for(int i=0; i<columns; i++) {
......@@ -1184,7 +1183,7 @@ public class AppThread extends WebServerThread {
if(edit) {
buff.append("<tr><td>");
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>");
for(int i=0; i<columns; i++) {
buff.append("<td></td>");
......@@ -1209,9 +1208,9 @@ public class AppThread extends WebServerThread {
buff.append(time);
buff.append(" ms)");
if(!edit && isUpdatable && allowEdit) {
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=\"hidden\" name=\"sql\" value=\"@EDIT " + PageParser.escapeHtml(sql) +"\">");
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=\"hidden\" name=\"sql\" value=\"@EDIT " + PageParser.escapeHtml(sql) +"\" />");
buff.append("</form>");
}
return buff.toString();
......
......@@ -259,7 +259,7 @@ public class PageParser {
break;
case '\n':
if (convertBreak) {
buff.append("<br>");
buff.append("<br />");
leadingSpace = true;
} else {
buff.append(c);
......
......@@ -50,7 +50,7 @@ helpUpdate=&Auml;ndert Daten in einer Zeile
helpWithColumnsIdName=mit zwei Spalten
login.connect=Verbinden
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.jdbcUrl=JDBC URL
login.language=Sprache
......
......@@ -50,7 +50,7 @@ helpUpdate=Change data in a row
helpWithColumnsIdName=with ID and NAME columns
login.connect=Connect
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.jdbcUrl=JDBC URL
login.language=Language
......
......@@ -50,7 +50,7 @@ helpUpdate=Modifier un enregistrement
helpWithColumnsIdName=avec les colonnes ID et NAME
login.connect=Connecter
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.jdbcUrl=URL JDBC
login.language=Langue
......
......@@ -51,7 +51,7 @@ helpUpdate=Rubah data dalam sebuah baris
helpWithColumnsIdName=dengan kolom ID dan NAME
login.connect=Hubungkan
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.jdbcUrl=JDBC URL
login.language=Bahasa
......
......@@ -51,7 +51,7 @@ helpUpdate=\u884c\u30c7\u30fc\u30bf\u306e\u5909\u66f4
helpWithColumnsIdName=\u65b0\u3057\u3044\u30c6\u30fc\u30d6\u30eb\u3092\u4f5c\u6210
login.connect=\u63a5\u7d9a
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.jdbcUrl=JDBC URL
login.language=\u8a00\u8a9e
......
......@@ -53,7 +53,7 @@ helpUpdate=\u6539\u53D8\u4E00\u884C\u6570\u636E
helpWithColumnsIdName=\u7528ID\u548CNAME\u5217
login.connect=\u8FDE\u63A5
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.jdbcUrl=JDBC URL
login.language=\u8BED\u8A00
......
......@@ -4,9 +4,9 @@ Copyright 2004-2006 H2 Group. Licensed under the H2 License, Version 1.0 (http:/
Initial Developer: H2 Group
-->
<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>
<link rel="stylesheet" type="text/css" href="stylesheet.css">
<link rel="stylesheet" type="text/css" href="stylesheet.css" />
<script type="text/javascript">
<!--
......@@ -24,62 +24,62 @@ Initial Developer: H2 Group
<p>
<a href="index.do?jsessionid=${sessionId}">${text.adminLogout}</a>
</p>
<hr>
<hr />
<form name="admin" method="post" action="/adminSave.do?jsessionid=${sessionId}">
<h3>
${text.adminAllow}
</h3>
<p>
<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 test="allowOthers=='true'">
<input type="radio" name="allowOthers" value="false">
<input type="radio" name="allowOthers" value="false" />
</c:if>
${text.adminLocal}<br>
${text.adminLocal}<br />
<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 test="allowOthers=='false'">
<input type="radio" name="allowOthers" value="true">
<input type="radio" name="allowOthers" value="true" />
</c:if>
${text.adminOthers}<br>
${text.adminOthers}<br />
</p>
<h3>
${text.adminConnection}
</h3>
<p>
<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 test="ssl=='true'">
<input type="radio" name="ssl" value="false">
<input type="radio" name="ssl" value="false" />
</c:if>
${text.adminHttp}<br>
${text.adminHttp}<br />
<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 test="ssl=='false'">
<input type="radio" name="ssl" value="true">
<input type="radio" name="ssl" value="true" />
</c:if>
${text.adminHttps}<br>
${text.adminHttps}<br />
</p>
<h3>
Port number
</h3>
<p>
${text.adminPort}: <input type="text" name="port" value="${port}">
${text.adminPort}: <input type="text" name="port" value="${port}" />
</p>
<hr>
<hr />
<p>
<input type="submit" class="button" value="${text.adminSave}">
<input type="submit" class="button" value="${text.adminSave}" />
</p>
<p>
${text.adminRestart}
</p>
<hr>
<hr />
<h3>
${text.adminSessions}
</h3>
......
......@@ -4,9 +4,9 @@ Copyright 2004-2006 H2 Group. Licensed under the H2 License, Version 1.0 (http:/
Initial Developer: H2 Group
-->
<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>
<link rel="stylesheet" type="text/css" href="stylesheet.css">
<link rel="stylesheet" type="text/css" href="stylesheet.css" />
<script type="text/javascript">
<!--
......@@ -27,20 +27,20 @@ Initial Developer: H2 Group
<tr><td class="login" colspan="2"></td></tr>
<tr class="login">
<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 class="login">
<td class="login"></td>
<td class="login">
<input type="submit" class="button" value="${text.adminLoginOk}">
<input type="submit" class="button" value="${text.adminLoginOk}" />
&nbsp;
<input type="button" class="button" value="${text.adminLoginCancel}" onclick="javascript:document.adminLogin.action='/index.do?jsessionid=${sessionId}';submit()">
<br>
<br>
<input type="button" class="button" value="${text.adminLoginCancel}" onclick="javascript:document.adminLogin.action='/index.do?jsessionid=${sessionId}';submit()" />
<br />
<br />
</td>
</tr>
</table>
<br>
<br />
<p class="error">${error}</p>
</form>
<script type="text/javascript">
......
......@@ -4,9 +4,9 @@ Copyright 2004-2006 H2 Group. Licensed under the H2 License, Version 1.0 (http:/
Initial Developer: H2 Group
-->
<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>
<link rel="stylesheet" type="text/css" href="stylesheet.css">
<link rel="stylesheet" type="text/css" href="stylesheet.css" />
</head>
<body margin="10">
<p class="error">
......
......@@ -5,17 +5,17 @@ Initial Developer: H2 Group
-->
<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>
<link rel="stylesheet" type="text/css" href="stylesheet.css">
<link rel="stylesheet" type="text/css" href="stylesheet.css" />
</head>
<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" >
<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" >
<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="query.jsp?jsessionid=${sessionId}" name="h2query" scrolling="no" />
<frame frameborder="0" marginheight="0" marginwidth="0" src="help.jsp?jsessionid=${sessionId}" name="h2result" />
</frameset>
</frameset>
</frameset>
......
......@@ -5,9 +5,9 @@ Initial Developer: H2 Group
-->
<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>
<link rel="stylesheet" type="text/css" href="stylesheet.css">
<link rel="stylesheet" type="text/css" href="stylesheet.css" />
</head>
<body bgcolor="#FF00FF" class="toolbar">
<form name="header" method="post" action="/header.jsp?jsessionid=${sessionId}">
......@@ -16,33 +16,33 @@ Initial Developer: H2 Group
><img src="icon_disconnect.gif"
onmouseover = "this.className ='icon_hover'"
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=""
><a href="tables.do?jsessionid=${sessionId}" target="h2menu"
/><a href="tables.do?jsessionid=${sessionId}" target="h2menu"
><img src="icon_refresh.gif"
onmouseover = "this.className ='icon_hover'"
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=""
></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)
top.frames['h2result'].document.location='query.do?jsessionid=${sessionId}&amp;sql=@AUTOCOMMIT+TRUE';
else
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"
><img src="icon_rollback.gif"
onmouseover = "this.className ='icon_hover'"
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"
><img src="icon_commit.gif"
onmouseover = "this.className ='icon_hover'"
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=""
></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"
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>
......@@ -55,20 +55,20 @@ Initial Developer: H2 Group
><img src="icon_run.gif"
onmouseover = "this.className ='icon_hover'"
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"
><img src="icon_stop.gif"
onmouseover = "this.className ='icon_hover'"
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=""
><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"
onmouseover = "this.className ='icon_hover'"
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=""
></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)"
><option value="0">${text.toolbar.autoComplete.off}</option>
<option selected="selected" value="1">${text.toolbar.autoComplete.normal}</option>
......@@ -80,7 +80,7 @@ Initial Developer: H2 Group
><img src="icon_help.gif"
onmouseover = "this.className ='icon_hover'"
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>
</form>
<script type="text/javascript">
......
......@@ -5,9 +5,9 @@ Initial Developer: H2 Group
-->
<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>
<link rel="stylesheet" type="text/css" href="stylesheet.css">
<link rel="stylesheet" type="text/css" href="stylesheet.css" />
</head>
<body class="result">
......@@ -25,25 +25,25 @@ function set(s) {
<table>
<tr><th>${text.helpIcon}</th><th>${text.helpAction}</th></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;">
${text.helpDisplayThis}
</td>
</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;">
${text.helpCommandHistory}
</td>
</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;">
${text.helpExecuteCurrent}
</td>
</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;">
${text.helpDisconnect}
</td>
......@@ -52,22 +52,22 @@ function set(s) {
<h3>${text.helpSampleSQL}</h3>
<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;');">
${text.helpDropTable}<br>
${text.helpCreateTable}<br>
&nbsp;&nbsp;${text.helpWithColumnsIdName}<br>
${text.helpAddRow}<br>
${text.helpAddAnotherRow}<br>
${text.helpQuery}<br>
${text.helpUpdate}<br>
${text.helpDropTable}<br />
${text.helpCreateTable}<br />
&nbsp;&nbsp;${text.helpWithColumnsIdName}<br />
${text.helpAddRow}<br />
${text.helpAddAnotherRow}<br />
${text.helpQuery}<br />
${text.helpUpdate}<br />
${text.helpDeleteRow}
</a></td><td>
DROP TABLE IF EXISTS TEST;<br>
CREATE TABLE TEST(ID INT PRIMARY KEY,<br>
&nbsp;&nbsp; NAME VARCHAR(255));<br>
INSERT INTO TEST VALUES(1, 'Hello');<br>
INSERT INTO TEST VALUES(2, 'World');<br>
SELECT * FROM TEST ORDER BY ID;<br>
UPDATE TEST SET NAME='Hi' WHERE ID=1;<br>
DROP TABLE IF EXISTS TEST;<br />
CREATE TABLE TEST(ID INT PRIMARY KEY,<br />
&nbsp;&nbsp; NAME VARCHAR(255));<br />
INSERT INTO TEST VALUES(1, 'Hello');<br />
INSERT INTO TEST VALUES(2, 'World');<br />
SELECT * FROM TEST ORDER BY ID;<br />
UPDATE TEST SET NAME='Hi' WHERE ID=1;<br />
DELETE FROM TEST WHERE ID=2;
</td></tr>
</table>
......
......@@ -4,9 +4,9 @@ Copyright 2004-2006 H2 Group. Licensed under the H2 License, Version 1.0 (http:/
Initial Developer: H2 Group
-->
<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>
<link rel="stylesheet" type="text/css" href="stylesheet.css">
<link rel="stylesheet" type="text/css" href="stylesheet.css" />
<script type="text/javascript">
location.href = 'login.jsp?jsessionid=${sessionId}';
</script>
......
......@@ -4,9 +4,9 @@ Copyright 2004-2006 H2 Group. Licensed under the H2 License, Version 1.0 (http:/
Initial Developer: H2 Group
-->
<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>
<link rel="stylesheet" type="text/css" href="stylesheet.css">
<link rel="stylesheet" type="text/css" href="stylesheet.css" />
<script type="text/javascript">
if(self != top) {
top.location = "login.jsp";
......@@ -43,44 +43,44 @@ Initial Developer: H2 Group
<tr class="login">
<td class="login">${text.login.settingName}:</td>
<td class="login">
<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.remove}" onclick="javascript:document.login.action='/settingRemove.do?jsessionid=${sessionId}';submit()">
<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.remove}" onclick="javascript:document.login.action='/settingRemove.do?jsessionid=${sessionId}';submit()" />
</td>
</tr>
<tr class="login">
<td class="login" colspan="2">
<hr>
<hr />
</td>
</tr>
<tr class="login">
<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 class="login">
<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 class="login">
<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 class="login">
<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 class="login">
<td class="login"></td>
<td class="login">
<input type="submit" class="button" value="${text.login.connect}">
<input type="submit" class="button" value="${text.login.connect}" />
&nbsp;
<input type="button" class="button" value="${text.login.testConnection}" onclick="javascript:document.login.action='/test.do?jsessionid=${sessionId}';submit()">
<br>
<br>
<input type="button" class="button" value="${text.login.testConnection}" onclick="javascript:document.login.action='/test.do?jsessionid=${sessionId}';submit()" />
<br />
<br />
</td>
</tr>
</table>
<br>
<br />
<p class="error">${error}</p>
</form>
</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:/
Initial Developer: H2 Group
-->
<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>
<link rel="stylesheet" type="text/css" href="stylesheet.css">
<link rel="stylesheet" type="text/css" href="stylesheet.css" />
<script type="text/javascript">
<!--
......
......@@ -4,7 +4,7 @@ Copyright 2004-2006 H2 Group. Licensed under the H2 License, Version 1.0 (http:/
Initial Developer: H2 Group
-->
<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>
</head>
<body style="margin: 20px">
......
......@@ -5,9 +5,9 @@ Initial Developer: H2 Group
-->
<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>
<link rel="stylesheet" type="text/css" href="stylesheet.css">
<link rel="stylesheet" type="text/css" href="stylesheet.css" />
<script type="text/javascript">
//<!--
......@@ -424,8 +424,8 @@ function processAsyncResponse() {
</head>
<body onresize="sizeTextArea();" onload="sizeTextArea();" style="margin: 0px; padding: 0px;">
<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.clear}" onclick="javascript:sql.value='';keyUp();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;" />
${text.toolbar.sqlStatement}:
<div style="display:none">
<iframe id="h2iframeTransport" src="" onload="showList(this.contentWindow.document.body.innerHTML);"></iframe>
......
......@@ -5,9 +5,9 @@ Initial Developer: H2 Group
-->
<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>
<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>
</head>
<body class="result">
......
......@@ -45,8 +45,8 @@ function editRow(row, session, write, undo) {
for(i=1; i<table.rows.length; i++) {
var cell = table.rows[i].cells[0];
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 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 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"/>';
cell.innerHTML = edit + undo;
} else {
cell.innerHTML = '';
......@@ -56,7 +56,7 @@ function editRow(row, session, write, undo) {
for(i=1; i<cells.length; i++) {
var cell = cells[i];
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) {
var arrow;
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();
span.setAttribute('sortDir','up');
} 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');
}
......
......@@ -5,9 +5,9 @@ Initial Developer: H2 Group
-->
<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>
<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">
<!--
......
......@@ -97,7 +97,7 @@ function writeTree() {
} else {
document.write("<a name='"+node.text+"' href=\""+node.link+"\" >"+node.text+"</a>");
}
document.write("<br>");
document.write("<br />");
}
writeDiv(0, 0, -last.type);
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论