Use indexed split_part/3 to get a hostname rather than ts_ functions
authorRoman Chvanikov <chvanikoff@pm.me>
Mon, 18 May 2020 09:38:16 +0000 (12:38 +0300)
committerRoman Chvanikov <chvanikoff@pm.me>
Mon, 18 May 2020 09:38:16 +0000 (12:38 +0300)
priv/repo/migrations/20200508092434_update_counter_cache_table.exs

index 3d9bfc87733401900455c746b1342434c275530c..73834486851d1dac6d6eaf5fea95c298ff5631fd 100644 (file)
@@ -25,22 +25,17 @@ defmodule Pleroma.Repo.Migrations.UpdateCounterCacheTable do
     RETURNS TRIGGER AS
     $$
       DECLARE
-        token_id smallint;
         hostname character varying(255);
         visibility_new character varying(64);
         visibility_old character varying(64);
         actor character varying(255);
       BEGIN
-      SELECT "tokid" INTO "token_id" FROM ts_token_type('default') WHERE "alias" = 'host';
       IF TG_OP = 'DELETE' THEN
         actor := OLD.actor;
       ELSE
         actor := NEW.actor;
       END IF;
-      SELECT "token" INTO "hostname" FROM ts_parse('default', actor) WHERE "tokid" = token_id;
-      IF hostname IS NULL THEN
-        hostname := split_part(actor, '/', 3);
-      END IF;
+      hostname := split_part(actor, '/', 3);
       IF TG_OP = 'INSERT' THEN
         visibility_new := activity_visibility(NEW.actor, NEW.recipients, NEW.data);
         IF NEW.data->>'type' = 'Create'