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

Back to archive index

Kentaro Hayashi hayas****@clear*****
2017年 8月 3日 (木) 13:27:26 JST


林です。

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*****>
-------------- next part --------------
$B%F%-%9%H7A<00J30$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
$B%U%!%$%kL>(B: $BL5$7(B
$B7?(B:         application/pgp-signature
$B%5%$%:(B:     833 $B%P%$%H(B
$B @ bL@(B:       $BL5$7(B
Download 



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