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 по дате отправления: