[pgpool-general-jp: 1270] ダブルクオーテーションで囲われているテーブルに対するクエリキャッシュが効きません
(株)電算 西澤 晃一
n2316 @ ndensan.co.jp
2014年 4月 24日 (木) 11:57:38 JST
お世話になります。西澤と申します。
ダブルクオーテーションで囲われているテーブルに対するクエリキャッシュが効きません。
postgresql 9.3.4
pgpool II 3.3.2
を使っています。
下記のようにダブルクオーテーションをテーブルにつけて利用しています。
CREATE TABLE someschema."PiyoTab" (
"hogeCol1" integer,
"hogeCol2" text
);
このようなテーブルの場合、クエリキャッシュが効きません。
pgpoolのログを見ると、下記のようにダブルクオーテーションがtrimされたクエリが発行されています。
2014-04-23 17:33:02 LOG: pid 21974: DB node id: 0 backend pid: 9217 statement: SELECT count(*) FROM pg_catalog.pg_class AS c WHERE c.oid = pgpool_regclass('someschema.PiyoTab') AND c.relpersistence = 'u'
ダブルクオーテーションをtrimする特別な理由があるのでしょうか。
pgpool_regclass('someschema.PiyoTab') の部分が
pgpool_regclass('someschema."PiyoTab"') となるのが望ましいです。
下記のようにtrimをかけていると思しき箇所を修正してみましたが挙動は変わりませんでした。
$ diff pool_process_query.c pool_process_query.c.original
3071c3071
< /* if (*p != '"') */
---
> if (*p != '"')
/* --------------------------------------------
(株)電算 西澤 晃一(にしざわ こういち)
-------------------------------------------- */
pgpool-general-jp メーリングリストの案内