[Seasar-user:16697] ロール名とスキーマ名が異なる場合にS2JDBCでException が発生する

HIDEKI Naita [E-MAIL ADDRESS DELETED]
2009年 1月 21日 (水) 11:46:56 JST


narita と申します。

 はじめまして。
 以下のプロダクトを使わせていただいております。
 s2-extension-2.4.33.jar
 s2-framework-2.4.33.jar
 s2-tiger-2.4.33.jar

 先日PostgreSQL-8.3.5 にてスキーマ名とロール名が異なる状態で
 データ挿入を行ったところ以下のような Exception が発生しました。
 (テーブル名は伏せました)
javax.servlet.ServletException: org.seasar.framework.exception.SQLRuntimeException: [ESSR0072]SQLで例外(SQL=[select currval('XXXX_seq')], Message=[[ESSR0072]SQLで例外(SQL=[select currval('XXXX_seq')], Message=[0], ErrorCode=42P01, SQLState={3})が発生しました : [SQLで例外(Message=[ERROR: relation "XXXX_seq" does not exist], ErrorCode=0, SQLState=42P01)が発生しました。], [ERROR: relation "XXXX_seq" does not exist], ErrorCode=0, SQLState=42P01)が発生しました

 接続にはS2JDBCを利用させていただいております。

 select currval する際にスキーマ名を考慮しない
 (デフォルトのスキーマ名にする)ため発生しているということだと思います。

 データベースのロール名とスキーマ名が異なる状態になったのは、
 ロール名を変えたかっただけで、実害は無いのですが、
 INSERT時にはスキーマ名を考慮しているのにID生成時にはしていないのはなんでかなぁと
 思いまして連絡させていただきました。

 Web上のドキュメントも関連しそうなところはざっと拝見いたしましたが、
 そういった制限の記述は見つけられなかったので、もしこの件についてわかる方が
 いらっしゃいましたら教えていただけますか?

 よろしくお願いいたします。
-- 
HIDEKI Naita <[E-MAIL ADDRESS DELETED]>



Seasar-user メーリングリストの案内