Use unicode extension to normalize sorting accented records

This commit is contained in:
Claudio Ortolina
2024-12-07 19:38:10 +01:00
parent 0f926ed86a
commit 06fd591e5f
2 changed files with 16 additions and 13 deletions
+1 -1
View File
@@ -52,7 +52,7 @@ defmodule MusicLibrary.Records do
initial_search
|> order_by(
fragment(
"json_extract(artists, '$[0].sort_name') COLLATE NOCASE ASC, title COLLATE NOCASE ASC"
"unaccent(json_extract(artists, '$[0].sort_name')) COLLATE NOCASE ASC, unaccent(title) COLLATE NOCASE ASC"
)
)
+15 -12
View File
@@ -11,26 +11,29 @@ defmodule MusicLibrary.Repo do
end
def extension_path(name) do
[arch | _rest] = :erlang.system_info(:system_architecture)
[arch | _rest] =
:erlang.system_info(:system_architecture)
|> List.to_string()
|> String.split("-")
{_, os} = :os.type()
platform = case {os, arch} do
{:darwin, "x86_64"} -> "darwin-amd64"
{:darwin, "aarch64"} -> "darwin-aarch64"
{:linux, "x86_64"} -> "linux-amd64"
_other -> raise "Unsupported OS or platform"
end
platform =
case {os, arch} do
{:darwin, "x86_64"} -> "darwin-amd64"
{:darwin, "aarch64"} -> "darwin-aarch64"
{:linux, "x86_64"} -> "linux-amd64"
_other -> raise "Unsupported OS or platform"
end
extension = case os do
:darwin -> "dylib"
:linux -> "so"
end
extension =
case os do
:darwin -> "dylib"
:linux -> "so"
end
Path.join([
:code.priv_dir(:music_library),
:code.priv_dir(:music_library),
"sqlite_extensions",
platform,
"#{name}.#{extension}"