From cba63cdb2c236c7e0a90070bb10217d5297f9dd7 Mon Sep 17 00:00:00 2001 From: Dan Gudmundsson Date: Tue, 24 May 2016 16:17:51 +0200 Subject: mnesia: Fix index match return patterns When building match result patterns the tuples they must qouted with { }, which causes a problem with variable patterns. Use element(1, Match) instead of trying to build the two tuple. --- lib/mnesia/src/mnesia_index.erl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'lib/mnesia/src') diff --git a/lib/mnesia/src/mnesia_index.erl b/lib/mnesia/src/mnesia_index.erl index 73d170d1fa..c79f790973 100644 --- a/lib/mnesia/src/mnesia_index.erl +++ b/lib/mnesia/src/mnesia_index.erl @@ -513,11 +513,11 @@ db_put({dets, Ixt}, V) -> ok = dets:insert(Ixt, V). db_get({ram, _}=Ixt, IxKey) -> - Pat = [{{{IxKey, '$1'}}, [], [{{IxKey,'$1'}}]}], + Pat = [{{{IxKey, '$1'}}, [], [{element, 1, '$_'}]}], db_select(Ixt, Pat); db_get({{ext,_,_} = _Storage, {_,_,{_,Type}}} = Ixt, IxKey) -> Pat = case Type of - ordered -> [{{{IxKey, '$1'}}, [], [{{IxKey,'$1'}}]}]; + ordered -> [{{{IxKey, '$1'}}, [], [{element, 1, '$_'}]}]; bag -> [{{IxKey, '_'}, [], ['$_']}] end, db_select(Ixt, Pat); -- cgit v1.2.3