anchor.diff:  -export([create_schema/2]).
   -export([persist/2]).
   -export([delete/3, delete_all/2]).
  --export([prepare/2, execute/2, execute/3]).
  +-export([prepare/3, execute/2, execute/3]).
   -export([find_all/2, find_all/5, find_by/3, find_by/5]).
   
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  
positive.code: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  escape(String) ->
    ["`", String, "`"].
  
negative.code:   lager:debug("Query: ~s", [Query]),
    emysql:execute(Pool, Query).
  
  prepare(DocName, PreName, Fun) when is_atom(PreName), is_function(Fun) ->
    Name = statement_name(DocName, PreName),
    case emysql_statements:fetch(Name) of
      undefined ->
        Query = iolist_to_binary(Fun()),
        lager:debug("Preparing query: ~p: ~p", [Name, Query]),
        ok = emysql:prepare(Name, Query);
      Q -> lager:debug("Using already prepared query: ~p: ~p", [Name, Q])
    end,
    Name.
  
  %% @doc We can extend this to wrap around emysql records, so they don't end up
  %% leaking details in all the repo.
  