]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Fix caching of unsuccessful initialization of parser or configuration.
authorTeodor Sigaev <teodor@sigaev.ru>
Mon, 2 Apr 2007 11:42:44 +0000 (11:42 +0000)
committerTeodor Sigaev <teodor@sigaev.ru>
Mon, 2 Apr 2007 11:42:44 +0000 (11:42 +0000)
Per report from Listmail <lists@peufeu.com>

contrib/tsearch2/ts_cfg.c
contrib/tsearch2/wparser.c

index a1fcf0b4f27e730b8c485008dd14010d0d3d026f..2faddd62185462581e17f082a8c9a3bf79c28753 100644 (file)
@@ -220,8 +220,8 @@ findcfg(Oid id)
                CList.reallen = reallen;
                CList.list = tmp;
        }
+       init_cfg(id, &(CList.list[CList.len]) );
        CList.last_cfg = &(CList.list[CList.len]);
-       init_cfg(id, CList.last_cfg);
        CList.len++;
        qsort(CList.list, CList.len, sizeof(TSCfgInfo), comparecfg);
        return findcfg(id); /* qsort changed order!! */ ;
index 725020e23decdece36f745a751c6caf04cc51453..4310273e9d8e7650eefac35d668882b47a27e639 100644 (file)
@@ -127,8 +127,8 @@ findprs(Oid id)
                PList.reallen = reallen;
                PList.list = tmp;
        }
+       init_prs(id, &(PList.list[PList.len]) );
        PList.last_prs = &(PList.list[PList.len]);
-       init_prs(id, PList.last_prs);
        PList.len++;
        qsort(PList.list, PList.len, sizeof(WParserInfo), compareprs);
        return findprs(id); /* qsort changed order!! */ ;