Re: [HACKERS] psql - add special variable to reflect the last query status

Поиск
Список
Период
Сортировка
От Pavel Stehule
Тема Re: [HACKERS] psql - add special variable to reflect the last query status
Дата
Msg-id CAFj8pRDa2Rf2V4Dowgm8cfp4enb+=xf1f80romzcsPeyPM=2cQ@mail.gmail.com
обсуждение исходный текст
Ответ на Re: [HACKERS] psql - add special variable to reflect the last querystatus  (Fabien COELHO <coelho@cri.ensmp.fr>)
Ответы Re: [HACKERS] psql - add special variable to reflect the last querystatus  (Fabien COELHO <coelho@cri.ensmp.fr>)
Список pgsql-hackers


2017-06-28 9:25 GMT+02:00 Fabien COELHO <coelho@cri.ensmp.fr>:

Hello Pavel,

I agree that the existing "SetVariableBool" function is a misnommer, it should be "SetVariableOn" given what it does, and it is not what we need.

switching default setting from ON to TRUE requires wider discussion -

Yep.

in this moment I like to have special function "SetVariableON".

I'm fine with this, but this make it a change totally unrelated to this patch as it would not use the function... Moreover, this function would not use an hypothetical "set var bool" function because of the debatable on/off vs true/false change.

Also, a "set var bool" function would be called only twice, which is not very beneficial for a oneliner, so I left it out.

I agree that there is some common structure, but ISTM that the
AcceptResult function is called in a variety of situation where variables
are not to be set (eg "internal" queries, not user provided queries), so I
thought it best to keep the two apart.

I understand, but It is not nice, really  - maybe only switch can be moved
to some inlining function  like IsSuccess() - more .. with this function,
the SetResultVariables function will be more cleaner

Indeed. Attached v5 does that.

juju - something like this

+ if (success)
+ {
+ char   *ntuples = PQcmdTuples(results);
+ SetVariable(pset.vars, "ROW_COUNT", *ntuples ? ntuples : "0");
+ SetVariable(pset.vars, "ERROR", "FALSE");
+ }
+ else
+ {
+ SetVariable(pset.vars, "ROW_COUNT", "0");
+ SetVariable(pset.vars, "ERROR", "TRUE");
+ }
+} 

It can be simplified

SetVariable(pset.vars, "ROW_COUNT", success ? PQcmdTuples(results) : 0);
SetVariable(pset.vars, "ERROR", success ? "FALSE" : "TRUE");

Regards

Pavel
  


--
Fabien.

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Fabien COELHO
Дата:
Сообщение: Re: [HACKERS] psql - add special variable to reflect the last querystatus
Следующее
От: Fabien COELHO
Дата:
Сообщение: Re: [HACKERS] psql - add special variable to reflect the last querystatus