anchor.diff:  cast_value_to_ast(T, V) when (T == integer orelse T == timestamp), is_float(V)   -> {T, erlang:round(V)};
   cast_value_to_ast(float, V) when is_integer(V) -> {integer, V*1.0};
   cast_value_to_ast(float, V) when is_float(V)   -> {integer, V}.
  -
  -% typeof_ast(Mod, FieldName) when is_binary(FieldName) ->
  -%     Mod:get_field_type([FieldName]).
   
   -record(filtercheck, {name,'=','>','>=','<','<='}).
   
  
positive.code: %% Note that when such a query begins to be actually executed, the
  %% chunks will need to be really small, for the result to be within
  %% max query size.
  
  
  -spec compile(?DDL{}, ?SQL_SELECT{}) ->
      {ok, [?SQL_SELECT{}]} | {error, any()}.
  
negative.code:     lists:keyreplace(Field, 1, TupleList, {Field, FieldType, NewVal}).
  
  resolve_expressions(Mod, WhereAST) ->
      Acc = acc, %% not used
      riak_ql_ddl:mapfold_where_tree(
          fun (_, Op, Acc_x) when Op == and_; Op == or_ ->
                  {ok, Acc_x};
  