Re: Failed to parse new syntax

Поиск
Список
Период
Сортировка
От Jan Wieck
Тема Re: Failed to parse new syntax
Дата
Msg-id 19b7d441-b1a4-1455-1fd2-703244004808@wi3ck.info
обсуждение исходный текст
Ответ на Failed to parse new syntax  (jacktby jacktby <jacktby@gmail.com>)
Список pgsql-general
Are you aware that PostgreSQL has a built in '~' operator for regular 
expressions?


Regards, Jan


On 8/5/23 11:56, jacktby jacktby wrote:
> /*
> *    similarity_search_expr is used for our multi-mode
> *    similarity_search, and we just use this for multi
> *   cols search.
> */
> similarity_search_expr:
>     sub_search_expr '<' AexprConst {
>         $$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", $1, $3, @2);
>     }
>     ;
> sub_search_expr:
>     '[' col_tuple_expr '~' AexprConst ']' {
>         $$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "~", $2, $4, @3);
>     }
>     ;
> col_tuple_expr:
>     columnref { $$ = $1;}
>     | '(' col_list_expr ')' { $$ = $2;}
>     ;
> col_list_expr:
>     columnref {
>         ResTarget* target = makeNode(ResTarget);
>         target->name = NULL;
>         target->indirection = NIL;
>         target->val = (Node *) $1;
>         target->location = @1;
>         $$ = list_make1(target);
>     }
>     | col_list_expr ',' columnref { $$ = lappend($1,$3);}
>     ;
> This is my new grammer.
> But I get  below:
>        postgres=# select * from t2 where [a ~ 1] < 0;
>        ERROR:  syntax error at or near "~"
>           LINE 1: select * from t2 where [a ~ 1] < 0;
> It’s strange that it can’t parse ‘~’, I add it in the parser.
> 




В списке pgsql-general по дате отправления:

Предыдущее
От: jacktby jacktby
Дата:
Сообщение: Failed to parse new syntax
Следующее
От: "Wen Yi"
Дата:
Сообщение: Re:How to solve the warning?