aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans Bolinder <[email protected]>2014-07-01 09:20:09 +0200
committerHans Bolinder <[email protected]>2014-07-01 09:20:09 +0200
commitd2ade9b27432a1f7342e231d0d8b12467c3d3d77 (patch)
treed4f8aa18ee7ee3236b0e6e43b309307dd80577a5
parenta884f78ee7609b3140f5a9fb524599be4ea816d7 (diff)
parent4e19c161a1aaae5462d9de34c2e10b0109f5f853 (diff)
downloadotp-d2ade9b27432a1f7342e231d0d8b12467c3d3d77.tar.gz
otp-d2ade9b27432a1f7342e231d0d8b12467c3d3d77.tar.bz2
otp-d2ade9b27432a1f7342e231d0d8b12467c3d3d77.zip
Merge branch 'hb/stdlib/dets_insert_new/OTP-12024' into maint
* hb/stdlib/dets_insert_new/OTP-12024: stdlib: Correct documentation of dets:insert/2
-rw-r--r--lib/stdlib/src/dets.erl5
-rw-r--r--lib/stdlib/test/dets_SUITE.erl6
2 files changed, 9 insertions, 2 deletions
diff --git a/lib/stdlib/src/dets.erl b/lib/stdlib/src/dets.erl
index c32da1624f..76e03bbfaa 100644
--- a/lib/stdlib/src/dets.erl
+++ b/lib/stdlib/src/dets.erl
@@ -440,9 +440,10 @@ insert(Tab, Objs) when is_list(Objs) ->
insert(Tab, Obj) ->
badarg(treq(Tab, {insert, [Obj]}), [Tab, Obj]).
--spec insert_new(Name, Objects) -> boolean() when
+-spec insert_new(Name, Objects) -> boolean() | {'error', Reason} when
Name :: tab_name(),
- Objects :: object() | [object()].
+ Objects :: object() | [object()],
+ Reason :: term().
insert_new(Tab, Objs) when is_list(Objs) ->
badarg(treq(Tab, {insert_new, Objs}), [Tab, Objs]);
diff --git a/lib/stdlib/test/dets_SUITE.erl b/lib/stdlib/test/dets_SUITE.erl
index 6be37cbecf..119b4dc7cb 100644
--- a/lib/stdlib/test/dets_SUITE.erl
+++ b/lib/stdlib/test/dets_SUITE.erl
@@ -2032,6 +2032,12 @@ match(Config, Version) ->
CrashPos = if Version =:= 8 -> 5; Version =:= 9 -> 1 end,
crash(Fname, ObjPos2+CrashPos),
{ok, _} = dets:open_file(T, Args),
+ case dets:insert_new(T, Obj) of % OTP-12024
+ ok ->
+ bad_object(dets:sync(T), Fname);
+ Else3 ->
+ bad_object(Else3, Fname)
+ end,
io:format("Expect corrupt table:~n"),
case ins(T, N) of
ok ->