Обсуждение: Meaning of keyword category list in src/backend/parser/gram.y

Поиск
Список
Период
Сортировка

Meaning of keyword category list in src/backend/parser/gram.y

От
soroosh sardari
Дата:
Hi

I'm trying to add a new constraint to column constraint.
I add a new keyword ro kwlist.h and gram.y, and also edit ColConstraintElem.

The problem is i don't know what is "Keyword category lists" at the end of gram.y.
when I added the new keyword in "unreserved_keyword", shift/reduce and reduce/reduce conflicts appear in bison outputs.

any idea about this problem and meaning of  "Keyword category lists" is appreciated.

Cheers
Soroosh

Re: Meaning of keyword category list in src/backend/parser/gram.y

От
Amit Kapila
Дата:
On Sunday, May 05, 2013 1:03 PM soroosh sardari wrote:
> Hi
> I'm trying to add a new constraint to column constraint.
> I add a new keyword ro kwlist.h and gram.y, and also edit
ColConstraintElem.
> The problem is i don't know what is "Keyword category lists" at the end of
gram.y.

Keyword category lists are to distinguish different type of keywords.
For example, if you add keyword in reserved_keyword, then you cannot use
that as variable in SQL where as if you put in unreserved_keyword, then you
can use it.


> when I added the new keyword in "unreserved_keyword", shift/reduce and
reduce/reduce conflicts appear in bison outputs.
> any idea about this problem and meaning of  "Keyword category lists" is
appreciated.

This means the grammar syntax you have defined for ColConstraintElem
conflicts with some already existing definition. shift/reduce conflicts can
occur due to your changes in  ColConstraintElem definition. I suggest first
you can try with minimal/dummy changes in ColConstraintElem and once it
passes then you can try with your actual changes to see what part of changes
cause conflicts.

With Regards,
Amit Kapila.




Re: Meaning of keyword category list in src/backend/parser/gram.y

От
soroosh sardari
Дата:
Dear Amit

yes, my new constrains must not be name of variable.
I moved new keyword to reserved keyword.
Problem solved :D

Regards
Soroosh




On Mon, May 6, 2013 at 10:17 AM, Amit Kapila <amit.kapila@huawei.com> wrote:
On Sunday, May 05, 2013 1:03 PM soroosh sardari wrote:
> Hi
> I'm trying to add a new constraint to column constraint.
> I add a new keyword ro kwlist.h and gram.y, and also edit
ColConstraintElem.
> The problem is i don't know what is "Keyword category lists" at the end of
gram.y.

Keyword category lists are to distinguish different type of keywords.
For example, if you add keyword in reserved_keyword, then you cannot use
that as variable in SQL where as if you put in unreserved_keyword, then you
can use it.


> when I added the new keyword in "unreserved_keyword", shift/reduce and
reduce/reduce conflicts appear in bison outputs.
> any idea about this problem and meaning of  "Keyword category lists" is
appreciated.

This means the grammar syntax you have defined for ColConstraintElem
conflicts with some already existing definition. shift/reduce conflicts can
occur due to your changes in  ColConstraintElem definition. I suggest first
you can try with minimal/dummy changes in ColConstraintElem and once it
passes then you can try with your actual changes to see what part of changes
cause conflicts.

With Regards,
Amit Kapila.



--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers