anchor.diff:      catch
           throw:Error when element(1,Error) == error -> Error
       end.
  +
  +temp_column_value(boolean)  -> {boolean, false};
  +temp_column_value(float)  -> {float, 0.30303030303};
  +temp_column_value(sint64)  -> {sint64, 30303030303};
  +temp_column_value(timestamp)  -> {timestamp, 30303030303};
  +temp_column_value(varchar) -> {varchar, <<"X-TEMP">>}.
   
   %% now break out the query on quantum boundaries
   -spec expand_query(?DDL{}, list(), ?SQL_SELECT{}, proplists:proplist()) ->
  
positive.code:         lists:sort([W || ?SQL_SELECT{'WHERE' = W} <- SubQueries])
      ).
  
  hoist_partition_key_equality_filters_test() ->
      {ok, ?SQL_SELECT{'WHERE' = Where}} = get_query(
          "SELECT * FROM table1 "
          "WHERE b = 20 AND (a = 1 OR a = 2);"),
      ?assertEqual(
          {{'=',<<"b">>,{integer,20}}, [{<<"a">>,[{'=',<<"a">>,{integer,2}},{'=',<<"a">>,{integer,1}}]}]},
          hoist_partition_key_equality_filters([<<"a">>,<<"b">>], Where)
      ).
  
  -endif.
  
negative.code: 
  query_has_no_AND_operator_2_test() ->
      DDL = get_standard_ddl(),
      {ok, Q} = get_query("select * from GeoCheckin where time > 1 OR time < 5"),
      ?assertEqual(
         {error, {time_bounds_must_use_and_op, ?E_TIME_BOUNDS_MUST_USE_AND}},
         compile(DDL, Q)
  