[groonga-dev,04427] Re: &@~オペレーターのUndefined function: 7 ERROR: operator does not exist:エラー

Back to archive index

s400t****@yahoo***** s400t****@yahoo*****
2017年 8月 4日 (金) 15:12:24 JST


お返事、ありがとうございます。

こちらもツール(phpPgAdmin)のバージョンは同じ(phpPgAdmin-5.1-1.rhel6.noarch)です。
データベースにログインして、コマンドラインでsql文実行しても同じエラー出ているのでツールの問題ではないと思いますね。

ちなみに、rpm -qaでgroonga関係出力は以下:

groonga-libs-7.0.5-1.el6.x86_64
groonga-release-1.3.0-1.noarch

もしかして、私が使っているリリースは「&@~」オペレーターが入っているリリースではない、、、、このことでしょうか。

https://pgroonga.github.io/ja/reference/operators/query.htmlにて、
「この演算子(@@のこと)は1.2.0から非推奨です。代わりに&@~演算子を使ってください。」

↑の1.2.0というのは、xxx-release-1.2.0-xxxxのことでしょうか。

なら、「&@~」オペレーターが入っているはずでしょうね。
(現在groonga-release-1.3.0-1使用中ですので)

ちょっと分からなくなった。
週末入っているのでクリーンな環境作って、最初からpgroonga_test/memoなど小規模でテストしてみたいと思います。

で、次はCREATE EXTENSION pgroongaのことですね。

「select * from pg_extension」を実行すると以下の結果になります。
testdb=> select * from pg_extension;
 extname  | extowner | extnamespace | extrelocatable | extversion | extconfig | extcondition 
----------+----------+--------------+----------------+------------+-----------+--------------
 plpgsql  |       10 |           11 | f              | 1.0        |           | 
 pgroonga |       10 |         2200 | f              | 1.2.1      |           | 
(2 rows)

↑を見るとextversion 1.2.1(※)で、やはり「&@~」オペレーターは使えるはずですよね。


他にお気づきなところありましたら、ぜひお願いします。

以上です。

(※):groonga-release-nnn-のバージョンとpgroonga(=pg_extension)のバージョンは別もんですね!
少し見えて来ました。。。




----- Original Message -----
>From: Kentaro Hayashi <hayas****@clear*****>
>To: groon****@lists***** 
>Date: 2017/8/3, Thu 13:27
>Subject: [groonga-dev,04426] Re: &@~オペレーターのUndefined function: 7 ERROR: operator does not exist:エラー
> 
>林です。
>
>On Wed, 2 Aug 2017 20:17:50 +0900 (JST)
>s400t****@yahoo***** wrote:
>
>> お返事、ありがとうございます。
>> 
>> >(前のバージョンでできていたというのはちょっとよくわからないのですが。。。)
>> @@オペレーター使って、以前は検索出来ていたということです。
>> 
>> か、
>> 今日また@@オペレーター使ってみたら、正常に検索出来ています。
>> 
>> で、なんで&@~オペレーターを使ったのか:
>> どこかで、「この演算子=@@のこと=は1.2.0から非推奨です。代わりに&@~演算子を使ってください。」と書いていたので。
>> 
>> 今日、@@オペレーターで正常に検索出来たのはbackward compatibilityのおかげでしょうか。
>> 
>> 項目1 or 項目2検索で、いつかは「&@~」オペレーターしか使えないのなら、今からでもそのオペレーターを使った方が良いでしょうと思って、試したのです。
>> 
>
>そうですね、そのほうがよいと思います。
>
>> 今日は、phpPgAdminコンソールのsql実行するところで、直接sql実行したました。
>> 林さんが書いてくださったサンプルのsql文ですが、bindValueなしで、
>> 
>> SELECT * FROM memos WHERE target_col &@~ '東京 OR 大阪';
>> 
>> 
>> ↑を実行しました。
>> 
>> 結果は前回と同じエラーです。
>> 
>> エラー:
>> 
>> ERROR:  operator does not exist: text &@~ unknown
>> LINE 1: SELECT * FROM memos  WHERE target_col &@~ '東京 OR 大阪'... ^
>> HINT:  No operator matches the given name and argument type(s). You might need to add explicit type casts.
>
>うーん不思議ですねぇ。手元では↑エラーにならないんですが。。。
>(;が全角になっているのは直しましたけど。)
>
>NG: SELECT * FROM memos WHERE target_col &@~ '東京 OR 大阪';
>OK: SELECT * FROM memos WHERE target_col &@~ '東京 OR 大阪';
>
>
>ちなみに手元では以下のバージョンでためしました。
>$ rpm -q phpPgAdmin
>phpPgAdmin-5.1-1.rhel6.noarch
>
>http://pgroonga.github.io/ja/install/centos.html で案内されている手順はエラーなく実行できているんですよね?
>
>「作成したデータベースに接続し、CREATE EXTENSION pgroongaを実行します。
>% sudo -u postgres -H psql -d pgroonga_test --command 'CREATE EXTENSION pgroonga'」の部分です。
>
>select * from pg_extension などとしてpgroongaがいれば正しくインストールできています。
>
>-- 
>Kentaro Hayashi <hayas****@clear*****>
>
>_______________________________________________
>groonga-dev mailing list
>groon****@lists*****
>http://lists.osdn.me/mailman/listinfo/groonga-dev
>
>
>
-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
Download 



groonga-dev メーリングリストの案内
Back to archive index