From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joost Helberg Subject: not handling failing sql statements in ob-sql.el with postgresql Date: Wed, 27 Nov 2013 10:49:52 +0100 Message-ID: <87y54ab2db.fsf@snow.nl> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:46342) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vlbl7-0004v1-Dx for emacs-orgmode@gnu.org; Wed, 27 Nov 2013 04:50:20 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Vlbl0-0000BV-9X for emacs-orgmode@gnu.org; Wed, 27 Nov 2013 04:50:13 -0500 Received: from mx.snow.nl ([213.154.248.146]:36458) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vlbl0-0008Rj-0d for emacs-orgmode@gnu.org; Wed, 27 Nov 2013 04:50:06 -0500 Received: from imap.snow.nl (imap.snow.nl [213.154.248.156]) by mx.snow.nl (Postfix) with ESMTP id 351E34025D for ; Wed, 27 Nov 2013 10:49:39 +0100 (CET) Received: from w520jo (neerijnen.snow.nl [213.154.248.134]) by imap.snow.nl (Postfix) with ESMTPSA id ED9BF2D64D1 for ; Wed, 27 Nov 2013 10:49:52 +0100 (CET) List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Emacs Org mode Hi, in case psql (version 9.1 and later) encounters a SQL error, e.g. a syntax error, it doesn't exit with an error-code. Instead it continues and exits with 0. This means that evaluating faulty SQL-code in org-mode/babel leaves the user with no clue of why the result set is empty. I changed the code in ob-sql.el by adding the --set="ON_ERROR_STOP-1" command-line option to the psql command in order to make things work correct. This option not only makes psql exit at the first error, it also exits with a not 0 error-code. line 125 and further of my ob-sql.el: ('postgresql (format "psql --set=\"ON_ERROR_STOP=1\" -A -P footer=off -F \"\t\" -f %s -o %s %s" (org-babel-process-file-name in-file) (org-babel-process-file-name out-file) (or cmdline ""))) Is this a change worth applying? Or will it break things? regards, Joost -- Snow B.V. http://snow.nl