Thread

  1. General Bug Report: empty SELECT WHEREs return error

    Unprivileged user <nobody> — 1999-06-23T08:34:49Z

    ============================================================================
                            POSTGRESQL BUG REPORT TEMPLATE
    ============================================================================
    
    
    Your name               : Austin Schutz
    Your email address      : tex@habit.com
    
    Category                : runtime: back-end: SQL
    Severity                : serious
    
    Summary: empty SELECT WHEREs return error
    
    System Configuration
    --------------------
      Operating System   : SunOS 5.6
    
      PostgreSQL version : 6.0
    
      Compiler used      : gcc 2.8.1
    
    Hardware:
    ---------
    SunOS pita 5.6 Generic_105181-09 sun4u sparc SUNW,Ultra-1
    
    Versions of other tools:
    ------------------------
    
    
    --------------------------------------------------------------------------
    
    Problem Description:
    --------------------
    select * from foo where bar = "baz"
    produces "ERROR:  attribute 'hna' not found"
    if there is no row with bar == "baz".
    Rather than errorring an empty set should be returned.
    This is important for cross-db-portable applications
    which need to know whether a legitimate query returns
    no rows vs. a 'bad' query.
    	It would be possible to test the error response for
    being the specific 'attribute not found' error, but this is
    extremely un-portable behavior (code would only work on
    postgres) and further would mask cases where column bar
    doesn't exist and the 'attribute not found' error is
    correct.
    
    --------------------------------------------------------------------------
    
    Test Case:
    ----------
    create table foo (bar char(1));
    select * from foo where ( bar = "baz" );
    ERROR:  attribute 'baz' not found
    
    
    --------------------------------------------------------------------------
    
    Solution:
    ---------
    
    
    --------------------------------------------------------------------------