From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jason Riedy Subject: [PATCH 4/4] Clean up orgtbl-sqlinsert. Date: Sun, 4 May 2008 18:54:43 -0700 Message-ID: <1209952483-23714-5-git-send-email-jason@acm.org> References: <1209952483-23714-1-git-send-email-jason@acm.org> <1209952483-23714-2-git-send-email-jason@acm.org> <1209952483-23714-3-git-send-email-jason@acm.org> <1209952483-23714-4-git-send-email-jason@acm.org> Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Jspuw-0006Uo-8o for emacs-orgmode@gnu.org; Sun, 04 May 2008 21:55:02 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Jspuu-0006Ti-8r for emacs-orgmode@gnu.org; Sun, 04 May 2008 21:55:01 -0400 Received: from [199.232.76.173] (port=33056 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Jsput-0006TM-Mu for emacs-orgmode@gnu.org; Sun, 04 May 2008 21:54:59 -0400 Received: from b.mail.sonic.net ([64.142.19.5]) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1Jsput-0004CV-Bh for emacs-orgmode@gnu.org; Sun, 04 May 2008 21:54:59 -0400 In-Reply-To: <1209952483-23714-4-git-send-email-jason@acm.org> 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@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org Cc: Jason Riedy Use the default fmt function, collect only the first header line for field names, and don't call plist-get for the table name on every line. Signed-off-by: Jason Riedy --- contrib/ChangeLog | 7 +++++++ contrib/lisp/orgtbl-sqlinsert.el | 13 +++++++------ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/contrib/ChangeLog b/contrib/ChangeLog index 5db4bb3..85a7a27 100644 --- a/contrib/ChangeLog +++ b/contrib/ChangeLog @@ -1,3 +1,10 @@ +2008-05-04 Jason Riedy + + * lisp/orgtbl-sqlinsert.el (orgtbl-to-sqlinsert): Use the + default fmt function, collect only the first header line for + field names, and don't call plist-get for the table name on + every line. + 2008-04-15 Jason Riedy * lisp/orgtbl-sqlinsert.el: New file. diff --git a/contrib/lisp/orgtbl-sqlinsert.el b/contrib/lisp/orgtbl-sqlinsert.el index 869f74f..648e44c 100644 --- a/contrib/lisp/orgtbl-sqlinsert.el +++ b/contrib/lisp/orgtbl-sqlinsert.el @@ -64,6 +64,8 @@ this function is called." org-table-last-alignment "")) (nowebname (plist-get params :nowebname)) (breakvals (plist-get params :breakvals)) + (firstheader t) + (*orgtbl-default-fmt* 'orgtbl-sql-strip-and-quote) (params2 (list :sqlname name @@ -72,12 +74,10 @@ this function is called." "") "BEGIN TRANSACTION;")) :tend (lambda () (concat "COMMIT;" (if nowebname "\n@ " ""))) - :fmt (lambda (str) (orgtbl-sql-strip-and-quote str)) -; :hfmt (lambda (f) (push (concat "[" f "]") hdrlist) "") - :hfmt (lambda (f) (push f hdrlist) "") - :hlfmt (lambda (lst) nil) + :hfmt (lambda (f) (progn (if firstheader (push f hdrlist)) "")) + :hlfmt (lambda (lst) (setq firstheader nil)) :lstart (lambda () (concat "INSERT INTO " - (plist-get params :sqlname) "( " + sqlname "( " (mapconcat 'identity (reverse hdrlist) ", ") " )" (if breakvals "\n" " ") @@ -86,7 +86,8 @@ this function is called." :sep " , " :hline nil :remove-nil-lines t)) - (params (org-combine-plists params2 params))) + (params (org-combine-plists params2 params)) + (sqlname (plist-get params :sqlname))) (orgtbl-to-generic table params))) (defun orgtbl-sql-quote (str) -- 1.5.5.rc1.121.g1594