diff options
author | Hans Bolinder <[email protected]> | 2014-06-30 13:24:04 +0200 |
---|---|---|
committer | Hans Bolinder <[email protected]> | 2014-06-30 13:24:04 +0200 |
commit | 4e19c161a1aaae5462d9de34c2e10b0109f5f853 (patch) | |
tree | 3bbe9dacbc5df11f426dec1848dba4cf4a3091a3 | |
parent | e54518231ac28096dec8f0a63afe527916ff1343 (diff) | |
download | otp-4e19c161a1aaae5462d9de34c2e10b0109f5f853.tar.gz otp-4e19c161a1aaae5462d9de34c2e10b0109f5f853.tar.bz2 otp-4e19c161a1aaae5462d9de34c2e10b0109f5f853.zip |
stdlib: Correct documentation of dets:insert/2
Thanks to Alexei Sholik for reporting the bug.
-rw-r--r-- | lib/stdlib/src/dets.erl | 5 | ||||
-rw-r--r-- | lib/stdlib/test/dets_SUITE.erl | 6 |
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 -> |