Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project!

## Re: [Firebird-docs] 2.0 Release Notes: NULLS placement

 Re: [Firebird-docs] 2.0 Release Notes: NULLS placement From: Paul Vinkenoog - 2006-12-17 01:54:35 ```Hi Helen, >> Should be: "...always at the bottom ... use the NULLS LAST option..." > Agreed - it sounds right. Dmitry wrote the original so I'll need to > chase him up about this. While you're talking to him, here's a related issue: Data Manipulation Language (DML) :: New and Extended DSQL Syntaxes :: Enhancements to NULL Logic :: (NULL=NULL) Can Return True for DISTINCT Test O. Loa, D. Yemanov A new equivalence predicate behaves exactly like the equality/ inequality predicates, but tests whether one value is distinct from the other. Thus, it treats (NULL = NULL) as TRUE. It is available in both DSQL and PSQL. First, the header causes confusion in two ways: 1) NULL=NULL *never* returns True, but always Null. 2) '=' is another operator than 'DISTINCT' (of course *we* all understand what is meant here, but we have to think of the average user, who may have some trouble with the NULL concept already) A a replacement, I suggest: "NULL equals NULL in new DISTINCT test" In the paragraph that follows, '=' is again mixed up with 'distinct'. I would rewrite it along these lines: A new (in)equivalence predicate, available in both DSQL and PSQL, behaves exactly like the (in)equality operators '<>' and '=' for regular values. The difference is in the way NULLs are treated: all NULL expressions are considered equal (NOT DISTINCT), and NULL is considered unequal to anything else (DISTINCT). In the remainder, the word "value" is often used, even "null values". Since we always stress that NULL is not a value, maybe we should replace "value" with "expression". Greetings, Paul Vinkenoog ```

 [Firebird-docs] 2.0 Release Notes: NULLS placement From: Paul Vinkenoog - 2006-12-15 16:11:37 ```Hi Helen, Some comments to the Fb2 Release Notes. Data Manipulation Language (DML) :: New and Extended DSQL Syntaxes :: Enhancements to NULL Logic :: NULLs Ordering Changed to Comply with Standard Since the 1.5 notes stated (correctly) that no index would be used if you specified NULLS FIRST, I think we should add the following information after the first paragraph: If you override the default nulls placement, no index will be used for sorting. That is, no index will be used with NULLS LAST on an ascending sort and NULLS FIRST on a descending sort. Known Compatibility Issues :: SQL Migration Issues :: PSQL :: NULLS are now "lowest" for sorts :: Important "In former versions, NULLs were always on top. If you have client code or PSQL definitons that rely on the legacy NULLs placement, it will be necessary to use the NULLS FIRST option in your ORDER BY clauses." Should be: "...always at the bottom ... use the NULLS LAST option..." Greetings, Paul Vinkenoog ```
 Re: [Firebird-docs] 2.0 Release Notes: NULLS placement From: Helen Borrie - 2006-12-15 21:24:14 ```At 03:10 AM 16/12/2006, you wrote: >Hi Helen, > >Some comments to the Fb2 Release Notes. > > >Data Manipulation Language (DML) :: New and Extended DSQL Syntaxes :: >Enhancements to NULL Logic :: NULLs Ordering Changed to Comply with >Standard > >Since the 1.5 notes stated (correctly) that no index would be used >if you specified NULLS FIRST, I think we should add the following >information after the first paragraph: > > If you override the default nulls placement, no index will be used > for sorting. That is, no index will be used with NULLS LAST on an > ascending sort and NULLS FIRST on a descending sort. Good idea. >Known Compatibility Issues :: SQL Migration Issues :: PSQL :: >NULLS are now "lowest" for sorts :: Important > > "In former versions, NULLs were always on top. If you have client > code or PSQL definitons that rely on the legacy NULLs placement, it > will be necessary to use the NULLS FIRST option in your ORDER BY > clauses." > >Should be: "...always at the bottom ... use the NULLS LAST option..." Agreed - it sounds right. Dmitry wrote the original so I'll need to chase him up about this. cheers, Helen ```
 Re: [Firebird-docs] 2.0 Release Notes: NULLS placement From: Dmitry Yemanov - 2006-12-16 06:45:05 ```Helen Borrie wrote: > >> Known Compatibility Issues :: SQL Migration Issues :: PSQL :: >> NULLS are now "lowest" for sorts :: Important >> >> "In former versions, NULLs were always on top. If you have client >> code or PSQL definitons that rely on the legacy NULLs placement, it >> will be necessary to use the NULLS FIRST option in your ORDER BY >> clauses." >> >> Should be: "...always at the bottom ... use the NULLS LAST option..." > > Agreed - it sounds right. Dmitry wrote the original so I'll need to > chase him up about this. It looks like my mistake, sorry for that. Dmitry ```
 Re: [Firebird-docs] 2.0 Release Notes: NULLS placement From: Paul Vinkenoog - 2006-12-17 01:54:35 ```Hi Helen, >> Should be: "...always at the bottom ... use the NULLS LAST option..." > Agreed - it sounds right. Dmitry wrote the original so I'll need to > chase him up about this. While you're talking to him, here's a related issue: Data Manipulation Language (DML) :: New and Extended DSQL Syntaxes :: Enhancements to NULL Logic :: (NULL=NULL) Can Return True for DISTINCT Test O. Loa, D. Yemanov A new equivalence predicate behaves exactly like the equality/ inequality predicates, but tests whether one value is distinct from the other. Thus, it treats (NULL = NULL) as TRUE. It is available in both DSQL and PSQL. First, the header causes confusion in two ways: 1) NULL=NULL *never* returns True, but always Null. 2) '=' is another operator than 'DISTINCT' (of course *we* all understand what is meant here, but we have to think of the average user, who may have some trouble with the NULL concept already) A a replacement, I suggest: "NULL equals NULL in new DISTINCT test" In the paragraph that follows, '=' is again mixed up with 'distinct'. I would rewrite it along these lines: A new (in)equivalence predicate, available in both DSQL and PSQL, behaves exactly like the (in)equality operators '<>' and '=' for regular values. The difference is in the way NULLs are treated: all NULL expressions are considered equal (NOT DISTINCT), and NULL is considered unequal to anything else (DISTINCT). In the remainder, the word "value" is often used, even "null values". Since we always stress that NULL is not a value, maybe we should replace "value" with "expression". Greetings, Paul Vinkenoog ```
 Re: [Firebird-docs] 2.0 Release Notes: NULLS placement From: Helen Borrie - 2006-12-17 10:00:49 ```At 12:54 PM 17/12/2006, Paul B wrote: [all about null equals null] I agree with all of it. One for you - Stefan Heymann has re-rendered all of our logos. You might like to take a look at the logo page (click-thru in the Resources menu from the website) and consider using the drop-shadow version for our docs. Helen ```