From james.gates@sun.com Mon Mar 24 17:40:09 2008
Received: from sunmail3mpk.sfbay.sun.com (sunmail3mpk.SFBay.Sun.COM [129.146.11.52])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m2P0e9YI022033
	for <LSARC-ext@sac.sfbay.sun.com>; Mon, 24 Mar 2008 17:40:09 -0700 (PDT)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by sunmail3mpk.sfbay.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id m2P0e9Mr007426
	for <@sunmail2sca.sfbay.sun.com:lsarc-ext@sun.com>; Mon, 24 Mar 2008 17:40:09 -0700 (PDT)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0JY900A03GIUL100@nwk-avmta-1.sfbay.Sun.COM> for lsarc-ext@sun.com
 (ORCPT lsarc-ext@sun.com); Mon, 24 Mar 2008 17:40:06 -0700 (PDT)
Received: from dm-uk-01.uk.sun.com ([129.156.101.115])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JY900M6OGITW5E0@nwk-avmta-1.sfbay.Sun.COM> for
 lsarc-ext@sun.com (ORCPT lsarc-ext@sun.com); Mon,
 24 Mar 2008 17:40:06 -0700 (PDT)
Received: from serinus.UK.Sun.COM (serinus.UK.Sun.COM [129.156.173.208])
	by dm-uk-01.uk.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2)
 with ESMTP id m2P0e4Zh005100; Tue, 25 Mar 2008 00:40:05 +0000 (GMT)
Received: from [192.168.1.102]
 (vpn-129-150-64-126.East.Sun.COM [129.150.64.126])
	by serinus.UK.Sun.COM (8.13.7+Sun/8.13.7/CTE 3.0)
 with ESMTP id m2P0dfl0010961; Tue, 25 Mar 2008 00:39:50 +0000 (GMT)
Date: Mon, 24 Mar 2008 20:39:05 -0400
From: James Gates <james.gates@sun.com>
Subject: LSARC/2008/217 libpqxx C++ API to PostgreSQL for Solaris
To: lsarc-ext@sun.com
Cc: Geir Green - Sun Norway <Geir.Green@sun.com>
Message-id: <47E849A9.2000500@sun.com>
MIME-version: 1.0
Content-type: multipart/mixed; boundary="Boundary_(ID_M/dtJA2yr+c+oA88N6eMKQ)"
X-Accept-Language: en-us, en
X-PMX-Version: 5.4.1.325704
User-Agent: Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.7.13) Gecko/20060509
Status: RO
Content-Length: 7737

This is a multi-part message in MIME format.

--Boundary_(ID_M/dtJA2yr+c+oA88N6eMKQ)
Content-type: text/plain; charset=us-ascii; format=flowed
Content-transfer-encoding: 7BIT

I am sponsoring this fast-track on behalf of Geir Green. The timer 
expires 04/01/08. Attached is a copy of the proposal, which can also be 
found in the case directory.

It qualifies for micro/patch release binding (although the project team 
only intend to integrate into Nevada).

Interface taxonomy is something I think will need to be discussed - I'm 
not sure to what level we need to describe the API in the 1pager (every 
class & method?), or how much we can rely on the community to maintain 
the stability of the interfaces.

--Boundary_(ID_M/dtJA2yr+c+oA88N6eMKQ)
Content-type: text/plain; name=libpqxx_1pager.txt
Content-transfer-encoding: 7BIT
Content-disposition: inline; filename=libpqxx_1pager.txt

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:
       02/27/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@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@sun.com>

      1.5.2. Responsible Engineer:
       Geir Green <geir.green@sun.com>

      1.5.3. Marketing Manager:
       Rebecca Hansen <rebecca.hansen@sun.com>

      1.5.4. Interest List:
       databases-discuss@sun.com
       postgresql-techteam@sun.com
       sun-postgres-pteam@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.

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?:
       Included in the source code is set of test-programs and a script to
       execute them.  So when 'make check' executes with no errors, the job
       is done so far.


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:
       This library works on top of the C-level API library, libpq. You will
       need libpq in order to use libpqxx.

       The library libpqxx is installed in:
     /usr/postgres/8.3/lib/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.12. Dependencies:

       /usr/postgres/8.3/lib/libpq.so
       /usr/postgres/8.3/include/libpq-fe.h

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

--Boundary_(ID_M/dtJA2yr+c+oA88N6eMKQ)--

From John.Plocher@sun.com Mon Mar 24 18:26:34 2008
Received: from sunmail4.singapore.sun.com (sunmail4.Singapore.Sun.COM [129.158.71.19])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m2P1QXeL023992
	for <LSARC-ext@sac.sfbay.sun.com>; Mon, 24 Mar 2008 18:26:34 -0700 (PDT)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by sunmail4.singapore.sun.com (8.13.4+Sun/8.13.3/ENSMAIL,v2.2) with ESMTP id m2P1QN6V025370
	for <@sunmail2sca.sfbay.sun.com:lsarc-ext@sun.com>; Tue, 25 Mar 2008 09:26:33 +0800 (SGT)
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0JY900321IO6LN00@nwk-avmta-2.sfbay.sun.com> for lsarc-ext@sun.com
 (ORCPT lsarc-ext@sun.com); Mon, 24 Mar 2008 18:26:30 -0700 (PDT)
Received: from sca-es-mail-2.sun.com ([192.18.43.133])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JY90027AIN2H830@nwk-avmta-2.sfbay.sun.com> for
 lsarc-ext@sun.com (ORCPT lsarc-ext@sun.com); Mon,
 24 Mar 2008 18:25:50 -0700 (PDT)
Received: from fe-sfbay-09.sun.com ([192.18.43.129])
	by sca-es-mail-2.sun.com (8.13.7+Sun/8.12.9) with ESMTP id m2P1Pokf000586	for
 <lsarc-ext@sun.com>; Mon, 24 Mar 2008 18:25:50 -0700 (PDT)
Received: from conversion-daemon.fe-sfbay-09.sun.com by fe-sfbay-09.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 id <0JY900201IFMWC00@fe-sfbay-09.sun.com>
 (original mail from John.Plocher@Sun.COM)
 for lsarc-ext@sun.com (ORCPT lsarc-ext@sun.com); Mon,
 24 Mar 2008 18:25:50 -0700 (PDT)
Received: from wp668.local ([208.74.177.212])
 by fe-sfbay-09.sun.com (Sun Java System Messaging Server 6.2-8.04 (built Feb
 28 2007)) with ESMTPSA id <0JY900EPNIN25FC0@fe-sfbay-09.sun.com>; Mon,
 24 Mar 2008 18:25:50 -0700 (PDT)
Date: Mon, 24 Mar 2008 18:25:47 -0700
From: John Plocher <John.Plocher@sun.com>
Subject: Re: LSARC/2008/217 libpqxx C++ API to PostgreSQL for Solaris
In-reply-to: <47E849A9.2000500@sun.com>
Sender: John.Plocher@sun.com
To: James Gates <James.Gates@sun.com>
Cc: lsarc-ext@sun.com, Geir Green - Sun Norway <Geir.Green@sun.com>
Message-id: <47E8549B.5020603@Sun.Com>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <47E849A9.2000500@sun.com>
User-Agent: Thunderbird 2.0.0.12 (Macintosh/20080213)
Status: RO
Content-Length: 160

James Gates wrote:
> I am sponsoring this fast-track on behalf of Geir Green.

Note you must use Studio C++ and not GNU g++ because of ABI issues...

    -John

From Thomas.Wagner@sun.com Tue Mar 25 01:06:15 2008
Received: from sunmail5.uk.sun.com (sunmail5.UK.Sun.COM [129.156.85.165])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m2P86Es4003846
	for <LSARC-ext@sac.sfbay.sun.com>; Tue, 25 Mar 2008 01:06:15 -0700 (PDT)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by sunmail5.uk.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2) with ESMTP id m2P865RO016686
	for <@sunmail2sca.sfbay.sun.com:lsarc-ext@sun.com>; Tue, 25 Mar 2008 08:06:13 GMT
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0JYA0010P16B8000@brm-avmta-1.central.sun.com> for lsarc-ext@sun.com
 (ORCPT lsarc-ext@sun.com); Tue, 25 Mar 2008 02:06:11 -0600 (MDT)
Received: from dm-germany-02.uk.sun.com ([129.156.101.205])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JYA0007416717F0@brm-avmta-1.central.sun.com> for
 lsarc-ext@sun.com (ORCPT lsarc-ext@sun.com); Tue,
 25 Mar 2008 02:06:08 -0600 (MDT)
Received: from stuttfs44.Germany.Sun.COM
 (stuttfs44.Germany.Sun.COM [129.157.158.127])	by dm-germany-02.uk.sun.com
 (8.13.6+Sun/8.13.6/ENSMAIL,v2.2) with ESMTP id m2P867NF029124; Tue,
 25 Mar 2008 08:06:07 +0000 (GMT)
Received: from stuttfs44.Germany.Sun.COM (localhost [127.0.0.1])
	by stuttfs44.Germany.Sun.COM (8.13.6+Sun/8.13.6) with ESMTP id m2P866pg006072;
 Tue, 25 Mar 2008 09:06:06 +0100 (MET)
Received: (from tw122027@localhost)	by stuttfs44.Germany.Sun.COM
 (8.13.6+Sun/8.13.6/Submit) id m2P866ck006071; Tue,
 25 Mar 2008 09:06:06 +0100 (MET)
Date: Tue, 25 Mar 2008 09:06:06 +0100
From: Thomas Wagner <Thomas.Wagner@sun.com>
Subject: Re: LSARC/2008/217 libpqxx C++ API to PostgreSQL for Solaris
In-reply-to: <47E849A9.2000500@sun.com>
To: James Gates <James.Gates@sun.com>
Cc: lsarc-ext@sun.com, Geir Green - Sun Norway <Geir.Green@sun.com>
Message-id: <20080325080606.GG25155@sun.com>
MIME-version: 1.0
Content-type: text/plain; charset=us-ascii
Content-transfer-encoding: 7BIT
Content-disposition: inline
X-PMX-Version: 5.4.1.325704
References: <47E849A9.2000500@sun.com>
X-Authentication-warning: stuttfs44.Germany.Sun.COM: tw122027 set sender to
 Thomas.Wagner@sun.com using -f
User-Agent: Mutt/1.5.17 (2007-11-01)
Status: RO
Content-Length: 1358

Any plans to include a 64-bit library? 

With delivering a 64-bit client lib /usr/postgres/8.2/lib/amd64/libpq.so.5.0 (CR 6563010)
it makes sense to open up the world of 64-bit C++ applications
with a 64-bit version of libpqxx.so

Thomas

On Mon, Mar 24, 2008 at 08:39:05PM -0400, James Gates wrote:
>  4.5. Interfaces:
>        This library works on top of the C-level API library, libpq. You will
>        need libpq in order to use libpqxx.
> 
>        The library libpqxx is installed in:
>      /usr/postgres/8.3/lib/libpqxx.so
>        and the header files in the directory:
>      /usr/postgres/8.3/include/pqxx/

[...]

>  4.12. Dependencies:
> 
>        /usr/postgres/8.3/lib/libpq.so
>        /usr/postgres/8.3/include/libpq-fe.h

-- 
*********************************************************************
Thomas Wagner                Tel:    +49-(0)-711-720 98-131
Proactive Technical Analyst  Fax:    +49-(0)-711-720 98-443
Global Customer Services     Cell:   +49-(0)-175-292 60 64
Sun Microsystems GmbH        E-Mail: Thomas.Wagner@Sun.com
Zettachring 10A, D-70567 Stuttgart       http://www.sun.de

Sitz der Gesellschaft: Sun Microsystems GmbH, Sonnenallee 1, D-85551 Kirchheim-Heimstetten
Amtsgericht Muenchen: HRB 161028
Geschaeftsfuehrer: Thomas Schroeder, Wolfgang Engels, Dr. Roland Boemer
Vorsitzender des Aufsichtsrates: Martin Haering


From james.gates@sun.com Wed Apr  2 08:35:18 2008
Received: from sunmail2sca.sfbay.sun.com (sunmail2sca.SFBay.Sun.COM [129.145.155.234])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m32FZIEl000425
	for <LSARC-ext@sac.sfbay.sun.com>; Wed, 2 Apr 2008 08:35:18 -0700 (PDT)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by sunmail2sca.sfbay.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id m32FZCFh005346
	for <@sunmail2sca.sfbay.sun.com:lsarc-ext@sun.com>; Wed, 2 Apr 2008 08:35:17 -0700 (PDT)
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0JYP00I2RFAQLD00@nwk-avmta-2.sfbay.sun.com> for lsarc-ext@sun.com
 (ORCPT lsarc-ext@sun.com); Wed, 02 Apr 2008 08:35:14 -0700 (PDT)
Received: from dm-uk-01.uk.sun.com ([129.156.101.115])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JYP00I80FAI5W10@nwk-avmta-2.sfbay.sun.com> for
 lsarc-ext@sun.com (ORCPT lsarc-ext@sun.com); Wed,
 02 Apr 2008 08:35:07 -0700 (PDT)
Received: from serinus.UK.Sun.COM (serinus.UK.Sun.COM [129.156.173.208])
	by dm-uk-01.uk.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2)
 with ESMTP id m32FZ57F003075; Wed, 02 Apr 2008 16:35:05 +0100 (BST)
Received: from [192.168.1.101]
 (vpn-129-150-33-205.Central.Sun.COM [129.150.33.205])
	by serinus.UK.Sun.COM (8.13.7+Sun/8.13.7/CTE 3.0)
 with ESMTP id m32FYku5011932; Wed, 02 Apr 2008 16:34:55 +0100 (BST)
Date: Wed, 02 Apr 2008 11:34:05 -0400
From: James Gates <james.gates@sun.com>
Subject: LSARC/2008/217 libpqxx C++ API to PostgreSQL for Solaris
To: lsarc-ext@sun.com
Cc: Geir Green - Sun Norway <Geir.Green@sun.com>
Message-id: <47F3A76D.5080706@sun.com>
MIME-version: 1.0
Content-type: multipart/mixed; boundary="Boundary_(ID_DQnkhNYX4y4sXwYbCBDxpg)"
X-Accept-Language: en-us, en
X-PMX-Version: 5.4.1.325704
User-Agent: Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.7.13) Gecko/20060509
Status: RO
Content-Length: 9047

This is a multi-part message in MIME format.

--Boundary_(ID_DQnkhNYX4y4sXwYbCBDxpg)
Content-type: text/plain; charset=us-ascii; format=flowed
Content-transfer-encoding: 7BIT

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.

--Boundary_(ID_DQnkhNYX4y4sXwYbCBDxpg)
Content-type: text/plain; name=libpqxx_1pager.txt
Content-transfer-encoding: 7BIT
Content-disposition: inline; filename=libpqxx_1pager.txt

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@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@sun.com>

      1.5.2. Responsible Engineer:
       Geir Green <geir.green@sun.com>

      1.5.3. Marketing Manager:
       Rebecca Hansen <rebecca.hansen@sun.com>

      1.5.4. Interest List:
       databases-discuss@sun.com
       postgresql-techteam@sun.com
       sun-postgres-pteam@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

--Boundary_(ID_DQnkhNYX4y4sXwYbCBDxpg)--

From tom.childers@sun.com Wed Apr  2 10:08:47 2008
Received: from sunmail2sca.sfbay.sun.com (sunmail2sca.SFBay.Sun.COM [129.145.155.234])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m32H8liL008181
	for <LSARC-ext@sac.sfbay.sun.com>; Wed, 2 Apr 2008 10:08:47 -0700 (PDT)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by sunmail2sca.sfbay.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id m32H8ju3008501
	for <@sunmail2sca.sfbay.sun.com:lsarc-ext@sun.com>; Wed, 2 Apr 2008 10:08:47 -0700 (PDT)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0JYP0032JJMNOZ00@nwk-avmta-1.sfbay.Sun.COM> for lsarc-ext@sun.com
 (ORCPT lsarc-ext@sun.com); Wed, 02 Apr 2008 10:08:47 -0700 (PDT)
Received: from sca-es-mail-1.sun.com ([192.18.43.132])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JYP0011EJMMRXE0@nwk-avmta-1.sfbay.Sun.COM> for
 lsarc-ext@sun.com (ORCPT lsarc-ext@sun.com); Wed,
 02 Apr 2008 10:08:47 -0700 (PDT)
Received: from fe-sfbay-10.sun.com ([192.18.43.129])
	by sca-es-mail-1.sun.com (8.13.7+Sun/8.12.9) with ESMTP id m32H8kOD009033	for
 <lsarc-ext@sun.com>; Wed, 02 Apr 2008 10:08:46 -0700 (PDT)
Received: from conversion-daemon.fe-sfbay-10.sun.com by fe-sfbay-10.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 id <0JYP00E01J9UXL00@fe-sfbay-10.sun.com>
 (original mail from tom.childers@sun.com)
 for lsarc-ext@sun.com (ORCPT lsarc-ext@sun.com); Wed,
 02 Apr 2008 10:08:46 -0700 (PDT)
Received: from [192.168.15.2] ([76.191.223.250])
 by fe-sfbay-10.sun.com (Sun Java System Messaging Server 6.2-8.04 (built Feb
 28 2007)) with ESMTPSA id <0JYP000I8JMHQR90@fe-sfbay-10.sun.com>; Wed,
 02 Apr 2008 10:08:42 -0700 (PDT)
Date: Wed, 02 Apr 2008 10:06:06 -0700
From: Tom Childers <tom.childers@sun.com>
Subject: Re: LSARC/2008/217 libpqxx C++ API to PostgreSQL for Solaris
In-reply-to: <47F3A76D.5080706@sun.com>
Sender: Thomas.Childers@sun.com
To: James Gates <James.Gates@sun.com>
Cc: lsarc-ext@sun.com, Geir Green - Sun Norway <Geir.Green@sun.com>
Message-id: <E9D3EF5C-E61B-4699-A52D-8445B2595EB2@sun.com>
MIME-version: 1.0
X-Mailer: Apple Mail (2.753)
Content-type: text/plain; format=flowed; delsp=yes; charset=US-ASCII
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <47F3A76D.5080706@sun.com>
Status: RO
Content-Length: 9686

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@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@sun.com>
>
>       1.5.2. Responsible Engineer:
>        Geir Green <geir.green@sun.com>
>
>       1.5.3. Marketing Manager:
>        Rebecca Hansen <rebecca.hansen@sun.com>
>
>       1.5.4. Interest List:
>        databases-discuss@sun.com
>        postgresql-techteam@sun.com
>        sun-postgres-pteam@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


From james.gates@sun.com Wed Apr  2 11:03:42 2008
Received: from sunmail5.uk.sun.com (sunmail5.UK.Sun.COM [129.156.85.165])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m32I3fju012886
	for <LSARC-ext@sac.sfbay.sun.com>; Wed, 2 Apr 2008 11:03:42 -0700 (PDT)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by sunmail5.uk.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2) with ESMTP id m32I3QWY008046;
	Wed, 2 Apr 2008 19:03:39 +0100 (BST)
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0JYP0027PM61DF00@brm-avmta-1.central.sun.com>; Wed,
 02 Apr 2008 12:03:37 -0600 (MDT)
Received: from dm-uk-02.uk.sun.com ([129.156.101.196])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JYP00001M5XPS20@brm-avmta-1.central.sun.com>; Wed,
 02 Apr 2008 12:03:33 -0600 (MDT)
Received: from serinus.UK.Sun.COM (serinus.UK.Sun.COM [129.156.173.208])
	by dm-uk-02.uk.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2)
 with ESMTP id m32I3WJD006224; Wed, 02 Apr 2008 19:03:32 +0100 (BST)
Received: from [192.168.1.101]
 (vpn-129-150-33-205.Central.Sun.COM [129.150.33.205])
	by serinus.UK.Sun.COM (8.13.7+Sun/8.13.7/CTE 3.0)
 with ESMTP id m32I36jn014540; Wed, 02 Apr 2008 19:03:18 +0100 (BST)
Date: Wed, 02 Apr 2008 14:02:27 -0400
From: James Gates <james.gates@sun.com>
Subject: Re: LSARC/2008/217 libpqxx C++ API to PostgreSQL for Solaris
In-reply-to: <E9D3EF5C-E61B-4699-A52D-8445B2595EB2@sun.com>
To: Tom Childers <tom.childers@sun.com>
Cc: lsarc-ext@sun.com, Geir Green - Sun Norway <Geir.Green@sun.com>
Message-id: <47F3CA33.5090808@sun.com>
MIME-version: 1.0
Content-type: text/plain; charset=us-ascii; format=flowed
Content-transfer-encoding: 7BIT
X-Accept-Language: en-us, en
X-PMX-Version: 5.4.1.325704
References: <47F3A76D.5080706@sun.com>
 <E9D3EF5C-E61B-4699-A52D-8445B2595EB2@sun.com>
User-Agent: Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.7.13) Gecko/20060509
Status: RO
Content-Length: 10311

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@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@sun.com>
>>
>>       1.5.2. Responsible Engineer:
>>        Geir Green <geir.green@sun.com>
>>
>>       1.5.3. Marketing Manager:
>>        Rebecca Hansen <rebecca.hansen@sun.com>
>>
>>       1.5.4. Interest List:
>>        databases-discuss@sun.com
>>        postgresql-techteam@sun.com
>>        sun-postgres-pteam@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
> 
> 

From tom.childers@sun.com Wed Apr  2 13:24:32 2008
Received: from sunmail4.singapore.sun.com (sunmail4.Singapore.Sun.COM [129.158.71.19])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m32KOVaW017622
	for <LSARC-ext@sac.sfbay.sun.com>; Wed, 2 Apr 2008 13:24:32 -0700 (PDT)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by sunmail4.singapore.sun.com (8.13.4+Sun/8.13.3/ENSMAIL,v2.2) with ESMTP id m32KOMOE010949
	for <@sunmail2sca.sfbay.sun.com:lsarc-ext@sun.com>; Thu, 3 Apr 2008 04:24:30 +0800 (SGT)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0JYP00M07SOSCL00@nwk-avmta-1.sfbay.Sun.COM> for lsarc-ext@sun.com
 (ORCPT lsarc-ext@sun.com); Wed, 02 Apr 2008 13:24:28 -0700 (PDT)
Received: from sca-es-mail-2.sun.com ([192.18.43.133])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JYP00K9WSOSD330@nwk-avmta-1.sfbay.Sun.COM> for
 lsarc-ext@sun.com (ORCPT lsarc-ext@sun.com); Wed,
 02 Apr 2008 13:24:28 -0700 (PDT)
Received: from fe-sfbay-10.sun.com ([192.18.43.129])
	by sca-es-mail-2.sun.com (8.13.7+Sun/8.12.9) with ESMTP id m32KOShp008950	for
 <lsarc-ext@sun.com>; Wed, 02 Apr 2008 13:24:28 -0700 (PDT)
Received: from conversion-daemon.fe-sfbay-10.sun.com by fe-sfbay-10.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 id <0JYP00J01SLNFO00@fe-sfbay-10.sun.com>
 (original mail from tom.childers@sun.com)
 for lsarc-ext@sun.com (ORCPT lsarc-ext@sun.com); Wed,
 02 Apr 2008 13:24:28 -0700 (PDT)
Received: from [192.168.15.2] ([76.191.223.250])
 by fe-sfbay-10.sun.com (Sun Java System Messaging Server 6.2-8.04 (built Feb
 28 2007)) with ESMTPSA id <0JYP0013ISOB19F0@fe-sfbay-10.sun.com>; Wed,
 02 Apr 2008 13:24:11 -0700 (PDT)
Date: Wed, 02 Apr 2008 13:21:36 -0700
From: Tom Childers <tom.childers@sun.com>
Subject: Re: LSARC/2008/217 libpqxx C++ API to PostgreSQL for Solaris
In-reply-to: <47F3CA33.5090808@sun.com>
Sender: Thomas.Childers@sun.com
To: James Gates <James.Gates@sun.com>
Cc: lsarc-ext@sun.com, Geir Green - Sun Norway <Geir.Green@sun.com>
Message-id: <823725A2-D01C-4575-BCA6-7FAE0667A2D0@sun.com>
MIME-version: 1.0
X-Mailer: Apple Mail (2.753)
Content-type: text/plain; format=flowed; delsp=yes; charset=US-ASCII
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <47F3A76D.5080706@sun.com>
 <E9D3EF5C-E61B-4699-A52D-8445B2595EB2@sun.com> <47F3CA33.5090808@sun.com>
Status: RO
Content-Length: 11028

(How did I miss that?  :-)

Thanks, that makes it all clear. I request that you add a pointer in  
this one-pager to LSARC 2008/004, since it is a pre-requisite and  
this case completely depends on it.  Otherwise, I have no other issues.
-tdc


On Apr 2, 2008, at 11:02 AM, James Gates wrote:
> 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@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@sun.com>
>>>
>>>       1.5.2. Responsible Engineer:
>>>        Geir Green <geir.green@sun.com>
>>>
>>>       1.5.3. Marketing Manager:
>>>        Rebecca Hansen <rebecca.hansen@sun.com>
>>>
>>>       1.5.4. Interest List:
>>>        databases-discuss@sun.com
>>>        postgresql-techteam@sun.com
>>>        sun-postgres-pteam@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


From james.gates@sun.com Fri Apr  4 11:27:41 2008
Received: from newsunmail1brm.central.sun.com (newsunmail1brm.Central.Sun.COM [129.147.62.245])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m34IRe1s004535
	for <LSARC-ext@sac.sfbay.sun.com>; Fri, 4 Apr 2008 11:27:41 -0700 (PDT)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by newsunmail1brm.central.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id m34IRcmq003042
	for <@sunmail2sca.sfbay.sun.com:lsarc-ext@sun.com>; Fri, 4 Apr 2008 12:27:40 -0600 (MDT)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0JYT00301CM4A400@nwk-avmta-1.sfbay.Sun.COM> for lsarc-ext@sun.com
 (ORCPT lsarc-ext@sun.com); Fri, 04 Apr 2008 11:27:40 -0700 (PDT)
Received: from dm-uk-01.uk.sun.com ([129.156.101.115])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JYT00M1QCM3BC70@nwk-avmta-1.sfbay.Sun.COM> for
 lsarc-ext@sun.com (ORCPT lsarc-ext@sun.com); Fri,
 04 Apr 2008 11:27:39 -0700 (PDT)
Received: from serinus.UK.Sun.COM (serinus.UK.Sun.COM [129.156.173.208])
	by dm-uk-01.uk.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2)
 with ESMTP id m34IRcKU028531; Fri, 04 Apr 2008 19:27:38 +0100 (BST)
Received: from [192.168.1.101]
 (vpn-129-150-66-200.East.Sun.COM [129.150.66.200])
	by serinus.UK.Sun.COM (8.13.7+Sun/8.13.7/CTE 3.0)
 with ESMTP id m34IRRl4021849; Fri, 04 Apr 2008 19:27:31 +0100 (BST)
Date: Fri, 04 Apr 2008 14:26:51 -0400
From: James Gates <james.gates@sun.com>
Subject: LSARC case approved 04/04/2008 (2008/217)
To: lsarc-ext@sun.com
Cc: Geir Green - Sun Norway <Geir.Green@sun.com>
Message-id: <47F672EB.5030904@sun.com>
MIME-version: 1.0
Content-type: text/plain; charset=us-ascii; format=flowed
Content-transfer-encoding: 7BIT
X-Accept-Language: en-us, en
X-PMX-Version: 5.4.1.325704
User-Agent: Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.7.13) Gecko/20060509
Status: RO
Content-Length: 217

Name:           libpqxx - Provide C++ API to PostgreSQL for Solaris
Submitter:      Geir Green
Owner:          James Gates
Interest:
Status:         closed approved fast-track 04/04/2008
Exposure:       open
Comment:

