Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
088a8227
D
dragonwell8_jdk
项目概览
openanolis
/
dragonwell8_jdk
通知
4
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dragonwell8_jdk
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
088a8227
编写于
12月 06, 2012
作者:
L
lancea
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
8004374: CachedRowSetSwriter.writeData reports wrong number of conflicts in SyncProviderException
Reviewed-by: naoto
上级
0ac57f25
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
10 addition
and
16 deletion
+10
-16
src/share/classes/com/sun/rowset/internal/CachedRowSetWriter.java
...e/classes/com/sun/rowset/internal/CachedRowSetWriter.java
+10
-16
未找到文件。
src/share/classes/com/sun/rowset/internal/CachedRowSetWriter.java
浏览文件 @
088a8227
...
...
@@ -264,7 +264,7 @@ public class CachedRowSetWriter implements TransactionalWriter, Serializable {
* <code>false</code> otherwise
*/
public
boolean
writeData
(
RowSetInternal
caller
)
throws
SQLException
{
boolean
conflict
=
false
;
long
conflicts
=
0
;
boolean
showDel
=
false
;
PreparedStatement
pstmtIns
=
null
;
iChangedValsInDbAndCRS
=
0
;
...
...
@@ -337,8 +337,9 @@ public class CachedRowSetWriter implements TransactionalWriter, Serializable {
while
(
crs
.
next
())
{
if
(
crs
.
rowDeleted
())
{
// The row has been deleted.
if
(
conflict
=
(
deleteOriginalRow
(
crs
,
this
.
crsResolve
))
==
true
)
{
if
(
deleteOriginalRow
(
crs
,
this
.
crsResolve
)
)
{
status
.
add
(
rows
,
SyncResolver
.
DELETE_ROW_CONFLICT
);
conflicts
++;
}
else
{
// delete happened without any occurrence of conflicts
// so update status accordingly
...
...
@@ -349,8 +350,9 @@ public class CachedRowSetWriter implements TransactionalWriter, Serializable {
// The row has been inserted.
pstmtIns
=
con
.
prepareStatement
(
insertCmd
);
if
(
(
conflict
=
insertNewRow
(
crs
,
pstmtIns
,
this
.
crsResolve
))
==
true
)
{
if
(
insertNewRow
(
crs
,
pstmtIns
,
this
.
crsResolve
)
)
{
status
.
add
(
rows
,
SyncResolver
.
INSERT_ROW_CONFLICT
);
conflicts
++;
}
else
{
// insert happened without any occurrence of conflicts
// so update status accordingly
...
...
@@ -358,8 +360,9 @@ public class CachedRowSetWriter implements TransactionalWriter, Serializable {
}
}
else
if
(
crs
.
rowUpdated
())
{
// The row has been updated.
if
(
conflict
=
(
updateOriginalRow
(
crs
))
==
true
)
{
if
(
updateOriginalRow
(
crs
)
)
{
status
.
add
(
rows
,
SyncResolver
.
UPDATE_ROW_CONFLICT
);
conflicts
++;
}
else
{
// update happened without any occurrence of conflicts
// so update status accordingly
...
...
@@ -395,21 +398,12 @@ public class CachedRowSetWriter implements TransactionalWriter, Serializable {
// reset
crs
.
setShowDeleted
(
showDel
);
boolean
boolConf
=
false
;
for
(
int
j
=
1
;
j
<
status
.
size
();
j
++){
// ignore status for index = 0 which is set to null
if
(!
((
status
.
get
(
j
)).
equals
(
SyncResolver
.
NO_ROW_CONFLICT
)))
{
// there is at least one conflict which needs to be resolved
boolConf
=
true
;
break
;
}
}
crs
.
beforeFirst
();
this
.
crsResolve
.
beforeFirst
();
if
(
boolConf
)
{
SyncProviderException
spe
=
new
SyncProviderException
(
status
.
size
()
-
1
+
resBundle
.
handleGetObject
(
"crswriter.conflictsno"
).
toString
());
if
(
conflicts
!=
0
)
{
SyncProviderException
spe
=
new
SyncProviderException
(
conflicts
+
" "
+
resBundle
.
handleGetObject
(
"crswriter.conflictsno"
).
toString
());
//SyncResolver syncRes = spe.getSyncResolver();
SyncResolverImpl
syncResImpl
=
(
SyncResolverImpl
)
spe
.
getSyncResolver
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录