diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2007-08-25 00:03:59 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2007-08-25 00:03:59 +0000 |
commit | 7351b5fa1781c3942d2d5ff2116d2d0ba882bd42 (patch) | |
tree | 8b27ff0f6ef15b271ffbe644d4a934462a80f900 /src/backend/tsearch/ts_parse.c | |
parent | b918bf86c65632a5716308d8a613f5538a770927 (diff) | |
download | postgresql-7351b5fa1781c3942d2d5ff2116d2d0ba882bd42.tar.gz postgresql-7351b5fa1781c3942d2d5ff2116d2d0ba882bd42.zip |
Cleanup for some problems in tsearch patch:
- ispell initialization crashed on empty dictionary file
- ispell initialization crashed on affix file with prefixes but no suffixes
- stop words file was run through pg_verify_mbstr, with database
encoding, but it's supposed to be UTF-8; similar bug for synonym files
- bunch of comments added, typos fixed, and other cleanup
Introduced consistent encoding checking/conversion of data read from tsearch
configuration files, by doing this in a single t_readline() subroutine
(replacing direct usages of fgets). Cleaned up API for readstopwords too.
Heikki Linnakangas
Diffstat (limited to 'src/backend/tsearch/ts_parse.c')
-rw-r--r-- | src/backend/tsearch/ts_parse.c | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/src/backend/tsearch/ts_parse.c b/src/backend/tsearch/ts_parse.c index f286a61fb0d..47e18fc1ac5 100644 --- a/src/backend/tsearch/ts_parse.c +++ b/src/backend/tsearch/ts_parse.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/tsearch/ts_parse.c,v 1.1 2007/08/21 01:11:18 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/tsearch/ts_parse.c,v 1.2 2007/08/25 00:03:59 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -308,7 +308,7 @@ LexizeExec(LexizeData * ld, ParsedLex ** correspondLexem) { /* * Dictionary normalizes lexemes, so we remove from stack all - * used lexemes , return to basic mode and redo end of stack + * used lexemes, return to basic mode and redo end of stack * (if it exists) */ if (res) @@ -427,14 +427,14 @@ parsetext(Oid cfgId, ParsedText * prs, char *buf, int4 buflen) * Headline framework */ static void -hladdword(HeadlineText * prs, char *buf, int4 buflen, int type) +hladdword(HeadlineParsedText * prs, char *buf, int4 buflen, int type) { while (prs->curwords >= prs->lenwords) { prs->lenwords *= 2; - prs->words = (HeadlineWord *) repalloc((void *) prs->words, prs->lenwords * sizeof(HeadlineWord)); + prs->words = (HeadlineWordEntry *) repalloc((void *) prs->words, prs->lenwords * sizeof(HeadlineWordEntry)); } - memset(&(prs->words[prs->curwords]), 0, sizeof(HeadlineWord)); + memset(&(prs->words[prs->curwords]), 0, sizeof(HeadlineWordEntry)); prs->words[prs->curwords].type = (uint8) type; prs->words[prs->curwords].len = buflen; prs->words[prs->curwords].word = palloc(buflen); @@ -443,16 +443,16 @@ hladdword(HeadlineText * prs, char *buf, int4 buflen, int type) } static void -hlfinditem(HeadlineText * prs, TSQuery query, char *buf, int buflen) +hlfinditem(HeadlineParsedText * prs, TSQuery query, char *buf, int buflen) { int i; QueryItem *item = GETQUERY(query); - HeadlineWord *word; + HeadlineWordEntry *word; while (prs->curwords + query->size >= prs->lenwords) { prs->lenwords *= 2; - prs->words = (HeadlineWord *) repalloc((void *) prs->words, prs->lenwords * sizeof(HeadlineWord)); + prs->words = (HeadlineWordEntry *) repalloc((void *) prs->words, prs->lenwords * sizeof(HeadlineWordEntry)); } word = &(prs->words[prs->curwords - 1]); @@ -462,7 +462,7 @@ hlfinditem(HeadlineText * prs, TSQuery query, char *buf, int buflen) { if (word->item) { - memcpy(&(prs->words[prs->curwords]), word, sizeof(HeadlineWord)); + memcpy(&(prs->words[prs->curwords]), word, sizeof(HeadlineWordEntry)); prs->words[prs->curwords].item = item; prs->words[prs->curwords].repeated = 1; prs->curwords++; @@ -475,7 +475,7 @@ hlfinditem(HeadlineText * prs, TSQuery query, char *buf, int buflen) } static void -addHLParsedLex(HeadlineText * prs, TSQuery query, ParsedLex * lexs, TSLexeme * norms) +addHLParsedLex(HeadlineParsedText * prs, TSQuery query, ParsedLex * lexs, TSLexeme * norms) { ParsedLex *tmplexs; TSLexeme *ptr; @@ -511,7 +511,7 @@ addHLParsedLex(HeadlineText * prs, TSQuery query, ParsedLex * lexs, TSLexeme * n } void -hlparsetext(Oid cfgId, HeadlineText * prs, TSQuery query, char *buf, int4 buflen) +hlparsetext(Oid cfgId, HeadlineParsedText * prs, TSQuery query, char *buf, int4 buflen) { int type, lenlemm; @@ -571,12 +571,12 @@ hlparsetext(Oid cfgId, HeadlineText * prs, TSQuery query, char *buf, int4 buflen } text * -generatHeadline(HeadlineText * prs) +generateHeadline(HeadlineParsedText * prs) { text *out; int len = 128; char *ptr; - HeadlineWord *wrd = prs->words; + HeadlineWordEntry *wrd = prs->words; out = (text *) palloc(len); ptr = ((char *) out) + VARHDRSZ; |