Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
为 GitLab 提交贡献
登录/注册
切换导航
H
h2database
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
Administrator
h2database
Commits
1d109ff1
提交
1d109ff1
authored
17 年前
作者:
Thomas Mueller
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
--no commit message
--no commit message
上级
46cdafb3
显示空白字符变更
内嵌
并排
正在显示
9 个修改的文件
包含
57 行增加
和
28 行删除
+57
-28
Command.java
h2/src/main/org/h2/command/Command.java
+7
-4
DropDatabase.java
h2/src/main/org/h2/command/ddl/DropDatabase.java
+10
-1
SelectUnion.java
h2/src/main/org/h2/command/dml/SelectUnion.java
+18
-8
JdbcPreparedStatement.java
h2/src/main/org/h2/jdbc/JdbcPreparedStatement.java
+2
-1
JdbcResultSet.java
h2/src/main/org/h2/jdbc/JdbcResultSet.java
+2
-1
JdbcResultSetMetaData.java
h2/src/main/org/h2/jdbc/JdbcResultSetMetaData.java
+4
-2
MetaTable.java
h2/src/main/org/h2/table/MetaTable.java
+8
-9
MathUtils.java
h2/src/main/org/h2/util/MathUtils.java
+1
-1
TestAll.java
h2/src/test/org/h2/test/TestAll.java
+5
-1
没有找到文件。
h2/src/main/org/h2/command/Command.java
浏览文件 @
1d109ff1
...
...
@@ -46,11 +46,11 @@ public abstract class Command implements CommandInterface {
public
abstract
LocalResult
queryMeta
()
throws
SQLException
;
final
public
LocalResult
getMetaDataLocal
()
throws
SQLException
{
public
final
LocalResult
getMetaDataLocal
()
throws
SQLException
{
return
queryMeta
();
}
final
public
ResultInterface
getMetaData
()
throws
SQLException
{
public
final
ResultInterface
getMetaData
()
throws
SQLException
{
return
queryMeta
();
}
...
...
@@ -95,9 +95,12 @@ public abstract class Command implements CommandInterface {
session
.
commit
(
true
);
}
else
if
(
session
.
getAutoCommit
())
{
session
.
commit
(
false
);
}
else
if
(
Constants
.
MULTI_THREADED_KERNEL
&&
session
.
getDatabase
().
getLockMode
()
==
Constants
.
LOCK_MODE_READ_COMMITTED
)
{
}
else
if
(
Constants
.
MULTI_THREADED_KERNEL
)
{
Database
db
=
session
.
getDatabase
();
if
(
db
!=
null
&&
db
.
getLockMode
()
==
Constants
.
LOCK_MODE_READ_COMMITTED
)
{
session
.
unlockReadLocks
();
}
}
if
(
trace
.
info
())
{
long
time
=
System
.
currentTimeMillis
()
-
startTime
;
if
(
time
>
Constants
.
LONG_QUERY_LIMIT_MS
)
{
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/command/ddl/DropDatabase.java
浏览文件 @
1d109ff1
...
...
@@ -8,6 +8,7 @@ import java.sql.SQLException;
import
org.h2.engine.Database
;
import
org.h2.engine.DbObject
;
import
org.h2.engine.Role
;
import
org.h2.engine.Session
;
import
org.h2.engine.User
;
import
org.h2.schema.Schema
;
...
...
@@ -84,7 +85,15 @@ public class DropDatabase extends DefineCommand {
}
}
list
=
db
.
getAllRoles
();
list
.
addAll
(
db
.
getAllRights
());
for
(
int
i
=
0
;
i
<
list
.
size
();
i
++)
{
Role
role
=
(
Role
)
list
.
get
(
i
);
String
sql
=
role
.
getCreateSQL
();
// the role PUBLIC must not be dropped
if
(
sql
!=
null
)
{
db
.
removeDatabaseObject
(
session
,
role
);
}
}
list
=
db
.
getAllRights
();
list
.
addAll
(
db
.
getAllFunctionAliases
());
for
(
int
i
=
0
;
i
<
list
.
size
();
i
++)
{
DbObject
obj
=
(
DbObject
)
list
.
get
(
i
);
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/command/dml/SelectUnion.java
浏览文件 @
1d109ff1
...
...
@@ -171,17 +171,12 @@ public class SelectUnion extends Query {
throw
Message
.
getSQLException
(
Message
.
COLUMN_COUNT_DOES_NOT_MATCH
);
}
ObjectArray
le
=
left
.
getExpressions
();
ObjectArray
re
=
right
.
getExpressions
();
// set the expressions to get the right column count and names,
// but can't validate at this time
expressions
=
new
ObjectArray
();
for
(
int
i
=
0
;
i
<
len
;
i
++)
{
Expression
l
=
(
Expression
)
le
.
get
(
i
);
Expression
r
=
(
Expression
)
re
.
get
(
i
);
int
type
=
Value
.
getHigherOrder
(
l
.
getType
(),
r
.
getType
());
long
prec
=
Math
.
max
(
l
.
getPrecision
(),
r
.
getPrecision
());
int
scale
=
Math
.
max
(
l
.
getScale
(),
r
.
getScale
());
Column
col
=
new
Column
(
l
.
getAlias
(),
type
,
prec
,
scale
);
Expression
e
=
new
ExpressionColumn
(
session
.
getDatabase
(),
null
,
col
);
expressions
.
add
(
e
);
expressions
.
add
(
l
);
}
}
...
...
@@ -192,6 +187,21 @@ public class SelectUnion extends Query {
checkPrepared
=
true
;
left
.
prepare
();
right
.
prepare
();
int
len
=
left
.
getColumnCount
();
// set the correct expressions now
expressions
=
new
ObjectArray
();
ObjectArray
le
=
left
.
getExpressions
();
ObjectArray
re
=
right
.
getExpressions
();
for
(
int
i
=
0
;
i
<
len
;
i
++)
{
Expression
l
=
(
Expression
)
le
.
get
(
i
);
Expression
r
=
(
Expression
)
re
.
get
(
i
);
int
type
=
Value
.
getHigherOrder
(
l
.
getType
(),
r
.
getType
());
long
prec
=
Math
.
max
(
l
.
getPrecision
(),
r
.
getPrecision
());
int
scale
=
Math
.
max
(
l
.
getScale
(),
r
.
getScale
());
Column
col
=
new
Column
(
l
.
getAlias
(),
type
,
prec
,
scale
);
Expression
e
=
new
ExpressionColumn
(
session
.
getDatabase
(),
null
,
col
);
expressions
.
add
(
e
);
}
if
(
orderList
!=
null
)
{
initOrder
(
expressions
,
null
,
orderList
,
getColumnCount
(),
true
);
sort
=
prepareOrder
(
expressions
,
orderList
);
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/jdbc/JdbcPreparedStatement.java
浏览文件 @
1d109ff1
...
...
@@ -969,7 +969,8 @@ public class JdbcPreparedStatement extends JdbcStatement implements PreparedStat
debugCodeAssign
(
"ResultSetMetaData"
,
TraceObject
.
RESULT_SET_META_DATA
,
id
);
debugCodeCall
(
"getMetaData"
);
}
JdbcResultSetMetaData
meta
=
new
JdbcResultSetMetaData
(
null
,
this
,
result
,
session
.
getTrace
(),
id
);
String
catalog
=
conn
.
getCatalog
();
JdbcResultSetMetaData
meta
=
new
JdbcResultSetMetaData
(
null
,
this
,
result
,
catalog
,
session
.
getTrace
(),
id
);
return
meta
;
}
catch
(
Throwable
e
)
{
throw
logAndConvert
(
e
);
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/jdbc/JdbcResultSet.java
浏览文件 @
1d109ff1
...
...
@@ -96,7 +96,8 @@ public class JdbcResultSet extends TraceObject implements ResultSet {
debugCodeCall
(
"getMetaData"
);
}
checkClosed
();
JdbcResultSetMetaData
meta
=
new
JdbcResultSetMetaData
(
this
,
null
,
result
,
session
.
getTrace
(),
id
);
String
catalog
=
conn
.
getCatalog
();
JdbcResultSetMetaData
meta
=
new
JdbcResultSetMetaData
(
this
,
null
,
result
,
catalog
,
session
.
getTrace
(),
id
);
return
meta
;
}
catch
(
Throwable
e
)
{
throw
logAndConvert
(
e
);
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/jdbc/JdbcResultSetMetaData.java
浏览文件 @
1d109ff1
...
...
@@ -17,13 +17,15 @@ import org.h2.value.DataType;
*/
public
class
JdbcResultSetMetaData
extends
TraceObject
implements
ResultSetMetaData
{
private
final
String
catalog
;
private
final
JdbcResultSet
rs
;
private
final
JdbcPreparedStatement
prep
;
private
final
ResultInterface
result
;
private
final
int
columnCount
;
JdbcResultSetMetaData
(
JdbcResultSet
rs
,
JdbcPreparedStatement
prep
,
ResultInterface
result
,
Trace
trace
,
int
id
)
{
JdbcResultSetMetaData
(
JdbcResultSet
rs
,
JdbcPreparedStatement
prep
,
ResultInterface
result
,
String
catalog
,
Trace
trace
,
int
id
)
{
setTrace
(
trace
,
TraceObject
.
RESULT_SET_META_DATA
,
id
);
this
.
catalog
=
catalog
;
this
.
rs
=
rs
;
this
.
prep
=
prep
;
this
.
result
=
result
;
...
...
@@ -161,7 +163,7 @@ public class JdbcResultSetMetaData extends TraceObject implements ResultSetMetaD
try
{
debugCodeCall
(
"getCatalogName"
,
column
);
checkColumnIndex
(
column
);
return
rs
.
getConnection
().
getCatalog
()
;
return
catalog
;
}
catch
(
Throwable
e
)
{
throw
logAndConvert
(
e
);
}
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/table/MetaTable.java
浏览文件 @
1d109ff1
...
...
@@ -514,15 +514,14 @@ public class MetaTable extends Table {
public
ObjectArray
generateRows
(
Session
session
,
SearchRow
first
,
SearchRow
last
)
throws
SQLException
{
Value
indexFrom
=
null
,
indexTo
=
null
;
int
testing
;
// if(indexColumn >= 0) {
// if(first != null) {
// indexFrom = first.getValue(indexColumn);
// }
// if(last != null) {
// indexTo = last.getValue(indexColumn);
// }
// }
if
(
indexColumn
>=
0
)
{
if
(
first
!=
null
)
{
indexFrom
=
first
.
getValue
(
indexColumn
);
}
if
(
last
!=
null
)
{
indexTo
=
last
.
getValue
(
indexColumn
);
}
}
ObjectArray
rows
=
new
ObjectArray
();
String
catalog
=
identifier
(
database
.
getShortName
());
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/util/MathUtils.java
浏览文件 @
1d109ff1
...
...
@@ -27,7 +27,7 @@ public class MathUtils {
}
public
static
int
nextPowerOf2
(
int
x
)
{
int
i
=
1
;
long
i
=
1
;
while
(
i
<
x
&&
i
<
(
Integer
.
MAX_VALUE
/
2
))
{
i
+=
i
;
}
...
...
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/TestAll.java
浏览文件 @
1d109ff1
...
...
@@ -94,6 +94,10 @@ java -Xmx512m -Xrunhprof:cpu=samples,depth=8 org.h2.tools.RunScript -url jdbc:h2
/*
SELECT * FROM DUAL WHERE 'a_z' LIKE '%=_%' ESCAPE '=';
SELECT * FROM DUAL WHERE 'a_z' LIKE '%\_%';
-- SET client_encoding = 'UTF8';
-- SET check_function_bodies = false;
-- SET client_min_messages = warning;
...
...
This diff is collapsed.
Click to expand it.
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论