anchor.diff:                  (CINames =:= Names) andalso (CITypes =:= Types) andalso (CIDefaults =:= Defaults) ->  
                       ok;
                   true ->                 
  -                    ?SystemException({"Record does not match table metadata",Table})
  +                    ?SystemException({"Record does not match table metadata",TableAlias})
               end;
           Else -> 
  -            ?SystemException({"Column definition does not match table metadata",{Table,Else}})    
  +            ?SystemException({"Column definition does not match table metadata",{TableAlias,Else}})    
       end;  
  -check_table_meta(Table, ColumnNames) when is_atom(Table) ->
  -    case imem_if:read(ddTable,{schema(), physical_table_name(Table)}) of
  -        [] ->   ?SystemException({"Missing table metadata",Table}); 
  +check_table_meta(TableAlias, ColumnNames) when is_atom(TableAlias) ->
  +    case imem_if:read(ddTable,{schema(), physical_table_name(TableAlias)}) of
  +        [] ->   ?SystemException({"Missing table metadata",TableAlias}); 
           [#ddTable{columns=ColumnInfo}] ->
               CINames = column_info_items(ColumnInfo, name),
               if
                   CINames =:= ColumnNames ->  
                       ok;
                   true ->                 
  -                    ?SystemException({"Record field names do not match table metadata",Table})
  +                    ?SystemException({"Record field names do not match table metadata",TableAlias})
               end          
       end.
   
   check_table_columns({ddSysConf, _}, _) -> ok;
  -check_table_columns(Table, {Names, Types, DefaultRecord}) when is_atom(Table) ->
  +check_table_columns(TableAlias, {Names, Types, DefaultRecord}) when is_atom(TableAlias) ->
       [_|Defaults] = tuple_to_list(DefaultRecord),
       ColumnInfo = column_infos(Names, Types, Defaults),
  -    TableColumns = table_columns(Table),    
  -    MetaInfo = column_infos(Table),    
  +    TableColumns = table_columns(TableAlias),    
  +    MetaInfo = column_infos(TableAlias),    
       if
           Names /= TableColumns ->
  -            ?SystemException({"Column names do not match table structure",Table});             
  +            ?SystemException({"Column names do not match table structure",TableAlias});             
           ColumnInfo /= MetaInfo ->
  -            ?SystemException({"Column info does not match table metadata",Table});
  +            ?SystemException({"Column info does not match table metadata",TableAlias});
           true ->     ok
       end;
  -check_table_columns(Table, [CI|_]=ColumnInfo) when is_atom(Table), is_tuple(CI) ->
  +check_table_columns(TableAlias, [CI|_]=ColumnInfo) when is_atom(TableAlias), is_tuple(CI) ->
       ColumnNames = column_info_items(ColumnInfo, name),
  -    TableColumns = table_columns(Table),
  -    MetaInfo = column_infos(Table),    
  +    TableColumns = table_columns(TableAlias),
  +    MetaInfo = column_infos(TableAlias),    
       if
           ColumnNames /= TableColumns ->
  -            ?SystemException({"Column info does not match table structure",Table}) ;
  +            ?SystemException({"Column info does not match table structure",TableAlias}) ;
           ColumnInfo /= MetaInfo ->
  -            ?SystemException({"Column info does not match table metadata",Table});
  +            ?SystemException({"Column info does not match table metadata",TableAlias});
           true ->     ok                           
       end;
  -check_table_columns(Table, ColumnNames) when is_atom(Table) ->
  -    TableColumns = table_columns(Table),
  +check_table_columns(TableAlias, ColumnNames) when is_atom(TableAlias) ->
  +    TableColumns = table_columns(TableAlias),
       if
           ColumnNames /= TableColumns ->
  -            ?SystemException({"Column info does not match table structure",Table}) ;
  +            ?SystemException({"Column info does not match table structure",TableAlias}) ;
           true ->     ok                           
       end.
   
  
positive.code: 
  
  check_table_meta({ddSysConf, _}, _) -> ok;
  check_table_meta(Table, {Names, Types, DefaultRecord}) when is_atom(Table) ->
      [_|Defaults] = tuple_to_list(DefaultRecord),
      ColumnInfos = column_infos(Names, Types, Defaults),
      case imem_if:read(ddTable,{schema(), physical_table_name(Table)}) of
          [] ->   ?SystemException({"Missing table metadata",Table}); 
          [#ddTable{columns=ColumnInfos}] ->
              CINames = column_info_items(ColumnInfos, name),
              CITypes = column_info_items(ColumnInfos, type),
  
negative.code:     DefaultRecord = list_to_tuple([rec|column_info_items(ColumnInfos, default)]),
      {ColumnNames, ColumnTypes, DefaultRecord}.
  
  create_table(TableAlias, Columns, Opts) ->
      create_table(TableAlias, Columns, Opts, #ddTable{}#ddTable.owner).
  
  create_table(TableAlias, {ColumnNames, ColumnTypes, DefaultRecord}, Opts, Owner) ->
      [_|Defaults] = tuple_to_list(DefaultRecord),
      ColumnInfos = column_infos(ColumnNames, ColumnTypes, Defaults),
      create_physical_table(TableAlias,ColumnInfos,Opts,Owner);
  create_table(TableAlias, [#ddColumn{}|_]=ColumnInfos, Opts, Owner) ->
      Conv = fun(X) ->
          case X#ddColumn.name of
              A when is_atom(A) -> X; 
              B -> X#ddColumn{name=?binary_to_atom(B)} 
          end
      end,
      create_physical_table(qualified_new_table_name(TableAlias),lists:map(Conv,ColumnInfos),Opts,Owner);
  create_table(TableAlias, ColumnNames, Opts, Owner) ->
      ColumnInfos = column_infos(ColumnNames),
      create_physical_table(TableAlias,ColumnInfos,Opts,Owner).
  
  create_check_table(TableAlias, Columns, Opts) ->
      create_check_table(TableAlias, Columns, Opts, (#ddTable{})#ddTable.owner).
  
  create_check_table(TableAlias, [#ddColumn{}|_]=ColumnInfos, Opts, Owner) ->
      Conv = fun(X) ->
          case X#ddColumn.name of
              A when is_atom(A) -> X; 
  