From 06f3a4498eb0bd75cc840530a47e8fff6b651176 Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Thu, 21 May 2020 01:23:22 +0000 Subject: [PATCH] --- server/AyaNova/util/AySchema.cs | 64 ++++++++++++++++----------------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/server/AyaNova/util/AySchema.cs b/server/AyaNova/util/AySchema.cs index 294530f0..df870cdd 100644 --- a/server/AyaNova/util/AySchema.cs +++ b/server/AyaNova/util/AySchema.cs @@ -173,36 +173,7 @@ namespace AyaNova.Util await ExecQueryAsync("CREATE INDEX asearchkey_wordid_otype_idx ON asearchkey (wordid, objecttype);"); //Search indexing stored procedure -// await ExecQueryAsync(@"CREATE OR REPLACE PROCEDURE public.aydosearchindex( -// wordlist text[], -// ayobjectid bigint, -// ayobjecttype integer) -// LANGUAGE 'plpgsql' - -// AS $BODY$DECLARE -// s text; -// wordid bigint; -// BEGIN -// IF ayobjectid=0 THEN -// RAISE EXCEPTION 'Bad object id --> %', ayobjectid; -// END IF; - -// IF ayobjecttype=0 THEN -// RAISE EXCEPTION 'Bad object type --> %', ayobjecttype; -// END IF; - - -// delete from asearchkey where objectid=ayobjectid and objecttype=ayobjecttype; - -// FOREACH s IN ARRAY wordlist -// LOOP -// insert into asearchdictionary (word) values(s) on conflict (word) do update set word=excluded.word returning id into wordid; -// insert into asearchkey (wordid,objectid,objecttype) values(wordid,ayobjectid,ayobjecttype); -// END LOOP; -// END; -// $BODY$;"); - - await ExecQueryAsync(@"CREATE OR REPLACE PROCEDURE public.aydosearchindex( + await ExecQueryAsync(@"CREATE OR REPLACE PROCEDURE public.aydosearchindex( wordlist text[], ayobjectid bigint, ayobjecttype integer) @@ -225,13 +196,42 @@ delete from asearchkey where objectid=ayobjectid and objecttype=ayobjecttype; FOREACH s IN ARRAY wordlist LOOP - insert into asearchdictionary (word) values(s) on conflict (word) do nothing; - SELECT id INTO STRICT wordid FROM asearchdictionary WHERE word = s; + insert into asearchdictionary (word) values(s) on conflict (word) do update set word=excluded.word returning id into wordid; insert into asearchkey (wordid,objectid,objecttype) values(wordid,ayobjectid,ayobjecttype); END LOOP; END; $BODY$;"); +// await ExecQueryAsync(@"CREATE OR REPLACE PROCEDURE public.aydosearchindex( +// wordlist text[], +// ayobjectid bigint, +// ayobjecttype integer) +// LANGUAGE 'plpgsql' + +// AS $BODY$DECLARE +// s text; +// wordid bigint; +// BEGIN +// IF ayobjectid=0 THEN +// RAISE EXCEPTION 'Bad object id --> %', ayobjectid; +// END IF; + +// IF ayobjecttype=0 THEN +// RAISE EXCEPTION 'Bad object type --> %', ayobjecttype; +// END IF; + + +// delete from asearchkey where objectid=ayobjectid and objecttype=ayobjecttype; + +// FOREACH s IN ARRAY wordlist +// LOOP +// insert into asearchdictionary (word) values(s) on conflict (word) do nothing; +// SELECT id INTO STRICT wordid FROM asearchdictionary WHERE word = s; +// insert into asearchkey (wordid,objectid,objecttype) values(wordid,ayobjectid,ayobjecttype); +// END LOOP; +// END; +// $BODY$;"); + //create translation text tables await ExecQueryAsync("CREATE TABLE atranslation (id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, name varchar(255) not null, stock bool, cjkindex bool default false)"); //LOOKAT: I don't think this is doing anything: