简体   繁体   中英

Erlang ETS with bag type elements ordering

I have some code like this:

Table = ets:new(table, [bag]),
true = ets:insert(Table, {bucket_1, some_value_1}),
true = ets:insert(Table, {bucket_1, some_value_2}),
true = ets:insert(Table, {bucket_1, some_value_3}),

LookupResult = ets:lookup(Table, bucket_1),
?_assertEqual(
    [{bucket_1, some_value_1}, {bucket_1, some_value_2}, {bucket_1, some_value_3}],
    LookupResult
).

Is ETS guarantees ordering of elements within bucket? Should I expect, that ETS saves order of elements, as elements has been added to table?

The specification of lookup/2 says:

[...] the time order of object insertions is preserved; the first object inserted with the given key will be first in the resulting list, and so on.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM