Hi Alexander.

On 17/09/03, Alexander Malysh ([EMAIL PROTECTED]) wrote:

> On Wednesday 17 September 2003 04:40, Rory Campbell-Lange wrote:
> > On 17/09/03, Andreas Fink ([EMAIL PROTECTED]) wrote:
> > > On Mittwoch, September 17, 2003, at 02:24  Uhr, Rory Campbell-Lange
> > > > Hi. I've been playing around using sdb for my dlr storage. I've got
> > > > it working nicely for Postgresql. However I had to do some muddling
> > > > around with the code (I've never worked with C before) after noting
> > > > some oddities in the database calls.
> > > >
> > > > UPDATE and DELETE don't take "Limit" clauses, certainly not for
> > > > Postgres.

> > > You can remove the LIMIT clauses, they are safety checks only to only
> > > modify one record if for some reasons there are two found.
> > > This should only happen if you send more than one message per second to
> > > the same destination over the same SMSC and get the same timestamp.
> >
> > Hi Andreas. My point is that the LIMIT clauses are not optional for
> > Postgres. You simply can't have them.

> that was a reason why I added sdb_get_limit_str(), so if db support another 
> limit clause (as oracle ROWNUM) then you can just add it there... Using 
> libsdb is anyway a bad idea, because libsdb doesn't support persistent db 
> connections. And from my experience, I know that opening a db connection take 
> more time as sql statement itself. 

Yes, of course you are right. We need persistant db connections.

> > Is there a way we could do this update on a unique id rather than the
> > timestamp (i.e. Kannel uses a value from the db rather than provide the
> > key?). For large dbs this could be optimised to provide very quick
> > performaance.
> 
> Heh, in order to find this unique key you must make select statement anyway. 
> Later if you have found a appropriate row, yes we should do it. But if you 
> speek about performance, then first what we should do (imo): get rid of 
> libsdb support and add native db support for db's we want...
> 
> Btw. I'm working on the patch that will get more dlr performance, so
> pls wait a bit:)

I'd very much like to help to provide postgresql support, but I don't
know any C! Maybe I'll have to read that Kernighan and Ritchie book on
my bookshelf some time!

Another issue is that, for us, having a DLR url is not needed if we can
store delivery reports in a db.

We have

        db -> send unset -> kannel -> dlr back to db

In a way we would like to just send a DLR parameter to kannel like
db.rowid and then kannel's db (postgres!) subsystem does an update of
db.rowid.

Lets just clarify that further, for a best-case scenario!

        kannel polls db for unsent -> sends unsent -> updates db with dlr

This doesn't use http calls at all.

Cheers!
Rory
-- 
Rory Campbell-Lange 
<[EMAIL PROTECTED]>
<www.campbell-lange.net>

Reply via email to