On Thursday 29 January 2004 14:29, Martin Atukunda wrote:
On Wednesday 28 January 2004 13:28, Alexander Malysh wrote:
cvs diff -Nau
something like this?
yep
but I don't believe something like this will works with pgsql: "UPDATE %s SET %s=%d WHERE %s='%s' AND %s='%s' LIMIT 1;"
or like this too: "DELETE FROM %s WHERE %s='%s' AND %s='%s' LIMIT 1;"
I'm sure it does not work ;-> I have also started implementing postgres DLR support, but after your mail I wanted to see your implementation.
the idea to make 'LIMIT 1' in update and delete in postgres is to add new column in the tabel (let's say 'id' - with type 'serial')
CREATE TABLE dlr (
id serial,
smsc varchar(40),
...
);then you may do delete with subquery:
DELETE FROM %s WHERE id IN (SELECT id FROM %s WHERE %s='%s' AND %s='%s' LIMIT 1)
but I have the question: why there is 'LIMIT 1' in update or delete? doesn't it meen that it will be deleted (or updated) a random row (which of course fulfil where clause)? is there need to limit deletion?
--
another idea:
while writing code i found that adding dlr support for others database frontends (including libpq from postgres and - probably - unixODBC) might be done little bit simple by changing some in dlr concept. the idea is to write one dlr engine using dbpool, of course there is need to implement update and select into dbpool. problem is with different sql syntax in various dbs (for example 'limit 1' in mysql and 'rownum < 2' in oracle). the function call could be parameterized by sql query (or it part).
in my opinion dlr engine should look (for example) like oracle dlr implementation, what do you thing about it?
-- Marcin Sobieszczan'ski ________________________________ Adv.pl Sp. z o.o - Interactive Solutions
tel.: + 48 71 79.74.770 fax.: + 48 71 79.74.700 e-mail: [EMAIL PROTECTED] URL: www.adv.pl
50-079 Wroc?aw - ul. Ruska 58/59 _______________________________
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.2.3 (GNU/Linux)
mQGiBD/i818RBACE5qChSekcY9HrF2a/FDiwjHvi8gENoS3VS8aYUcFwckxi33kK OLdsW3Vj9/ESEwlw7+Tvz7Ww9zWWB7mDC74SdU+/VcGCf4iL3Oe0l7AxHaTGvLXy /OxIoP665EU+VnZ9kQWwmMOr9XZZ2xN07o/T/AilZqivbQZpTCq1knl08wCg5cHF KMuJTy/8aXZLcOmHEId6BM8D/jSJxx4odLoFifehr4+QTXtO3Iv3Y0Hkh27Crro/ IbWGJAdA+ACDGxt9qm9HUQNVZXQZ2+oLUK0XEv1LMfNMHEBAgj9q57sa8LCdw6MB tM/1/cNt9y5KCTJ0NqVF+8fSpBiaXcuCH62g9+zB9J0jYLb4pm7chlO0O/1tIGUQ dQrIA/4qV+VumqJ4tTxdMrboVTNhqN1kxExrBnyDCBJPtI8KfbEy6jUjSP8i1Iu+ VDrachrSKSfc/vPGACuHQ4SbhoyXpu4aO37SxvQDX6pLkgjPBFp2m6a3+k2/0IF9 iKC0pgMBxFbj1O72+CeNuHl9ApW6/ZXTuRIpYRdDHnfqF5GWhrQ9TWFyY2luIFNv Ymllc3pjemFuc2tpIChJVCBEZXBhcnRtZW50IEFkdi5wbCkgPG1hcmNpc29AYWR2 LnBsPohhBBMRAgAhBQI/4vNfBQkB4TOABgsJCAcDAgMVAgMDFgIBAh4BAheAAAoJ EMPg5erRFdu1iqEAoIJ31K9c3y00dSVcp/2Wg4YUIozwAJ0W40Jeuzv/SXf1vP0l cF/rHep2tbkBDQQ/4vNjEAQAr1OEYkS6W2JIY5bYAV60zY89JJNz3121wHVgnMxL rVfmg+gJ7H6HpIvuQZl9EwIPheaRoC5ytsLtiP9IgwZ8gxDi9kdoLmVT6Nhx0lz0 u8H8rCYpZEQS04/5L3jZOhaEf6Fn3XnnHNG/yrlvPEIyD7EaYttDENeiH48H24YX coMAAwUEAI2hsv0Q4uhPKnKFS+kOBTW1cWhJzAggkQzqY0fIizbu2w5WO9VG+n4H 8+DYn45iJF8IGTkmSSk2sMVF3Ci/1PCPOJdZVX3hZCFOr6g6n8++GjwFcbaovvfb SKucD+tzpll/J9ihUIVxfCL76ngEY0eps+nozZiN9ei2NfJ64PKOiEwEGBECAAwF Aj/i82MFCQHhM4AACgkQw+Dl6tEV27UCRgCgwpvnjfd63+FSWqIDdlj8+NS/HHYA nR63VNm9ToRpvPraKykRMC/t6ogi =Ooyf -----END PGP PUBLIC KEY BLOCK-----
this key is also avilable at pgp.mit.edu with id 0xD115DBB5: http://pgp.mit.edu:11371/pks/lookup?search=0xD115DBB5&op=index
begin:vcard fn:Marcin Sobieszczanski n:Sobieszczanski;Marcin org:Adv.pl;IT adr:;;Ruska 58/59;Wroclaw;;50-079;Poland email;internet:[EMAIL PROTECTED] tel;work:+48717974770 tel;cell:+48693396775 x-mozilla-html:FALSE url:http://adv.pl version:2.1 end:vcard
