[Seasar-user:3059] Re: [S2DAO] selectListID というフィールド名
ayataro@dd.mbn.or.jp
ayataro
2005年 12月 21日 (水) 16:08:31 JST
向後です。
S2Daoのバグっぽいです。
ソースを追ってみたら、DaoMetaDataImplの中のstartWithSelect
がまずいのではないかと。
以下未テストかつ場当たりなpatch。
--- DaoMetaDataImpl.java 2005-12-21 16:03:15.13764320
0 +0900
+++ DaoMetaDataImpl.java.org 2005-12-21 16:02:19.27732000
0 +0900
@@ -48,10 +48,6 @@
private static final Pattern startWithOrderByPattern
=
Pattern.compile("(/\\*[^*]+\\*/)*ord
er by",Pattern.CASE_
INSENSITIVE);
-
- private static final Pattern startWithSelectPattern
=
- Pattern.compile("^select\\s",Pattern.CASE_IN
SENSITIVE);
-
private static final String[] INSERT_NAMES = new Str
ing[] { "insert",
"create", "add" };
@@ -211,13 +207,10 @@
}
protected static boolean startsWithSelect(String que
ry) {
- if (query != null) {
- Matcher m = startWithSelectPattern.m
atcher(query);
- if (m.lookingAt()) {
- return true;
- }
- }
- return false;
+ if (query == null) {
+ return false;
+ }
+ return StringUtil.startsWith(query.trim(), "
select");
}
protected static boolean startsWithOrderBy(String qu
ery) {
Seasar-user メーリングリストの案内