Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1XdlSy-0002XK-R2 for pgsql-bugs@arkaria.postgresql.org; Mon, 13 Oct 2014 19:39:36 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.80) (envelope-from ) id 1XdlSy-0004TF-8y for pgsql-bugs@arkaria.postgresql.org; Mon, 13 Oct 2014 19:39:36 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) (Exim 4.80) (envelope-from ) id 1XddS8-0007Ic-Ap for pgsql-bugs@postgresql.org; Mon, 13 Oct 2014 11:06:12 +0000 Received: from wrigleys.postgresql.org ([204.145.124.246]) by magus.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1XddRz-0005AR-Ju for pgsql-bugs@postgresql.org; Mon, 13 Oct 2014 11:06:11 +0000 MIME-Version: 1.0 Subject: BUG #11661: CASE ELSE is evaluated although condition is true To: pgsql-bugs@postgresql.org From: michael@aplaypowered.com Date: Mon, 13 Oct 2014 11:05:42 +0000 Message-ID: <20141013110542.25460.3900@wrigleys.postgresql.org> X-Pg-Spam-Score: -1.9 (-) Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-bugs Precedence: bulk Sender: pgsql-bugs-owner@postgresql.org The following bug has been logged on the website: Bug reference: 11661 Logged by: Michael Stieler Email address: michael@aplaypowered.com PostgreSQL version: 9.2.6 Operating system: RHEL Description: I am not sure if it is a bug, a lack in documentation or just a misunderstanding. This issue refers to a StackOverflow question at https://stackoverflow.com/questions/26297035/posgtres-case-condition-with-sum-aggregation-evaluates-not-needed-else-part The following query: case when sum( column1 ) = 0 then 0 else round( sum( price * hours / column1 ), 2 ) raises a division by zero error, although the condition sum(column1) = 0 is true. I would expect that the else part would never be evaluated. Documentation only describes that this happens for immediates. -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs