Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
PostgreSQLに対してAnormのMagicを使うのには問題がある。以下を参照。 | |
Line 4: | Line 5: |
[[https://groups.google.com/forum/#!topic/play-framework/5iMpoKpAHRQ]]。 わかっているなら書いておいてくれれば悩まずに済むものを。。。。 ) |
[[https://groups.google.com/forum/#!topic/play-framework/5iMpoKpAHRQ]] 要するに、なぜかPostgreSQLのConnection実装のgetTableName(int column)というメソッドが常に空文字列を返してしまうため、anormの側は結果セットの列がどのテーブルのものであるかを認識できないということらしい。 postgreSQLのjdbcドライバを改良することにより、これをマトモにできるという(が、ほんとにこれだけでいいのか?) == PostgreSQLドライバの改良 == * ソースコードを取得する。 {{{ cvs -z3 -d :pserver:anonymous@cvs.pgfoundry.org:/cvsroot/jdbc co -P pgjdbc }}} * pgjdbc/org/postgresql/jdbc2/AbstractJdbc2ResultSetMetaData.javaを編集し、getTableNameメソッドの「return "";」を「return getBaseTableName(column);」に変更する。 * antでビルドすると、jarsディレクトリにpostgresql.jarが作成される。 |
AnormでPostgreSQLにアクセス
PostgreSQLに対してAnormのMagicを使うのには問題がある。以下を参照。
https://groups.google.com/forum/#!topic/play-framework/5iMpoKpAHRQ
要するに、なぜかPostgreSQLのConnection実装のgetTableName(int column)というメソッドが常に空文字列を返してしまうため、anormの側は結果セットの列がどのテーブルのものであるかを認識できないということらしい。
postgreSQLのjdbcドライバを改良することにより、これをマトモにできるという(が、ほんとにこれだけでいいのか?)
PostgreSQLドライバの改良
- ソースコードを取得する。
cvs -z3 -d :pserver:anonymous@cvs.pgfoundry.org:/cvsroot/jdbc co -P pgjdbc
- pgjdbc/org/postgresql/jdbc2/AbstractJdbc2ResultSetMetaData.javaを編集し、getTableNameメソッドの「return "";」を「return getBaseTableName(column);」に変更する。
- antでビルドすると、jarsディレクトリにpostgresql.jarが作成される。