Packages
ash_postgres
2.4.0
2.10.0
2.9.1
2.9.0
2.8.0
2.7.0
2.6.32
2.6.31
2.6.30
2.6.29
2.6.28
2.6.27
2.6.26
2.6.25
2.6.24
2.6.23
2.6.22
2.6.21
2.6.20
2.6.19
2.6.18
2.6.17
2.6.16
2.6.15
2.6.14
2.6.13
2.6.12
2.6.11
2.6.10
2.6.9
2.6.8
2.6.7
2.6.6
2.6.5
2.6.4
2.6.3
2.6.2
2.6.1
2.6.0
2.5.22
2.5.21
2.5.20
2.5.19
2.5.18
2.5.17
2.5.16
2.5.15
2.5.14
2.5.13
2.5.12
2.5.11
2.5.10
2.5.9
2.5.8
2.5.7
2.5.6
2.5.5
2.5.4
2.5.3
2.5.2
2.5.1
2.5.0
2.4.21
2.4.20
2.4.19
2.4.18
2.4.17
2.4.16
2.4.15
2.4.14
2.4.13
2.4.12
2.4.11
2.4.10
2.4.9
2.4.8
2.4.7
2.4.6
2.4.5
2.4.4
2.4.3
2.4.2
2.4.1
2.4.0
2.3.1
2.3.0
2.2.5
2.2.4
2.2.3
2.2.2
2.2.1
2.2.0
2.1.19
2.1.18
2.1.17
2.1.15
2.1.14
2.1.13
2.1.12
2.1.11
2.1.10
2.1.9
2.1.8
2.1.6
2.1.5
2.1.4
2.1.3
2.1.2
2.1.1
2.1.0
2.0.12
2.0.11
2.0.10
2.0.9
2.0.8
2.0.7
2.0.6
2.0.5
2.0.4
2.0.3
2.0.2
2.0.1
2.0.0
2.0.0-rc.15
2.0.0-rc.14
2.0.0-rc.13
2.0.0-rc.12
2.0.0-rc.11
2.0.0-rc.10
2.0.0-rc.9
2.0.0-rc.8
2.0.0-rc.7
2.0.0-rc.6
2.0.0-rc.5
2.0.0-rc.4
2.0.0-rc.3
2.0.0-rc.2
2.0.0-rc.1
2.0.0-rc.0
1.5.30
1.5.29
1.5.28
1.5.27
1.5.26
1.5.25
1.5.24
1.5.23
1.5.22
1.5.21
1.5.20
1.5.19
1.5.18
1.5.17
1.5.16
1.5.15
1.5.14
1.5.13
1.5.12
1.5.11
1.5.10
1.5.9
1.5.8
1.5.7
1.5.6
1.5.5
1.5.4
1.5.3
1.5.2
1.5.1
1.5.0
1.4.0
1.3.68
1.3.67
1.3.66
1.3.65
1.3.64
1.3.63
1.3.62
1.3.61
1.3.60
1.3.59
1.3.58
1.3.56
1.3.55
1.3.54
1.3.53
1.3.52
1.3.51
1.3.50
1.3.49
1.3.48
1.3.47
1.3.46
1.3.45
1.3.44
1.3.43
1.3.42
1.3.41
1.3.40
1.3.39
1.3.38
1.3.37
1.3.36
1.3.35
1.3.34
1.3.33
1.3.32
1.3.31
1.3.30
1.3.29
1.3.28
1.3.26
1.3.25
1.3.24
1.3.23
1.3.22
1.3.21
1.3.20
1.3.19
1.3.18
1.3.17
1.3.16
1.3.15
1.3.14
1.3.12
1.3.11
1.3.10
1.3.9
1.3.8
1.3.6
1.3.5
1.3.4
1.3.3
1.3.2
1.3.1
1.3.0
1.3.0-rc.4
1.3.0-rc.3
1.3.0-rc.2
1.3.0-rc.0
1.2.6
1.2.5
1.2.4
1.2.3
1.2.2
1.2.1
1.2.0
1.2.0-rc.1
1.2.0-rc.0
1.1.3
1.1.2
1.1.1
1.1.0
1.0.0
1.0.0-rc.9
1.0.0-rc.8
1.0.0-rc.7
1.0.0-rc.6
1.0.0-rc.5
1.0.0-rc.4
1.0.0-rc.3
1.0.0-rc.2
1.0.0-rc.1
1.0.0-rc.0
1.0.0-pre.3
1.0.0-pre.2
1.0.0-pre.1
1.0.0-pre.0
0.43.0
0.42.0-rc.7
0.42.0-rc.6
0.42.0-rc.5
0.42.0-rc.4
0.42.0-rc.3
0.42.0-rc.1
0.42.0-rc.0
0.41.7
0.41.6
0.41.5
0.41.4
0.41.3
0.41.2
0.41.1
0.41.0-rc0
retired
0.41.0-rc.9
0.41.0-rc.8
0.41.0-rc.7
0.41.0-rc.6
0.41.0-rc.5
0.41.0-rc.4
0.41.0-rc.3
0.41.0-rc.2
0.41.0-rc.1
0.41.0-rc.0
0.40.11
0.40.10
0.40.9
0.40.8
0.40.7
0.40.6
0.40.5
0.40.4
0.40.3
0.40.2
0.40.1
0.40.0-rc5
0.40.0-rc4
0.40.0-rc3
0.40.0-rc2
0.40.0-rc1
0.39.0-rc0
0.38.11
0.38.10
0.38.9
0.38.8
0.38.7
0.38.6
0.38.5
0.38.4
0.38.3
0.38.2
0.38.1
0.38.0
0.37.8
0.37.7
0.37.6
0.37.5
0.37.4
0.37.3
0.37.2
0.37.1
0.37.0
0.36.5
0.36.4
0.36.3
0.36.2
0.36.1
0.36.0
0.35.5
0.35.4
0.35.3
0.35.1
0.34.5
0.34.4
0.34.3
0.34.2
0.34.1
0.34.0
0.33.1
0.33.0
0.32.2
0.32.1
0.32.0
0.31.1
0.30.1
0.29.6
0.29.5
0.29.4
0.29.3
0.29.2
0.29.1
0.28.1
0.28.0
0.27.0
0.26.2
0.26.1
0.26.0
0.25.5
0.25.4
0.25.3
0.25.2
0.25.1
0.25.0
0.24.0
0.23.2
0.23.1
0.23.0
0.22.1
0.22.0
0.21.0
0.20.1
0.20.0
0.19.0
0.18.0
0.17.0
0.16.1
0.15.0
0.14.0
0.13.0
0.12.1
0.12.0
0.11.2
0.10.0
0.9.0
0.8.0
0.7.0
0.6.0
0.5.0
0.4.0
0.3.0
0.2.1
0.2.0
0.1.4
0.1.3
0.1.2
0.1.1
0.1.1-rc.2
0.1.1-rc.1
0.1.1-rc.0
0.1.0
The PostgreSQL data layer for Ash Framework
Security advisory:
This version has known vulnerabilities.
View advisories
Current section
409 Versions
Jump to
Current section
409 Versions
Compare versions
10
files changed
+305
additions
-30
deletions
| @@ -5,6 +5,24 @@ See [Conventional Commits](Https://conventionalcommits.org) for commit guideline | |
| 5 5 | |
| 6 6 | <!-- changelog --> |
| 7 7 | |
| 8 | + ## [v2.4.0](https://github.com/ash-project/ash_postgres/compare/v2.3.1...v2.4.0) (2024-09-13) |
| 9 | + |
| 10 | + ### Features: |
| 11 | + |
| 12 | + - Implement Ltree Type (#385) |
| 13 | + |
| 14 | + ### Improvements: |
| 15 | + |
| 16 | + - update ash to latest version |
| 17 | + |
| 18 | + - remove LEAKPROOF from function to prevent migration issues |
| 19 | + |
| 20 | + - support upcoming `action_select` options |
| 21 | + |
| 22 | + - ensure `Repo` is started after telemetry in igniter installer |
| 23 | + |
| 24 | + - update to latest igniter functions |
| 25 | + |
| 8 26 | ## [v2.3.1](https://github.com/ash-project/ash_postgres/compare/v2.3.0...v2.3.1) (2024-09-05) |
| 9 27 | |
| 10 28 | ### Improvements: |
| @@ -1,18 +1,18 @@ | |
| 1 1 | {<<"links">>, |
| 2 2 | [{<<"GitHub">>,<<"https://github.com/ash-project/ash_postgres">>}]}. |
| 3 3 | {<<"name">>,<<"ash_postgres">>}. |
| 4 | - {<<"version">>,<<"2.3.1">>}. |
| 4 | + {<<"version">>,<<"2.4.0">>}. |
| 5 5 | {<<"description">>,<<"The PostgreSQL data layer for Ash Framework">>}. |
| 6 6 | {<<"elixir">>,<<"~> 1.13">>}. |
| 7 7 | {<<"app">>,<<"ash_postgres">>}. |
| 8 8 | {<<"licenses">>,[<<"MIT">>]}. |
| 9 9 | {<<"files">>, |
| 10 10 | [<<"lib">>,<<"lib/statement.ex">>,<<"lib/types">>, |
| 11 | - <<"lib/types/ci_string_wrapper.ex">>,<<"lib/types/timestamptz.ex">>, |
| 12 | - <<"lib/types/tsvector.ex">>,<<"lib/types/timestamptz_usec.ex">>, |
| 13 | - <<"lib/types/tsquery.ex">>,<<"lib/types/string_wrapper.ex">>, |
| 14 | - <<"lib/custom_aggregate.ex">>,<<"lib/migration_generator">>, |
| 15 | - <<"lib/migration_generator/operation.ex">>, |
| 11 | + <<"lib/types/ci_string_wrapper.ex">>,<<"lib/types/ltree.ex">>, |
| 12 | + <<"lib/types/timestamptz.ex">>,<<"lib/types/tsvector.ex">>, |
| 13 | + <<"lib/types/timestamptz_usec.ex">>,<<"lib/types/tsquery.ex">>, |
| 14 | + <<"lib/types/string_wrapper.ex">>,<<"lib/custom_aggregate.ex">>, |
| 15 | + <<"lib/migration_generator">>,<<"lib/migration_generator/operation.ex">>, |
| 16 16 | <<"lib/migration_generator/phase.ex">>, |
| 17 17 | <<"lib/migration_generator/ash_functions.ex">>, |
| 18 18 | <<"lib/migration_generator/migration_generator.ex">>, |
| @@ -68,7 +68,7 @@ | |
| 68 68 | [[{<<"name">>,<<"ash">>}, |
| 69 69 | {<<"app">>,<<"ash">>}, |
| 70 70 | {<<"optional">>,false}, |
| 71 | - {<<"requirement">>,<<"~> 3.4 and >= 3.4.2">>}, |
| 71 | + {<<"requirement">>,<<"~> 3.4 and >= 3.4.9">>}, |
| 72 72 | {<<"repository">>,<<"hexpm">>}], |
| 73 73 | [{<<"name">>,<<"ash_sql">>}, |
| 74 74 | {<<"app">>,<<"ash_sql">>}, |
| @@ -1368,10 +1368,17 @@ defmodule AshPostgres.DataLayer do | |
| 1368 1368 | query = |
| 1369 1369 | if options[:return_records?] do |
| 1370 1370 | {:ok, query} = |
| 1371 | - query |
| 1372 | - |> Ecto.Query.exclude(:select) |
| 1373 | - |> Ecto.Query.select([row], row) |
| 1374 | - |> add_calculations(options[:calculations] || [], resource) |
| 1371 | + if options[:action_select] do |
| 1372 | + query |
| 1373 | + |> Ecto.Query.exclude(:select) |
| 1374 | + |> Ecto.Query.select([row], struct(row, ^options[:action_select])) |
| 1375 | + |> add_calculations(options[:calculations] || [], resource) |
| 1376 | + else |
| 1377 | + query |
| 1378 | + |> Ecto.Query.exclude(:select) |
| 1379 | + |> Ecto.Query.select([row], row) |
| 1380 | + |> add_calculations(options[:calculations] || [], resource) |
| 1381 | + end |
| 1375 1382 | |
| 1376 1383 | query |
| 1377 1384 | else |
| @@ -1626,10 +1633,19 @@ defmodule AshPostgres.DataLayer do | |
| 1626 1633 | query = |
| 1627 1634 | if options[:return_records?] do |
| 1628 1635 | {:ok, query} = |
| 1629 | - query |
| 1630 | - |> Ecto.Query.exclude(:select) |
| 1631 | - |> Ecto.Query.select([row], row) |
| 1632 | - |> add_calculations(options[:calculations] || [], resource) |
| 1636 | + case options[:action_select] do |
| 1637 | + nil -> |
| 1638 | + query |
| 1639 | + |> Ecto.Query.exclude(:select) |
| 1640 | + |> Ecto.Query.select([row], row) |
| 1641 | + |> add_calculations(options[:calculations] || [], resource) |
| 1642 | + |
| 1643 | + action_select -> |
| 1644 | + query |
| 1645 | + |> Ecto.Query.exclude(:select) |
| 1646 | + |> Ecto.Query.select([row], struct(row, ^action_select)) |
| 1647 | + |> add_calculations(options[:calculations] || [], resource) |
| 1648 | + end |
| 1633 1649 | |
| 1634 1650 | query |
| 1635 1651 | else |
| @@ -1717,7 +1733,13 @@ defmodule AshPostgres.DataLayer do | |
| 1717 1733 | |
| 1718 1734 | opts = |
| 1719 1735 | if options.return_records? do |
| 1720 | - Keyword.put(opts, :returning, true) |
| 1736 | + returning = |
| 1737 | + case options[:action_select] do |
| 1738 | + nil -> true |
| 1739 | + fields -> fields |
| 1740 | + end |
| 1741 | + |
| 1742 | + Keyword.put(opts, :returning, returning) |
| 1721 1743 | else |
| 1722 1744 | opts |
| 1723 1745 | end |
| @@ -1956,6 +1978,7 @@ defmodule AshPostgres.DataLayer do | |
| 1956 1978 | case bulk_create(resource, [changeset], %{ |
| 1957 1979 | single?: true, |
| 1958 1980 | tenant: Map.get(changeset, :to_tenant, changeset.tenant), |
| 1981 | + action_select: changeset.action_select, |
| 1959 1982 | return_records?: true |
| 1960 1983 | }) do |
| 1961 1984 | {:ok, [result]} -> |
| @@ -2539,6 +2562,7 @@ defmodule AshPostgres.DataLayer do | |
| 2539 2562 | tenant: changeset.tenant, |
| 2540 2563 | identity: identity, |
| 2541 2564 | upsert_keys: keys, |
| 2565 | + action_select: changeset.action_select, |
| 2542 2566 | upsert_fields: upsert_fields, |
| 2543 2567 | return_records?: true |
| 2544 2568 | }) do |
| @@ -2733,6 +2757,7 @@ defmodule AshPostgres.DataLayer do | |
| 2733 2757 | |
| 2734 2758 | case update_query(query, changeset, resource, %{ |
| 2735 2759 | return_records?: true, |
| 2760 | + action_select: changeset.action_select, |
| 2736 2761 | calculations: [] |
| 2737 2762 | }) do |
| 2738 2763 | {:ok, []} -> |
| @@ -2984,7 +3009,7 @@ defmodule AshPostgres.DataLayer do | |
| 2984 3009 | repo = |
| 2985 3010 | case options[:repo] do |
| 2986 3011 | nil -> |
| 2987 | - Igniter.Code.Module.module_name("Repo") |
| 3012 | + Igniter.Code.Module.module_name(igniter, "Repo") |
| 2988 3013 | |
| 2989 3014 | repo -> |
| 2990 3015 | Igniter.Code.Module.parse(repo) |
| @@ -76,8 +76,8 @@ defmodule AshPostgres.Igniter do | |
| 76 76 | case list_repos(igniter) do |
| 77 77 | {igniter, []} -> |
| 78 78 | if generate do |
| 79 | - repo = Igniter.Code.Module.module_name("Repo") |
| 80 | - otp_app = Igniter.Project.Application.app_name() |
| 79 | + repo = Igniter.Code.Module.module_name(igniter, "Repo") |
| 80 | + otp_app = Igniter.Project.Application.app_name(igniter) |
| 81 81 | |
| 82 82 | igniter = |
| 83 83 | Igniter.Code.Module.create_module(igniter, repo, default_repo_contents(otp_app)) |
| @@ -230,7 +230,7 @@ defmodule AshPostgres.MigrationGenerator.AshFunctions do | |
| 230 230 | SELECT to_timestamp(('x0000' || substr(_uuid::TEXT, 1, 8) || substr(_uuid::TEXT, 10, 4))::BIT(64)::BIGINT::NUMERIC / 1000); |
| 231 231 | $$ |
| 232 232 | LANGUAGE SQL |
| 233 | - IMMUTABLE PARALLEL SAFE STRICT LEAKPROOF; |
| 233 | + IMMUTABLE PARALLEL SAFE STRICT; |
| 234 234 | \"\"\") |
| 235 235 | """ |
| 236 236 | end |
Loading more files…