aboutsummaryrefslogtreecommitdiffstats
path: root/lib/asn1/src/asn1_db.erl
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2015-01-12 12:25:52 +0100
committerBjörn Gustavsson <[email protected]>2015-01-12 12:25:52 +0100
commit8ee2d5f59f0e3ceee6895b5af41e563a29a22be2 (patch)
treee6a25247f76d72cefaacbce0d5affc1033e7adb0 /lib/asn1/src/asn1_db.erl
parent71b35f78c12f31ae33cf51fd948c22483c77ff7c (diff)
parent17ec629959088f0b213a5559ab2e793e9ec0f124 (diff)
downloadotp-8ee2d5f59f0e3ceee6895b5af41e563a29a22be2.tar.gz
otp-8ee2d5f59f0e3ceee6895b5af41e563a29a22be2.tar.bz2
otp-8ee2d5f59f0e3ceee6895b5af41e563a29a22be2.zip
Merge branch 'bjorn/asn1/rfc-5912/OTP-12395'
* bjorn/asn1/rfc-5912/OTP-12395: (79 commits) Remove the old unused yecc-based parser Improve error handling for illegal object definitions Reimplement storeindb/2 to avoid excessive process communication Remove useless fields in #state{} Remove vestiges of obsolete {TypeName,Value} notation Remove old error handling Modernize the remaining cases Further improve error handling for instatiation of parameterized types asn1ct_tok: Clean up Add a test case for EXTENSIBILITY IMPLIED asn1ct_parser2: Remove expensive lookahead_assignment/1 function asn1ct_parser2: Clean up error handling and reporting asn1ct, asn1ct_parser2: Refactor the upper levels of error handling asn1ct_parser2: Eliminate all uses of old-style 'catch' asn1ct_parser2: Clean up parse_or/3 and parse_or_tag/3 asn1ct_parser2: Correct extraction of line number from token asn1ct_parser2: Throw an {asn1_error,...} for *all* parse errors asn1ct_parser2: Simplify parse_Type/1 asn1ct_parser2: Remove unsuccessful parsing of ValueSetFromObjects Move checking of UNIQUE & DEFAULT error to asn1ct_check ...
Diffstat (limited to 'lib/asn1/src/asn1_db.erl')
-rw-r--r--lib/asn1/src/asn1_db.erl8
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/asn1/src/asn1_db.erl b/lib/asn1/src/asn1_db.erl
index 48d9dd16d7..5577969727 100644
--- a/lib/asn1/src/asn1_db.erl
+++ b/lib/asn1/src/asn1_db.erl
@@ -19,7 +19,8 @@
%%
-module(asn1_db).
--export([dbstart/1,dbnew/2,dbload/1,dbload/3,dbsave/2,dbput/3,dbget/2]).
+-export([dbstart/1,dbnew/2,dbload/1,dbload/3,dbsave/2,dbput/2,
+ dbput/3,dbget/2]).
-export([dbstop/0]).
-record(state, {parent, monitor, includes, table}).
@@ -44,6 +45,7 @@ dbload(Module) ->
dbnew(Module, Erule) -> req({new, Module, Erule}).
dbsave(OutFile, Module) -> cast({save, OutFile, Module}).
dbput(Module, K, V) -> cast({set, Module, K, V}).
+dbput(Module, Kvs) -> cast({set, Module, Kvs}).
dbget(Module, K) -> req({get, Module, K}).
dbstop() -> Resp = req(stop), erase(?MODULE), Resp.
@@ -82,6 +84,10 @@ loop(#state{parent = Parent, monitor = MRef, table = Table,
[{_, Modtab}] = ets:lookup(Table, Mod),
ets:insert(Modtab, {K2, V}),
loop(State);
+ {set, Mod, Kvs} ->
+ [{_, Modtab}] = ets:lookup(Table, Mod),
+ ets:insert(Modtab, Kvs),
+ loop(State);
{From, {get, Mod, K2}} ->
%% XXX If there is no information for Mod, get_table/3
%% will attempt to load information from an .asn1db