* Ensure `join_where` conditions preload correctly in `many_to_many` or with queries with one or many joins * Reenable support for embedded schemas in `unsafe_validate_unique/4` * Allow `selected_as` to be used with `select_merge` * Allow `selected_as` to be used with `type/2` * Allow `selected_as` at the root of `dynamic/2` * Fix select merging a `selected_as` field into a source * Fix preloading through associations on `nil` * Allow `selected_as` to be used in subquery * Allow the entire path to be interpolated in `json_extract_path/2` * Keep url scheme in the repo configuration * Fix regression with interpolated preloads introduced in v3.9.3 * Rename dynamic` type to dynamic_expr` to avoid conflicts with Erlang/OTP 26 * Allow inline embeds to overwrite conflicting aliases * Fix bug in `json_extract_path` where maps were not allowed to be nested inside of embeds * Raise when change provided to `validate_format/4` is not a string * Make unsafe validate unique exclude primary key only for loaded schemas * Add `:autogenerate_fields` to the schema reflection API * Support ties in limit expressions through `with_ties/3` * Support interpolated values for from/join prefixes * Support dynamic field inside `json_extract_path` * Add support for `:sort_param` and `:drop_param` on `cast_assoc` and `cast_embed` * `cast/4` will by default consider strings made only of whitespace characters to be empty * Allow `:empty_values` option in `cast/4` to include a function which must return true if the value is empty * Allow `Regex` to be used in constraint names for exact matches * Add `changed?/2` and `changed?/3` with predicates support Queries have also been improved to support LIMIT WITH TIES as well as materialized CTEs. **If you were setting `:empty_values` in the past and you want to preserve this new behaviour throughout, you may want to update your code** from this:Į(changeset, params,, empty_values: ])Įmpty_values = ] ++ _values()Į(changeset, params,, empty_values: empty_values) On the changeset front, note this release unifies the handling of empty values between `cast/4` and `validate_required/3`. Improvements to association and embed handling will also make it easier to manage more complex forms, especially those embedded within Phoenix.LiveView applications. This release contains many improvements to Ecto.Changeset, functions like `?/2` and `field_missing?/2` will help make your code more expressive. * Correct typespec to avoid Dialyzer warnings * Consider `sort_param` even if the relation param was not given * Fix late binding in `json_extract_path` * Respect parent prefix in `Repo.aggregate` * Support parameterized and custom map types in json path validation * Support `array_join` type for ClickHouse adapter * Add `:nulls_distinct` option to `unsafe_validate_unique` * Add support for maps in `validate_length/3` * Support a three-arity function with position on `cast_assoc` and `cast_embed` * Limit the largest integer to less than 32 digits The key being used in .* Allow dynamic `field/2` in `type/2` If you reverse the union order such that query_2 comes first in both unions, there is no error, I think since query_1 and query_3 are determined to not be the same cached queries first? (ecto) lib/ecto/repo/queryable.ex:153: /4 (ecto_sql) lib/ecto/adapters/myxql/connection.ex:28: .execute/4 (db_connection) lib/db_connection.ex:591: DBConnection.execute/4 (db_connection) lib/db_connection.ex:1161: DBConnection.maybe_encode/4 ** (ArgumentError) parameters must be of length 3 for query %MyXQL.Query
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |