anchor.diff:  select(SKey, dba_tables, MatchSpec) ->
       case imem_seco:have_permission(SKey, [manage_system_tables]) of
           true ->     
  -            select(SKey, ddTable, MatchSpec);
  +            imem_meta:select(ddTable, MatchSpec);
           false ->
               ?SecurityException({"Select unauthorized", SKey})
       end;
   select(SKey, user_tables, MatchSpec) ->
       seco_authorized(SKey),
  -    {RList,true} = select(SKey, ddTable, MatchSpec),
  +    {RList,true} = imem_meta:select(ddTable, MatchSpec),
       {select_filter_user(SKey, RList, []), true};
   select(SKey, all_tables, MatchSpec) ->
       seco_authorized(SKey),
  -    {RList,true} = select(SKey, ddTable, MatchSpec),
  +    {RList,true} = imem_meta:select(ddTable, MatchSpec),
       {select_filter_all(SKey, RList, []), true};
   select(SKey, Table, MatchSpec) ->
       case have_table_permission(SKey, Table, select) of
  
positive.code: select(SKey, dba_tables, MatchSpec, Limit) ->
      case imem_seco:have_permission(SKey, [manage_system_tables]) of
          true ->     
              select(SKey, ddTable, MatchSpec, Limit);
          false ->
              ?SecurityException({"Select unauthorized", SKey})
      end;
  select(SKey, user_tables, MatchSpec, Limit) ->
      seco_authorized(SKey),
      {RList,true} = select(SKey, ddTable, MatchSpec, Limit),
      {select_filter_user(SKey, RList, []), true};
  select(SKey, all_tables, MatchSpec, Limit) ->
      seco_authorized(SKey),
      {RList,true} = select(SKey, ddTable, MatchSpec, Limit),
      {select_filter_all(SKey, RList, []), true};
  select(SKey, Table, MatchSpec, Limit) ->
      case have_table_permission(SKey, Table, select) of
  
negative.code:     end.
  
  
  select_filter_all(_SKey, [], Acc) ->    Acc;
  select_filter_all(SKey, [#ddTable{qname=TableQN}=H|Tail], Acc0) ->
      Acc1 = case have_table_permission(SKey, TableQN, select) of
          true ->     [H|Acc0];
          false ->    Acc0
      end,  
      select_filter_all(SKey, Tail, Acc1);
  select_filter_all(SKey, [TableQN|Tail], Acc0) ->
      Acc1 = case have_table_permission(SKey, TableQN, select) of
          true ->     [TableQN|Acc0];
          false ->    Acc0
      end,  
      select_filter_all(SKey, Tail, Acc1).
  
  select_filter_user(_SKey, [], Acc) ->   Acc;
  select_filter_user(SKey, [#ddTable{qname=TableQN}=H|Tail], Acc0) ->
      Acc1 = case have_table_ownership(SKey, TableQN) of
          true ->     [H|Acc0];
          false ->    Acc0
      end,  
      select_filter_user(SKey, Tail, Acc1);
  select_filter_user(SKey, [TableQN|Tail], Acc0) ->
      Acc1 = case have_table_ownership(SKey, TableQN) of
          true ->     [TableQN|Acc0];
          false ->    Acc0
      end,  
      select_filter_user(SKey, Tail, Acc1).
  
  
  