anchor.diff:  handle_call({prepare, Sql}, _From, State) ->
       case R = prepare_statement(State#state.mod, State#state.sock,
                   State#state.trans_handle, State#state.stmt_handle, Sql) of
  -        {StmtType, Columns} ->
  -            {reply, ok, State#state{stmt_type=StmtType, columns=Columns}};
  +        {StmtType, XSqlVars} ->
  +            {reply, ok, State#state{stmt_type=StmtType, xsqlvars=XSqlVars}};
           _ ->
               {reply, ok, State#state{stmt_type=R}}
       end;
  
positive.code:         _ -> {error, "Execute query failed"}
      end.
  
  description([], OutColumns) ->
      lists:reverse(OutColumns);
  description(InColumns, OutColumns) ->
      [H | T] = InColumns,
      description(T, [{column, H#column.name, H#column.type, H#column.scale,
                        H#column.length, H#column.null_ind} | OutColumns]).
  
  commit(Mod, Sock, TransHandle) ->
      Mod:send(Sock,
  
negative.code: handle_call(description, _From, State) ->
      case State#state.stmt_type of
          isc_info_sql_stmt_select
              -> {reply, description(State#state.xsqlvars, []), State};
          _
              -> {reply, no_result, State}
      end;
  