mirror of
				https://github.com/sqlite/sqlite.git
				synced 2025-11-03 16:53:36 +03:00 
			
		
		
		
	Refinements to NULL processing: NULLs are indistinct for DISTINCT and UNION.
Multiplying a NULL by zero yields zero. In a CASE expression, a NULL comparison is considered false, not NULL. With these changes, NULLs in SQLite now work the same as in PostgreSQL and in Oracle. (CVS 600) FossilOrigin-Name: da61aa1d238539dff9c43fd9f464d311e28d669f
This commit is contained in:
		@@ -14,7 +14,7 @@
 | 
			
		||||
** This file contains functions for allocating memory, comparing
 | 
			
		||||
** strings, and stuff like that.
 | 
			
		||||
**
 | 
			
		||||
** $Id: util.c,v 1.44 2002/05/26 21:34:58 drh Exp $
 | 
			
		||||
** $Id: util.c,v 1.45 2002/05/31 15:51:25 drh Exp $
 | 
			
		||||
*/
 | 
			
		||||
#include "sqliteInt.h"
 | 
			
		||||
#include <stdarg.h>
 | 
			
		||||
@@ -728,6 +728,13 @@ int sqliteSortCompare(const char *a, const char *b){
 | 
			
		||||
  int isNumA, isNumB;
 | 
			
		||||
 | 
			
		||||
  while( res==0 && *a && *b ){
 | 
			
		||||
    if( a[1]==0 ){
 | 
			
		||||
      res = -1;
 | 
			
		||||
      break;
 | 
			
		||||
    }else if( b[1]==0 ){
 | 
			
		||||
      res = +1;
 | 
			
		||||
      break;
 | 
			
		||||
    }
 | 
			
		||||
    isNumA = sqliteIsNumber(&a[1]);
 | 
			
		||||
    isNumB = sqliteIsNumber(&b[1]);
 | 
			
		||||
    if( isNumA ){
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user