On 21 June 2011 14:34, Pavel Stehule <pavel.steh...@gmail.com> wrote: > I don't understand to using a macro > > #define token_is_keyword(t, k) (!t->quoted && strcmp(t->string, k) == 0) > > because you disallowed a quoting?
Well, a token can only be treated as a special keyword if it is unquoted. As an example, in the 'database' field, the bare token 'replication' is a keyword meaning the pseudo-database for streaming rep. Whereas the quoted token "replication" would mean a real database which is called 'replication'. Likewise, the bare token 'all' in the username field is a keyword -- it matches any username. Whereas the quoted token "all" would only match a user named 'all'. Therefore, token_is_keyword only returns true where the token matches the given string as is also unquoted. Does that make sense? Cheers, BJ -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers