C++ frontend - Mailing list pgsql-interfaces

From Jeroen T. Vermeulen
Subject C++ frontend
Date
Msg-id 20011006024931.A2665@bulletproof
Whole thread Raw
List pgsql-interfaces
This is something I promised to do months ago, and finally I've found some
time to work on it.  Does anyone out there want to test it and/or comment
on it?

Attached to this message please find the beginnings of something that could
perhaps become a replacement for libpq++ someday (my apologies for sending
binaries; I don't have anywhere to post it right now).  I've used the
working name libpqxx, but suggestions will be considered.

This library has a very different structure from libpq++, using much less
inheritance and conforming more to the C++ way of doing things.  To name a
few important differences:

 - There is now a separate Result class to represent query output.

 - Query result sets are now containers, and C++ iterators, algorithms,
   array index operators etc. apply to some extent.

 - A wrapper Transactor should make writing robust transactions easier and
   safer, allowing the library to retry transactions if the backend
   connection is lost--even if a second run wants to do things differently
   from the first.

 - The whole thing now has its own namespace rather than relying on name
   prefixes.

 - Currently all database manipulations must be done from within a
   transaction.  This may change in the future.

 - It is now possible to have fields converted to various builtin C++ types
   (probably doesn't work yet for booleans, come to think of it).

I haven't really tested this yet since for some reason my posgres
installation doesn't run atm.  So if anybody out there could tell me if
it does anything for them, please let me know!

And yes, I will document this stuff better when I find more time.


Jeroen


Attachment

pgsql-interfaces by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: libECPG: Warning: get descriptor: 7.1 and 7.2 are
Next
From: lbayuk@mindspring.com (ljb)
Date:
Subject: Re: Trouble linking with libpq