[Harbour] 2007-10-29 17:57 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
Marek Paliwoda
mpaliwoda at interia.pl
Thu Nov 1 18:54:37 GMT 2007
Przemek,
> Marek, because we are talking about existing Clipper code
> then please be so kind and also make "properly written code"
> from this example:
>
> PROC MYPROC(cFile)
> exp := dbSetFiler()
> SET FILTER TO
> COPY TO (cFile) FOR &exp NEXT 100 VIA DELIM
> SET FILTER TO &exp
> RETURN
>
> or any other similar which will use different xbase commands to
> manipulate data. Please note that in some cases expression evaluating
> will be done on client side and in some other on server and of course
> user cannot guess where because it's only RDD<->RDBMS decision. It's
> even possible that the same command can be evaluate locally and
> remotely depending on some other conditions (f.e. data in cache).
> You have just said that we have to forget about such possibilities.
> I can agree because, I also do not need NULL value myself and I do
> not like most of RDBMS so I usually try to not use them.
> But I'm not sure if you fully understand the conclusion:
> it will not be possible to write optimized RDD working with remote
> servers which will be safe to use with tables containing NULL values
> and will not force existing Clipper code updating.
Yes, I see now that you are right. It blocks some important
funcionality unnecesary. And I agree with you it is unacceptable.
From what Miguel writes about VFP, it seems that VFP implements full
"ANSI NULL" behavior on a language level. Much like you have proposed
it in one of your ealier posts. I don't know about any other language
that does the same. And I am not sure I like this idea, based on an
experience obtained from old Informix 4GL, thru PowerBuilder, to
current C#.
So, yes, introducing "ANSI NULL" into Harbour language will end up in
disabling JUMP opimisations, revising existing functions to properly
react on NULL parameters, adding proper handling of NULLs to existing
operators, and implement "NULL is NOT TRUE" paradigm for logical
expressions/conditions.
I am not sure it is worth the efforts. But if anyone wants to try it
I have nothing against.
--
Marek
More information about the Harbour
mailing list