Upload page content

You can upload content for the page named below. If you change the page name, you can also upload content for another page. If the page name is empty, we derive the page name from the file name.

File to load page content from
Page name
Comment

Locked History Actions

Play/AnormPostgreSQL

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が作成される。

PostgreSQLドライバの置き換え

playフレームワークのframework/libディレクトリにpostgresql-9.0.jarなどというファイルが含まれているので、これを置き換え。