- Add
update_element/3- Thanks @APB9785 - Add
match_object/{1,2,3}andmatch_delete/2- Thanks @APB9785 - Add
give_away/3,accept/1, andaccept/6- Thanks @APB9785
- Add Set.fetch/2 - Thanks @christhekeele
- Rename
EtstoETS - Move
ETS.Set.KeyValueSettoETS.KeyValueSet - Add
select/1andselect/3toETS.set- Thanks @zachdaniel - Handle and return :position_out_of_bounds error when calling
get_element/lookup_elementwith a position greater than the size of one of the returned tuples - Add documentation for named table usage pattern.
- Handle and return :read_protected error when reading from a private table from a different process
- Handle and return :write_protected error when inserting into a non-public table from a different process
- Handle and return :invalid_select_spec error
- Handle and return :record_too_small when size of inserted record is smaller than keypos
- Add
Accessprotocol forKeyValueSet- Thanks @am-kantox - Fix return issue in
KeyValueSetdelete/delete_all - Thanks @am-kantox - Add documentation for choosing which table to use
- Add
ETS.KeyValueSet
- Handle and return
:table_already_existsonnew - Fix spec for
Set.getto reflect possible nil return - Implemented
delete_allforSetandBag - Implemented
selectforSetandBag - Implemented
select_deleteforSetandBag - Implemented
get_element/lookup_elementforSetandBag - Add
Bags toETS.all - Add list default option values in
newdocumentation
- Implement
ETS.Bag
- Combined
put_multiintoputandput_multi_newintoput_new put_newwith existing key(s) is no longer an error condition- Catch list of non-tuples passed to
putorput_new
- Fix issue with docs
- Add
get_tableto access underlying ets table reference (to directly access not-yet-implemented functions of:ets)
- Redesign from ground up to use module/struct based approach
- Implemented
ETS.SetandETS.Base - Set up CI and Readme badges