Search: Save detected pg version in a persistent term.
authorlain <lain@soykaf.club>
Mon, 23 Nov 2020 14:29:55 +0000 (15:29 +0100)
committerlain <lain@soykaf.club>
Mon, 23 Nov 2020 14:29:55 +0000 (15:29 +0100)
lib/pleroma/activity/search.ex
lib/pleroma/application.ex
test/pleroma/activity/search_test.exs
test/pleroma/web/mastodon_api/controllers/search_controller_test.exs

index ea9783225129852f05f849049843ac7d0cea5f56..babf9520ba680398f5c434daebe752dbc78bc7a3 100644 (file)
@@ -20,7 +20,7 @@ defmodule Pleroma.Activity.Search do
     author = Keyword.get(options, :author)
 
     search_function =
-      if Application.get_env(:postgres, :version) >= 11 do
+      if :persistent_term.get({Pleroma.Repo, :postgres_version}) >= 11 do
         :websearch
       else
         :plain
index 22936bd7f245e7f7c128b1c7581c0f87bd4d4d82..bd568d8580c75539cc88354823cccbfcdc93b3b9 100644 (file)
@@ -131,7 +131,7 @@ defmodule Pleroma.Application do
           9.6
       end
 
-    Application.put_env(:postgres, :version, version)
+    :persistent_term.put({Pleroma.Repo, :postgres_version}, version)
   end
 
   def load_custom_modules do
index 37c0feeeab04d38ee9874241659562a2d34d1221..9889491543320bfbe720a68d790ac8deef4c6c49 100644 (file)
@@ -19,8 +19,8 @@ defmodule Pleroma.Activity.SearchTest do
   end
 
   test "using plainto_tsquery on postgres < 11" do
-    old_config = Application.get_env(:postgres, :version)
-    Application.put_env(:postgres, :version, 10.0)
+    old_version = :persistent_term.get({Pleroma.Repo, :postgres_version})
+    :persistent_term.put({Pleroma.Repo, :postgres_version}, 10.0)
 
     user = insert(:user)
     {:ok, post} = CommonAPI.post(user, %{status: "it's wednesday my dudes"})
@@ -31,7 +31,7 @@ defmodule Pleroma.Activity.SearchTest do
 
     assert result.id == post.id
 
-    Application.put_env(:postgres, :version, old_config)
+    :persistent_term.put({Pleroma.Repo, :postgres_version}, old_version)
   end
 
   test "using websearch_to_tsquery" do
index 2b2579857a2e5db6d8aa76280d356481d62e5578..2f0bce450ddfb0cd9c59807e69694f057e29d51e 100644 (file)
@@ -279,8 +279,8 @@ defmodule Pleroma.Web.MastodonAPI.SearchControllerTest do
     end
 
     test "search fetches remote statuses and prefers them over other results", %{conn: conn} do
-      old_config = Application.get_env(:postgres, :version)
-      Application.put_env(:postgres, :version, 10.0)
+      old_version = :persistent_term.get({Pleroma.Repo, :postgres_version})
+      :persistent_term.put({Pleroma.Repo, :postgres_version}, 10.0)
 
       capture_log(fn ->
         {:ok, %{id: activity_id}} =
@@ -299,7 +299,7 @@ defmodule Pleroma.Web.MastodonAPI.SearchControllerTest do
                ] = results["statuses"]
       end)
 
-      Application.put_env(:postgres, :version, old_config)
+      :persistent_term.put({Pleroma.Repo, :postgres_version}, old_version)
     end
 
     test "search doesn't show statuses that it shouldn't", %{conn: conn} do