Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
为 GitLab 提交贡献
登录/注册
切换导航
H
h2database
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
Administrator
h2database
Commits
62c5f801
提交
62c5f801
authored
15 年前
作者:
Thomas Mueller
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Use runtime exceptions internally.
上级
43cc9eae
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
346 个修改的文件
包含
5158 行增加
和
5760 行删除
+5158
-5760
changelog.html
h2/src/docsrc/html/changelog.html
+6
-1
_docs_en.utf8.txt
h2/src/docsrc/text/_docs_en.utf8.txt
+373
-361
_docs_ja.utf8.txt
h2/src/docsrc/text/_docs_ja.utf8.txt
+373
-361
_docs_en.properties
h2/src/docsrc/textbase/_docs_en.properties
+366
-362
Driver.java
h2/src/main/org/h2/Driver.java
+2
-2
AggregateFunction.java
h2/src/main/org/h2/api/AggregateFunction.java
+5
-5
DatabaseEventListener.java
h2/src/main/org/h2/api/DatabaseEventListener.java
+4
-10
Command.java
h2/src/main/org/h2/command/Command.java
+24
-26
CommandContainer.java
h2/src/main/org/h2/command/CommandContainer.java
+4
-5
CommandInterface.java
h2/src/main/org/h2/command/CommandInterface.java
+3
-4
CommandList.java
h2/src/main/org/h2/command/CommandList.java
+4
-5
CommandRemote.java
h2/src/main/org/h2/command/CommandRemote.java
+14
-14
Parser.java
h2/src/main/org/h2/command/Parser.java
+177
-186
Prepared.java
h2/src/main/org/h2/command/Prepared.java
+24
-30
AlterIndexRename.java
h2/src/main/org/h2/command/ddl/AlterIndexRename.java
+3
-4
AlterTableAddConstraint.java
h2/src/main/org/h2/command/ddl/AlterTableAddConstraint.java
+10
-11
AlterTableAlterColumn.java
h2/src/main/org/h2/command/ddl/AlterTableAlterColumn.java
+21
-22
AlterTableDropConstraint.java
h2/src/main/org/h2/command/ddl/AlterTableDropConstraint.java
+3
-5
AlterTableRename.java
h2/src/main/org/h2/command/ddl/AlterTableRename.java
+4
-6
AlterTableRenameColumn.java
h2/src/main/org/h2/command/ddl/AlterTableRenameColumn.java
+1
-2
AlterUser.java
h2/src/main/org/h2/command/ddl/AlterUser.java
+6
-8
AlterView.java
h2/src/main/org/h2/command/ddl/AlterView.java
+1
-3
Analyze.java
h2/src/main/org/h2/command/ddl/Analyze.java
+1
-2
CreateAggregate.java
h2/src/main/org/h2/command/ddl/CreateAggregate.java
+3
-5
CreateConstant.java
h2/src/main/org/h2/command/ddl/CreateConstant.java
+3
-5
CreateFunctionAlias.java
h2/src/main/org/h2/command/ddl/CreateFunctionAlias.java
+3
-5
CreateIndex.java
h2/src/main/org/h2/command/ddl/CreateIndex.java
+4
-6
CreateLinkedTable.java
h2/src/main/org/h2/command/ddl/CreateLinkedTable.java
+3
-5
CreateRole.java
h2/src/main/org/h2/command/ddl/CreateRole.java
+4
-6
CreateSchema.java
h2/src/main/org/h2/command/ddl/CreateSchema.java
+3
-5
CreateSequence.java
h2/src/main/org/h2/command/ddl/CreateSequence.java
+4
-6
CreateTable.java
h2/src/main/org/h2/command/ddl/CreateTable.java
+9
-10
CreateTrigger.java
h2/src/main/org/h2/command/ddl/CreateTrigger.java
+3
-5
CreateUser.java
h2/src/main/org/h2/command/ddl/CreateUser.java
+7
-9
CreateUserDataType.java
h2/src/main/org/h2/command/ddl/CreateUserDataType.java
+5
-7
CreateView.java
h2/src/main/org/h2/command/ddl/CreateView.java
+4
-6
DropAggregate.java
h2/src/main/org/h2/command/ddl/DropAggregate.java
+3
-5
DropConstant.java
h2/src/main/org/h2/command/ddl/DropConstant.java
+3
-5
DropDatabase.java
h2/src/main/org/h2/command/ddl/DropDatabase.java
+2
-3
DropFunctionAlias.java
h2/src/main/org/h2/command/ddl/DropFunctionAlias.java
+3
-5
DropIndex.java
h2/src/main/org/h2/command/ddl/DropIndex.java
+4
-5
DropRole.java
h2/src/main/org/h2/command/ddl/DropRole.java
+4
-6
DropSchema.java
h2/src/main/org/h2/command/ddl/DropSchema.java
+4
-6
DropSequence.java
h2/src/main/org/h2/command/ddl/DropSequence.java
+4
-6
DropTable.java
h2/src/main/org/h2/command/ddl/DropTable.java
+6
-8
DropTrigger.java
h2/src/main/org/h2/command/ddl/DropTrigger.java
+3
-5
DropUser.java
h2/src/main/org/h2/command/ddl/DropUser.java
+4
-6
DropUserDataType.java
h2/src/main/org/h2/command/ddl/DropUserDataType.java
+3
-5
DropView.java
h2/src/main/org/h2/command/ddl/DropView.java
+4
-6
GrantRevoke.java
h2/src/main/org/h2/command/ddl/GrantRevoke.java
+12
-13
PrepareProcedure.java
h2/src/main/org/h2/command/ddl/PrepareProcedure.java
+1
-3
SetComment.java
h2/src/main/org/h2/command/ddl/SetComment.java
+3
-4
TruncateTable.java
h2/src/main/org/h2/command/ddl/TruncateTable.java
+3
-5
AlterSequence.java
h2/src/main/org/h2/command/dml/AlterSequence.java
+5
-7
AlterTableSet.java
h2/src/main/org/h2/command/dml/AlterTableSet.java
+3
-5
BackupCommand.java
h2/src/main/org/h2/command/dml/BackupCommand.java
+7
-8
Call.java
h2/src/main/org/h2/command/dml/Call.java
+4
-5
Delete.java
h2/src/main/org/h2/command/dml/Delete.java
+2
-3
ExecuteProcedure.java
h2/src/main/org/h2/command/dml/ExecuteProcedure.java
+4
-5
ExplainPlan.java
h2/src/main/org/h2/command/dml/ExplainPlan.java
+4
-5
Insert.java
h2/src/main/org/h2/command/dml/Insert.java
+8
-9
Merge.java
h2/src/main/org/h2/command/dml/Merge.java
+13
-14
Optimizer.java
h2/src/main/org/h2/command/dml/Optimizer.java
+6
-7
Query.java
h2/src/main/org/h2/command/dml/Query.java
+13
-14
RunScriptCommand.java
h2/src/main/org/h2/command/dml/RunScriptCommand.java
+6
-7
ScriptBase.java
h2/src/main/org/h2/command/dml/ScriptBase.java
+12
-13
ScriptCommand.java
h2/src/main/org/h2/command/dml/ScriptCommand.java
+12
-12
Select.java
h2/src/main/org/h2/command/dml/Select.java
+24
-25
SelectUnion.java
h2/src/main/org/h2/command/dml/SelectUnion.java
+18
-19
Set.java
h2/src/main/org/h2/command/dml/Set.java
+15
-16
TransactionCommand.java
h2/src/main/org/h2/command/dml/TransactionCommand.java
+3
-4
Update.java
h2/src/main/org/h2/command/dml/Update.java
+5
-7
CompressDeflate.java
h2/src/main/org/h2/compress/CompressDeflate.java
+5
-6
Compressor.java
h2/src/main/org/h2/compress/Compressor.java
+2
-3
Constraint.java
h2/src/main/org/h2/constraint/Constraint.java
+5
-7
ConstraintCheck.java
h2/src/main/org/h2/constraint/ConstraintCheck.java
+7
-8
ConstraintReferential.java
h2/src/main/org/h2/constraint/ConstraintReferential.java
+23
-24
ConstraintUnique.java
h2/src/main/org/h2/constraint/ConstraintUnique.java
+1
-3
Comment.java
h2/src/main/org/h2/engine/Comment.java
+4
-6
ConnectionInfo.java
h2/src/main/org/h2/engine/ConnectionInfo.java
+19
-20
Database.java
h2/src/main/org/h2/engine/Database.java
+111
-109
DatabaseCloser.java
h2/src/main/org/h2/engine/DatabaseCloser.java
+1
-1
DbObject.java
h2/src/main/org/h2/engine/DbObject.java
+3
-4
DbObjectBase.java
h2/src/main/org/h2/engine/DbObjectBase.java
+3
-4
Engine.java
h2/src/main/org/h2/engine/Engine.java
+14
-16
FunctionAlias.java
h2/src/main/org/h2/engine/FunctionAlias.java
+25
-26
MetaRecord.java
h2/src/main/org/h2/engine/MetaRecord.java
+8
-7
Right.java
h2/src/main/org/h2/engine/Right.java
+3
-5
Role.java
h2/src/main/org/h2/engine/Role.java
+3
-5
Session.java
h2/src/main/org/h2/engine/Session.java
+42
-43
SessionInterface.java
h2/src/main/org/h2/engine/SessionInterface.java
+4
-6
SessionRemote.java
h2/src/main/org/h2/engine/SessionRemote.java
+48
-53
SessionWithState.java
h2/src/main/org/h2/engine/SessionWithState.java
+2
-3
Setting.java
h2/src/main/org/h2/engine/Setting.java
+5
-7
UndoLog.java
h2/src/main/org/h2/engine/UndoLog.java
+5
-6
UndoLogRecord.java
h2/src/main/org/h2/engine/UndoLogRecord.java
+11
-12
User.java
h2/src/main/org/h2/engine/User.java
+10
-11
UserAggregate.java
h2/src/main/org/h2/engine/UserAggregate.java
+8
-10
UserDataType.java
h2/src/main/org/h2/engine/UserDataType.java
+3
-5
Aggregate.java
h2/src/main/org/h2/expression/Aggregate.java
+19
-24
AggregateData.java
h2/src/main/org/h2/expression/AggregateData.java
+7
-8
Alias.java
h2/src/main/org/h2/expression/Alias.java
+4
-6
CompareLike.java
h2/src/main/org/h2/expression/CompareLike.java
+13
-15
Comparison.java
h2/src/main/org/h2/expression/Comparison.java
+18
-22
ConditionAndOr.java
h2/src/main/org/h2/expression/ConditionAndOr.java
+10
-11
ConditionExists.java
h2/src/main/org/h2/expression/ConditionExists.java
+3
-4
ConditionIn.java
h2/src/main/org/h2/expression/ConditionIn.java
+4
-5
ConditionInSelect.java
h2/src/main/org/h2/expression/ConditionInSelect.java
+5
-6
ConditionNot.java
h2/src/main/org/h2/expression/ConditionNot.java
+4
-5
Expression.java
h2/src/main/org/h2/expression/Expression.java
+6
-8
ExpressionColumn.java
h2/src/main/org/h2/expression/ExpressionColumn.java
+12
-14
ExpressionList.java
h2/src/main/org/h2/expression/ExpressionList.java
+4
-6
Function.java
h2/src/main/org/h2/expression/Function.java
+61
-49
FunctionCall.java
h2/src/main/org/h2/expression/FunctionCall.java
+4
-6
JavaAggregate.java
h2/src/main/org/h2/expression/JavaAggregate.java
+44
-33
JavaFunction.java
h2/src/main/org/h2/expression/JavaFunction.java
+6
-8
Operation.java
h2/src/main/org/h2/expression/Operation.java
+8
-10
Parameter.java
h2/src/main/org/h2/expression/Parameter.java
+4
-6
ParameterInterface.java
h2/src/main/org/h2/expression/ParameterInterface.java
+3
-5
ParameterRemote.java
h2/src/main/org/h2/expression/ParameterRemote.java
+4
-6
Rownum.java
h2/src/main/org/h2/expression/Rownum.java
+2
-2
SequenceValue.java
h2/src/main/org/h2/expression/SequenceValue.java
+3
-5
Subquery.java
h2/src/main/org/h2/expression/Subquery.java
+6
-7
TableFunction.java
h2/src/main/org/h2/expression/TableFunction.java
+7
-8
ValueExpression.java
h2/src/main/org/h2/expression/ValueExpression.java
+2
-2
Variable.java
h2/src/main/org/h2/expression/Variable.java
+2
-2
Wildcard.java
h2/src/main/org/h2/expression/Wildcard.java
+14
-16
FullText.java
h2/src/main/org/h2/fulltext/FullText.java
+28
-16
FullTextLucene.java
h2/src/main/org/h2/fulltext/FullTextLucene.java
+1
-1
BaseHashIndex.java
h2/src/main/org/h2/index/BaseHashIndex.java
+3
-5
BaseIndex.java
h2/src/main/org/h2/index/BaseIndex.java
+18
-20
Cursor.java
h2/src/main/org/h2/index/Cursor.java
+4
-6
FunctionCursor.java
h2/src/main/org/h2/index/FunctionCursor.java
+3
-4
FunctionIndex.java
h2/src/main/org/h2/index/FunctionIndex.java
+16
-17
HashCursor.java
h2/src/main/org/h2/index/HashCursor.java
+2
-2
HashIndex.java
h2/src/main/org/h2/index/HashIndex.java
+5
-6
Index.java
h2/src/main/org/h2/index/Index.java
+15
-16
IndexCondition.java
h2/src/main/org/h2/index/IndexCondition.java
+7
-12
IndexCursor.java
h2/src/main/org/h2/index/IndexCursor.java
+10
-11
LinkedCursor.java
h2/src/main/org/h2/index/LinkedCursor.java
+13
-13
LinkedIndex.java
h2/src/main/org/h2/index/LinkedIndex.java
+13
-15
MetaCursor.java
h2/src/main/org/h2/index/MetaCursor.java
+2
-2
MetaIndex.java
h2/src/main/org/h2/index/MetaIndex.java
+14
-15
MultiVersionCursor.java
h2/src/main/org/h2/index/MultiVersionCursor.java
+11
-12
MultiVersionIndex.java
h2/src/main/org/h2/index/MultiVersionIndex.java
+19
-20
NonUniqueHashCursor.java
h2/src/main/org/h2/index/NonUniqueHashCursor.java
+3
-4
NonUniqueHashIndex.java
h2/src/main/org/h2/index/NonUniqueHashIndex.java
+7
-8
PageBtree.java
h2/src/main/org/h2/index/PageBtree.java
+16
-17
PageBtreeCursor.java
h2/src/main/org/h2/index/PageBtreeCursor.java
+3
-4
PageBtreeIndex.java
h2/src/main/org/h2/index/PageBtreeIndex.java
+25
-26
PageBtreeLeaf.java
h2/src/main/org/h2/index/PageBtreeLeaf.java
+20
-21
PageBtreeNode.java
h2/src/main/org/h2/index/PageBtreeNode.java
+32
-33
PageData.java
h2/src/main/org/h2/index/PageData.java
+13
-14
PageDataCursor.java
h2/src/main/org/h2/index/PageDataCursor.java
+5
-7
PageDataIndex.java
h2/src/main/org/h2/index/PageDataIndex.java
+33
-32
PageDataLeaf.java
h2/src/main/org/h2/index/PageDataLeaf.java
+30
-31
PageDataNode.java
h2/src/main/org/h2/index/PageDataNode.java
+29
-30
PageDataOverflow.java
h2/src/main/org/h2/index/PageDataOverflow.java
+12
-13
PageDelegateIndex.java
h2/src/main/org/h2/index/PageDelegateIndex.java
+7
-8
PageIndex.java
h2/src/main/org/h2/index/PageIndex.java
+1
-2
RangeCursor.java
h2/src/main/org/h2/index/RangeCursor.java
+2
-2
RangeIndex.java
h2/src/main/org/h2/index/RangeIndex.java
+13
-15
ScanCursor.java
h2/src/main/org/h2/index/ScanCursor.java
+2
-2
ScanIndex.java
h2/src/main/org/h2/index/ScanIndex.java
+7
-8
TreeCursor.java
h2/src/main/org/h2/index/TreeCursor.java
+1
-3
TreeIndex.java
h2/src/main/org/h2/index/TreeIndex.java
+10
-12
ViewCursor.java
h2/src/main/org/h2/index/ViewCursor.java
+3
-4
ViewIndex.java
h2/src/main/org/h2/index/ViewIndex.java
+18
-19
JdbcArray.java
h2/src/main/org/h2/jdbc/JdbcArray.java
+9
-19
JdbcBlob.java
h2/src/main/org/h2/jdbc/JdbcBlob.java
+9
-13
JdbcCallableStatement.java
h2/src/main/org/h2/jdbc/JdbcCallableStatement.java
+120
-125
JdbcClob.java
h2/src/main/org/h2/jdbc/JdbcClob.java
+14
-20
JdbcConnection.java
h2/src/main/org/h2/jdbc/JdbcConnection.java
+46
-46
JdbcDatabaseMetaData.java
h2/src/main/org/h2/jdbc/JdbcDatabaseMetaData.java
+10
-38
JdbcParameterMetaData.java
h2/src/main/org/h2/jdbc/JdbcParameterMetaData.java
+4
-6
JdbcPreparedStatement.java
h2/src/main/org/h2/jdbc/JdbcPreparedStatement.java
+21
-40
JdbcResultSet.java
h2/src/main/org/h2/jdbc/JdbcResultSet.java
+53
-179
JdbcResultSetMetaData.java
h2/src/main/org/h2/jdbc/JdbcResultSetMetaData.java
+4
-6
JdbcSQLException.java
h2/src/main/org/h2/jdbc/JdbcSQLException.java
+0
-19
JdbcSavepoint.java
h2/src/main/org/h2/jdbc/JdbcSavepoint.java
+6
-6
JdbcStatement.java
h2/src/main/org/h2/jdbc/JdbcStatement.java
+9
-9
JdbcConnectionPool.java
h2/src/main/org/h2/jdbcx/JdbcConnectionPool.java
+4
-4
JdbcDataSource.java
h2/src/main/org/h2/jdbcx/JdbcDataSource.java
+2
-8
JdbcXAConnection.java
h2/src/main/org/h2/jdbcx/JdbcXAConnection.java
+2
-2
JdbcXid.java
h2/src/main/org/h2/jdbcx/JdbcXid.java
+4
-9
DbException.java
h2/src/main/org/h2/message/DbException.java
+124
-134
InternalException.java
h2/src/main/org/h2/message/InternalException.java
+0
-22
TraceObject.java
h2/src/main/org/h2/message/TraceObject.java
+25
-14
TraceSystem.java
h2/src/main/org/h2/message/TraceSystem.java
+2
-4
LocalResult.java
h2/src/main/org/h2/result/LocalResult.java
+26
-22
ResultDiskBuffer.java
h2/src/main/org/h2/result/ResultDiskBuffer.java
+13
-18
ResultExternal.java
h2/src/main/org/h2/result/ResultExternal.java
+7
-8
ResultInterface.java
h2/src/main/org/h2/result/ResultInterface.java
+2
-4
ResultRemote.java
h2/src/main/org/h2/result/ResultRemote.java
+11
-12
ResultTempTable.java
h2/src/main/org/h2/result/ResultTempTable.java
+8
-12
Row.java
h2/src/main/org/h2/result/Row.java
+1
-2
RowList.java
h2/src/main/org/h2/result/RowList.java
+7
-8
SortOrder.java
h2/src/main/org/h2/result/SortOrder.java
+17
-27
UpdatableRow.java
h2/src/main/org/h2/result/UpdatableRow.java
+8
-8
Constant.java
h2/src/main/org/h2/schema/Constant.java
+3
-5
Schema.java
h2/src/main/org/h2/schema/Schema.java
+22
-24
Sequence.java
h2/src/main/org/h2/schema/Sequence.java
+9
-11
TriggerObject.java
h2/src/main/org/h2/schema/TriggerObject.java
+16
-12
AES.java
h2/src/main/org/h2/security/AES.java
+3
-3
CipherFactory.java
h2/src/main/org/h2/security/CipherFactory.java
+5
-7
SecureFileStore.java
h2/src/main/org/h2/security/SecureFileStore.java
+7
-9
SecureSocketFactory.java
h2/src/main/org/h2/security/SecureSocketFactory.java
+6
-7
XTEA.java
h2/src/main/org/h2/security/XTEA.java
+3
-3
TcpServer.java
h2/src/main/org/h2/server/TcpServer.java
+40
-38
TcpServerThread.java
h2/src/main/org/h2/server/TcpServerThread.java
+8
-13
PgServer.java
h2/src/main/org/h2/server/pg/PgServer.java
+1
-1
PgServerThread.java
h2/src/main/org/h2/server/pg/PgServerThread.java
+14
-13
DbContextRule.java
h2/src/main/org/h2/server/web/DbContextRule.java
+2
-2
WebApp.java
h2/src/main/org/h2/server/web/WebApp.java
+3
-3
WebServer.java
h2/src/main/org/h2/server/web/WebServer.java
+1
-1
Data.java
h2/src/main/org/h2/store/Data.java
+9
-9
DataHandler.java
h2/src/main/org/h2/store/DataHandler.java
+5
-7
DataReader.java
h2/src/main/org/h2/store/DataReader.java
+1
-0
FileLister.java
h2/src/main/org/h2/store/FileLister.java
+5
-5
FileLock.java
h2/src/main/org/h2/store/FileLock.java
+24
-29
FileStore.java
h2/src/main/org/h2/store/FileStore.java
+40
-40
FileStoreInputStream.java
h2/src/main/org/h2/store/FileStoreInputStream.java
+20
-34
FileStoreOutputStream.java
h2/src/main/org/h2/store/FileStoreOutputStream.java
+24
-32
InDoubtTransaction.java
h2/src/main/org/h2/store/InDoubtTransaction.java
+4
-6
Page.java
h2/src/main/org/h2/store/Page.java
+2
-3
PageFreeList.java
h2/src/main/org/h2/store/PageFreeList.java
+5
-6
PageInputStream.java
h2/src/main/org/h2/store/PageInputStream.java
+4
-4
PageLog.java
h2/src/main/org/h2/store/PageLog.java
+140
-177
PageOutputStream.java
h2/src/main/org/h2/store/PageOutputStream.java
+13
-21
PageStore.java
h2/src/main/org/h2/store/PageStore.java
+82
-89
PageStreamData.java
h2/src/main/org/h2/store/PageStreamData.java
+1
-2
PageStreamTrunk.java
h2/src/main/org/h2/store/PageStreamTrunk.java
+8
-8
WriterThread.java
h2/src/main/org/h2/store/WriterThread.java
+1
-7
FileObjectSplit.java
h2/src/main/org/h2/store/fs/FileObjectSplit.java
+3
-5
FileSystem.java
h2/src/main/org/h2/store/fs/FileSystem.java
+10
-12
FileSystemDisk.java
h2/src/main/org/h2/store/fs/FileSystemDisk.java
+19
-20
FileSystemDiskNio.java
h2/src/main/org/h2/store/fs/FileSystemDiskNio.java
+2
-3
FileSystemMemory.java
h2/src/main/org/h2/store/fs/FileSystemMemory.java
+5
-6
FileSystemSplit.java
h2/src/main/org/h2/store/fs/FileSystemSplit.java
+11
-12
FileSystemZip.java
h2/src/main/org/h2/store/fs/FileSystemZip.java
+15
-16
Column.java
h2/src/main/org/h2/table/Column.java
+17
-19
ColumnResolver.java
h2/src/main/org/h2/table/ColumnResolver.java
+1
-3
FunctionTable.java
h2/src/main/org/h2/table/FunctionTable.java
+29
-25
IndexColumn.java
h2/src/main/org/h2/table/IndexColumn.java
+1
-3
LinkSchema.java
h2/src/main/org/h2/table/LinkSchema.java
+4
-1
MetaTable.java
h2/src/main/org/h2/table/MetaTable.java
+27
-29
Plan.java
h2/src/main/org/h2/table/Plan.java
+1
-2
RangeTable.java
h2/src/main/org/h2/table/RangeTable.java
+19
-20
Table.java
h2/src/main/org/h2/table/Table.java
+38
-40
TableData.java
h2/src/main/org/h2/table/TableData.java
+31
-46
TableFilter.java
h2/src/main/org/h2/table/TableFilter.java
+13
-15
TableLink.java
h2/src/main/org/h2/table/TableLink.java
+50
-45
TableLinkConnection.java
h2/src/main/org/h2/table/TableLinkConnection.java
+10
-5
TableView.java
h2/src/main/org/h2/table/TableView.java
+25
-26
Backup.java
h2/src/main/org/h2/tools/Backup.java
+13
-5
ChangeFileEncryption.java
h2/src/main/org/h2/tools/ChangeFileEncryption.java
+15
-12
CompressTool.java
h2/src/main/org/h2/tools/CompressTool.java
+17
-20
Console.java
h2/src/main/org/h2/tools/Console.java
+4
-5
ConvertTraceFile.java
h2/src/main/org/h2/tools/ConvertTraceFile.java
+3
-3
Csv.java
h2/src/main/org/h2/tools/Csv.java
+6
-6
DeleteDbFiles.java
h2/src/main/org/h2/tools/DeleteDbFiles.java
+1
-1
Recover.java
h2/src/main/org/h2/tools/Recover.java
+84
-84
Restore.java
h2/src/main/org/h2/tools/Restore.java
+2
-2
RunScript.java
h2/src/main/org/h2/tools/RunScript.java
+4
-4
Server.java
h2/src/main/org/h2/tools/Server.java
+20
-16
SimpleResultSet.java
h2/src/main/org/h2/tools/SimpleResultSet.java
+6
-4
Cache.java
h2/src/main/org/h2/util/Cache.java
+3
-4
CacheLRU.java
h2/src/main/org/h2/util/CacheLRU.java
+15
-17
CacheObject.java
h2/src/main/org/h2/util/CacheObject.java
+2
-2
CacheSecondLevel.java
h2/src/main/org/h2/util/CacheSecondLevel.java
+3
-4
CacheWriter.java
h2/src/main/org/h2/util/CacheWriter.java
+2
-4
DateTimeUtils.java
h2/src/main/org/h2/util/DateTimeUtils.java
+82
-19
HashBase.java
h2/src/main/org/h2/util/HashBase.java
+3
-4
IOUtils.java
h2/src/main/org/h2/util/IOUtils.java
+16
-17
IntArray.java
h2/src/main/org/h2/util/IntArray.java
+2
-2
IntIntHashMap.java
h2/src/main/org/h2/util/IntIntHashMap.java
+4
-6
JdbcUtils.java
h2/src/main/org/h2/util/JdbcUtils.java
+4
-11
MathUtils.java
h2/src/main/org/h2/util/MathUtils.java
+5
-7
NetUtils.java
h2/src/main/org/h2/util/NetUtils.java
+6
-8
Permutations.java
h2/src/main/org/h2/util/Permutations.java
+2
-2
ScriptReader.java
h2/src/main/org/h2/util/ScriptReader.java
+5
-6
SmallMap.java
h2/src/main/org/h2/util/SmallMap.java
+2
-2
SortedProperties.java
h2/src/main/org/h2/util/SortedProperties.java
+3
-4
SourceCompiler.java
h2/src/main/org/h2/util/SourceCompiler.java
+2
-2
StringUtils.java
h2/src/main/org/h2/util/StringUtils.java
+8
-74
TempFileDeleter.java
h2/src/main/org/h2/util/TempFileDeleter.java
+3
-3
Utils.java
h2/src/main/org/h2/util/Utils.java
+14
-15
ValueHashMap.java
h2/src/main/org/h2/util/ValueHashMap.java
+6
-8
DataType.java
h2/src/main/org/h2/value/DataType.java
+151
-140
Transfer.java
h2/src/main/org/h2/value/Transfer.java
+33
-29
Value.java
h2/src/main/org/h2/value/Value.java
+54
-54
ValueArray.java
h2/src/main/org/h2/value/ValueArray.java
+2
-3
ValueByte.java
h2/src/main/org/h2/value/ValueByte.java
+9
-9
ValueBytes.java
h2/src/main/org/h2/value/ValueBytes.java
+1
-1
ValueDate.java
h2/src/main/org/h2/value/ValueDate.java
+1
-2
ValueDecimal.java
h2/src/main/org/h2/value/ValueDecimal.java
+7
-8
ValueDouble.java
h2/src/main/org/h2/value/ValueDouble.java
+3
-3
ValueFloat.java
h2/src/main/org/h2/value/ValueFloat.java
+3
-3
ValueInt.java
h2/src/main/org/h2/value/ValueInt.java
+9
-9
ValueLob.java
h2/src/main/org/h2/value/ValueLob.java
+49
-73
ValueLong.java
h2/src/main/org/h2/value/ValueLong.java
+9
-9
ValueNull.java
h2/src/main/org/h2/value/ValueNull.java
+2
-2
ValueResultSet.java
h2/src/main/org/h2/value/ValueResultSet.java
+26
-22
ValueShort.java
h2/src/main/org/h2/value/ValueShort.java
+9
-9
ValueTime.java
h2/src/main/org/h2/value/ValueTime.java
+1
-1
ValueTimestamp.java
h2/src/main/org/h2/value/ValueTimestamp.java
+4
-4
Function.java
h2/src/test/org/h2/samples/Function.java
+1
-1
FunctionMultiReturn.java
h2/src/test/org/h2/samples/FunctionMultiReturn.java
+1
-1
ShowProgress.java
h2/src/test/org/h2/samples/ShowProgress.java
+1
-3
TestAll.java
h2/src/test/org/h2/test/TestAll.java
+5
-3
TestBase.java
h2/src/test/org/h2/test/TestBase.java
+2
-2
TestFunctions.java
h2/src/test/org/h2/test/db/TestFunctions.java
+3
-3
TestLinkedTable.java
h2/src/test/org/h2/test/db/TestLinkedTable.java
+6
-0
TestListener.java
h2/src/test/org/h2/test/db/TestListener.java
+1
-1
TestMultiConn.java
h2/src/test/org/h2/test/db/TestMultiConn.java
+1
-1
TestOpenClose.java
h2/src/test/org/h2/test/db/TestOpenClose.java
+2
-2
TestOptimizations.java
h2/src/test/org/h2/test/db/TestOptimizations.java
+1
-1
TestReadOnly.java
h2/src/test/org/h2/test/db/TestReadOnly.java
+1
-1
TestDatabaseEventListener.java
h2/src/test/org/h2/test/jdbc/TestDatabaseEventListener.java
+2
-2
TestAutoServer.java
h2/src/test/org/h2/test/server/TestAutoServer.java
+8
-2
Parser.java
h2/src/test/org/h2/test/trace/Parser.java
+1
-6
FileSystemDatabase.java
h2/src/test/org/h2/test/unit/FileSystemDatabase.java
+24
-20
TestAutoReconnect.java
h2/src/test/org/h2/test/unit/TestAutoReconnect.java
+1
-1
TestCache.java
h2/src/test/org/h2/test/unit/TestCache.java
+1
-1
TestCompress.java
h2/src/test/org/h2/test/unit/TestCompress.java
+1
-2
TestDataPage.java
h2/src/test/org/h2/test/unit/TestDataPage.java
+7
-7
TestDate.java
h2/src/test/org/h2/test/unit/TestDate.java
+2
-2
TestExit.java
h2/src/test/org/h2/test/unit/TestExit.java
+1
-1
TestFileLock.java
h2/src/test/org/h2/test/unit/TestFileLock.java
+1
-3
TestNetUtils.java
h2/src/test/org/h2/test/unit/TestNetUtils.java
+1
-1
TestOverflow.java
h2/src/test/org/h2/test/unit/TestOverflow.java
+7
-8
TestPageStore.java
h2/src/test/org/h2/test/unit/TestPageStore.java
+2
-2
TestPattern.java
h2/src/test/org/h2/test/unit/TestPattern.java
+3
-5
TestScriptReader.java
h2/src/test/org/h2/test/unit/TestScriptReader.java
+3
-5
TestSecurity.java
h2/src/test/org/h2/test/unit/TestSecurity.java
+3
-5
TestStringUtils.java
h2/src/test/org/h2/test/unit/TestStringUtils.java
+13
-13
TestValue.java
h2/src/test/org/h2/test/unit/TestValue.java
+2
-4
TestValueHashMap.java
h2/src/test/org/h2/test/unit/TestValueHashMap.java
+5
-10
TestValueMemory.java
h2/src/test/org/h2/test/unit/TestValueMemory.java
+1
-1
FileSystemDebug.java
h2/src/test/org/h2/test/utils/FileSystemDebug.java
+11
-12
TestLob.java
h2/src/test/org/h2/test/utils/TestLob.java
+4
-4
FtpControl.java
h2/src/tools/org/h2/dev/ftp/server/FtpControl.java
+5
-7
FtpData.java
h2/src/tools/org/h2/dev/ftp/server/FtpData.java
+1
-3
FtpServer.java
h2/src/tools/org/h2/dev/ftp/server/FtpServer.java
+5
-5
FileViewer.java
h2/src/tools/org/h2/dev/util/FileViewer.java
+2
-2
ReaderInputStream.java
h2/src/tools/org/h2/dev/util/ReaderInputStream.java
+2
-2
没有找到文件。
h2/src/docsrc/html/changelog.html
浏览文件 @
62c5f801
...
...
@@ -18,7 +18,12 @@ Change Log
<h1>
Change Log
</h1>
<h2>
Next Version (unreleased)
</h2>
<ul><li>
When doing an index lookup, decimal values with the same value but different scale
<ul><li>
The file system abstraction no longer throws SQL exceptions.
</li><li>
DatabaseEventListener.diskSpaceIsLow has changed.
</li><li>
The CompressTool no longer throw as SQL exceptions. Instead, it throws runtime exceptions.
</li><li>
SimpleResultSet.addColumn and addRow now can throw a IllegalStateException
instead of a SQLException.
</li><li>
When doing an index lookup, decimal values with the same value but different scale
(for example 0.00 and 0.0) where not considered equal in version 1.2.128.
Now they are (unlike BigDecimal.equals()).
</li><li>
The BNF parser now uses the visitor pattern.
...
...
This diff is collapsed.
Click to expand it.
h2/src/docsrc/text/_docs_en.utf8.txt
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/docsrc/text/_docs_ja.utf8.txt
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/docsrc/textbase/_docs_en.properties
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/Driver.java
浏览文件 @
62c5f801
...
...
@@ -14,7 +14,7 @@ import java.util.Properties;
import
org.h2.engine.Constants
;
import
org.h2.jdbc.JdbcConnection
;
import
org.h2.message.
Message
;
import
org.h2.message.
DbException
;
import
org.h2.message.TraceSystem
;
/**
...
...
@@ -57,7 +57,7 @@ public class Driver implements java.sql.Driver {
}
return
new
JdbcConnection
(
url
,
info
);
}
catch
(
Exception
e
)
{
throw
Message
.
convert
(
e
);
throw
DbException
.
toSQLException
(
e
);
}
}
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/api/AggregateFunction.java
浏览文件 @
62c5f801
...
...
@@ -24,10 +24,9 @@ public interface AggregateFunction {
void
init
(
Connection
conn
)
throws
SQLException
;
/**
* This method must return the SQL type of the method,
* given the SQL type of the input data.
* The method should check here if the number of parameters passed is correct,
* and if not it should throw an exception.
* This method must return the SQL type of the method, given the SQL type of
* the input data. The method should check here if the number of parameters
* passed is correct, and if not it should throw an exception.
*
* @param inputTypes the SQL type of the parameters
* @return the SQL type of the result
...
...
@@ -49,4 +48,5 @@ public interface AggregateFunction {
* @return the aggregated value
*/
Object
getResult
()
throws
SQLException
;
}
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/api/DatabaseEventListener.java
浏览文件 @
62c5f801
...
...
@@ -61,17 +61,11 @@ public interface DatabaseEventListener extends EventListener {
void
opened
();
/**
* This method is called if the disk space is very low.
* One strategy is to inform the user and wait for it to clean up disk space.
* Another strategy is to send an email to the administrator in this method and
* then throw a SQLException. The database should not be accessed from
* within this method (even to close it).
*
* @param stillAvailable the estimated space that is still available, in bytes
* (if known)
* @throws SQLException if the operation should be canceled
* This method is called if the disk space is very low. One strategy is to
* inform the user and wait for it to clean up disk space. The database
* should not be accessed from within this method (even to close it).
*/
void
diskSpaceIsLow
(
long
stillAvailable
)
throws
SQLException
;
void
diskSpaceIsLow
(
)
;
/**
* This method is called if an exception occurred.
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/command/Command.java
浏览文件 @
62c5f801
...
...
@@ -13,7 +13,7 @@ import org.h2.engine.Constants;
import
org.h2.engine.Database
;
import
org.h2.engine.Session
;
import
org.h2.expression.ParameterInterface
;
import
org.h2.message.
Message
;
import
org.h2.message.
DbException
;
import
org.h2.message.Trace
;
import
org.h2.message.TraceObject
;
import
org.h2.result.ResultInterface
;
...
...
@@ -85,7 +85,7 @@ public abstract class Command implements CommandInterface {
*
* @return an empty result set
*/
public
abstract
ResultInterface
queryMeta
()
throws
SQLException
;
public
abstract
ResultInterface
queryMeta
();
/**
* Execute an updating statement, if this is possible.
...
...
@@ -93,8 +93,8 @@ public abstract class Command implements CommandInterface {
* @return the update count
* @throws SQLException if the command is not an updating statement
*/
public
int
update
()
throws
SQLException
{
throw
Message
.
getSQLException
(
ErrorCode
.
METHOD_NOT_ALLOWED_FOR_QUERY
);
public
int
update
()
{
throw
DbException
.
get
(
ErrorCode
.
METHOD_NOT_ALLOWED_FOR_QUERY
);
}
/**
...
...
@@ -104,11 +104,11 @@ public abstract class Command implements CommandInterface {
* @return the local result set
* @throws SQLException if the command is not a query
*/
public
ResultInterface
query
(
int
maxrows
)
throws
SQLException
{
throw
Message
.
getSQLException
(
ErrorCode
.
METHOD_ONLY_ALLOWED_FOR_QUERY
);
public
ResultInterface
query
(
int
maxrows
)
{
throw
DbException
.
get
(
ErrorCode
.
METHOD_ONLY_ALLOWED_FOR_QUERY
);
}
public
final
ResultInterface
getMetaData
()
throws
SQLException
{
public
final
ResultInterface
getMetaData
()
{
return
queryMeta
();
}
...
...
@@ -120,7 +120,7 @@ public abstract class Command implements CommandInterface {
* @param scrollable if the result set must be scrollable (ignored)
* @return the result set
*/
public
ResultInterface
executeQuery
(
int
maxrows
,
boolean
scrollable
)
throws
SQLException
{
public
ResultInterface
executeQuery
(
int
maxrows
,
boolean
scrollable
)
{
startTime
=
System
.
currentTimeMillis
();
Database
database
=
session
.
getDatabase
();
Object
sync
=
database
.
isMultiThreaded
()
?
(
Object
)
session
:
(
Object
)
database
;
...
...
@@ -130,10 +130,9 @@ public abstract class Command implements CommandInterface {
database
.
checkPowerOff
();
session
.
setCurrentCommand
(
this
,
startTime
);
return
query
(
maxrows
);
}
catch
(
Exception
e
)
{
SQLException
s
=
Message
.
convert
(
e
,
sql
);
database
.
exceptionThrown
(
s
,
sql
);
throw
s
;
}
catch
(
DbException
e
)
{
database
.
exceptionThrown
(
e
.
getSQLException
(),
sql
);
throw
e
;
}
finally
{
stop
();
}
...
...
@@ -152,14 +151,14 @@ public abstract class Command implements CommandInterface {
*
* @throws SQLException if the statement has been canceled
*/
public
void
checkCanceled
()
throws
SQLException
{
public
void
checkCanceled
()
{
if
(
cancel
)
{
cancel
=
false
;
throw
Message
.
getSQLException
(
ErrorCode
.
STATEMENT_WAS_CANCELED
);
throw
DbException
.
get
(
ErrorCode
.
STATEMENT_WAS_CANCELED
);
}
}
private
void
stop
()
throws
SQLException
{
private
void
stop
()
{
session
.
closeTemporaryResults
();
session
.
setCurrentCommand
(
null
,
0
);
if
(!
isTransactional
())
{
...
...
@@ -182,7 +181,7 @@ public abstract class Command implements CommandInterface {
}
}
public
int
executeUpdate
()
throws
SQLException
{
public
int
executeUpdate
()
{
long
start
=
startTime
=
System
.
currentTimeMillis
();
Database
database
=
session
.
getDatabase
();
Object
sync
=
database
.
isMultiThreaded
()
?
(
Object
)
session
:
(
Object
)
database
;
...
...
@@ -197,11 +196,11 @@ public abstract class Command implements CommandInterface {
database
.
checkPowerOff
();
try
{
return
update
();
}
catch
(
SQL
Exception
e
)
{
}
catch
(
Db
Exception
e
)
{
if
(
e
.
getErrorCode
()
==
ErrorCode
.
CONCURRENT_UPDATE_1
)
{
long
now
=
System
.
currentTimeMillis
();
if
(
now
-
start
>
session
.
getLockTimeout
())
{
throw
Message
.
getSQLException
(
ErrorCode
.
LOCK_TIMEOUT_1
,
e
,
""
);
throw
DbException
.
get
(
ErrorCode
.
LOCK_TIMEOUT_1
,
e
.
getCause
()
,
""
);
}
try
{
if
(
sync
==
database
)
{
...
...
@@ -215,19 +214,18 @@ public abstract class Command implements CommandInterface {
continue
;
}
throw
e
;
}
catch
(
Exception
e
)
{
throw
Message
.
convert
(
e
);
}
catch
(
Throwable
e
)
{
throw
Message
.
convertThrowable
(
e
);
throw
DbException
.
convert
(
e
);
}
}
}
catch
(
SQLException
e
)
{
Message
.
addSQL
(
e
,
sql
);
database
.
exceptionThrown
(
e
,
sql
);
}
catch
(
DbException
e
)
{
e
=
e
.
addSQL
(
sql
);
SQLException
s
=
e
.
getSQLException
();
database
.
exceptionThrown
(
s
,
sql
);
database
.
checkPowerOff
();
if
(
e
.
getErrorCode
()
==
ErrorCode
.
DEADLOCK_1
)
{
if
(
s
.
getErrorCode
()
==
ErrorCode
.
DEADLOCK_1
)
{
session
.
rollback
();
}
else
if
(
e
.
getErrorCode
()
==
ErrorCode
.
OUT_OF_MEMORY
)
{
}
else
if
(
s
.
getErrorCode
()
==
ErrorCode
.
OUT_OF_MEMORY
)
{
// there is a serious problem:
// the transaction may be applied partially
// in this case we need to panic:
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/command/CommandContainer.java
浏览文件 @
62c5f801
...
...
@@ -6,7 +6,6 @@
*/
package
org
.
h2
.
command
;
import
java.sql.SQLException
;
import
java.util.ArrayList
;
import
org.h2.expression.Parameter
;
import
org.h2.expression.ParameterInterface
;
...
...
@@ -39,7 +38,7 @@ public class CommandContainer extends Command {
return
prepared
.
isQuery
();
}
private
void
recompileIfRequired
()
throws
SQLException
{
private
void
recompileIfRequired
()
{
if
(
prepared
.
needRecompile
())
{
// TODO test with 'always recompile'
prepared
.
setModificationMetaId
(
0
);
...
...
@@ -63,7 +62,7 @@ public class CommandContainer extends Command {
}
}
public
int
update
()
throws
SQLException
{
public
int
update
()
{
recompileIfRequired
();
// TODO query time: should keep lock time separate from running time
start
();
...
...
@@ -73,7 +72,7 @@ public class CommandContainer extends Command {
return
updateCount
;
}
public
ResultInterface
query
(
int
maxrows
)
throws
SQLException
{
public
ResultInterface
query
(
int
maxrows
)
{
recompileIfRequired
();
// TODO query time: should keep lock time separate from running time
start
();
...
...
@@ -87,7 +86,7 @@ public class CommandContainer extends Command {
return
prepared
.
isReadOnly
();
}
public
ResultInterface
queryMeta
()
throws
SQLException
{
public
ResultInterface
queryMeta
()
{
return
prepared
.
queryMeta
();
}
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/command/CommandInterface.java
浏览文件 @
62c5f801
...
...
@@ -6,7 +6,6 @@
*/
package
org
.
h2
.
command
;
import
java.sql.SQLException
;
import
java.util.ArrayList
;
import
org.h2.expression.ParameterInterface
;
import
org.h2.result.ResultInterface
;
...
...
@@ -37,14 +36,14 @@ public interface CommandInterface {
* @param scrollable if the result set must be scrollable
* @return the result
*/
ResultInterface
executeQuery
(
int
maxRows
,
boolean
scrollable
)
throws
SQLException
;
ResultInterface
executeQuery
(
int
maxRows
,
boolean
scrollable
);
/**
* Execute the statement
*
* @return the update count
*/
int
executeUpdate
()
throws
SQLException
;
int
executeUpdate
();
/**
* Close the statement.
...
...
@@ -61,5 +60,5 @@ public interface CommandInterface {
*
* @return the empty result
*/
ResultInterface
getMetaData
()
throws
SQLException
;
ResultInterface
getMetaData
();
}
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/command/CommandList.java
浏览文件 @
62c5f801
...
...
@@ -6,7 +6,6 @@
*/
package
org
.
h2
.
command
;
import
java.sql.SQLException
;
import
java.util.ArrayList
;
import
org.h2.expression.ParameterInterface
;
import
org.h2.result.ResultInterface
;
...
...
@@ -29,7 +28,7 @@ public class CommandList extends Command {
return
command
.
getParameters
();
}
private
void
executeRemaining
()
throws
SQLException
{
private
void
executeRemaining
()
{
Command
remainingCommand
=
session
.
prepareLocal
(
remaining
);
if
(
remainingCommand
.
isQuery
())
{
remainingCommand
.
query
(
0
);
...
...
@@ -38,13 +37,13 @@ public class CommandList extends Command {
}
}
public
int
update
()
throws
SQLException
{
public
int
update
()
{
int
updateCount
=
command
.
executeUpdate
();
executeRemaining
();
return
updateCount
;
}
public
ResultInterface
query
(
int
maxrows
)
throws
SQLException
{
public
ResultInterface
query
(
int
maxrows
)
{
ResultInterface
result
=
command
.
query
(
maxrows
);
executeRemaining
();
return
result
;
...
...
@@ -62,7 +61,7 @@ public class CommandList extends Command {
return
false
;
}
public
ResultInterface
queryMeta
()
throws
SQLException
{
public
ResultInterface
queryMeta
()
{
return
command
.
queryMeta
();
}
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/command/CommandRemote.java
浏览文件 @
62c5f801
...
...
@@ -7,13 +7,13 @@
package
org
.
h2
.
command
;
import
java.io.IOException
;
import
java.sql.SQLException
;
import
java.util.ArrayList
;
import
org.h2.constant.SysProperties
;
import
org.h2.engine.Constants
;
import
org.h2.engine.SessionRemote
;
import
org.h2.expression.ParameterInterface
;
import
org.h2.expression.ParameterRemote
;
import
org.h2.message.DbException
;
import
org.h2.message.Trace
;
import
org.h2.message.TraceObject
;
import
org.h2.result.ResultInterface
;
...
...
@@ -40,7 +40,7 @@ public class CommandRemote implements CommandInterface {
private
int
paramCount
;
private
int
created
;
public
CommandRemote
(
SessionRemote
session
,
ArrayList
<
Transfer
>
transferList
,
String
sql
,
int
fetchSize
)
throws
SQLException
{
public
CommandRemote
(
SessionRemote
session
,
ArrayList
<
Transfer
>
transferList
,
String
sql
,
int
fetchSize
)
{
this
.
transferList
=
transferList
;
trace
=
session
.
getTrace
();
this
.
sql
=
sql
;
...
...
@@ -53,7 +53,7 @@ public class CommandRemote implements CommandInterface {
created
=
session
.
getLastReconnect
();
}
private
void
prepare
(
SessionRemote
s
,
boolean
createParams
)
throws
SQLException
{
private
void
prepare
(
SessionRemote
s
,
boolean
createParams
)
{
id
=
s
.
getNextId
();
paramCount
=
0
;
boolean
readParams
=
s
.
getClientVersion
()
>=
Constants
.
TCP_PROTOCOL_VERSION
;
...
...
@@ -67,7 +67,7 @@ public class CommandRemote implements CommandInterface {
s
.
traceOperation
(
"SESSION_PREPARE"
,
id
);
transfer
.
writeInt
(
SessionRemote
.
SESSION_PREPARE
).
writeInt
(
id
).
writeString
(
sql
);
}
s
.
done
(
transfer
);
s
.
convert
(
transfer
);
isQuery
=
transfer
.
readBoolean
();
readonly
=
transfer
.
readBoolean
();
paramCount
=
transfer
.
readInt
();
...
...
@@ -97,7 +97,7 @@ public class CommandRemote implements CommandInterface {
return
parameters
;
}
private
void
prepareIfRequired
()
throws
SQLException
{
private
void
prepareIfRequired
()
{
if
(
session
.
getLastReconnect
()
!=
created
)
{
// in this case we need to prepare again in every case
id
=
Integer
.
MIN_VALUE
;
...
...
@@ -109,7 +109,7 @@ public class CommandRemote implements CommandInterface {
}
}
public
ResultInterface
getMetaData
()
throws
SQLException
{
public
ResultInterface
getMetaData
()
{
synchronized
(
session
)
{
if
(!
isQuery
)
{
return
null
;
...
...
@@ -122,7 +122,7 @@ public class CommandRemote implements CommandInterface {
try
{
session
.
traceOperation
(
"COMMAND_GET_META_DATA"
,
id
);
transfer
.
writeInt
(
SessionRemote
.
COMMAND_GET_META_DATA
).
writeInt
(
id
).
writeInt
(
objectId
);
session
.
done
(
transfer
);
session
.
convert
(
transfer
);
int
columnCount
=
transfer
.
readInt
();
result
=
new
ResultRemote
(
session
,
transfer
,
objectId
,
columnCount
,
Integer
.
MAX_VALUE
);
break
;
...
...
@@ -135,7 +135,7 @@ public class CommandRemote implements CommandInterface {
}
}
public
ResultInterface
executeQuery
(
int
maxRows
,
boolean
scrollable
)
throws
SQLException
{
public
ResultInterface
executeQuery
(
int
maxRows
,
boolean
scrollable
)
{
checkParameters
();
synchronized
(
session
)
{
int
objectId
=
session
.
getNextId
();
...
...
@@ -155,7 +155,7 @@ public class CommandRemote implements CommandInterface {
}
transfer
.
writeInt
(
fetch
);
sendParameters
(
transfer
);
session
.
done
(
transfer
);
session
.
convert
(
transfer
);
int
columnCount
=
transfer
.
readInt
();
if
(
result
!=
null
)
{
result
.
close
();
...
...
@@ -175,7 +175,7 @@ public class CommandRemote implements CommandInterface {
}
}
public
int
executeUpdate
()
throws
SQLException
{
public
int
executeUpdate
()
{
checkParameters
();
synchronized
(
session
)
{
int
updateCount
=
0
;
...
...
@@ -187,7 +187,7 @@ public class CommandRemote implements CommandInterface {
session
.
traceOperation
(
"COMMAND_EXECUTE_UPDATE"
,
id
);
transfer
.
writeInt
(
SessionRemote
.
COMMAND_EXECUTE_UPDATE
).
writeInt
(
id
);
sendParameters
(
transfer
);
session
.
done
(
transfer
);
session
.
convert
(
transfer
);
updateCount
=
transfer
.
readInt
();
autoCommit
=
transfer
.
readBoolean
();
}
catch
(
IOException
e
)
{
...
...
@@ -201,13 +201,13 @@ public class CommandRemote implements CommandInterface {
}
}
private
void
checkParameters
()
throws
SQLException
{
private
void
checkParameters
()
{
for
(
ParameterInterface
p
:
parameters
)
{
p
.
checkSet
();
}
}
private
void
sendParameters
(
Transfer
transfer
)
throws
IOException
,
SQLException
{
private
void
sendParameters
(
Transfer
transfer
)
throws
IOException
{
int
len
=
parameters
.
size
();
transfer
.
writeInt
(
len
);
for
(
ParameterInterface
p
:
parameters
)
{
...
...
@@ -237,7 +237,7 @@ public class CommandRemote implements CommandInterface {
v
.
close
();
}
}
}
catch
(
SQL
Exception
e
)
{
}
catch
(
Db
Exception
e
)
{
trace
.
error
(
"close"
,
e
);
}
parameters
.
clear
();
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/command/Parser.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/command/Prepared.java
浏览文件 @
62c5f801
...
...
@@ -6,7 +6,6 @@
*/
package
org
.
h2
.
command
;
import
java.sql.SQLException
;
import
java.util.ArrayList
;
import
org.h2.constant.ErrorCode
;
import
org.h2.constant.SysProperties
;
...
...
@@ -14,8 +13,7 @@ import org.h2.engine.Database;
import
org.h2.engine.Session
;
import
org.h2.expression.Expression
;
import
org.h2.expression.Parameter
;
import
org.h2.jdbc.JdbcSQLException
;
import
org.h2.message.Message
;
import
org.h2.message.DbException
;
import
org.h2.result.ResultInterface
;
import
org.h2.util.StatementBuilder
;
import
org.h2.value.Value
;
...
...
@@ -81,7 +79,7 @@ public abstract class Prepared {
*
* @return the result set
*/
public
abstract
ResultInterface
queryMeta
()
throws
SQLException
;
public
abstract
ResultInterface
queryMeta
();
/**
* Check if this command is read only.
...
...
@@ -97,10 +95,10 @@ public abstract class Prepared {
*
* @return true if it must
*/
public
boolean
needRecompile
()
throws
SQLException
{
public
boolean
needRecompile
()
{
Database
db
=
session
.
getDatabase
();
if
(
db
==
null
)
{
throw
Message
.
getSQLException
(
ErrorCode
.
CONNECTION_BROKEN_1
,
"database closed"
);
throw
DbException
.
get
(
ErrorCode
.
CONNECTION_BROKEN_1
,
"database closed"
);
}
// parser: currently, compiling every create/drop/... twice
// because needRecompile return true even for the first execution
...
...
@@ -149,7 +147,7 @@ public abstract class Prepared {
*
* @throws SQLException if any parameter has not been set
*/
protected
void
checkParameters
()
throws
SQLException
{
protected
void
checkParameters
()
{
for
(
int
i
=
0
;
parameters
!=
null
&&
i
<
parameters
.
size
();
i
++)
{
Parameter
param
=
parameters
.
get
(
i
);
param
.
checkSet
();
...
...
@@ -179,7 +177,7 @@ public abstract class Prepared {
*
* @throws SQLException
*/
public
void
prepare
()
throws
SQLException
{
public
void
prepare
()
{
// nothing to do
}
...
...
@@ -189,8 +187,8 @@ public abstract class Prepared {
* @return the update count
* @throws SQLException if it is a query
*/
public
int
update
()
throws
SQLException
{
throw
Message
.
getSQLException
(
ErrorCode
.
METHOD_NOT_ALLOWED_FOR_QUERY
);
public
int
update
()
{
throw
DbException
.
get
(
ErrorCode
.
METHOD_NOT_ALLOWED_FOR_QUERY
);
}
/**
...
...
@@ -200,8 +198,8 @@ public abstract class Prepared {
* @return the result set
* @throws SQLException if it is not a query
*/
public
ResultInterface
query
(
int
maxrows
)
throws
SQLException
{
throw
Message
.
getSQLException
(
ErrorCode
.
METHOD_ONLY_ALLOWED_FOR_QUERY
);
public
ResultInterface
query
(
int
maxrows
)
{
throw
DbException
.
get
(
ErrorCode
.
METHOD_ONLY_ALLOWED_FOR_QUERY
);
}
/**
...
...
@@ -263,7 +261,7 @@ public abstract class Prepared {
*
* @throws SQLException if it was canceled
*/
public
void
checkCanceled
()
throws
SQLException
{
public
void
checkCanceled
()
{
session
.
checkCanceled
();
Command
c
=
command
!=
null
?
command
:
session
.
getCurrentCommand
();
if
(
c
!=
null
)
{
...
...
@@ -297,7 +295,7 @@ public abstract class Prepared {
* @param startTime when the statement was started
* @param count the update count
*/
void
trace
(
long
startTime
,
int
count
)
throws
SQLException
{
void
trace
(
long
startTime
,
int
count
)
{
if
(
session
.
getTrace
().
isInfoEnabled
())
{
long
time
=
System
.
currentTimeMillis
()
-
startTime
;
String
params
;
...
...
@@ -332,7 +330,7 @@ public abstract class Prepared {
*
* @param rowNumber the row number
*/
protected
void
setCurrentRowNumber
(
int
rowNumber
)
throws
SQLException
{
protected
void
setCurrentRowNumber
(
int
rowNumber
)
{
if
((++
rowScanCount
&
127
)
==
0
)
{
checkCanceled
();
}
...
...
@@ -394,26 +392,22 @@ public abstract class Prepared {
/**
* Set the SQL statement of the exception to the given row.
*
* @param e
x
the exception
* @param e the exception
* @param rowId the row number
* @param values the values of the row
* @return the exception
*/
protected
SQLException
setRow
(
SQLException
ex
,
int
rowId
,
String
values
)
{
if
(
ex
instanceof
JdbcSQLException
)
{
JdbcSQLException
e
=
(
JdbcSQLException
)
ex
;
StringBuilder
buff
=
new
StringBuilder
();
if
(
sqlStatement
!=
null
)
{
buff
.
append
(
sqlStatement
);
}
buff
.
append
(
" -- "
);
if
(
rowId
>
0
)
{
buff
.
append
(
"row #"
).
append
(
rowId
+
1
).
append
(
' '
);
}
buff
.
append
(
'('
).
append
(
values
).
append
(
')'
);
e
.
setSQL
(
buff
.
toString
());
protected
DbException
setRow
(
DbException
e
,
int
rowId
,
String
values
)
{
StringBuilder
buff
=
new
StringBuilder
();
if
(
sqlStatement
!=
null
)
{
buff
.
append
(
sqlStatement
);
}
buff
.
append
(
" -- "
);
if
(
rowId
>
0
)
{
buff
.
append
(
"row #"
).
append
(
rowId
+
1
).
append
(
' '
);
}
return
ex
;
buff
.
append
(
'('
).
append
(
values
).
append
(
')'
);
return
e
.
addSQL
(
buff
.
toString
());
}
}
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/command/ddl/AlterIndexRename.java
浏览文件 @
62c5f801
...
...
@@ -6,13 +6,12 @@
*/
package
org
.
h2
.
command
.
ddl
;
import
java.sql.SQLException
;
import
org.h2.constant.ErrorCode
;
import
org.h2.engine.Database
;
import
org.h2.engine.Right
;
import
org.h2.engine.Session
;
import
org.h2.index.Index
;
import
org.h2.message.
Message
;
import
org.h2.message.
DbException
;
import
org.h2.schema.Schema
;
/**
...
...
@@ -36,12 +35,12 @@ public class AlterIndexRename extends DefineCommand {
newIndexName
=
name
;
}
public
int
update
()
throws
SQLException
{
public
int
update
()
{
session
.
commit
(
true
);
Database
db
=
session
.
getDatabase
();
Schema
schema
=
oldIndex
.
getSchema
();
if
(
schema
.
findIndex
(
session
,
newIndexName
)
!=
null
||
newIndexName
.
equals
(
oldIndex
.
getName
()))
{
throw
Message
.
getSQLException
(
ErrorCode
.
INDEX_ALREADY_EXISTS_1
,
newIndexName
);
throw
DbException
.
get
(
ErrorCode
.
INDEX_ALREADY_EXISTS_1
,
newIndexName
);
}
session
.
getUser
().
checkRight
(
oldIndex
.
getTable
(),
Right
.
ALL
);
db
.
renameSchemaObject
(
session
,
oldIndex
,
newIndexName
);
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/command/ddl/AlterTableAddConstraint.java
浏览文件 @
62c5f801
...
...
@@ -6,7 +6,6 @@
*/
package
org
.
h2
.
command
.
ddl
;
import
java.sql.SQLException
;
import
java.util.ArrayList
;
import
java.util.HashSet
;
import
org.h2.constant.ErrorCode
;
...
...
@@ -21,7 +20,7 @@ import org.h2.engine.Session;
import
org.h2.expression.Expression
;
import
org.h2.index.Index
;
import
org.h2.index.IndexType
;
import
org.h2.message.
Message
;
import
org.h2.message.
DbException
;
import
org.h2.schema.Schema
;
import
org.h2.table.Column
;
import
org.h2.table.IndexColumn
;
...
...
@@ -83,7 +82,7 @@ public class AlterTableAddConstraint extends SchemaCommand {
return
constraintName
;
}
public
int
update
()
throws
SQLException
{
public
int
update
()
{
try
{
return
tryUpdate
();
}
finally
{
...
...
@@ -96,7 +95,7 @@ public class AlterTableAddConstraint extends SchemaCommand {
*
* @return the update count
*/
public
int
tryUpdate
()
throws
SQLException
{
public
int
tryUpdate
()
{
session
.
commit
(
true
);
Database
db
=
session
.
getDatabase
();
Table
table
=
getSchema
().
getTableOrView
(
session
,
tableName
);
...
...
@@ -104,7 +103,7 @@ public class AlterTableAddConstraint extends SchemaCommand {
if
(
ifNotExists
)
{
return
0
;
}
throw
Message
.
getSQLException
(
ErrorCode
.
CONSTRAINT_ALREADY_EXISTS_1
,
constraintName
);
throw
DbException
.
get
(
ErrorCode
.
CONSTRAINT_ALREADY_EXISTS_1
,
constraintName
);
}
session
.
getUser
().
checkRight
(
table
,
Right
.
ALL
);
table
.
lock
(
session
,
true
,
true
);
...
...
@@ -117,7 +116,7 @@ public class AlterTableAddConstraint extends SchemaCommand {
for
(
int
i
=
0
;
constraints
!=
null
&&
i
<
constraints
.
size
();
i
++)
{
Constraint
c
=
constraints
.
get
(
i
);
if
(
Constraint
.
PRIMARY_KEY
.
equals
(
c
.
getConstraintType
()))
{
throw
Message
.
getSQLException
(
ErrorCode
.
SECOND_PRIMARY_KEY
);
throw
DbException
.
get
(
ErrorCode
.
SECOND_PRIMARY_KEY
);
}
}
if
(
index
!=
null
)
{
...
...
@@ -125,11 +124,11 @@ public class AlterTableAddConstraint extends SchemaCommand {
// we don't test ascending / descending
IndexColumn
[]
pkCols
=
index
.
getIndexColumns
();
if
(
pkCols
.
length
!=
indexColumns
.
length
)
{
throw
Message
.
getSQLException
(
ErrorCode
.
SECOND_PRIMARY_KEY
);
throw
DbException
.
get
(
ErrorCode
.
SECOND_PRIMARY_KEY
);
}
for
(
int
i
=
0
;
i
<
pkCols
.
length
;
i
++)
{
if
(
pkCols
[
i
].
column
!=
indexColumns
[
i
].
column
)
{
throw
Message
.
getSQLException
(
ErrorCode
.
SECOND_PRIMARY_KEY
);
throw
DbException
.
get
(
ErrorCode
.
SECOND_PRIMARY_KEY
);
}
}
}
...
...
@@ -210,7 +209,7 @@ public class AlterTableAddConstraint extends SchemaCommand {
IndexColumn
.
mapColumns
(
refIndexColumns
,
refTable
);
}
if
(
refIndexColumns
.
length
!=
indexColumns
.
length
)
{
throw
Message
.
getSQLException
(
ErrorCode
.
COLUMN_COUNT_DOES_NOT_MATCH
);
throw
DbException
.
get
(
ErrorCode
.
COLUMN_COUNT_DOES_NOT_MATCH
);
}
boolean
isRefOwner
=
false
;
if
(
refIndex
!=
null
&&
refIndex
.
getTable
()
==
refTable
)
{
...
...
@@ -244,7 +243,7 @@ public class AlterTableAddConstraint extends SchemaCommand {
break
;
}
default
:
throw
Message
.
throwInternalError
(
"type="
+
type
);
throw
DbException
.
throwInternalError
(
"type="
+
type
);
}
// parent relationship is already set with addConstraint
constraint
.
setComment
(
comment
);
...
...
@@ -257,7 +256,7 @@ public class AlterTableAddConstraint extends SchemaCommand {
return
0
;
}
private
Index
createIndex
(
Table
t
,
IndexColumn
[]
cols
,
boolean
unique
)
throws
SQLException
{
private
Index
createIndex
(
Table
t
,
IndexColumn
[]
cols
,
boolean
unique
)
{
int
indexId
=
getObjectId
();
IndexType
indexType
;
if
(
unique
)
{
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/command/ddl/AlterTableAlterColumn.java
浏览文件 @
62c5f801
...
...
@@ -6,7 +6,6 @@
*/
package
org
.
h2
.
command
.
ddl
;
import
java.sql.SQLException
;
import
java.util.ArrayList
;
import
java.util.List
;
import
org.h2.command.Parser
;
...
...
@@ -21,7 +20,7 @@ import org.h2.engine.Session;
import
org.h2.expression.Expression
;
import
org.h2.index.Index
;
import
org.h2.index.IndexType
;
import
org.h2.message.
Message
;
import
org.h2.message.
DbException
;
import
org.h2.result.ResultInterface
;
import
org.h2.schema.Schema
;
import
org.h2.schema.SchemaObject
;
...
...
@@ -106,7 +105,7 @@ public class AlterTableAlterColumn extends SchemaCommand {
this
.
addBefore
=
before
;
}
public
int
update
()
throws
SQLException
{
public
int
update
()
{
session
.
commit
(
true
);
Database
db
=
session
.
getDatabase
();
session
.
getUser
().
checkRight
(
table
,
Right
.
ALL
);
...
...
@@ -161,7 +160,7 @@ public class AlterTableAlterColumn extends SchemaCommand {
}
case
DROP:
{
if
(
table
.
getColumns
().
length
==
1
)
{
throw
Message
.
getSQLException
(
ErrorCode
.
CANNOT_DROP_LAST_COLUMN
,
oldColumn
.
getSQL
());
throw
DbException
.
get
(
ErrorCode
.
CANNOT_DROP_LAST_COLUMN
,
oldColumn
.
getSQL
());
}
table
.
checkColumnIsNotReferenced
(
oldColumn
);
dropSingleColumnIndexes
();
...
...
@@ -175,12 +174,12 @@ public class AlterTableAlterColumn extends SchemaCommand {
break
;
}
default
:
Message
.
throwInternalError
(
"type="
+
type
);
DbException
.
throwInternalError
(
"type="
+
type
);
}
return
0
;
}
private
void
convertAutoIncrementColumn
(
Column
c
)
throws
SQLException
{
private
void
convertAutoIncrementColumn
(
Column
c
)
{
if
(
c
.
isAutoIncrement
())
{
if
(
c
.
isPrimaryKey
())
{
c
.
setOriginalSQL
(
"IDENTITY"
);
...
...
@@ -191,7 +190,7 @@ public class AlterTableAlterColumn extends SchemaCommand {
}
}
private
void
removeSequence
(
Sequence
sequence
)
throws
SQLException
{
private
void
removeSequence
(
Sequence
sequence
)
{
if
(
sequence
!=
null
)
{
table
.
removeSequence
(
session
,
sequence
);
sequence
.
setBelongsToTable
(
false
);
...
...
@@ -200,9 +199,9 @@ public class AlterTableAlterColumn extends SchemaCommand {
}
}
private
void
copyData
()
throws
SQLException
{
private
void
copyData
()
{
if
(
table
.
isTemporary
())
{
throw
Message
.
getUnsupportedException
(
"TEMP TABLE"
);
throw
DbException
.
getUnsupportedException
(
"TEMP TABLE"
);
}
Database
db
=
session
.
getDatabase
();
String
tempName
=
db
.
getTempTableName
(
session
);
...
...
@@ -212,9 +211,9 @@ public class AlterTableAlterColumn extends SchemaCommand {
List
<
String
>
views
;
try
{
views
=
checkViews
(
table
,
newTable
);
}
catch
(
SQL
Exception
e
)
{
}
catch
(
Db
Exception
e
)
{
execute
(
"DROP TABLE "
+
newTable
.
getName
(),
true
);
throw
Message
.
getSQLException
(
ErrorCode
.
VIEW_IS_INVALID_2
,
e
,
getSQL
(),
e
.
getMessage
());
throw
DbException
.
get
(
ErrorCode
.
VIEW_IS_INVALID_2
,
e
,
getSQL
(),
e
.
getMessage
());
}
String
tableName
=
table
.
getName
();
execute
(
"DROP TABLE "
+
table
.
getSQL
(),
true
);
...
...
@@ -247,7 +246,7 @@ public class AlterTableAlterColumn extends SchemaCommand {
}
}
private
TableData
cloneTableStructure
(
Column
[]
columns
,
Database
db
,
String
tempName
,
ArrayList
<
Column
>
newColumns
)
throws
SQLException
{
private
TableData
cloneTableStructure
(
Column
[]
columns
,
Database
db
,
String
tempName
,
ArrayList
<
Column
>
newColumns
)
{
for
(
Column
col
:
columns
)
{
newColumns
.
add
(
col
.
getClone
());
}
...
...
@@ -331,7 +330,7 @@ public class AlterTableAlterColumn extends SchemaCommand {
if
(
child
instanceof
TableView
)
{
continue
;
}
else
if
(
child
.
getType
()
==
DbObject
.
TABLE_OR_VIEW
)
{
Message
.
throwInternalError
();
DbException
.
throwInternalError
();
}
String
quotedName
=
Parser
.
quoteIdentifier
(
tempName
+
"_"
+
child
.
getName
());
String
sql
=
null
;
...
...
@@ -373,7 +372,7 @@ public class AlterTableAlterColumn extends SchemaCommand {
*
* @param the list of SQL statements to re-create views that depend on this table
*/
private
List
<
String
>
checkViews
(
SchemaObject
sourceTable
,
SchemaObject
newTable
)
throws
SQLException
{
private
List
<
String
>
checkViews
(
SchemaObject
sourceTable
,
SchemaObject
newTable
)
{
List
<
String
>
viewSql
=
new
ArrayList
<
String
>();
String
sourceTableName
=
sourceTable
.
getName
();
String
newTableName
=
newTable
.
getName
();
...
...
@@ -402,7 +401,7 @@ public class AlterTableAlterColumn extends SchemaCommand {
* @param recreate the list of SQL statements to re-create views that depend
* on this table
*/
private
void
checkViewsAreValid
(
DbObject
tableOrView
,
List
<
String
>
recreate
)
throws
SQLException
{
private
void
checkViewsAreValid
(
DbObject
tableOrView
,
List
<
String
>
recreate
)
{
for
(
DbObject
view
:
tableOrView
.
getChildren
())
{
if
(
view
instanceof
TableView
)
{
String
sql
=
((
TableView
)
view
).
getQuery
();
...
...
@@ -417,7 +416,7 @@ public class AlterTableAlterColumn extends SchemaCommand {
}
}
private
void
execute
(
String
sql
,
boolean
ddl
)
throws
SQLException
{
private
void
execute
(
String
sql
,
boolean
ddl
)
{
Prepared
command
=
session
.
prepare
(
sql
);
command
.
update
();
if
(
ddl
)
{
...
...
@@ -425,7 +424,7 @@ public class AlterTableAlterColumn extends SchemaCommand {
}
}
private
void
dropSingleColumnIndexes
()
throws
SQLException
{
private
void
dropSingleColumnIndexes
()
{
Database
db
=
session
.
getDatabase
();
ArrayList
<
Index
>
indexes
=
table
.
getIndexes
();
for
(
int
i
=
0
;
i
<
indexes
.
size
();
i
++)
{
...
...
@@ -440,7 +439,7 @@ public class AlterTableAlterColumn extends SchemaCommand {
if
(
cols
.
length
==
1
)
{
dropIndex
=
true
;
}
else
{
throw
Message
.
getSQLException
(
ErrorCode
.
COLUMN_IS_PART_OF_INDEX_1
,
index
.
getSQL
());
throw
DbException
.
get
(
ErrorCode
.
COLUMN_IS_PART_OF_INDEX_1
,
index
.
getSQL
());
}
}
}
...
...
@@ -452,25 +451,25 @@ public class AlterTableAlterColumn extends SchemaCommand {
}
}
private
void
checkNullable
()
throws
SQLException
{
private
void
checkNullable
()
{
for
(
Index
index
:
table
.
getIndexes
())
{
if
(
index
.
getColumnIndex
(
oldColumn
)
<
0
)
{
continue
;
}
IndexType
indexType
=
index
.
getIndexType
();
if
(
indexType
.
isPrimaryKey
()
||
indexType
.
isHash
())
{
throw
Message
.
getSQLException
(
ErrorCode
.
COLUMN_IS_PART_OF_INDEX_1
,
index
.
getSQL
());
throw
DbException
.
get
(
ErrorCode
.
COLUMN_IS_PART_OF_INDEX_1
,
index
.
getSQL
());
}
}
}
private
void
checkNoNullValues
()
throws
SQLException
{
private
void
checkNoNullValues
()
{
String
sql
=
"SELECT COUNT(*) FROM "
+
table
.
getSQL
()
+
" WHERE "
+
oldColumn
.
getSQL
()
+
" IS NULL"
;
Prepared
command
=
session
.
prepare
(
sql
);
ResultInterface
result
=
command
.
query
(
0
);
result
.
next
();
if
(
result
.
currentRow
()[
0
].
getInt
()
>
0
)
{
throw
Message
.
getSQLException
(
ErrorCode
.
COLUMN_CONTAINS_NULL_VALUES_1
,
oldColumn
.
getSQL
());
throw
DbException
.
get
(
ErrorCode
.
COLUMN_CONTAINS_NULL_VALUES_1
,
oldColumn
.
getSQL
());
}
}
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/command/ddl/AlterTableDropConstraint.java
浏览文件 @
62c5f801
...
...
@@ -6,13 +6,11 @@
*/
package
org
.
h2
.
command
.
ddl
;
import
java.sql.SQLException
;
import
org.h2.constant.ErrorCode
;
import
org.h2.constraint.Constraint
;
import
org.h2.engine.Right
;
import
org.h2.engine.Session
;
import
org.h2.message.
Message
;
import
org.h2.message.
DbException
;
import
org.h2.schema.Schema
;
/**
...
...
@@ -33,12 +31,12 @@ public class AlterTableDropConstraint extends SchemaCommand {
constraintName
=
string
;
}
public
int
update
()
throws
SQLException
{
public
int
update
()
{
session
.
commit
(
true
);
Constraint
constraint
=
getSchema
().
findConstraint
(
session
,
constraintName
);
if
(
constraint
==
null
)
{
if
(!
ifExists
)
{
throw
Message
.
getSQLException
(
ErrorCode
.
CONSTRAINT_NOT_FOUND_1
,
constraintName
);
throw
DbException
.
get
(
ErrorCode
.
CONSTRAINT_NOT_FOUND_1
,
constraintName
);
}
}
else
{
session
.
getUser
().
checkRight
(
constraint
.
getTable
(),
Right
.
ALL
);
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/command/ddl/AlterTableRename.java
浏览文件 @
62c5f801
...
...
@@ -6,13 +6,11 @@
*/
package
org
.
h2
.
command
.
ddl
;
import
java.sql.SQLException
;
import
org.h2.constant.ErrorCode
;
import
org.h2.engine.Database
;
import
org.h2.engine.Right
;
import
org.h2.engine.Session
;
import
org.h2.message.
Message
;
import
org.h2.message.
DbException
;
import
org.h2.schema.Schema
;
import
org.h2.table.Table
;
...
...
@@ -37,15 +35,15 @@ public class AlterTableRename extends SchemaCommand {
newTableName
=
name
;
}
public
int
update
()
throws
SQLException
{
public
int
update
()
{
session
.
commit
(
true
);
Database
db
=
session
.
getDatabase
();
if
(
getSchema
().
findTableOrView
(
session
,
newTableName
)
!=
null
||
newTableName
.
equals
(
oldTable
.
getName
()))
{
throw
Message
.
getSQLException
(
ErrorCode
.
TABLE_OR_VIEW_ALREADY_EXISTS_1
,
newTableName
);
throw
DbException
.
get
(
ErrorCode
.
TABLE_OR_VIEW_ALREADY_EXISTS_1
,
newTableName
);
}
session
.
getUser
().
checkRight
(
oldTable
,
Right
.
ALL
);
if
(
oldTable
.
isTemporary
())
{
throw
Message
.
getUnsupportedException
(
"TEMP TABLE"
);
throw
DbException
.
getUnsupportedException
(
"TEMP TABLE"
);
}
db
.
renameSchemaObject
(
session
,
oldTable
,
newTableName
);
return
0
;
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/command/ddl/AlterTableRenameColumn.java
浏览文件 @
62c5f801
...
...
@@ -6,7 +6,6 @@
*/
package
org
.
h2
.
command
.
ddl
;
import
java.sql.SQLException
;
import
org.h2.engine.Database
;
import
org.h2.engine.DbObject
;
import
org.h2.engine.Right
;
...
...
@@ -40,7 +39,7 @@ public class AlterTableRenameColumn extends DefineCommand {
this
.
newName
=
newName
;
}
public
int
update
()
throws
SQLException
{
public
int
update
()
{
session
.
commit
(
true
);
Database
db
=
session
.
getDatabase
();
session
.
getUser
().
checkRight
(
table
,
Right
.
ALL
);
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/command/ddl/AlterUser.java
浏览文件 @
62c5f801
...
...
@@ -6,14 +6,12 @@
*/
package
org
.
h2
.
command
.
ddl
;
import
java.sql.SQLException
;
import
org.h2.constant.ErrorCode
;
import
org.h2.engine.Database
;
import
org.h2.engine.Session
;
import
org.h2.engine.User
;
import
org.h2.expression.Expression
;
import
org.h2.message.
Message
;
import
org.h2.message.
DbException
;
import
org.h2.security.SHA256
;
import
org.h2.util.Utils
;
...
...
@@ -80,15 +78,15 @@ public class AlterUser extends DefineCommand {
this
.
password
=
password
;
}
private
char
[]
getCharArray
(
Expression
e
)
throws
SQLException
{
private
char
[]
getCharArray
(
Expression
e
)
{
return
e
.
optimize
(
session
).
getValue
(
session
).
getString
().
toCharArray
();
}
private
byte
[]
getByteArray
(
Expression
e
)
throws
SQLException
{
private
byte
[]
getByteArray
(
Expression
e
)
{
return
Utils
.
convertStringToBytes
(
e
.
optimize
(
session
).
getValue
(
session
).
getString
());
}
public
int
update
()
throws
SQLException
{
public
int
update
()
{
session
.
commit
(
true
);
Database
db
=
session
.
getDatabase
();
switch
(
type
)
{
...
...
@@ -109,7 +107,7 @@ public class AlterUser extends DefineCommand {
case
RENAME:
session
.
getUser
().
checkAdmin
();
if
(
db
.
findUser
(
newName
)
!=
null
||
newName
.
equals
(
user
.
getName
()))
{
throw
Message
.
getSQLException
(
ErrorCode
.
USER_ALREADY_EXISTS_1
,
newName
);
throw
DbException
.
get
(
ErrorCode
.
USER_ALREADY_EXISTS_1
,
newName
);
}
db
.
renameDatabaseObject
(
session
,
user
,
newName
);
break
;
...
...
@@ -121,7 +119,7 @@ public class AlterUser extends DefineCommand {
user
.
setAdmin
(
admin
);
break
;
default
:
Message
.
throwInternalError
(
"type="
+
type
);
DbException
.
throwInternalError
(
"type="
+
type
);
}
db
.
update
(
session
,
user
);
return
0
;
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/command/ddl/AlterView.java
浏览文件 @
62c5f801
...
...
@@ -6,8 +6,6 @@
*/
package
org
.
h2
.
command
.
ddl
;
import
java.sql.SQLException
;
import
org.h2.engine.Right
;
import
org.h2.engine.Session
;
import
org.h2.table.TableView
;
...
...
@@ -28,7 +26,7 @@ public class AlterView extends DefineCommand {
this
.
view
=
view
;
}
public
int
update
()
throws
SQLException
{
public
int
update
()
{
session
.
commit
(
true
);
session
.
getUser
().
checkRight
(
view
,
Right
.
ALL
);
view
.
recompile
(
session
);
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/command/ddl/Analyze.java
浏览文件 @
62c5f801
...
...
@@ -6,7 +6,6 @@
*/
package
org
.
h2
.
command
.
ddl
;
import
java.sql.SQLException
;
import
org.h2.command.Prepared
;
import
org.h2.engine.Database
;
import
org.h2.engine.Session
;
...
...
@@ -32,7 +31,7 @@ public class Analyze extends DefineCommand {
super
(
session
);
}
public
int
update
()
throws
SQLException
{
public
int
update
()
{
session
.
commit
(
true
);
Database
db
=
session
.
getDatabase
();
session
.
getUser
().
checkAdmin
();
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/command/ddl/CreateAggregate.java
浏览文件 @
62c5f801
...
...
@@ -6,13 +6,11 @@
*/
package
org
.
h2
.
command
.
ddl
;
import
java.sql.SQLException
;
import
org.h2.constant.ErrorCode
;
import
org.h2.engine.Database
;
import
org.h2.engine.Session
;
import
org.h2.engine.UserAggregate
;
import
org.h2.message.
Message
;
import
org.h2.message.
DbException
;
/**
* This class represents the statement
...
...
@@ -29,13 +27,13 @@ public class CreateAggregate extends DefineCommand {
super
(
session
);
}
public
int
update
()
throws
SQLException
{
public
int
update
()
{
session
.
commit
(
true
);
session
.
getUser
().
checkAdmin
();
Database
db
=
session
.
getDatabase
();
if
(
db
.
findAggregate
(
name
)
!=
null
||
db
.
findFunctionAlias
(
name
)
!=
null
)
{
if
(!
ifNotExists
)
{
throw
Message
.
getSQLException
(
ErrorCode
.
FUNCTION_ALIAS_ALREADY_EXISTS_1
,
name
);
throw
DbException
.
get
(
ErrorCode
.
FUNCTION_ALIAS_ALREADY_EXISTS_1
,
name
);
}
}
else
{
int
id
=
getObjectId
();
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/command/ddl/CreateConstant.java
浏览文件 @
62c5f801
...
...
@@ -6,13 +6,11 @@
*/
package
org
.
h2
.
command
.
ddl
;
import
java.sql.SQLException
;
import
org.h2.constant.ErrorCode
;
import
org.h2.engine.Database
;
import
org.h2.engine.Session
;
import
org.h2.expression.Expression
;
import
org.h2.message.
Message
;
import
org.h2.message.
DbException
;
import
org.h2.schema.Constant
;
import
org.h2.schema.Schema
;
import
org.h2.value.Value
;
...
...
@@ -35,7 +33,7 @@ public class CreateConstant extends SchemaCommand {
this
.
ifNotExists
=
ifNotExists
;
}
public
int
update
()
throws
SQLException
{
public
int
update
()
{
session
.
commit
(
true
);
session
.
getUser
().
checkAdmin
();
Database
db
=
session
.
getDatabase
();
...
...
@@ -43,7 +41,7 @@ public class CreateConstant extends SchemaCommand {
if
(
ifNotExists
)
{
return
0
;
}
throw
Message
.
getSQLException
(
ErrorCode
.
CONSTANT_ALREADY_EXISTS_1
,
constantName
);
throw
DbException
.
get
(
ErrorCode
.
CONSTANT_ALREADY_EXISTS_1
,
constantName
);
}
int
id
=
getObjectId
();
Constant
constant
=
new
Constant
(
getSchema
(),
id
,
constantName
);
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/command/ddl/CreateFunctionAlias.java
浏览文件 @
62c5f801
...
...
@@ -6,13 +6,11 @@
*/
package
org
.
h2
.
command
.
ddl
;
import
java.sql.SQLException
;
import
org.h2.constant.ErrorCode
;
import
org.h2.engine.Database
;
import
org.h2.engine.FunctionAlias
;
import
org.h2.engine.Session
;
import
org.h2.message.
Message
;
import
org.h2.message.
DbException
;
/**
* This class represents the statement
...
...
@@ -31,13 +29,13 @@ public class CreateFunctionAlias extends DefineCommand {
super
(
session
);
}
public
int
update
()
throws
SQLException
{
public
int
update
()
{
session
.
commit
(
true
);
session
.
getUser
().
checkAdmin
();
Database
db
=
session
.
getDatabase
();
if
(
db
.
findFunctionAlias
(
aliasName
)
!=
null
)
{
if
(!
ifNotExists
)
{
throw
Message
.
getSQLException
(
ErrorCode
.
FUNCTION_ALIAS_ALREADY_EXISTS_1
,
aliasName
);
throw
DbException
.
get
(
ErrorCode
.
FUNCTION_ALIAS_ALREADY_EXISTS_1
,
aliasName
);
}
}
else
{
int
id
=
getObjectId
();
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/command/ddl/CreateIndex.java
浏览文件 @
62c5f801
...
...
@@ -6,15 +6,13 @@
*/
package
org
.
h2
.
command
.
ddl
;
import
java.sql.SQLException
;
import
org.h2.constant.ErrorCode
;
import
org.h2.engine.Constants
;
import
org.h2.engine.Database
;
import
org.h2.engine.Right
;
import
org.h2.engine.Session
;
import
org.h2.index.IndexType
;
import
org.h2.message.
Message
;
import
org.h2.message.
DbException
;
import
org.h2.schema.Schema
;
import
org.h2.table.IndexColumn
;
import
org.h2.table.Table
;
...
...
@@ -52,7 +50,7 @@ public class CreateIndex extends SchemaCommand {
this
.
indexColumns
=
columns
;
}
public
int
update
()
throws
SQLException
{
public
int
update
()
{
session
.
commit
(
true
);
Database
db
=
session
.
getDatabase
();
boolean
persistent
=
db
.
isPersistent
();
...
...
@@ -74,12 +72,12 @@ public class CreateIndex extends SchemaCommand {
if
(
ifNotExists
)
{
return
0
;
}
throw
Message
.
getSQLException
(
ErrorCode
.
INDEX_ALREADY_EXISTS_1
,
indexName
);
throw
DbException
.
get
(
ErrorCode
.
INDEX_ALREADY_EXISTS_1
,
indexName
);
}
IndexType
indexType
;
if
(
primaryKey
)
{
if
(
table
.
findPrimaryKey
()
!=
null
)
{
throw
Message
.
getSQLException
(
ErrorCode
.
SECOND_PRIMARY_KEY
);
throw
DbException
.
get
(
ErrorCode
.
SECOND_PRIMARY_KEY
);
}
indexType
=
IndexType
.
createPrimaryKey
(
persistent
,
hash
);
}
else
if
(
unique
)
{
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/command/ddl/CreateLinkedTable.java
浏览文件 @
62c5f801
...
...
@@ -6,12 +6,10 @@
*/
package
org
.
h2
.
command
.
ddl
;
import
java.sql.SQLException
;
import
org.h2.constant.ErrorCode
;
import
org.h2.engine.Database
;
import
org.h2.engine.Session
;
import
org.h2.message.
Message
;
import
org.h2.message.
DbException
;
import
org.h2.schema.Schema
;
import
org.h2.table.TableLink
;
...
...
@@ -63,7 +61,7 @@ public class CreateLinkedTable extends SchemaCommand {
this
.
ifNotExists
=
ifNotExists
;
}
public
int
update
()
throws
SQLException
{
public
int
update
()
{
session
.
commit
(
true
);
Database
db
=
session
.
getDatabase
();
session
.
getUser
().
checkAdmin
();
...
...
@@ -71,7 +69,7 @@ public class CreateLinkedTable extends SchemaCommand {
if
(
ifNotExists
)
{
return
0
;
}
throw
Message
.
getSQLException
(
ErrorCode
.
TABLE_OR_VIEW_ALREADY_EXISTS_1
,
throw
DbException
.
get
(
ErrorCode
.
TABLE_OR_VIEW_ALREADY_EXISTS_1
,
tableName
);
}
int
id
=
getObjectId
();
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/command/ddl/CreateRole.java
浏览文件 @
62c5f801
...
...
@@ -6,13 +6,11 @@
*/
package
org
.
h2
.
command
.
ddl
;
import
java.sql.SQLException
;
import
org.h2.constant.ErrorCode
;
import
org.h2.engine.Database
;
import
org.h2.engine.Role
;
import
org.h2.engine.Session
;
import
org.h2.message.
Message
;
import
org.h2.message.
DbException
;
/**
* This class represents the statement
...
...
@@ -35,18 +33,18 @@ public class CreateRole extends DefineCommand {
this
.
roleName
=
name
;
}
public
int
update
()
throws
SQLException
{
public
int
update
()
{
session
.
getUser
().
checkAdmin
();
session
.
commit
(
true
);
Database
db
=
session
.
getDatabase
();
if
(
db
.
findUser
(
roleName
)
!=
null
)
{
throw
Message
.
getSQLException
(
ErrorCode
.
USER_ALREADY_EXISTS_1
,
roleName
);
throw
DbException
.
get
(
ErrorCode
.
USER_ALREADY_EXISTS_1
,
roleName
);
}
if
(
db
.
findRole
(
roleName
)
!=
null
)
{
if
(
ifNotExists
)
{
return
0
;
}
throw
Message
.
getSQLException
(
ErrorCode
.
ROLE_ALREADY_EXISTS_1
,
roleName
);
throw
DbException
.
get
(
ErrorCode
.
ROLE_ALREADY_EXISTS_1
,
roleName
);
}
int
id
=
getObjectId
();
Role
role
=
new
Role
(
db
,
id
,
roleName
,
false
);
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/command/ddl/CreateSchema.java
浏览文件 @
62c5f801
...
...
@@ -6,13 +6,11 @@
*/
package
org
.
h2
.
command
.
ddl
;
import
java.sql.SQLException
;
import
org.h2.constant.ErrorCode
;
import
org.h2.engine.Database
;
import
org.h2.engine.Session
;
import
org.h2.engine.User
;
import
org.h2.message.
Message
;
import
org.h2.message.
DbException
;
import
org.h2.schema.Schema
;
/**
...
...
@@ -33,7 +31,7 @@ public class CreateSchema extends DefineCommand {
this
.
ifNotExists
=
ifNotExists
;
}
public
int
update
()
throws
SQLException
{
public
int
update
()
{
session
.
getUser
().
checkAdmin
();
session
.
commit
(
true
);
Database
db
=
session
.
getDatabase
();
...
...
@@ -43,7 +41,7 @@ public class CreateSchema extends DefineCommand {
if
(
ifNotExists
)
{
return
0
;
}
throw
Message
.
getSQLException
(
ErrorCode
.
SCHEMA_ALREADY_EXISTS_1
,
schemaName
);
throw
DbException
.
get
(
ErrorCode
.
SCHEMA_ALREADY_EXISTS_1
,
schemaName
);
}
int
id
=
getObjectId
();
Schema
schema
=
new
Schema
(
db
,
id
,
schemaName
,
user
,
false
);
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/command/ddl/CreateSequence.java
浏览文件 @
62c5f801
...
...
@@ -6,13 +6,11 @@
*/
package
org
.
h2
.
command
.
ddl
;
import
java.sql.SQLException
;
import
org.h2.constant.ErrorCode
;
import
org.h2.engine.Database
;
import
org.h2.engine.Session
;
import
org.h2.expression.Expression
;
import
org.h2.message.
Message
;
import
org.h2.message.
DbException
;
import
org.h2.schema.Schema
;
import
org.h2.schema.Sequence
;
...
...
@@ -41,14 +39,14 @@ public class CreateSequence extends SchemaCommand {
this
.
ifNotExists
=
ifNotExists
;
}
public
int
update
()
throws
SQLException
{
public
int
update
()
{
session
.
commit
(
true
);
Database
db
=
session
.
getDatabase
();
if
(
getSchema
().
findSequence
(
sequenceName
)
!=
null
)
{
if
(
ifNotExists
)
{
return
0
;
}
throw
Message
.
getSQLException
(
ErrorCode
.
SEQUENCE_ALREADY_EXISTS_1
,
sequenceName
);
throw
DbException
.
get
(
ErrorCode
.
SEQUENCE_ALREADY_EXISTS_1
,
sequenceName
);
}
int
id
=
getObjectId
();
Sequence
sequence
=
new
Sequence
(
getSchema
(),
id
,
sequenceName
,
belongsToTable
);
...
...
@@ -59,7 +57,7 @@ public class CreateSequence extends SchemaCommand {
return
0
;
}
private
long
getLong
(
Expression
expr
,
long
defaultValue
)
throws
SQLException
{
private
long
getLong
(
Expression
expr
,
long
defaultValue
)
{
if
(
expr
==
null
)
{
return
defaultValue
;
}
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/command/ddl/CreateTable.java
浏览文件 @
62c5f801
...
...
@@ -6,7 +6,6 @@
*/
package
org
.
h2
.
command
.
ddl
;
import
java.sql.SQLException
;
import
java.util.ArrayList
;
import
org.h2.command.Prepared
;
import
org.h2.command.dml.Insert
;
...
...
@@ -15,7 +14,7 @@ import org.h2.constant.ErrorCode;
import
org.h2.engine.Database
;
import
org.h2.engine.Session
;
import
org.h2.expression.Expression
;
import
org.h2.message.
Message
;
import
org.h2.message.
DbException
;
import
org.h2.schema.Schema
;
import
org.h2.schema.Sequence
;
import
org.h2.table.Column
;
...
...
@@ -74,7 +73,7 @@ public class CreateTable extends SchemaCommand {
*
* @param command the statement to add
*/
public
void
addConstraintCommand
(
Prepared
command
)
throws
SQLException
{
public
void
addConstraintCommand
(
Prepared
command
)
{
if
(
command
instanceof
CreateIndex
)
{
constraintCommands
.
add
(
command
);
}
else
{
...
...
@@ -95,7 +94,7 @@ public class CreateTable extends SchemaCommand {
this
.
ifNotExists
=
ifNotExists
;
}
public
int
update
()
throws
SQLException
{
public
int
update
()
{
session
.
commit
(
true
);
Database
db
=
session
.
getDatabase
();
if
(!
db
.
isPersistent
())
{
...
...
@@ -105,14 +104,14 @@ public class CreateTable extends SchemaCommand {
if
(
ifNotExists
)
{
return
0
;
}
throw
Message
.
getSQLException
(
ErrorCode
.
TABLE_OR_VIEW_ALREADY_EXISTS_1
,
data
.
tableName
);
throw
DbException
.
get
(
ErrorCode
.
TABLE_OR_VIEW_ALREADY_EXISTS_1
,
data
.
tableName
);
}
if
(
asQuery
!=
null
)
{
asQuery
.
prepare
();
if
(
data
.
columns
.
size
()
==
0
)
{
generateColumnsFromQuery
();
}
else
if
(
data
.
columns
.
size
()
!=
asQuery
.
getColumnCount
())
{
throw
Message
.
getSQLException
(
ErrorCode
.
COLUMN_COUNT_DOES_NOT_MATCH
);
throw
DbException
.
get
(
ErrorCode
.
COLUMN_COUNT_DOES_NOT_MATCH
);
}
}
if
(
pkColumns
!=
null
)
{
...
...
@@ -177,7 +176,7 @@ public class CreateTable extends SchemaCommand {
session
.
setUndoLogEnabled
(
old
);
}
}
}
catch
(
SQL
Exception
e
)
{
}
catch
(
Db
Exception
e
)
{
db
.
checkPowerOff
();
db
.
removeSchemaObject
(
session
,
table
);
throw
e
;
...
...
@@ -215,14 +214,14 @@ public class CreateTable extends SchemaCommand {
* @param columns the primary key columns
* @return true if the same primary key columns where already set
*/
private
boolean
setPrimaryKeyColumns
(
IndexColumn
[]
columns
)
throws
SQLException
{
private
boolean
setPrimaryKeyColumns
(
IndexColumn
[]
columns
)
{
if
(
pkColumns
!=
null
)
{
if
(
columns
.
length
!=
pkColumns
.
length
)
{
throw
Message
.
getSQLException
(
ErrorCode
.
SECOND_PRIMARY_KEY
);
throw
DbException
.
get
(
ErrorCode
.
SECOND_PRIMARY_KEY
);
}
for
(
int
i
=
0
;
i
<
columns
.
length
;
i
++)
{
if
(!
columns
[
i
].
columnName
.
equals
(
pkColumns
[
i
].
columnName
))
{
throw
Message
.
getSQLException
(
ErrorCode
.
SECOND_PRIMARY_KEY
);
throw
DbException
.
get
(
ErrorCode
.
SECOND_PRIMARY_KEY
);
}
}
return
true
;
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/command/ddl/CreateTrigger.java
浏览文件 @
62c5f801
...
...
@@ -6,12 +6,10 @@
*/
package
org
.
h2
.
command
.
ddl
;
import
java.sql.SQLException
;
import
org.h2.constant.ErrorCode
;
import
org.h2.engine.Database
;
import
org.h2.engine.Session
;
import
org.h2.message.
Message
;
import
org.h2.message.
DbException
;
import
org.h2.schema.Schema
;
import
org.h2.schema.TriggerObject
;
import
org.h2.table.Table
;
...
...
@@ -80,14 +78,14 @@ public class CreateTrigger extends SchemaCommand {
this
.
ifNotExists
=
ifNotExists
;
}
public
int
update
()
throws
SQLException
{
public
int
update
()
{
session
.
commit
(
true
);
Database
db
=
session
.
getDatabase
();
if
(
getSchema
().
findTrigger
(
triggerName
)
!=
null
)
{
if
(
ifNotExists
)
{
return
0
;
}
throw
Message
.
getSQLException
(
ErrorCode
.
TRIGGER_ALREADY_EXISTS_1
,
triggerName
);
throw
DbException
.
get
(
ErrorCode
.
TRIGGER_ALREADY_EXISTS_1
,
triggerName
);
}
int
id
=
getObjectId
();
Table
table
=
getSchema
().
getTableOrView
(
session
,
tableName
);
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/command/ddl/CreateUser.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/command/ddl/CreateUserDataType.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/command/ddl/CreateView.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/command/ddl/DropAggregate.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/command/ddl/DropConstant.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/command/ddl/DropDatabase.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/command/ddl/DropFunctionAlias.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/command/ddl/DropIndex.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/command/ddl/DropRole.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/command/ddl/DropSchema.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/command/ddl/DropSequence.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/command/ddl/DropTable.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/command/ddl/DropTrigger.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/command/ddl/DropUser.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/command/ddl/DropUserDataType.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/command/ddl/DropView.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/command/ddl/GrantRevoke.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/command/ddl/PrepareProcedure.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/command/ddl/SetComment.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/command/ddl/TruncateTable.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/command/dml/AlterSequence.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/command/dml/AlterTableSet.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/command/dml/BackupCommand.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/command/dml/Call.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/command/dml/Delete.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/command/dml/ExecuteProcedure.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/command/dml/ExplainPlan.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/command/dml/Insert.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/command/dml/Merge.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/command/dml/Optimizer.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/command/dml/Query.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/command/dml/RunScriptCommand.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/command/dml/ScriptBase.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/command/dml/ScriptCommand.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/command/dml/Select.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/command/dml/SelectUnion.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/command/dml/Set.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/command/dml/TransactionCommand.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/command/dml/Update.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/compress/CompressDeflate.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/compress/Compressor.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/constraint/Constraint.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/constraint/ConstraintCheck.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/constraint/ConstraintReferential.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/constraint/ConstraintUnique.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/engine/Comment.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/engine/ConnectionInfo.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/engine/Database.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/engine/DatabaseCloser.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/engine/DbObject.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/engine/DbObjectBase.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/engine/Engine.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/engine/FunctionAlias.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/engine/MetaRecord.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/engine/Right.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/engine/Role.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/engine/Session.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/engine/SessionInterface.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/engine/SessionRemote.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/engine/SessionWithState.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/engine/Setting.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/engine/UndoLog.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/engine/UndoLogRecord.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/engine/User.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/engine/UserAggregate.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/engine/UserDataType.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/expression/Aggregate.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/expression/AggregateData.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/expression/Alias.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/expression/CompareLike.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/expression/Comparison.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/expression/ConditionAndOr.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/expression/ConditionExists.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/expression/ConditionIn.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/expression/ConditionInSelect.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/expression/ConditionNot.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/expression/Expression.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/expression/ExpressionColumn.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/expression/ExpressionList.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/expression/Function.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/expression/FunctionCall.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/expression/JavaAggregate.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/expression/JavaFunction.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/expression/Operation.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/expression/Parameter.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/expression/ParameterInterface.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/expression/ParameterRemote.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/expression/Rownum.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/expression/SequenceValue.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/expression/Subquery.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/expression/TableFunction.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/expression/ValueExpression.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/expression/Variable.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/expression/Wildcard.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/fulltext/FullText.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/fulltext/FullTextLucene.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/index/BaseHashIndex.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/index/BaseIndex.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/index/Cursor.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/index/FunctionCursor.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/index/FunctionIndex.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/index/HashCursor.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/index/HashIndex.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/index/Index.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/index/IndexCondition.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/index/IndexCursor.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/index/LinkedCursor.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/index/LinkedIndex.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/index/MetaCursor.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/index/MetaIndex.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/index/MultiVersionCursor.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/index/MultiVersionIndex.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/index/NonUniqueHashCursor.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/index/NonUniqueHashIndex.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/index/PageBtree.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/index/PageBtreeCursor.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/index/PageBtreeIndex.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/index/PageBtreeLeaf.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/index/PageBtreeNode.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/index/PageData.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/index/PageDataCursor.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/index/PageDataIndex.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/index/PageDataLeaf.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/index/PageDataNode.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/index/PageDataOverflow.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/index/PageDelegateIndex.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/index/PageIndex.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/index/RangeCursor.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/index/RangeIndex.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/index/ScanCursor.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/index/ScanIndex.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/index/TreeCursor.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/index/TreeIndex.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/index/ViewCursor.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/index/ViewIndex.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/jdbc/JdbcArray.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/jdbc/JdbcBlob.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/jdbc/JdbcCallableStatement.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/jdbc/JdbcClob.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/jdbc/JdbcConnection.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/jdbc/JdbcDatabaseMetaData.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/jdbc/JdbcParameterMetaData.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/jdbc/JdbcPreparedStatement.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/jdbc/JdbcResultSet.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/jdbc/JdbcResultSetMetaData.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/jdbc/JdbcSQLException.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/jdbc/JdbcSavepoint.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/jdbc/JdbcStatement.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/jdbcx/JdbcConnectionPool.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/jdbcx/JdbcDataSource.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/jdbcx/JdbcXAConnection.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/jdbcx/JdbcXid.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/message/
Message
.java
→
h2/src/main/org/h2/message/
DbException
.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/message/InternalException.java
deleted
100644 → 0
浏览文件 @
43cc9eae
差异被折叠。
点击展开。
h2/src/main/org/h2/message/TraceObject.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/message/TraceSystem.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/result/LocalResult.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/result/ResultDiskBuffer.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/result/ResultExternal.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/result/ResultInterface.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/result/ResultRemote.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/result/ResultTempTable.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/result/Row.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/result/RowList.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/result/SortOrder.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/result/UpdatableRow.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/schema/Constant.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/schema/Schema.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/schema/Sequence.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/schema/TriggerObject.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/security/AES.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/security/CipherFactory.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/security/SecureFileStore.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/security/SecureSocketFactory.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/security/XTEA.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/server/TcpServer.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/server/TcpServerThread.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/server/pg/PgServer.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/server/pg/PgServerThread.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/server/web/DbContextRule.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/server/web/WebApp.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/server/web/WebServer.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/store/Data.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/store/DataHandler.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/store/DataReader.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/store/FileLister.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/store/FileLock.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/store/FileStore.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/store/FileStoreInputStream.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/store/FileStoreOutputStream.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/store/InDoubtTransaction.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/store/Page.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/store/PageFreeList.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/store/PageInputStream.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/store/PageLog.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/store/PageOutputStream.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/store/PageStore.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/store/PageStreamData.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/store/PageStreamTrunk.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/store/WriterThread.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/store/fs/FileObjectSplit.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/store/fs/FileSystem.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/store/fs/FileSystemDisk.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/store/fs/FileSystemDiskNio.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/store/fs/FileSystemMemory.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/store/fs/FileSystemSplit.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/store/fs/FileSystemZip.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/table/Column.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/table/ColumnResolver.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/table/FunctionTable.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/table/IndexColumn.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/table/LinkSchema.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/table/MetaTable.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/table/Plan.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/table/RangeTable.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/table/Table.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/table/TableData.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/table/TableFilter.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/table/TableLink.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/table/TableLinkConnection.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/table/TableView.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/tools/Backup.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/tools/ChangeFileEncryption.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/tools/CompressTool.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/tools/Console.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/tools/ConvertTraceFile.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/tools/Csv.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/tools/DeleteDbFiles.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/tools/Recover.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/tools/Restore.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/tools/RunScript.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/tools/Server.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/tools/SimpleResultSet.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/util/Cache.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/util/CacheLRU.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/util/CacheObject.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/util/CacheSecondLevel.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/util/CacheWriter.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/util/DateTimeUtils.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/util/HashBase.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/util/IOUtils.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/util/IntArray.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/util/IntIntHashMap.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/util/JdbcUtils.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/util/MathUtils.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/util/NetUtils.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/util/Permutations.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/util/ScriptReader.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/util/SmallMap.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/util/SortedProperties.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/util/SourceCompiler.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/util/StringUtils.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/util/TempFileDeleter.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/util/Utils.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/util/ValueHashMap.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/value/DataType.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/value/Transfer.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/value/Value.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/value/ValueArray.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/value/ValueByte.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/value/ValueBytes.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/value/ValueDate.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/value/ValueDecimal.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/value/ValueDouble.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/value/ValueFloat.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/value/ValueInt.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/value/ValueLob.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/value/ValueLong.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/value/ValueNull.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/value/ValueResultSet.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/value/ValueShort.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/value/ValueTime.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/main/org/h2/value/ValueTimestamp.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/test/org/h2/samples/Function.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/test/org/h2/samples/FunctionMultiReturn.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/test/org/h2/samples/ShowProgress.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/test/org/h2/test/TestAll.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/test/org/h2/test/TestBase.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/test/org/h2/test/db/TestFunctions.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/test/org/h2/test/db/TestLinkedTable.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/test/org/h2/test/db/TestListener.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/test/org/h2/test/db/TestMultiConn.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/test/org/h2/test/db/TestOpenClose.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/test/org/h2/test/db/TestOptimizations.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/test/org/h2/test/db/TestReadOnly.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/test/org/h2/test/jdbc/TestDatabaseEventListener.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/test/org/h2/test/server/TestAutoServer.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/test/org/h2/test/trace/Parser.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/test/org/h2/test/unit/FileSystemDatabase.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/test/org/h2/test/unit/TestAutoReconnect.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/test/org/h2/test/unit/TestCache.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/test/org/h2/test/unit/TestCompress.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/test/org/h2/test/unit/TestDataPage.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/test/org/h2/test/unit/TestDate.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/test/org/h2/test/unit/TestExit.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/test/org/h2/test/unit/TestFileLock.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/test/org/h2/test/unit/TestNetUtils.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/test/org/h2/test/unit/TestOverflow.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/test/org/h2/test/unit/TestPageStore.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/test/org/h2/test/unit/TestPattern.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/test/org/h2/test/unit/TestScriptReader.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/test/org/h2/test/unit/TestSecurity.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/test/org/h2/test/unit/TestStringUtils.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/test/org/h2/test/unit/TestValue.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/test/org/h2/test/unit/TestValueHashMap.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/test/org/h2/test/unit/TestValueMemory.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/test/org/h2/test/utils/FileSystemDebug.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/test/org/h2/test/utils/TestLob.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/tools/org/h2/dev/ftp/server/FtpControl.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/tools/org/h2/dev/ftp/server/FtpData.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/tools/org/h2/dev/ftp/server/FtpServer.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/tools/org/h2/dev/util/FileViewer.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
h2/src/tools/org/h2/dev/util/ReaderInputStream.java
浏览文件 @
62c5f801
差异被折叠。
点击展开。
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论