2017-04-11 9:07 GMT+02:00 Fabien COELHO <coe...@cri.ensmp.fr>:

>
> I think so implementation of simple expression evaluation should not be
>> hard
>>
>
> Indeed it is not hard, it is rather a matter of deciding what it should
> do, and the syntax to do it.
>
> - really just - we can expect so any variable will be replaced by
>> const in expression
>>
>> Num (<|>|=|<=|>=) Num
>>
>
> <> and != would seem handy as well.


sorry - I forgot



>
>
> Text (<|>|=|<=|>=) Text
>>
>
> What would be the use case for handling TEXT?
>
> not Bool, Bool (or|and) Bool
>>
>
> Aka logical expressions.
>
> and special operator "defined"
>>
>
> I'm still not buying this suggestion at all because it does not look like
> SQL and I think that client-side expressions should be a simple subset of
> SQL expressions, which a "defined" operators is definitely not.


The "defined" tests is not coming from SQL universe. It is coming from
scripting systems - In plain SQL I can use IS NULL. When I check any not
existing variable in plpgsql I expect syntax error. So SQL doesn't know any
similar to "defined" and it is ok. Currently In psql it is similar. When I
use undefined psql variable I got syntax error. When I expect so some
content of command line will come from command line or (possible) from some
interactive action I would to handle this situation to by my script more
user friendly - and I can write more user friendly error messages or I can
react on it - enforce user input.

I cannot do test on client side test on NULL - currently psql variables
doesn't support it - and I am think so it is not what I want - I am
interesting about some meta information from outside.

else

I need to check if I can use some psql variable. I have to do on client
side. In some languages is usual term defined - some other using some
special syntax or special environments.

The my proposal "defined variablename" should be simple on implementation,
but should not be one. It is just proposal.

The tests:

variable is defined, variable is null, ... is acceptable for me too -
although I have small problem with NULL, because NULL can got from server -
more psql variables doesn't support NULL, and support can enforce
incompatible change.


>
> Hmmm. I'm not sure I get it. The penalty I see is that it adds a dummy
>>> variable which must be given a sensible name, and for very short
>>> expressions this is not a win. But this is a minor point.
>>>
>>
> I know so it is not ideal - but the language with commands "\if", "\else"
>> ... is not ideal language.
>>
>
> Sure.
>
> --
> Fabien.
>

Reply via email to