anchor.diff:  stmt_attr_set(#prepare{}=X, ?STMT_ATTR_PREFETCH_ROWS, Value) ->
       X#prepare{prefetch_rows = Value}.
   
  --spec stmt_warning_count(prepare()) -> non_neg_integer().
  -stmt_warning_count(#prepare{result=R}) -> warning_count(R).
  +-spec stmt_warning_count(term()) -> non_neg_integer()|undefined.
  +stmt_warning_count(#prepare{result=R}) -> warning_count(R);
  +stmt_warning_count(_) -> undefined.
   
   %% == private ==
   
  
positive.code: 
  %% -- internal --
  -record(myer, {
            sup     :: pid(),
            worker  :: pid(),
            timeout :: timeout()
           }).
  
  -type(myer() :: #myer{}).
  
negative.code: more_results(_) ->
      false.
  
  -spec sqlstate(term()) -> binary()|undefined.
  sqlstate(#reason{state=S}) -> S;
  sqlstate(_) -> undefined.
  
  -spec warning_count(term()) -> non_neg_integer()|undefined.
  warning_count(#result{warning_count=W}) -> W;
  warning_count(_) -> undefined.
  
  -spec stmt_affected_rows(term()) -> non_neg_integer()|undefined.
  stmt_affected_rows(#prepare{result=R}) -> affected_rows(R);
  stmt_affected_rows(_) -> undefined.
  
  -spec stmt_field_count(term()) -> non_neg_integer()|undefined.
  stmt_field_count(#prepare{field_count=F}) -> F;
  stmt_field_count(_) -> undefined.
  
  -spec stmt_insert_id(term()) -> non_neg_integer()|undefined.
  stmt_insert_id(#prepare{result=R}) -> insert_id(R);
  stmt_insert_id(_) -> undefined.
  
  -spec stmt_param_count(term()) -> non_neg_integer()|undefined.
  stmt_param_count(#prepare{param_count=P}) -> P;
  stmt_param_count(_) -> undefined.
  
  -spec stmt_attr_get(term(),non_neg_integer()) -> non_neg_integer()|undefined.
  stmt_attr_get(#prepare{flags=F}, ?STMT_ATTR_CURSOR_TYPE) -> F;
  stmt_attr_get(#prepare{prefetch_rows=P}, ?STMT_ATTR_PREFETCH_ROWS) -> P;
  stmt_attr_get(_,_) -> undefined.
  
  -spec stmt_attr_set(prepare(),non_neg_integer(),non_neg_integer()) -> prepare().
  stmt_attr_set(#prepare{}=X, ?STMT_ATTR_CURSOR_TYPE, Value) ->
  