From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?utf-8?Q?S=C3=A9bastien_Vauban?= Subject: Re: ob-sql error because of not specifying column-seperator Date: Fri, 03 Dec 2010 15:49:04 +0100 Message-ID: <807hfq29pb.fsf@missioncriticalit.com> References: <20101203.140155.105952638.joost@snow.nl> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org-mXXj517/zsQ@public.gmane.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org-mXXj517/zsQ@public.gmane.org To: emacs-orgmode-mXXj517/zsQ@public.gmane.org Hi Joost, Joost Helberg wrote: > when using babel SQL, the column's in the resultset are converted to > org-tables using (org-table-import file sep). > > The command used to retrieve the information from the databaseserver > gets the option to use the tab (\t) as columnseperator.=20 > > The call to org-table-import however doesn't specify this > seperator. This leaves it to org-table-import to find out what the > seperator is. org-table-import doesn't always succeed in this. Hence > the diff below which sets the seperator to (\t). > > regards, > > Joost Helberg > > diff --git a/lisp/ob-sql.el b/lisp/ob-sql.el > index 19c271d..6bb9a96 100644 > --- a/lisp/ob-sql.el > +++ b/lisp/ob-sql.el > @@ -80,7 +80,7 @@ This function is called by `org-babel-execute-src-block= '." > (message command) > (shell-command command) > (with-temp-buffer > - (org-table-import out-file nil) > + (org-table-import out-file '(16)) > (org-babel-reassemble-table > (org-table-to-lisp) > (org-babel-pick-name (cdr (assoc :colname-names params)) Nice catch! This one should improve the associated doc. --8<---------------cut here---------------start------------->8--- lisp/org-table.el --- INDEX:/lisp/org-table.el +++ WORKDIR:/lisp/org-table.el @@ -486,8 +486,8 @@ nil When nil, the command tries to be smart and fi= gure out the (goto-char beg) (org-table-align))) =20 -(defun org-table-import (file arg) - "Import FILE as a table. +(defun org-table-import (file separator) + "Import FILE as a table, using specified field SEPARATOR. The file is assumed to be tab-separated. Such files can be produced by mo= st spreadsheet and database applications. If no tabs (at least one per line) are found, lines will be split on whitespace into fields." @@ -496,7 +496,7 @@ are found, lines will be split on whitespace into field= s." (let ((beg (point)) (pm (point-max))) (insert-file-contents file) - (org-table-convert-region beg (+ (point) (- (point-max) pm)) arg))) + (org-table-convert-region beg (+ (point) (- (point-max) pm)) separator= ))) =20 =20 (defvar org-table-last-alignment) --8<---------------cut here---------------end--------------->8--- Best regards, Seb --=20 S=C3=A9bastien Vauban _______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode-mXXj517/zsQ@public.gmane.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode