anchor.diff:  		F(F, mnesia:select(product, MatchSpec,
   				?CHUNKSIZE, read), Acc);
   		(_F, '$end_of_table', Acc) ->
  -				lists:flatten(lists:reverse(Acc));
  +				{ok, lists:flatten(lists:reverse(Acc))};
   		(_F, {error, Reason}, _Acc) ->
   				{error, Reason};
   		(F,{Products, Cont}, Acc) ->
   				F(F, mnesia:select(Cont), [Products | Acc])
   	end,
  -	case mnesia:transaction(F, [F, start, []]) of
  -		{aborted, Reason} ->
  +	case mnesia:ets(F, [F, start, []]) of
  +		{error, Reason} ->
   			{error, Reason};
  -		{atomic, Result} ->
  +		{ok, Result} ->
   			Result
   	end.
   
  
positive.code: 				F(F, mnesia:select(client, MatchSpec,
  						?CHUNKSIZE, read), Acc);
  			(_F, '$end_of_table', Acc) ->
  				lists:flatten(lists:reverse(Acc));
  			(_F, {error, Reason}, _Acc) ->
  				{error, Reason};
  			(F,{Clients, Cont}, Acc) ->
  				F(F, mnesia:select(Cont), [Clients | Acc])
  	end,
  	case mnesia:transaction(F, [F, start, []]) of
  		{aborted, Reason} ->
  			{error, Reason};
  		{atomic, Result} ->
  			Result
  	end.
  
  
negative.code: 				F(F, mnesia:select(service, MatchSpec,
  						?CHUNKSIZE, read), Acc);
  			(_F, '$end_of_table', Acc) ->
  				{ok, lists:flatten(lists:reverse(Acc))};
  			(_F, {error, Reason}, _Acc) ->
  				{error, Reason};
  			(F,{Services, Cont}, Acc) ->
  				F(F, mnesia:select(Cont), [Services | Acc])
  	end,
  	case mnesia:ets(F, [F, start, []]) of
  		{error, Reason} ->
  			{error, Reason};
  		{ok, Result} ->
  			Result
  	end.
  
  