[CONTAINER-369] [S2Dataset] 主キーがないテーブルに対して SqlTableWriter#write() で行の変更・削除を行うと不正な SQL を生成する問題を修正しました. Created: 27/May/09  Updated: 29/May/09  Resolved: 29/May/09

Status: Resolved
Project: S2Container
Component/s: S2Dataset
Affects Version/s: 2.4.37
Fix Version/s: 2.4.38

Type: Bug Priority: Minor
Reporter: Osamu NAKAMURA Assignee: koichik
Resolution: Fixed Votes: 0
Labels: None


 Description   

RemovedState.getSqlContext()で主キーが存在しない場合、"DELETE FROM <Table> W"というSQL文を生成する。
主キーの有無によらず、buf.setLength(buf.length() - 5);で付加されていない" AND "を削除しようとするため。

対策
A) 主キーの有無を判断し、"DELETE FROM <Table>"となるようにする。
または
B) 主キーが存在しない場合、Exceptionでその旨を通知する。



 Comments   
Comment by koichik [ 29/May/09 ]

対応しました.
http://svn.seasar.org/browse/?view=rev&root=s2container&revision=4342

Comment by koichik [ 29/May/09 ]

org.seasar.extension.dataset.PrimaryKeyNotFoundRuntimeException をスローするようにしました.

Generated at Wed Feb 19 03:58:44 JST 2020 using JIRA 7.9.2#79002-sha1:3bb15b68ecd99a30eb364c4c1a393359bcad6278.