anchor.diff:      select(atom_to_list(Table), Id, Context);
   select(Table, Id, Context) ->
       assert_table_name(Table),
  -    C = get_connection(Context),
  -    {ok, Row} = try
  -        Sql = "select * from \""++Table++"\" where id = $1 limit 1", 
  -        pgsql:assoc(C, Sql, [Id])
  -    after
  -        return_connection(C, Context)
  -    end,
  +    F = fun(C) ->
  +		Sql = "select * from \""++Table++"\" where id = $1 limit 1", 
  +		pgsql:assoc(C, Sql, [Id])
  +	end,
  +    {ok, Row} = with_connection(F, Context),
       
       Props = case Row of
           [R] ->
  
positive.code:     
  
  get_parameter(Parameter, Context) ->
      C = get_connection(Context),
      try
          {ok, Result} = pgsql:get_parameter(C, z_convert:to_binary(Parameter)),
          Result
      after
          return_connection(C, Context)
      end.
      
  
  %% @doc Return property lists of the results of a query on the database in the Context
  
negative.code:                  ++ " where id = $1",
          {ok, RowsUpdated} = pgsql:equery1(C, Sql, [Id | Params]),
          {ok, RowsUpdated}
      end,
      with_connection(F, Context).
  
  
  %% @doc Delete a row from a table, the row must have a column with the name 'id'
  