The Postgres 8.3 case was approved in early 2008 (LSARC/2008/004). I think these were separate cases because a) the projects occurred at separate times & b) libpqxx is not part of the core Postgres distribution (it's a community contributed add-on)
But in future I suspect that we'll combine the cases for new versions of Postgres & libpqxx. Tom Childers wrote: > I'm confused by the version number. This is going into a Postgres 8.3 > directory, however the last cases we've seen provide Postgres 8.2 on > Solaris, with components in /usr/postgres/8.2/lib. > > Is there a Postgres 8.3 case coming? If so, we should approve this > depending on 8.3 approval. Or...why couldn't this be incorporated into > the 8.3 case? It's not a big deal to add a C++ API to an RDBMS product. > -tdc > > > On Apr 2, 2008, at 8:34 AM, James Gates wrote: > >> I am sponsoring this fast-track on behalf of Geir Green. The timer >> was due to expire yesterday (04/01/08), but there were a couple of >> questions on the alias last week that couldn't be answered as Geir >> was on vacation. >> >> The questions (relating to which compiler is being used and whether >> 64-bit libraries are being built) have now been addressed in this new >> proposal, which can also be found in the case directory. >> >> Assuming no further queries, I'll close the case at the end of this >> week. >> Template Version: @(#)onepager.txt 1.35 07/11/07 SMI >> Copyright 2008 Sun Microsystems >> >> >> 1. Introduction >> 1.1. Project/Component Working Name: >> libpqxx - Provide C++ API to PostgreSQL for Solaris and >> Opensolaris >> >> 1.2. Name of Document Author/Supplier: >> Geir Green >> >> 1.3. Date of This Document: >> 04/02/08 >> 1.3.1. Date this project was conceived: >> 01/03/08 >> >> 1.4. Name of Major Document Customer(s)/Consumer(s): >> 1.4.1. The PAC or CPT you expect to review your project: >> Database >> >> 1.4.2. The ARC(s) you expect to review your project: >> LSARC >> >> 1.4.3. The Director/VP who is "Sponsoring" this project: >> Heidi Bergh-Hoff <heidi.bergh-hoff at sun.com> >> >> 1.4.4. The name of your business unit: >> Database Technology Group (DBTG) >> >> 1.5. Email Aliases: >> 1.5.1. Responsible Manager: >> Erlend Dahl <erlend.dahl at sun.com> >> >> 1.5.2. Responsible Engineer: >> Geir Green <geir.green at sun.com> >> >> 1.5.3. Marketing Manager: >> Rebecca Hansen <rebecca.hansen at sun.com> >> >> 1.5.4. Interest List: >> databases-discuss at sun.com >> postgresql-techteam at sun.com >> sun-postgres-pteam at sun.com >> >> 2. Project Summary >> 2.1. Project Description: >> libpqxx is the official C++ client API for PostgreSQL. >> This project aims to provide libpqxx as a part of the OpenSolaris >> distribution(s). >> >> This project qualifies for micro/patch release binding. >> >> 2.2. Risks and Assumptions: >> It is assumed that porting the libpqxx to Solaris may cause >> modifications of the libpqxx code so that it will run properly >> on the >> Solaris platform. The modifications (if any) are expected to >> be minor. >> >> The business risks associated with not providing the libpqxx >> API for >> PostgreSQL is considered high, as we would provide a less >> complete >> environment for PostgreSQL as compared to what the open source >> community would expect. >> >> >> 3. Business Summary >> 3.1. Problem Area: >> A customer who is writing software in C++ that needs to access >> databases managed by postgres (on just about any platform) >> libpqxx is >> the library to use. >> >> 3.2. Market/Requester: >> Projects Using libpqxx (taken from the README file following the >> source-code) - this list is far from complete. It is known >> that there >> are many other projects using libpqxx that are not included here. >> Some of them may be proprietary, or even have no names. >> >> As found on Google: >> >> DocConversion http://docconversion.sourceforge.net/ >> Genea http://savannah.nongnu.org/projects/genea/ >> Gnucomo http://www.gnucomo.org/ >> MapServer http://mapserver.gis.umn.edu/ >> QHacc http://qhacc.sourceforge.net/ >> Vocal/Mascarpone http://www.vovida.org/ >> >> >> Confirmed by authors: >> >> OKE http://www.liacs.nl/home/bsamwel/oke/ >> prerelease-0.10/ >> KOffice/Kexi http://www.kexi-project.org/ >> KPoGre http://kpogre.sourceforge.net/ >> Once MMORPG http://sourceforge.net/projects/once/ >> Scippy http://dicomlib.swri.ca/scippy.html >> >> 3.6. How will you know when you are done?: >> When the libpqxx code is integrated into the OpenSolaris SFW >> consolidation. >> >> >> 4. Technical Description: >> 4.1. Details: >> libpqxx(TM) is a C++ API to PostgreSQL(TM). It replaces the >> earlier >> libpq++(TM) with a more Standard Template Library (STL)- >> conformant >> interface and makes more extensive use of C++ language >> features such >> as exceptions, templates, and strings. >> >> Since libpqxx builds on top of the C front-end libpq(TM), you >> will need >> a working libpq library on your system prior to getting >> started with >> libpqxx. This is similar to the situation with the older libpq++ >> interface. >> >> The first thing you're likely to notice in programming with >> libpqxx is >> that unlike other libraries, it revolves entirely around >> transactions. Transactions are a central concept in database >> management systems, but they are widely under-appreciated among >> application developers. >> >> It may sometimes be possible to build limited applications >> reliably >> without serious use of transactions. More usually, however, >> applications are designed without transactions simply because the >> developers aren't aware of the risks they are taking, and any >> data >> loss is rare or small enough not to be noticed. That kind of >> design >> was not considered acceptable for libpqxx. >> >> With conventional database APIs, you issue commands and >> queries to a >> database session or connection, and optionally create the >> occasional >> transaction. In libpqxx you start a transaction inside the >> connection >> first, do your SQL work using that transaction, then commit the >> transaction when it's complete. There are several types of >> transactions with various "quality of service" properties; if you >> don't really want to use transactions at all, one of the >> available >> transaction types is called nontransaction. This transaction type >> provides classic, non-transactional behavior. >> >> Every command or query issues a result object, which is really >> a smart >> pointer so it can be copied around without incurring much cost in >> terms of performance. No need to write special code to check >> these for >> success; error conditions are converted to regular C++ >> exceptions. >> Result objects can be kept around for as long as they are needed, >> completely separate from the connections and transactions that >> originated them. >> >> 4.5. Interfaces: >> >> EXPORTED STABILITY NOTES >> ------------------------------------------------------------ >> libpqxx Uncommitted (NEW) C++ API >> >> >> IMPORTED STABILITY NOTES >> ------------------------------------------------------------ >> libpq Volatile LSARC/2008/004 >> >> The 32 bit version of library libpqxx is installed in: >> /usr/postgres/8.3/lib/libpqxx.so >> - and the 64 bit version in: >> /usr/postgres/8.3/lib/amd64/libpqxx.so >> - and the header files in the directory: >> /usr/postgres/8.3/include/pqxx/ >> >> Here is a list of all libpqxx modules: >> >> * String conversion >> * Utility functions >> * String escaping >> * Connection classes >> * Error/warning output >> * Transaction classes >> * Exception classes >> * Transactor framework >> * Notifications and Triggers >> See the libpqxx Documentation: >> >> http://pqxx.org/devprojects/libpqxx/doc/2.6.9/html/Reference/ >> >> 4.6. Doc Impact: >> Documentation is generated by the makefiles (doxygen) based on the >> source files. See: >> http://pqxx.org/devprojects/libpqxx/doc/2.6.9/html/Reference/ >> index.html >> >> If man pages exist for other platforms e.g. Linux, these pages >> may be >> adapted to Solaris. Otherwise if man pages are needed, they >> must be >> written based on the existing documentation. >> >> 4.9. I18N/L10N Impact: >> libpqxx is an API and in its self independent on localization and >> internationalization. >> >> >> 4.10. Packaging & Delivery: >> This library works on top of the C-level API library, libpq >> and is >> needed in order to use libpqxx. It will be delivered as part >> of the >> postgres package(s) and as for libpq, in both 32 and 64 bit >> versions, >> and of course made by Sun Studio C++. >> >> 4.12. Dependencies: >> libpq.so , version 5.x (PostgreSQL client library, both 32 >> and 64 bit) >> libpq-fe.h, (PostgreSQL client library header file) >> >> 5. Reference Documents: >> >> http://pqxx.org/devprojects/libpqxx/doc/2.6.9/html/ >> >> 6. Resources and Schedule: >> 6.1. Projected Availability: >> Q4FY08 >> >> 6.4. Product Approval Committee requested information: >> 6.4.1. Consolidation or Component Name: >> SFWNV >> >> 6.5. ARC review type: >> FastTrack >> >> 6.6. ARC Exposure: >> open > >
