anchor.diff:  %% each row is converted into a proplist and then collected
   %% up into a list containing all the converted rows for
   %% a given query result.
  -%% unpack_rows(#result_packet{field_list=Fields, rows=Rows}) ->
  -%%     unpack_rows(Fields, Rows, []).
  -
  -%% unpack_rows(_Fields, [], []) ->
  -%%     none;
  -%% unpack_rows(_Fields, [], Accum) ->
  -%%     lists:reverse(Accum);
  -%% unpack_rows(Fields, [Values|T], Accum) ->
  -%%     F = fun(Field, {Idx, Row}) ->
  -%%                 {Idx + 1, [{Field#field.name, lists:nth(Idx, Values)}|Row]} end,
  -%%     {_, Row} = lists:foldl(F, {1, []}, Fields),
  -%%     unpack_rows(Fields, T, [lists:reverse(Row)|Accum]).
   
   -spec unpack_rows([binary()], [[any()]]) -> [[{any(), any()}]].
   unpack_rows(Columns, RowData) ->
       [ lists:zip(Columns, tuple_to_list(Row)) || Row <- RowData ].
  +
  
positive.code:     {db, Db} = lists:keyfind(db, 1, Config),
      {prepared_statement_source, PreparedStatementFile} = lists:keyfind(prepared_statement_source, 1, Config),
      Opts = [{database, Db}, {port, Port}],
      case pgsql:connect(Host, User, Pass, Opts) of
          {error, timeout} ->
              {stop, timeout};
  
negative.code:     case Result of
          {ok, RowData} ->
              Rows = unpack_rows(Columns, RowData),
              TRows = sqerl_transformers:by_column_name(Rows, CTrans),
              {{ok, TRows}, State};
          Result ->
              {{error, Result}, State}
      end.
  