Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
为 GitLab 提交贡献
登录/注册
切换导航
H
h2database
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
Administrator
h2database
Commits
43c5aee7
Unverified
提交
43c5aee7
authored
7 年前
作者:
Evgenij Ryazanov
提交者:
GitHub
7 年前
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #1202 from katzyn/compatibility
Use MySQL-compatible conversion between CHAR and BINARY in MySQL mode (part 2)
上级
f040590a
833427f0
无相关合并请求
显示空白字符变更
内嵌
并排
正在显示
15 个修改的文件
包含
46 行增加
和
25 行删除
+46
-25
SelectUnion.java
h2/src/main/org/h2/command/dml/SelectUnion.java
+3
-1
FunctionAlias.java
h2/src/main/org/h2/engine/FunctionAlias.java
+2
-1
Comparison.java
h2/src/main/org/h2/expression/Comparison.java
+4
-2
ConditionIn.java
h2/src/main/org/h2/expression/ConditionIn.java
+1
-1
ConditionInConstantSet.java
h2/src/main/org/h2/expression/ConditionInConstantSet.java
+8
-3
ConditionInParameter.java
h2/src/main/org/h2/expression/ConditionInParameter.java
+2
-2
ConditionInSelect.java
h2/src/main/org/h2/expression/ConditionInSelect.java
+2
-2
Function.java
h2/src/main/org/h2/expression/Function.java
+2
-2
Operation.java
h2/src/main/org/h2/expression/Operation.java
+3
-3
HashIndex.java
h2/src/main/org/h2/index/HashIndex.java
+1
-1
NonUniqueHashIndex.java
h2/src/main/org/h2/index/NonUniqueHashIndex.java
+1
-1
JdbcPreparedStatement.java
h2/src/main/org/h2/jdbc/JdbcPreparedStatement.java
+1
-1
MVSecondaryIndex.java
h2/src/main/org/h2/mvstore/db/MVSecondaryIndex.java
+1
-1
Table.java
h2/src/main/org/h2/table/Table.java
+4
-2
TestCompatibility.java
h2/src/test/org/h2/test/db/TestCompatibility.java
+11
-2
没有找到文件。
h2/src/main/org/h2/command/dml/SelectUnion.java
浏览文件 @
43c5aee7
...
@@ -10,6 +10,7 @@ import java.util.HashSet;
...
@@ -10,6 +10,7 @@ import java.util.HashSet;
import
org.h2.api.ErrorCode
;
import
org.h2.api.ErrorCode
;
import
org.h2.command.CommandInterface
;
import
org.h2.command.CommandInterface
;
import
org.h2.engine.Mode
;
import
org.h2.engine.Session
;
import
org.h2.engine.Session
;
import
org.h2.engine.SysProperties
;
import
org.h2.engine.SysProperties
;
import
org.h2.expression.Expression
;
import
org.h2.expression.Expression
;
...
@@ -140,9 +141,10 @@ public class SelectUnion extends Query {
...
@@ -140,9 +141,10 @@ public class SelectUnion extends Query {
// for the value hash set
// for the value hash set
newValues
=
new
Value
[
columnCount
];
newValues
=
new
Value
[
columnCount
];
}
}
Mode
mode
=
session
.
getDatabase
().
getMode
();
for
(
int
i
=
0
;
i
<
columnCount
;
i
++)
{
for
(
int
i
=
0
;
i
<
columnCount
;
i
++)
{
Expression
e
=
expressions
.
get
(
i
);
Expression
e
=
expressions
.
get
(
i
);
newValues
[
i
]
=
values
[
i
].
convertTo
(
e
.
getType
());
newValues
[
i
]
=
values
[
i
].
convertTo
(
e
.
getType
()
,
-
1
,
mode
);
}
}
return
newValues
;
return
newValues
;
}
}
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/engine/FunctionAlias.java
浏览文件 @
43c5aee7
...
@@ -410,8 +410,9 @@ public class FunctionAlias extends SchemaObjectBase {
...
@@ -410,8 +410,9 @@ public class FunctionAlias extends SchemaObjectBase {
paramClass
.
getComponentType
(),
array
.
length
);
paramClass
.
getComponentType
(),
array
.
length
);
int
componentType
=
DataType
.
getTypeFromClass
(
int
componentType
=
DataType
.
getTypeFromClass
(
paramClass
.
getComponentType
());
paramClass
.
getComponentType
());
Mode
mode
=
session
.
getDatabase
().
getMode
();
for
(
int
i
=
0
;
i
<
objArray
.
length
;
i
++)
{
for
(
int
i
=
0
;
i
<
objArray
.
length
;
i
++)
{
objArray
[
i
]
=
array
[
i
].
convertTo
(
componentType
).
getObject
();
objArray
[
i
]
=
array
[
i
].
convertTo
(
componentType
,
-
1
,
mode
).
getObject
();
}
}
o
=
objArray
;
o
=
objArray
;
}
else
{
}
else
{
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/expression/Comparison.java
浏览文件 @
43c5aee7
...
@@ -9,6 +9,7 @@ import java.util.ArrayList;
...
@@ -9,6 +9,7 @@ import java.util.ArrayList;
import
java.util.Arrays
;
import
java.util.Arrays
;
import
org.h2.api.ErrorCode
;
import
org.h2.api.ErrorCode
;
import
org.h2.engine.Database
;
import
org.h2.engine.Database
;
import
org.h2.engine.Mode
;
import
org.h2.engine.Session
;
import
org.h2.engine.Session
;
import
org.h2.engine.SysProperties
;
import
org.h2.engine.SysProperties
;
import
org.h2.index.IndexCondition
;
import
org.h2.index.IndexCondition
;
...
@@ -276,8 +277,9 @@ public class Comparison extends Condition {
...
@@ -276,8 +277,9 @@ public class Comparison extends Condition {
l
=
l
.
convertToEnum
(
enumerators
);
l
=
l
.
convertToEnum
(
enumerators
);
r
=
r
.
convertToEnum
(
enumerators
);
r
=
r
.
convertToEnum
(
enumerators
);
}
else
{
}
else
{
l
=
l
.
convertTo
(
dataType
);
Mode
mode
=
database
.
getMode
();
r
=
r
.
convertTo
(
dataType
);
l
=
l
.
convertTo
(
dataType
,
-
1
,
mode
);
r
=
r
.
convertTo
(
dataType
,
-
1
,
mode
);
}
}
boolean
result
=
compareNotNull
(
database
,
l
,
r
,
compareType
);
boolean
result
=
compareNotNull
(
database
,
l
,
r
,
compareType
);
return
ValueBoolean
.
get
(
result
);
return
ValueBoolean
.
get
(
result
);
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/expression/ConditionIn.java
浏览文件 @
43c5aee7
...
@@ -53,7 +53,7 @@ public class ConditionIn extends Condition {
...
@@ -53,7 +53,7 @@ public class ConditionIn extends Condition {
if
(
r
==
ValueNull
.
INSTANCE
)
{
if
(
r
==
ValueNull
.
INSTANCE
)
{
hasNull
=
true
;
hasNull
=
true
;
}
else
{
}
else
{
r
=
r
.
convertTo
(
l
.
getType
());
r
=
r
.
convertTo
(
l
.
getType
()
,
-
1
,
database
.
getMode
()
);
result
=
Comparison
.
compareNotNull
(
database
,
l
,
r
,
Comparison
.
EQUAL
);
result
=
Comparison
.
compareNotNull
(
database
,
l
,
r
,
Comparison
.
EQUAL
);
if
(
result
)
{
if
(
result
)
{
break
;
break
;
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/expression/ConditionInConstantSet.java
浏览文件 @
43c5aee7
...
@@ -7,6 +7,9 @@ package org.h2.expression;
...
@@ -7,6 +7,9 @@ package org.h2.expression;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.TreeSet
;
import
java.util.TreeSet
;
import
org.h2.engine.Database
;
import
org.h2.engine.Mode
;
import
org.h2.engine.Session
;
import
org.h2.engine.Session
;
import
org.h2.index.IndexCondition
;
import
org.h2.index.IndexCondition
;
import
org.h2.message.DbException
;
import
org.h2.message.DbException
;
...
@@ -42,10 +45,12 @@ public class ConditionInConstantSet extends Condition {
...
@@ -42,10 +45,12 @@ public class ConditionInConstantSet extends Condition {
ArrayList
<
Expression
>
valueList
)
{
ArrayList
<
Expression
>
valueList
)
{
this
.
left
=
left
;
this
.
left
=
left
;
this
.
valueList
=
valueList
;
this
.
valueList
=
valueList
;
this
.
valueSet
=
new
TreeSet
<>(
session
.
getDatabase
().
getCompareMode
());
Database
database
=
session
.
getDatabase
();
this
.
valueSet
=
new
TreeSet
<>(
database
.
getCompareMode
());
int
type
=
left
.
getType
();
int
type
=
left
.
getType
();
Mode
mode
=
database
.
getMode
();
for
(
Expression
expression
:
valueList
)
{
for
(
Expression
expression
:
valueList
)
{
valueSet
.
add
(
expression
.
getValue
(
session
).
convertTo
(
type
));
valueSet
.
add
(
expression
.
getValue
(
session
).
convertTo
(
type
,
-
1
,
mode
));
}
}
}
}
...
@@ -153,7 +158,7 @@ public class ConditionInConstantSet extends Condition {
...
@@ -153,7 +158,7 @@ public class ConditionInConstantSet extends Condition {
if
(
add
!=
null
)
{
if
(
add
!=
null
)
{
if
(
add
.
isConstant
())
{
if
(
add
.
isConstant
())
{
valueList
.
add
(
add
);
valueList
.
add
(
add
);
valueSet
.
add
(
add
.
getValue
(
session
).
convertTo
(
left
.
getType
()));
valueSet
.
add
(
add
.
getValue
(
session
).
convertTo
(
left
.
getType
()
,
-
1
,
session
.
getDatabase
().
getMode
()
));
return
this
;
return
this
;
}
}
}
}
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/expression/ConditionInParameter.java
浏览文件 @
43c5aee7
...
@@ -89,7 +89,7 @@ public class ConditionInParameter extends Condition {
...
@@ -89,7 +89,7 @@ public class ConditionInParameter extends Condition {
if
(
r
==
ValueNull
.
INSTANCE
)
{
if
(
r
==
ValueNull
.
INSTANCE
)
{
hasNull
=
true
;
hasNull
=
true
;
}
else
{
}
else
{
r
=
r
.
convertTo
(
l
.
getType
());
r
=
r
.
convertTo
(
l
.
getType
()
,
-
1
,
database
.
getMode
()
);
result
=
Comparison
.
compareNotNull
(
database
,
l
,
r
,
Comparison
.
EQUAL
);
result
=
Comparison
.
compareNotNull
(
database
,
l
,
r
,
Comparison
.
EQUAL
);
if
(
result
)
{
if
(
result
)
{
break
;
break
;
...
@@ -100,7 +100,7 @@ public class ConditionInParameter extends Condition {
...
@@ -100,7 +100,7 @@ public class ConditionInParameter extends Condition {
if
(
value
==
ValueNull
.
INSTANCE
)
{
if
(
value
==
ValueNull
.
INSTANCE
)
{
hasNull
=
true
;
hasNull
=
true
;
}
else
{
}
else
{
value
=
value
.
convertTo
(
l
.
getType
());
value
=
value
.
convertTo
(
l
.
getType
()
,
-
1
,
database
.
getMode
()
);
result
=
Comparison
.
compareNotNull
(
database
,
l
,
value
,
Comparison
.
EQUAL
);
result
=
Comparison
.
compareNotNull
(
database
,
l
,
value
,
Comparison
.
EQUAL
);
}
}
}
}
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/expression/ConditionInSelect.java
浏览文件 @
43c5aee7
...
@@ -53,7 +53,7 @@ public class ConditionInSelect extends Condition {
...
@@ -53,7 +53,7 @@ public class ConditionInSelect extends Condition {
}
else
if
(
l
==
ValueNull
.
INSTANCE
)
{
}
else
if
(
l
==
ValueNull
.
INSTANCE
)
{
return
l
;
return
l
;
}
}
if
(!
session
.
getDatabase
()
.
getSettings
().
optimizeInSelect
)
{
if
(!
database
.
getSettings
().
optimizeInSelect
)
{
return
getValueSlow
(
rows
,
l
);
return
getValueSlow
(
rows
,
l
);
}
}
if
(
all
||
(
compareType
!=
Comparison
.
EQUAL
&&
if
(
all
||
(
compareType
!=
Comparison
.
EQUAL
&&
...
@@ -64,7 +64,7 @@ public class ConditionInSelect extends Condition {
...
@@ -64,7 +64,7 @@ public class ConditionInSelect extends Condition {
if
(
dataType
==
Value
.
NULL
)
{
if
(
dataType
==
Value
.
NULL
)
{
return
ValueBoolean
.
FALSE
;
return
ValueBoolean
.
FALSE
;
}
}
l
=
l
.
convertTo
(
dataType
);
l
=
l
.
convertTo
(
dataType
,
-
1
,
database
.
getMode
()
);
if
(
rows
.
containsDistinct
(
new
Value
[]
{
l
}))
{
if
(
rows
.
containsDistinct
(
new
Value
[]
{
l
}))
{
return
ValueBoolean
.
TRUE
;
return
ValueBoolean
.
TRUE
;
}
}
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/expression/Function.java
浏览文件 @
43c5aee7
...
@@ -882,8 +882,8 @@ public class Function extends Expression implements FunctionCall {
...
@@ -882,8 +882,8 @@ public class Function extends Expression implements FunctionCall {
break
;
break
;
case
CAST:
case
CAST:
case
CONVERT:
{
case
CONVERT:
{
v0
=
v0
.
convertTo
(
dataType
);
Mode
mode
=
database
.
getMode
();
Mode
mode
=
database
.
getMode
();
v0
=
v0
.
convertTo
(
dataType
,
-
1
,
mode
);
v0
=
v0
.
convertScale
(
mode
.
convertOnlyToSmallerScale
,
scale
);
v0
=
v0
.
convertScale
(
mode
.
convertOnlyToSmallerScale
,
scale
);
v0
=
v0
.
convertPrecision
(
getPrecision
(),
false
);
v0
=
v0
.
convertPrecision
(
getPrecision
(),
false
);
result
=
v0
;
result
=
v0
;
...
@@ -1078,7 +1078,7 @@ public class Function extends Expression implements FunctionCall {
...
@@ -1078,7 +1078,7 @@ public class Function extends Expression implements FunctionCall {
}
}
private
Value
convertResult
(
Value
v
)
{
private
Value
convertResult
(
Value
v
)
{
return
v
.
convertTo
(
dataType
);
return
v
.
convertTo
(
dataType
,
-
1
,
database
.
getMode
()
);
}
}
private
static
boolean
cancelStatement
(
Session
session
,
int
targetSessionId
)
{
private
static
boolean
cancelStatement
(
Session
session
,
int
targetSessionId
)
{
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/expression/Operation.java
浏览文件 @
43c5aee7
...
@@ -109,21 +109,21 @@ public class Operation extends Expression {
...
@@ -109,21 +109,21 @@ public class Operation extends Expression {
@Override
@Override
public
Value
getValue
(
Session
session
)
{
public
Value
getValue
(
Session
session
)
{
Value
l
=
left
.
getValue
(
session
).
convertTo
(
dataType
);
Mode
mode
=
session
.
getDatabase
().
getMode
();
Value
l
=
left
.
getValue
(
session
).
convertTo
(
dataType
,
-
1
,
mode
);
Value
r
;
Value
r
;
if
(
right
==
null
)
{
if
(
right
==
null
)
{
r
=
null
;
r
=
null
;
}
else
{
}
else
{
r
=
right
.
getValue
(
session
);
r
=
right
.
getValue
(
session
);
if
(
convertRight
)
{
if
(
convertRight
)
{
r
=
r
.
convertTo
(
dataType
);
r
=
r
.
convertTo
(
dataType
,
-
1
,
mode
);
}
}
}
}
switch
(
opType
)
{
switch
(
opType
)
{
case
NEGATE:
case
NEGATE:
return
l
==
ValueNull
.
INSTANCE
?
l
:
l
.
negate
();
return
l
==
ValueNull
.
INSTANCE
?
l
:
l
.
negate
();
case
CONCAT:
{
case
CONCAT:
{
Mode
mode
=
session
.
getDatabase
().
getMode
();
if
(
l
==
ValueNull
.
INSTANCE
)
{
if
(
l
==
ValueNull
.
INSTANCE
)
{
if
(
mode
.
nullConcatIsNull
)
{
if
(
mode
.
nullConcatIsNull
)
{
return
ValueNull
.
INSTANCE
;
return
ValueNull
.
INSTANCE
;
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/index/HashIndex.java
浏览文件 @
43c5aee7
...
@@ -77,7 +77,7 @@ public class HashIndex extends BaseIndex {
...
@@ -77,7 +77,7 @@ public class HashIndex extends BaseIndex {
* case we need to convert, otherwise the ValueHashMap will not find the
* case we need to convert, otherwise the ValueHashMap will not find the
* result.
* result.
*/
*/
v
=
v
.
convertTo
(
tableData
.
getColumn
(
indexColumn
).
getType
());
v
=
v
.
convertTo
(
tableData
.
getColumn
(
indexColumn
).
getType
()
,
-
1
,
database
.
getMode
()
);
Row
result
;
Row
result
;
Long
pos
=
rows
.
get
(
v
);
Long
pos
=
rows
.
get
(
v
);
if
(
pos
==
null
)
{
if
(
pos
==
null
)
{
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/index/NonUniqueHashIndex.java
浏览文件 @
43c5aee7
...
@@ -101,7 +101,7 @@ public class NonUniqueHashIndex extends BaseIndex {
...
@@ -101,7 +101,7 @@ public class NonUniqueHashIndex extends BaseIndex {
* case we need to convert, otherwise the ValueHashMap will not find the
* case we need to convert, otherwise the ValueHashMap will not find the
* result.
* result.
*/
*/
v
=
v
.
convertTo
(
tableData
.
getColumn
(
indexColumn
).
getType
());
v
=
v
.
convertTo
(
tableData
.
getColumn
(
indexColumn
).
getType
()
,
-
1
,
database
.
getMode
()
);
ArrayList
<
Long
>
positions
=
rows
.
get
(
v
);
ArrayList
<
Long
>
positions
=
rows
.
get
(
v
);
return
new
NonUniqueHashCursor
(
session
,
tableData
,
positions
);
return
new
NonUniqueHashCursor
(
session
,
tableData
,
positions
);
}
}
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/jdbc/JdbcPreparedStatement.java
浏览文件 @
43c5aee7
...
@@ -562,7 +562,7 @@ public class JdbcPreparedStatement extends JdbcStatement implements
...
@@ -562,7 +562,7 @@ public class JdbcPreparedStatement extends JdbcStatement implements
setParameter
(
parameterIndex
,
ValueNull
.
INSTANCE
);
setParameter
(
parameterIndex
,
ValueNull
.
INSTANCE
);
}
else
{
}
else
{
Value
v
=
DataType
.
convertToValue
(
conn
.
getSession
(),
x
,
type
);
Value
v
=
DataType
.
convertToValue
(
conn
.
getSession
(),
x
,
type
);
setParameter
(
parameterIndex
,
v
.
convertTo
(
type
));
setParameter
(
parameterIndex
,
v
.
convertTo
(
type
,
-
1
,
conn
.
getMode
()
));
}
}
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
throw
logAndConvert
(
e
);
throw
logAndConvert
(
e
);
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/mvstore/db/MVSecondaryIndex.java
浏览文件 @
43c5aee7
...
@@ -322,7 +322,7 @@ public final class MVSecondaryIndex extends BaseIndex implements MVIndex {
...
@@ -322,7 +322,7 @@ public final class MVSecondaryIndex extends BaseIndex implements MVIndex {
int
idx
=
c
.
getColumnId
();
int
idx
=
c
.
getColumnId
();
Value
v
=
r
.
getValue
(
idx
);
Value
v
=
r
.
getValue
(
idx
);
if
(
v
!=
null
)
{
if
(
v
!=
null
)
{
array
[
i
]
=
v
.
convertTo
(
c
.
getType
(),
-
1
,
null
,
null
,
c
.
getEnumerators
());
array
[
i
]
=
v
.
convertTo
(
c
.
getType
(),
-
1
,
null
,
database
.
getMode
()
,
c
.
getEnumerators
());
}
}
}
}
array
[
keyColumns
-
1
]
=
ValueLong
.
get
(
r
.
getKey
());
array
[
keyColumns
-
1
]
=
ValueLong
.
get
(
r
.
getKey
());
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/table/Table.java
浏览文件 @
43c5aee7
...
@@ -18,6 +18,7 @@ import org.h2.command.dml.AllColumnsForPlan;
...
@@ -18,6 +18,7 @@ import org.h2.command.dml.AllColumnsForPlan;
import
org.h2.constraint.Constraint
;
import
org.h2.constraint.Constraint
;
import
org.h2.engine.Constants
;
import
org.h2.engine.Constants
;
import
org.h2.engine.DbObject
;
import
org.h2.engine.DbObject
;
import
org.h2.engine.Mode
;
import
org.h2.engine.Right
;
import
org.h2.engine.Right
;
import
org.h2.engine.Session
;
import
org.h2.engine.Session
;
import
org.h2.engine.UndoLogRecord
;
import
org.h2.engine.UndoLogRecord
;
...
@@ -1214,8 +1215,9 @@ public abstract class Table extends SchemaObjectBase {
...
@@ -1214,8 +1215,9 @@ public abstract class Table extends SchemaObjectBase {
a
=
a
.
convertToEnum
(
enumerators
);
a
=
a
.
convertToEnum
(
enumerators
);
b
=
b
.
convertToEnum
(
enumerators
);
b
=
b
.
convertToEnum
(
enumerators
);
}
else
{
}
else
{
a
=
a
.
convertTo
(
dataType
);
Mode
mode
=
database
.
getMode
();
b
=
b
.
convertTo
(
dataType
);
a
=
a
.
convertTo
(
dataType
,
-
1
,
mode
);
b
=
b
.
convertTo
(
dataType
,
-
1
,
mode
);
}
}
return
a
.
compareTypeSafe
(
b
,
compareMode
);
return
a
.
compareTypeSafe
(
b
,
compareMode
);
}
}
...
...
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/db/TestCompatibility.java
浏览文件 @
43c5aee7
...
@@ -325,6 +325,13 @@ public class TestCompatibility extends TestBase {
...
@@ -325,6 +325,13 @@ public class TestCompatibility extends TestBase {
prep
.
setBytes
(
1
,
bytes
);
prep
.
setBytes
(
1
,
bytes
);
assertEquals
(
1
,
prep
.
executeUpdate
());
assertEquals
(
1
,
prep
.
executeUpdate
());
testMySQLBytesCheck
(
stat
,
string
,
bytes
);
testMySQLBytesCheck
(
stat
,
string
,
bytes
);
prep
=
conn
.
prepareStatement
(
"SELECT C FROM TEST2 WHERE C = ?"
);
prep
.
setBytes
(
1
,
bytes
);
testMySQLBytesCheck
(
prep
.
executeQuery
(),
string
,
bytes
);
stat
.
execute
(
"CREATE INDEX TEST2_C ON TEST2(C)"
);
prep
=
conn
.
prepareStatement
(
"SELECT C FROM TEST2 WHERE C = ?"
);
prep
.
setBytes
(
1
,
bytes
);
testMySQLBytesCheck
(
prep
.
executeQuery
(),
string
,
bytes
);
stat
.
execute
(
"DROP TABLE TEST2"
);
stat
.
execute
(
"DROP TABLE TEST2"
);
if
(
config
.
memory
)
{
if
(
config
.
memory
)
{
...
@@ -415,8 +422,10 @@ public class TestCompatibility extends TestBase {
...
@@ -415,8 +422,10 @@ public class TestCompatibility extends TestBase {
}
}
private
void
testMySQLBytesCheck
(
Statement
stat
,
String
string
,
byte
[]
bytes
)
throws
SQLException
{
private
void
testMySQLBytesCheck
(
Statement
stat
,
String
string
,
byte
[]
bytes
)
throws
SQLException
{
ResultSet
rs
;
testMySQLBytesCheck
(
stat
.
executeQuery
(
"SELECT C FROM TEST2"
),
string
,
bytes
);
rs
=
stat
.
executeQuery
(
"SELECT C FROM TEST2"
);
}
private
void
testMySQLBytesCheck
(
ResultSet
rs
,
String
string
,
byte
[]
bytes
)
throws
SQLException
{
assertTrue
(
rs
.
next
());
assertTrue
(
rs
.
next
());
assertEquals
(
string
,
rs
.
getString
(
1
));
assertEquals
(
string
,
rs
.
getString
(
1
));
assertEquals
(
bytes
,
rs
.
getBytes
(
1
));
assertEquals
(
bytes
,
rs
.
getBytes
(
1
));
...
...
This diff is collapsed.
Click to expand it.
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论