My apologies - I did not look closely at the manual. Many many years ago
(6.xx days I had a similar problem and leapt to answer).

Could you post your CREATE TRIGGER statements as well?


On Wed, Apr 22, 2020 at 1:21 AM Malik Rumi <malik.a.r...@gmail.com> wrote:

> @Ericson,
> Forgive me for seeming dense, but how does COPY help or hurt here?
>
> @Andreas,
> I had to laugh at your reference to "prose". Would you believe I am
> actually a published playwright? Long before I started coding, of course.
> Old habits die hard.....
>
> entry_search_vector_trigger
>             BEGIN
>               SELECT setweight(to_tsvector(NEW.title), 'A') ||
>                      setweight(to_tsvector(NEW.content), 'B') ||
>                      setweight(to_tsvector(NEW.category), 'D') ||
>                      setweight(to_tsvector(COALESCE(string_agg(tag.tag, ',
> '), '')), 'C')
>               INTO NEW.search_vector
>               FROM ktab_entry AS entry
>                 LEFT JOIN ktab_entry_tags AS entry_tags ON
> entry_tags.entry_id = entry.id
>                 LEFT JOIN ktab_tag AS tag ON tag.id = entry_tags.tag_id
>               WHERE entry.id = NEW.id
>               GROUP BY entry.id, category;
>               RETURN NEW;
>             END;
>
> tag_search_vector_trigger
>             BEGIN
>               UPDATE ktab_entry SET id = id WHERE id IN (
>                 SELECT entry_id FROM ktab_entry_tags WHERE tag_id = NEW.id
>               );
>               RETURN NEW;
>             END;
>
> tags_search_vector_trigger
>             BEGIN
>               IF (TG_OP = 'DELETE') THEN
>                 UPDATE ktab_entry SET id = id WHERE id = OLD.entry_id;
>                 RETURN OLD;
>               ELSE
>                 UPDATE ktab_entry SET id = id WHERE id = NEW.entry_id;
>                 RETURN NEW;
>               END IF;
>             END;
>
> search_vector_update
>             BEGIN
>               SELECT setweight(to_tsvector(NEW.title), 'A') ||
>                      setweight(to_tsvector(NEW.content), 'B') ||
>                      setweight(to_tsvector(NEW.category), 'D') ||
>                      setweight(to_tsvector(COALESCE(string_agg(tag.tag, ',
> '), '')), 'C')
>               INTO NEW.search_vector
>               FROM ktab_entry AS entry
>                 LEFT JOIN ktab_entry_tags AS entry_tags ON
> entry_tags.entry_id = entry.id
>                 LEFT JOIN ktab_tag AS tag ON tag.id = entry_tags.tag_id
>               WHERE entry.id = NEW.id
>               GROUP BY entry.id, category;
>               RETURN NEW;
>             END;
>
> search_vector_update  (tags)
>             BEGIN
>               IF (TG_OP = 'DELETE') THEN
>                 UPDATE ktab_entry SET id = id WHERE id = OLD.entry_id;
>                 RETURN OLD;
>               ELSE
>                 UPDATE ktab_entry SET id = id WHERE id = NEW.entry_id;
>                 RETURN NEW;
>               END IF;
>             END;
>
> Thank you!
>
>
>
> *“None of you has faith until he loves for his brother or his neighbor
> what he loves for himself.”*
>
>
> On Tue, Apr 21, 2020 at 1:05 PM Ericson Smith <esconsu...@gmail.com>
> wrote:
>
>> I think COPY bypasses the triggers.
>>
>> Best Regards
>> - Ericson Smith
>> +1 876-375-9857 (whatsapp)
>> +1 646-483-3420 (sms)
>>
>>
>>
>> On Wed, Apr 22, 2020 at 12:32 AM Andreas Joseph Krogh <andr...@visena.com>
>> wrote:
>>
>>> På tirsdag 21. april 2020 kl. 19:24:10, skrev Malik Rumi <
>>> malik.a.r...@gmail.com>:
>>>
>>> [...]
>>>
>>> I am not (yet) posting the trigger code because this post is long
>>> already, and if your answers are 1) yes, 2) no and 3) triggers often work /
>>> fail like this, then there’s no point and we can wrap this up. But if not,
>>> I will happily post what I have. Thank you.
>>>
>>>
>>> This is too much prose for the regular programmer, show us the code, and
>>> point out what doesn't work for you, then we can help:-)
>>>
>>> --
>>> Andreas Joseph Krogh
>>>
>>

Reply via email to