All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Fix for pagination which could occur when a filter is used.
- Minor dialyzer fix
:id_key
option is now allowed for pagination. Auto-forwarded in Managed.
- Nothing. No changes. Updating only to debug a potential release issue.
Indexed.delete_tables/1
to delete all ETS tables. Useful when indexing from scratch is needed.MyManagedMod.{get_ids_by, get_lookup}
Indexed.get_index/4
(andIndexed.Managed.get_index/4
) now always return a list. (They used to return nil if there was no index.)
Indexed.lookup
- UseIndexed.get_by/4
instead.
- Managed:
:repo
option onuse Indexed.Managed
is now optional. Also, specifying a module on themanaged
lines is optional. This means that Managed can now work with non-Ecto.Schema
maps, just like when using Indexed directly. Some auto-discovery features may not be available, though. - Prewarm ability on Indexed and Managed layers. This means a
c:GenServer.init/1
can validate and initialize configuration, then create the ETS tables, without inserting data. Ac:GenServer.handle_continue/2
can then be used to do the heavy work of loading the data.
- Managed:
field
sort option is now:datetime
instead of:date_time
.
- Namespace mode: If an atom is passed to
use Indexed.Managed
in the:namespace
option, then ETS tables for this instance of indexed will use named tables. This means that other processes can access the data directly as long as they are on the same node. Getter functions will be attached to the module which do not require any state. - Lookups: An entity can now be configured (via Managed or Indexed directly)
with one or more fields under the
:lookups
option. Lookup maps will be auto-maintained for these fields such thatIndexed.get_by/4
can look up a list of IDs of records carrying a given value.
- Properly exporting locals_without_parens in
.formatter.exs
somanaged
macro can be used without parens. Indexed.get_records/4
andIndexed.get_uniques_list/4
now return an empty list instead ofnil
.Indexed.get_uniques_map/4
now returns an empty map instead ofnil
.- Managed: Top-level keys in the
:managed_path
option will be auto-attached to the:children
option.
- Fixes around Paginator being an optional dependency.
- Initial release