Thread

  1. Unable to convert null timestamp to date. Bug?

    Edmar Wiggers <edmar@brasmap.com> — 2000-12-07T23:08:09Z

    Strange, this works:
      select * from users where last_visit > now() + 7; 
      -- last_visit is nullable, of type timestamp
    
    But this doesn't
      select * from users where last_visit + 7 > now();
      ERROR:  Unable to convert null timestamp to date
      -- yes, there are users where last_visit IS NULL
    
    BTW, this works too:
      select null+1; -- obviously returns NULL
    
    System is FreeBSD 4.1, PgSQL 7.0.2
    
    Anyone got a clue?
    
    Yours sincerely,
    
    Edmar Wiggers
    BRASMAP Information Systems
    +55 48 9960 2752
    
    
  2. Re: [SQL] Unable to convert null timestamp to date. Bug?

    Tom Lane <tgl@sss.pgh.pa.us> — 2000-12-08T01:01:51Z

    "Edmar Wiggers" <edmar@brasmap.com> writes:
    >   select * from users where last_visit + 7 > now();
    >   ERROR:  Unable to convert null timestamp to date
    
    Yeah, someone who hadn't quite grokked the concept of NULL seems to have
    written a lot of the date.c code :-(.
    
    This is fixed for 7.1.  If it's really bothering you in 7.0.*, see
    src/backend/utils/adt/date.c, and change code like
    
        if (!PointerIsValid(timestamp))
            elog(ERROR, "Unable to convert null timestamp to date");
    
    to
    
        if (!PointerIsValid(timestamp))
    	return NULL;
    
    in several places.
    
    			regards, tom lane