anchor.diff:  
   -export([ update_opts/3
           , add_attribute/3
  -   %     , log_to_db/6
           , get_config_hlk/5  %% get single config value and put default if not found
           , put_config_hlk/6  %% put single config value with remark
           ]).
  
positive.code: 
  %% from imem_meta --- HELPER FUNCTIONS do not export!! --------
  
  if_is_system_table(_SKey,{_,Table}) -> 
      if_is_system_table(_SKey,Table);       % TODO: May depend on Schema
  if_is_system_table(_SKey,Table) when is_atom(Table) ->
      case lists:member(Table,?SECO_TABLES) of
          true ->     true;
          false ->    imem_meta:is_system_table(Table)
      end;
  if_is_system_table(_SKey,Table) when is_binary(Table) ->
      try
          {S,T} = imem_sql_expr:binstr_to_qname2(Table), 
          if_is_system_table(_SKey,{?binary_to_existing_atom(S),?binary_to_existing_atom(T)})
      catch
          _:_ -> false
      end.
  
  if_meta_field_list(_SKey) ->
      imem_meta:meta_field_list().
  
  if_meta_field(_SKey, Name) when is_atom(Name) ->
      if_meta_field(_SKey, ?atom_to_binary(Name));
  if_meta_field(_SKey, Name) ->
      case lists:member(Name,?SECO_FIELDS) of
          true ->     true;
          false ->    imem_meta:meta_field(Name)
      end.
  
  if_meta_field_info(_SKey, Name) ->              imem_meta:meta_field_info(Name).
  
  if_meta_field_value(SKey, <<"user">>) ->        imem_seco:account_id(SKey);
  if_meta_field_value(SKey, user) ->              imem_seco:account_id(SKey);
  if_meta_field_value(SKey, <<"username">>) ->    imem_seco:account_name(SKey);
  if_meta_field_value(SKey, username) ->          imem_seco:account_name(SKey);
  if_meta_field_value(_SKey, Name) ->             imem_meta:meta_field_value(Name).
  
  add_attribute(_SKey, A, Opts) ->                imem_meta:add_attribute(A, Opts).
  
  update_opts(_SKey, T, Opts) ->                  imem_meta:update_opts(T, Opts).
  
  %% imem_if but security context added --- META INFORMATION ------
  
  schema(SKey) ->
      seco_authorized(SKey),
      imem_meta:schema().
  
  schema(SKey, Node) ->
      seco_authorized(SKey),
      imem_meta:schema(Node).
  
  % BIKRAM: exported for testing
  select_rowfun_str(SKey, ColMap, DateFmt, NumFmt, StrFmt) ->
      io:format(user, "imem_sec:select_rowfun_str~n", []),
      seco_authorized(SKey),
      imem_datatype:select_rowfun_str(ColMap, DateFmt, NumFmt, StrFmt).
  
  system_id(_Skey) ->
      imem_meta:system_id().
  
  is_system_table(SKey, Table) ->
      seco_authorized(SKey),    
      if_is_system_table(SKey, Table).
  
  meta_field_list(SKey) ->
      if_meta_field_list(SKey).
  
  meta_field(SKey, Name) ->
      if_meta_field(SKey, Name).
  
  meta_field_info(SKey, Name) ->
      if_meta_field_info(SKey, Name).
  
  meta_field_value(SKey, Name) ->
      if_meta_field_value(SKey, Name).
  
  column_map(_SKey, Tables, Columns) ->
      imem_sql:column_map(Tables, Columns).
  
negative.code:     PhysicalNames = imem_meta:physical_table_names(Name),
      Pred = fun(PN) -> have_table_permission(SKey, PN, select) end,
      lists:filter(Pred,PhysicalNames).
  
  table_columns(SKey, Table) ->
      case have_table_permission(SKey, Table, select) of
  