From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Kenneth Raeburn Newsgroups: gmane.emacs.devel Subject: Re: SQLite interface Date: Sat, 15 Mar 2014 02:53:04 -0400 Message-ID: <1B24FFF2-0973-4814-94EF-041B63E94B7B@raeburn.org> References: <87zjku76nk.fsf@mid.deneb.enyo.de> <87y50e6mck.fsf@lifelogs.com> <87pplp263o.fsf@mid.deneb.enyo.de> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 (Mac OS X Mail 7.2 \(1874\)) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1394866399 31671 80.91.229.3 (15 Mar 2014 06:53:19 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 15 Mar 2014 06:53:19 +0000 (UTC) Cc: emacs-devel@gnu.org To: Florian Weimer Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Mar 15 07:53:27 2014 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1WOiTG-0003dy-2j for ged-emacs-devel@m.gmane.org; Sat, 15 Mar 2014 07:53:26 +0100 Original-Received: from localhost ([::1]:48994 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WOiTF-0007ae-Nt for ged-emacs-devel@m.gmane.org; Sat, 15 Mar 2014 02:53:25 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:55525) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WOiT7-0007SH-8P for emacs-devel@gnu.org; Sat, 15 Mar 2014 02:53:23 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WOiT1-0000Pu-8Q for emacs-devel@gnu.org; Sat, 15 Mar 2014 02:53:17 -0400 Original-Received: from mail-qc0-f182.google.com ([209.85.216.182]:40283) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WOiT1-0000Pn-4S for emacs-devel@gnu.org; Sat, 15 Mar 2014 02:53:11 -0400 Original-Received: by mail-qc0-f182.google.com with SMTP id e16so3973756qcx.27 for ; Fri, 14 Mar 2014 23:53:10 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:mime-version:content-type:from :in-reply-to:date:cc:content-transfer-encoding:message-id:references :to; bh=WMPsYf1JTGqNPUhU66VegnDeqUxBzphjIHyDUEbHJks=; b=lo0iG14OeC+wB9pz5Bg0wzVla0jnQAGg5Y2Z2XKTdLyWw41+KdRoOlgHXZ6dx5tnPH ybePqoewEUiMa+3UfIeN89bZdx9o3k7dLSDidRLnNhlPmScoe4BjLUlDqzTx98OnmbEG pAvxs6HDtMeom9yR4bPle2VIRf2dkHT41+jWSA3nj5gc/DxzL/ea0jGsjvF3GThko6BF O6I1pFonvScmfv/pyeXAS82spKupK2dedoYgnJA2nLt8ECNAFEHV3Oo6v7a26xgZ6nwX KXFMl7t2j9UjqyLInxzbOAnR3ylXOzYacwluSAu1XAGNKrIpLE7QKZmGnjGSvUfASEd4 ZImA== X-Gm-Message-State: ALoCoQm7qz4YdvaSuCyZ5mfANkkhMtzeqgrFiHM63PILD7Jmp/ZO73A+U+NcufiLDSbR5yRqHNuw X-Received: by 10.229.183.200 with SMTP id ch8mr14849154qcb.17.1394866390263; Fri, 14 Mar 2014 23:53:10 -0700 (PDT) Original-Received: from [192.168.17.111] (c-50-138-183-134.hsd1.ma.comcast.net. [50.138.183.134]) by mx.google.com with ESMTPSA id r13sm23204955qan.7.2014.03.14.23.53.09 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 14 Mar 2014 23:53:09 -0700 (PDT) In-Reply-To: <87pplp263o.fsf@mid.deneb.enyo.de> X-Mailer: Apple Mail (2.1874) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.85.216.182 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:170379 Archived-At: On Mar 13, 2014, at 16:31, Florian Weimer wrote: > * Ted Zlatanov: >=20 >> Given that any possible FFI interface is after the freeze and = probably >> will take months to get into a released Emacs, can you consider = writing >> this with a shell backend for now and use the C API = opportunistically? >=20 > What does this mean? Do you want me to write a stub for the SQLite > API that runs as a subprocess and exposes that over some sort of RPC > interface? A Perl stub using DBI and DBD::SQLite, with communication in JSON or = YAML or some such (or s-expressions, if Perl module Data::SExpression is = fully Emacs compatible even for untrusted and binary or multibyte-text = data), may not be all that much work. >> I don't know the details about SQLite's accessibility, but I believe = it >> can do at least some useful things non-interactively over = STDOUT/STDIN. >=20 > Oh, you want me to use the existing sqlite3 command line client? > That's a non-starter. It is not binary-transparent, and it does not > separated support query parameters. My planned use case (Gnus) > handles untrusted data received over the network, so this approach > does not seem such a good idea to me. I suppose using SELECT QUOTE(CAST (column AS BLOB)) ... and INSERT ... = CAST(X'010203' AS TEXT), passing values as hexadecimal, would be = horribly intrusive when writing the queries and processing the results, = but is there more than that needed to use the command line client? Ken=