anchor.diff:  
   parse_status_vector(Sock) ->
       lists:reverse(parse_status_vector_args(Sock, [])).
  +
  +more_select_describe_vars(Sock, StmtHandle, StartIndex) ->
  +    %% isc_info_sql_sqlda_start + INFO_SQL_SELECT_DESCRIBE_VARS
  +    V = lists:flatten([20, byte4(StartIndex), ?INFO_SQL_SELECT_DESCRIBE_VARS]),
  +    op_info_sql(StmtHandle, V).
   
   parse_select_item(Sock) ->
       #column{}.
  
positive.code: -include("efirebirdsql.hrl").
  
  -define(BUFSIZE, 1024).
  
  %%% skip 4 byte alignment socket stream
  skip4(Sock, Len) ->
  
negative.code:         list_to_xdr_bytes(DescItems),
          byte4(?BUFSIZE)]).
  
  op_info_sql(StmtHandle, V) ->
      list_to_binary([
          byte4(op_val(op_info_sql)),
          byte4(StmtHandle),
          byte4(0),
          list_to_xdr_bytes(V),
          byte4(?BUFSIZE)]).
  
  %%% commit
  op_commit_retaining(TransHandle) ->
  