Thread
-
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: --------- --------------------------------------------------------------------------