From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2351 invoked by alias); 22 Feb 2017 04:41:58 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 40612 Received: (qmail 6199 invoked from network); 22 Feb 2017 04:41:58 -0000 X-Qmail-Scanner-Diagnostics: from park01.gkg.net by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.99.2/21882. spamassassin: 3.4.1. Clear:RC:0(205.235.26.22):SA:0(0.5/5.0):. Processed in 1.049667 secs); 22 Feb 2017 04:41:58 -0000 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=0.5 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, RCVD_IN_SORBS_SPAM,RP_MATCHES_RCVD,T_DKIM_INVALID autolearn=no autolearn_force=no version=3.4.1 X-Envelope-From: SRS0=Kcsy=2D=brasslantern.com=schaefer@bounces.park01.gkg.net X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | Received-SPF: none (ns1.primenet.com.au: domain at bounces.park01.gkg.net does not designate permitted sender hosts) X-Virus-Scanned: by amavisd-new at gkg.net Authentication-Results: amavisd4.gkg.net (amavisd-new); dkim=pass (2048-bit key) header.d=brasslantern-com.20150623.gappssmtp.com X-Greylist: from auto-whitelisted by SQLgrey-1.8.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=brasslantern-com.20150623.gappssmtp.com; s=20150623; h=from:message-id:date:in-reply-to:comments:references:to:subject :mime-version; bh=lTugeEdaGMZen/hk8NiZvp1HuYuVi1KQb5BFOldmj4U=; b=Nq/G+iRhoJlPwVFrpGjWqQXLxIGeEHCwKruft9GRBByt7dXIVJpyp4J26TphoD5wbn UuNMCLnCMN4jvq2l5zJidc4/RibKmVWqVu13sSpJZ3f3j3T5RMWi9zJxBpFDCh3WGk8p MUeqfzaDbQS4CJ30ySzOvJCgQoymYhqLa2mmKYVVQIQwnzz5FZg8fRqW4M0YFWT440rz Dn7ijHqkEuBS3Oe1XFsJmsKpLOwcAqZ0HGlM6QJlNUWXIo1+EdK18+0WHqXbzHjnLg7F LPM/JtDNlmktWTmXwsIKUJfZr/7vWCiv+4MW0CpJR+TxFTYUQWXb0xNziulTQs+NNC22 Usbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:message-id:date:in-reply-to:comments :references:to:subject:mime-version; bh=lTugeEdaGMZen/hk8NiZvp1HuYuVi1KQb5BFOldmj4U=; b=ilf+34oMV9Ev2MXEoQJyT42UQuVPTZRaucHfqO3IDTPw15m1netphcHZIEVrQ6O2qr R0bIbXiJQLIYTgJmeTCrsiAg6PP7JuxRWyylMkLm+21VuH9sy8V3pduHRcp6vJ6wVULT 1gkimBrXVNcEngOxPcGpcXsLgPSLddJceI9RDJmwHD9kn5G2ksSbXb8aEqni318vAgLh f+D3ctvInQCB+TgfZvN6J0V+cyythVrDf6Va0HllsqOI4qUTXE2miwVLbnRF6PWRtvLW tnEsEuY3MAyRtB6dZAsFdS9J25NH3X3HWBzetCxhvP5MkCR/c6pwDYC08g2cZd/2MDUL OGvg== X-Gm-Message-State: AMke39k155dIq7fmapUIU7rsOfjcb9+9QSqfs785Nk2Kls6oOiTpDKoJz6BP3O9L0erCKw== X-Received: by 10.176.24.152 with SMTP id t24mr15434097uag.79.1487738490189; Tue, 21 Feb 2017 20:41:30 -0800 (PST) From: Bart Schaefer Message-Id: <170221204132.ZM15938@torch.brasslantern.com> Date: Tue, 21 Feb 2017 20:41:32 -0800 In-Reply-To: <1487706736.1879125.888350120.03C172EE@webmail.messagingengine.com> Comments: In reply to Sebastian Gniazdowski "Re: Gdbm module" (Feb 21, 11:52am) References: <170221092506.ZM14329@torch.brasslantern.com> <1487706736.1879125.888350120.03C172EE@webmail.messagingengine.com> X-Mailer: OpenZMail Classic (0.9.2 24April2005) To: zsh-workers@zsh.org Subject: Re: Gdbm module MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii On Feb 21, 11:52am, Sebastian Gniazdowski wrote: } } [...] who would accept Oracle DBM module into Zsh? Depends entirely on the licensing Oracle specifies. } I looked at [sqlite], to do: } } result=sqlarray["SELECT telephone FROM contacts WHERE id=1"] } } And require single column to be selected, or concatenate columns I would not suggest attempting to make a full SQL interface from the tied hash to the database. GDBM is effectively one table per file with a single unique key column, so the only thing you can do is "SELECT * FROM ...". For a SQL-type database you'd probably want to do something like ztie -d db/sqlite -Q "SELECT ..." ... queryresult and define queryresult in a manner similar to the way Perl DBI does with fetchall_hashref. This theoretical -Q option could be extended to GDBM as a way to filter the set of keys fetched so the hash does not have to load the entire dbmfile. However, at first we might prefer to restrict things to flatter single-table access. Also note I'm only trying to offer some guidelines here; I've seen no evidence that this is needed or more than academically interesting.