anchor.diff:               ++ string:join([ [$$ | integer_to_list(N)] || N <- lists:seq(1, length(Parameters)) ], ", ")
                ++ ")",
   
  -    FinalSql = case proplists:is_defined(id, Cols) of
  +    FinalSql = case lists:member(id, Cols) of
           true -> Sql ++ " returning id";
           false -> Sql
       end,
  
positive.code:     end.
  
  split_props(Props, Cols) ->
      {CProps, PProps} = lists:partition(fun ({P,_V,_M}) -> proplists:is_defined(P, Cols) end, Props),
      case PProps of
          [] -> ok;
          _  -> z_utils:assert(proplists:is_defined(props, Cols), {unknown_column, PProps})
      end,
      {CProps, PProps}.
  
  
negative.code:     update(atom_to_list(Table), Id, Parameters, Context);
  update(Table, Id, Parameters, Context) ->
      assert_table_name(Table),
      Cols         = column_names(Table, Context),
      UpdateProps  = prepare_cols(Cols, Parameters),
      C            = get_connection(Context),
      UpdateProps1 = case proplists:is_defined(props, UpdateProps) of
  