aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans Bolinder <[email protected]>2014-07-01 09:22:24 +0200
committerHans Bolinder <[email protected]>2014-07-01 09:22:24 +0200
commita6de62be5de44b249bc2d1c963c0c31bed5d32d0 (patch)
tree0d298522c86418d1a2cb97909636a494ae7a8958
parenta594da7662a70aa6e240cb2bfaf6728df831a542 (diff)
parentd2ade9b27432a1f7342e231d0d8b12467c3d3d77 (diff)
downloadotp-a6de62be5de44b249bc2d1c963c0c31bed5d32d0.tar.gz
otp-a6de62be5de44b249bc2d1c963c0c31bed5d32d0.tar.bz2
otp-a6de62be5de44b249bc2d1c963c0c31bed5d32d0.zip
Merge branch 'maint'
* maint: 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 ->