Browse Source

save ParameterStatus

Anton Lebedevich 13 years ago
parent
commit
a03332eded
2 changed files with 5 additions and 4 deletions
  1. 4 3
      src/pgsql_sock.erl
  2. 1 1
      src/pgsql_wire.erl

+ 4 - 3
src/pgsql_sock.erl

@@ -234,11 +234,12 @@ on_message({$N, Data}, State) ->
     {notice, pgsql_wire:decode_error(Data)},
     {notice, pgsql_wire:decode_error(Data)},
     {infinity, State};
     {infinity, State};
 
 
+%% ParameterStatus
 on_message({$S, Data}, State) ->
 on_message({$S, Data}, State) ->
     [Name, Value] = pgsql_wire:decode_strings(Data),
     [Name, Value] = pgsql_wire:decode_strings(Data),
-    %% TODO use it
-    {parameter_status, Name, Value},
-    {infinity, State};
+    Parameters2 = lists:keystore(Name, 1, State#state.parameters,
+                                 {Name, Value}),
+    {noreply, State#state{parameters = Parameters2}};
 
 
 on_message({$E, Data}, State) ->
 on_message({$E, Data}, State) ->
     %% TODO use it
     %% TODO use it

+ 1 - 1
src/pgsql_wire.erl

@@ -41,7 +41,7 @@ decode_fields(Bin) ->
 decode_fields(<<0>>, Acc) ->
 decode_fields(<<0>>, Acc) ->
     Acc;
     Acc;
 decode_fields(<<Type:8, Rest/binary>>, Acc) ->
 decode_fields(<<Type:8, Rest/binary>>, Acc) ->
-    {Str, Rest2} = decode_string(Rest),
+    [Str, Rest2] = decode_string(Rest),
     decode_fields(Rest2, [{Type, Str} | Acc]).
     decode_fields(Rest2, [{Type, Str} | Acc]).
 
 
 %% decode ErrorResponse
 %% decode ErrorResponse