anchor.diff:  	    Columns :: [column()])->
       ok | {error, Reason :: term()}.
   write(Session, TabName, Key, Columns) ->
  -    Data = gen_server:call(Session, {write, TabName, Key, Columns}, ?REQ_TIMEOUT),
  -    decode(Data).
  +    P = #'Write'{table_name = TabName,
  +		 key = make_seq_of_fields(Key),
  +		 columns = make_seq_of_fields(Columns)},
  +    transaction(Session, {write, P}).
   
   %%--------------------------------------------------------------------
   %% @doc
  
positive.code: 	     Key :: key())->
      ok | {error, Reason :: term()}.
  delete(Session, TabName, Key) ->
      Data = gen_server:call(Session, {delete, TabName, Key}, ?REQ_TIMEOUT),
      decode(Data).
  
  %%--------------------------------------------------------------------
  %% @doc
  
negative.code:     {ok, KVP :: kvp()} |
      {error, Reason :: invalid | term()}.
  next(Session, Ref) ->
      P = #'Next'{it = Ref},
      transaction(Session, {next, P}).
  
  %%--------------------------------------------------------------------
  %% @doc
  