Re: tsearch in core patch, for inclusion
От | Andrew Dunstan |
---|---|
Тема | Re: tsearch in core patch, for inclusion |
Дата | |
Msg-id | 45DDB482.9040602@dunslane.net обсуждение исходный текст |
Ответ на | Re: tsearch in core patch, for inclusion (Teodor Sigaev <teodor@sigaev.ru>) |
Ответы |
Re: tsearch in core patch, for inclusion
|
Список | pgsql-hackers |
Teodor Sigaev wrote: >> In that proposed syntax, I would drop all "=", ",", "(", and ")". >> They don't seem necessary and they are untypical for SQL commands. >> I'd compare with CREATE FUNCTION or CREATE SEQUENCE for SQL commands >> that do similar things. > > I was looking at CREATE TYPE mostly. With removing "=", ",", "(", and > ")" in CREATE/ALTER FULLTEXT it's needed to add several items in > unreserved_keyword list. And increase gram.y by adding new rules > similar to OptRoleList instead of > simple opt_deflist: > '(' def_list ')' { $$ = $2; } > | /*EMPTY*/ { $$ = NIL; } > ; > > Is it acceptable? > List of new keywords is: LOCALE, LEXIZE, INIT, OPT, GETTOKEN, > LEXTYPES, HEADLINE > > So, syntax will be > CREATE FULLTEXT DICTIONARY dictname > LEXIZE lexize_function > [ INIT init_function ] > [ OPT opt_text ]; > > CREATE FULLTEXT DICTIONARY dictname > [ { LEXIZE lexize_function | INIT init_function | OPT opt_text } > [...] ] > LIKE template_dictname; > If we are worried about the size of the transition table and keeping it in cache (see remarks from Tom upthread) then adding more keywords seems a bad idea, as it will surely expand the table. OTOH, I'd hate to make that a design criterion. My main worry has been that the grammar would be stable. Just to quantify all this, I did a quick check on the grammar using bison -v - we appear to have 473 terminal symbols, and 420 non-terminal sybols in 1749 rules, generating 3142 states. The biggest tables generated are yytable and yycheck, each about 90kb on my machine. cheers andrew
В списке pgsql-hackers по дате отправления: