[Libreoffice-commits] .: 55 commits - configure.in connectivity/prj connectivity/source connectivity/workben set_soenv.in

Lionel Elie Mamane lmamane at kemper.freedesktop.org
Thu Nov 17 12:16:08 PST 2011


 configure.in                                                             |   28 
 connectivity/prj/build.lst                                               |    1 
 connectivity/source/drivers/postgresql/description.xml                   |   17 
 connectivity/source/drivers/postgresql/description/description_en-US.txt |    1 
 connectivity/source/drivers/postgresql/makefile.mk                       |  201 
 connectivity/source/drivers/postgresql/manifest.xml                      |   10 
 connectivity/source/drivers/postgresql/postgresql-sdbc.uno               |    2 
 connectivity/source/drivers/postgresql/postgresql.xcu                    |   84 
 connectivity/source/drivers/postgresql/pq_allocator.hxx                  |  203 
 connectivity/source/drivers/postgresql/pq_array.cxx                      |  123 
 connectivity/source/drivers/postgresql/pq_array.hxx                      |   95 
 connectivity/source/drivers/postgresql/pq_baseresultset.cxx              |  718 ++
 connectivity/source/drivers/postgresql/pq_baseresultset.hxx              |  238 
 connectivity/source/drivers/postgresql/pq_common.hxx                     |   40 
 connectivity/source/drivers/postgresql/pq_connection.cxx                 |  774 +++
 connectivity/source/drivers/postgresql/pq_connection.hxx                 |  256 +
 connectivity/source/drivers/postgresql/pq_databasemetadata.cxx           | 2540 ++++++++++
 connectivity/source/drivers/postgresql/pq_databasemetadata.hxx           |  221 
 connectivity/source/drivers/postgresql/pq_driver.cxx                     |  373 +
 connectivity/source/drivers/postgresql/pq_driver.hxx                     |  128 
 connectivity/source/drivers/postgresql/pq_fakedupdateableresultset.cxx   |  233 
 connectivity/source/drivers/postgresql/pq_fakedupdateableresultset.hxx   |   99 
 connectivity/source/drivers/postgresql/pq_preparedstatement.cxx          |  854 +++
 connectivity/source/drivers/postgresql/pq_preparedstatement.hxx          |  253 
 connectivity/source/drivers/postgresql/pq_resultset.cxx                  |  295 +
 connectivity/source/drivers/postgresql/pq_resultset.hxx                  |   89 
 connectivity/source/drivers/postgresql/pq_resultsetmetadata.cxx          |  492 +
 connectivity/source/drivers/postgresql/pq_resultsetmetadata.hxx          |  123 
 connectivity/source/drivers/postgresql/pq_sequenceresultset.cxx          |  120 
 connectivity/source/drivers/postgresql/pq_sequenceresultset.hxx          |   97 
 connectivity/source/drivers/postgresql/pq_sequenceresultsetmetadata.cxx  |  204 
 connectivity/source/drivers/postgresql/pq_sequenceresultsetmetadata.hxx  |   75 
 connectivity/source/drivers/postgresql/pq_statement.cxx                  | 1033 ++++
 connectivity/source/drivers/postgresql/pq_statement.hxx                  |  198 
 connectivity/source/drivers/postgresql/pq_statics.cxx                    |  730 ++
 connectivity/source/drivers/postgresql/pq_statics.hxx                    |  263 +
 connectivity/source/drivers/postgresql/pq_tools.cxx                      | 1321 +++++
 connectivity/source/drivers/postgresql/pq_tools.hxx                      |  173 
 connectivity/source/drivers/postgresql/pq_updateableresultset.cxx        |  577 ++
 connectivity/source/drivers/postgresql/pq_updateableresultset.hxx        |  162 
 connectivity/source/drivers/postgresql/pq_xbase.cxx                      |  246 
 connectivity/source/drivers/postgresql/pq_xbase.hxx                      |  130 
 connectivity/source/drivers/postgresql/pq_xcolumn.cxx                    |   90 
 connectivity/source/drivers/postgresql/pq_xcolumn.hxx                    |   74 
 connectivity/source/drivers/postgresql/pq_xcolumns.cxx                   |  584 ++
 connectivity/source/drivers/postgresql/pq_xcolumns.hxx                   |  114 
 connectivity/source/drivers/postgresql/pq_xcontainer.cxx                 |  481 +
 connectivity/source/drivers/postgresql/pq_xcontainer.hxx                 |  207 
 connectivity/source/drivers/postgresql/pq_xindex.cxx                     |  233 
 connectivity/source/drivers/postgresql/pq_xindex.hxx                     |  122 
 connectivity/source/drivers/postgresql/pq_xindexcolumn.cxx               |   88 
 connectivity/source/drivers/postgresql/pq_xindexcolumn.hxx               |   75 
 connectivity/source/drivers/postgresql/pq_xindexcolumns.cxx              |  289 +
 connectivity/source/drivers/postgresql/pq_xindexcolumns.hxx              |  113 
 connectivity/source/drivers/postgresql/pq_xindexes.cxx                   |  321 +
 connectivity/source/drivers/postgresql/pq_xindexes.hxx                   |  102 
 connectivity/source/drivers/postgresql/pq_xkey.cxx                       |  228 
 connectivity/source/drivers/postgresql/pq_xkey.hxx                       |  118 
 connectivity/source/drivers/postgresql/pq_xkeycolumn.cxx                 |   87 
 connectivity/source/drivers/postgresql/pq_xkeycolumn.hxx                 |   74 
 connectivity/source/drivers/postgresql/pq_xkeycolumns.cxx                |  377 +
 connectivity/source/drivers/postgresql/pq_xkeycolumns.hxx                |  100 
 connectivity/source/drivers/postgresql/pq_xkeys.cxx                      |  353 +
 connectivity/source/drivers/postgresql/pq_xkeys.hxx                      |  101 
 connectivity/source/drivers/postgresql/pq_xtable.cxx                     |  451 +
 connectivity/source/drivers/postgresql/pq_xtable.hxx                     |  187 
 connectivity/source/drivers/postgresql/pq_xtables.cxx                    |  429 +
 connectivity/source/drivers/postgresql/pq_xtables.hxx                    |   85 
 connectivity/source/drivers/postgresql/pq_xuser.cxx                      |  224 
 connectivity/source/drivers/postgresql/pq_xuser.hxx                      |   99 
 connectivity/source/drivers/postgresql/pq_xusers.cxx                     |  221 
 connectivity/source/drivers/postgresql/pq_xusers.hxx                     |   83 
 connectivity/source/drivers/postgresql/pq_xview.cxx                      |  252 
 connectivity/source/drivers/postgresql/pq_xview.hxx                      |  100 
 connectivity/source/drivers/postgresql/pq_xviews.cxx                     |  271 +
 connectivity/source/drivers/postgresql/pq_xviews.hxx                     |   85 
 connectivity/workben/postgresql/ddl.py                                   |  185 
 connectivity/workben/postgresql/main.py                                  |   90 
 connectivity/workben/postgresql/makefile.mk                              |  103 
 connectivity/workben/postgresql/metadata.py                              |  151 
 connectivity/workben/postgresql/preparedstatement.py                     |  228 
 connectivity/workben/postgresql/sdbcx.py                                 |  306 +
 connectivity/workben/postgresql/statement.py                             |  277 +
 set_soenv.in                                                             |    2 
 84 files changed, 21980 insertions(+)

New commits:
commit b2ae2bc04e8dbb8139b0b6317c6eadba904ea307
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date:   Thu Nov 17 21:14:37 2011 +0100

    pgsql-sdbc: publisher is now document foundation

diff --git a/connectivity/source/drivers/postgresql/description.xml b/connectivity/source/drivers/postgresql/description.xml
index 5662acb..8a1e292 100644
--- a/connectivity/source/drivers/postgresql/description.xml
+++ b/connectivity/source/drivers/postgresql/description.xml
@@ -9,7 +9,7 @@
         <OpenOffice.org-minimal-version value="3.3" dep:name="OpenOffice.org 3.3"/>
     </dependencies>
     <publisher>
-        <name xlink:href="http://www.mamane.lu/" lang="en">Lionel Elie Mamane</name>
+        <name xlink:href="http://www.documentfoundation.org" lang="en-US">The Document Foundation</name>
     </publisher>
     <extension-description>
       <src lang="en-US" xlink:href="description/description_en-US.txt"/>
commit ec601fdddc6123727fcca4693f16ceb3e4569d0d
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date:   Thu Nov 17 21:13:40 2011 +0100

    capitalisation

diff --git a/configure.in b/configure.in
index e75548b..a628175 100644
--- a/configure.in
+++ b/configure.in
@@ -361,7 +361,7 @@ AC_ARG_ENABLE(ext-pdfimport,
 
 AC_ARG_ENABLE(ext-postgresql-sdbc,
     AS_HELP_STRING([--enable-ext-postgresql-sdbc],
-        [Enable the build of the PostgreSQL sdbc extension.])
+        [Enable the build of the PostgreSQL-SDBC extension.])
 )
 
 AC_ARG_ENABLE(ext-presenter-console,
commit ab91d708e1d30c2ed253495a531cd82c77a42e58
Author: Norbert Thiebaud <nthiebaud at gmail.com>
Date:   Thu Nov 17 03:18:49 2011 -0600

    make postgresql-sdbc connectivity optional

diff --git a/configure.in b/configure.in
index d586b46..e75548b 100644
--- a/configure.in
+++ b/configure.in
@@ -359,6 +359,11 @@ AC_ARG_ENABLE(ext-pdfimport,
         [Disable the PDF Import extension.])
 )
 
+AC_ARG_ENABLE(ext-postgresql-sdbc,
+    AS_HELP_STRING([--enable-ext-postgresql-sdbc],
+        [Enable the build of the PostgreSQL sdbc extension.])
+)
+
 AC_ARG_ENABLE(ext-presenter-console,
     AS_HELP_STRING([--disable-ext-presenter-console],
         [Disable the Presenter Console extension.])
@@ -5358,19 +5363,24 @@ fi
 dnl ===================================================================
 dnl Check for PostgreSQL stuff
 dnl ===================================================================
-AC_PATH_PROG(PGCONFIG, pg_config)
-if test -z "$PGCONFIG"; then
-    AC_MSG_ERROR([pg_config needed])
-fi
-save_CFLAGS=$CFLAGS
-save_LIBS=$LIBS
-CFLAGS="-I`pg_config --includedir`"
-AC_CHECK_HEADER([libpq-fe.h], [], [AC_MSG_ERROR([libpq-fe.h is needed])], [])
-AC_CHECK_LIB(pq, PQconnectdbParams, [],
-    [AC_MSG_ERROR(libpq not found or too old. Need >= 9.0)], [])
-CFLAGS=$save_CFLAGS
-LIBS=$save_LIBS
-SYSTEM_POSTGRESQL=YES # only option atm :-)
+
+if test "x$enable_ext_postgresql_sdbc" = "xyes"; then
+    AC_PATH_PROG(PGCONFIG, pg_config)
+    if test -z "$PGCONFIG"; then
+        AC_MSG_ERROR([pg_config needed])
+    fi
+    save_CFLAGS=$CFLAGS
+    save_LIBS=$LIBS
+    CFLAGS="-I`pg_config --includedir`"
+    AC_CHECK_HEADER([libpq-fe.h], [], [AC_MSG_ERROR([libpq-fe.h is needed])], [])
+    AC_CHECK_LIB(pq, PQconnectdbParams, [],
+        [AC_MSG_ERROR(libpq not found or too old. Need >= 9.0)], [])
+    CFLAGS=$save_CFLAGS
+    LIBS=$save_LIBS
+    BUILD_POSTGRESQL_SDBC=YES
+    SYSTEM_POSTGRESQL=YES # only option atm :-)
+fi
+AC_SUBST(BUILD_POSTGRESQL_SDBC)
 AC_SUBST(SYSTEM_POSTGRESQL)
 
 dnl ===================================================================
diff --git a/connectivity/source/drivers/postgresql/makefile.mk b/connectivity/source/drivers/postgresql/makefile.mk
index 43b4d5d..8c8c022 100644
--- a/connectivity/source/drivers/postgresql/makefile.mk
+++ b/connectivity/source/drivers/postgresql/makefile.mk
@@ -36,6 +36,9 @@ NO_DEFAULT_STL=TRUE
 # --- Settings -----------------------------------------------------
 
 .INCLUDE :  settings.mk
+
+.IF "$(BUILD_POSTGRESQL_SDBC)" == "YES"
+
 .IF "$(SYSTEM_POSTGRESQL)" != "YES"
 .INCLUDE :  $(SOLARINCDIR)$/postgresql/postgresql-version.mk
 .ENDIF
@@ -145,6 +148,8 @@ SLOFILES=       $(LIB1OBJFILES) $(LIB2OBJFILES)
 DRIVERNAME=postgresql-sdbc-$(PQ_SDBC_VERSION).oxt
 ALLTAR : $(DLLDEST)$/$(DRIVERNAME)
 
+.ENDIF # BUILD_POSTGRESQL_SDBC
+
 # --- Targets ------------------------------------------------------
 .INCLUDE :  target.mk
 
diff --git a/set_soenv.in b/set_soenv.in
index 8538419..78bc704 100755
--- a/set_soenv.in
+++ b/set_soenv.in
@@ -2002,6 +2002,7 @@ ToFile( "XINERAMA_LINK",     "@XINERAMA_LINK@",    "e" );
 ToFile( "SYSTEM_REDLAND",    "@SYSTEM_REDLAND@",   "e" );
 ToFile( "REDLAND_CFLAGS",    "@REDLAND_CFLAGS@",   "e" );
 ToFile( "REDLAND_LIBS",      "@REDLAND_LIBS@",     "e" );
+ToFile( "BUILD_POSTGRESQL_SDBC",   "@BUILD_POSTGRESQL_SDBC@", "e" );
 ToFile( "SYSTEM_POSTGRESQL", "@SYSTEM_POSTGRESQL@", "e" );
 ToFile( "SYSTEM_HUNSPELL",   "@SYSTEM_HUNSPELL@",  "e" );
 ToFile( "HUNSPELL_CFLAGS",   "@HUNSPELL_CFLAGS@",  "e" );
commit d526c3f5ea404ef0923b16ce0aad662b03ba15ac
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date:   Wed Nov 16 22:54:56 2011 +0100

    postgresql-sdbc: adapt to removal of implicit (O)ustring->sal_Char* conversion

diff --git a/connectivity/source/drivers/postgresql/pq_databasemetadata.cxx b/connectivity/source/drivers/postgresql/pq_databasemetadata.cxx
index 0141454..2c552e9 100644
--- a/connectivity/source/drivers/postgresql/pq_databasemetadata.cxx
+++ b/connectivity/source/drivers/postgresql/pq_databasemetadata.cxx
@@ -1819,7 +1819,7 @@ static void columnMetaData2DatabaseTypeDescription(
             i++;
             int start = i;
             while( array[i] && array[i] != '}' && array[i] != ',' ) i++;
-            row[3] <<= OUString( &array[start], i - start );
+            row[3] <<= OUString( &array.getStr()[start], i - start );
             vec.push_back( row );
         }
     }
diff --git a/connectivity/source/drivers/postgresql/pq_preparedstatement.cxx b/connectivity/source/drivers/postgresql/pq_preparedstatement.cxx
index d6b1fc0..acbe432 100644
--- a/connectivity/source/drivers/postgresql/pq_preparedstatement.cxx
+++ b/connectivity/source/drivers/postgresql/pq_preparedstatement.cxx
@@ -325,7 +325,7 @@ void PreparedStatement::raiseSQLException(
     buf.append(
         rtl::OUString( errorMsg, strlen(errorMsg) , m_pSettings->encoding ) );
     buf.appendAscii( " (caused by statement '" );
-    buf.appendAscii( m_executedStatement );
+    buf.appendAscii( m_executedStatement.getStr() );
     buf.appendAscii( "')" );
     OUString error = buf.makeStringAndClear();
     log( m_pSettings, LogLevel::ERROR, error );
diff --git a/connectivity/source/drivers/postgresql/pq_tools.cxx b/connectivity/source/drivers/postgresql/pq_tools.cxx
index 2232d13..bc25df0 100644
--- a/connectivity/source/drivers/postgresql/pq_tools.cxx
+++ b/connectivity/source/drivers/postgresql/pq_tools.cxx
@@ -137,7 +137,7 @@ com::sun::star::util::Time string2Time( const rtl::OUString & time )
 
     if( time.getLength() >9 )
     {
-        ret.HundredthSeconds = (sal_Int32)rtl_ustr_toInt32( &time[9] , 10 );
+        ret.HundredthSeconds = (sal_Int32)rtl_ustr_toInt32( &time.getStr()[9] , 10 );
     }
     return ret;
 
@@ -429,12 +429,12 @@ bool isWhitespace( sal_Unicode c )
     for( ; i < sql.getLength() && isWhitespace(sql[i])  ; i++ );
 
     if( 0 == rtl_ustr_ascii_shortenedCompareIgnoreAsciiCase_WithLength(
-            &sql[i], sql.getLength() - i, "insert" , 6 ) )
+            &sql.getStr()[i], sql.getLength() - i, "insert" , 6 ) )
     {
         i += 6;
         for( ; i < sql.getLength() && isWhitespace(sql[i]) ; i++ );
         if( 0 == rtl_ustr_ascii_shortenedCompareIgnoreAsciiCase_WithLength(
-            &sql[i], sql.getLength() - i, "into" , 4 ) )
+            &sql.getStr()[i], sql.getLength() - i, "into" , 4 ) )
         {
             i +=4;
             for( ; i < sql.getLength() && isWhitespace(sql[i]) ; i++ );
@@ -470,7 +470,7 @@ bool isWhitespace( sal_Unicode c )
                     }
                 }
             }
-            ret = rtl::OUString( &sql[start], i - start ).trim();
+            ret = rtl::OUString( &sql.getStr()[start], i - start ).trim();
 //             printf( "pq_statement: parsed table name %s from insert\n" ,
 //                     OUStringToOString( ret, RTL_TEXTENCODING_ASCII_US).getStr() );
         }
@@ -524,7 +524,7 @@ void splitSQL( const rtl::OString & sql, OStringVector &vec )
         {
             if( '"' == c )
             {
-                vec.push_back( rtl::OString( &sql[start], i-start+1  ) );
+                vec.push_back( rtl::OString( &sql.getStr()[start], i-start+1  ) );
                 start = i + 1;
                 doubleQuote = false;
             }
@@ -539,7 +539,7 @@ void splitSQL( const rtl::OString & sql, OStringVector &vec )
             }
             else if( '\'' == c )
             {
-                vec.push_back( rtl::OString( &sql[start], i - start +1 ) );
+                vec.push_back( rtl::OString( &sql.getStr()[start], i - start +1 ) );
                 start = i + 1; // leave single quotes !
                 singleQuote = false;
             }
@@ -548,20 +548,20 @@ void splitSQL( const rtl::OString & sql, OStringVector &vec )
         {
             if( '"' == c )
             {
-                vec.push_back( rtl::OString( &sql[start], i - start ) );
+                vec.push_back( rtl::OString( &sql.getStr()[start], i - start ) );
                 doubleQuote = true;
                 start = i;
             }
             else if( '\'' == c )
             {
-                vec.push_back( rtl::OString( &sql[start], i - start ) );
+                vec.push_back( rtl::OString( &sql.getStr()[start], i - start ) );
                 singleQuote = true;
                 start = i;
             }
         }
     }
     if( start < i )
-        vec.push_back( rtl::OString( &sql[start] , i - start ) );
+        vec.push_back( rtl::OString( &sql.getStr()[start] , i - start ) );
 
 //     for( i = 0 ; i < vec.size() ; i ++ )
 //         printf( "%s!" , vec[i].getStr() );
@@ -584,7 +584,7 @@ void tokenizeSQL( const rtl::OString & sql, OStringVector &vec  )
         {
             if( '"' == c )
             {
-                vec.push_back( rtl::OString( &sql[start], i-start  ) );
+                vec.push_back( rtl::OString( &sql.getStr()[start], i-start  ) );
                 start = i + 1;
                 doubleQuote = false;
             }
@@ -593,7 +593,7 @@ void tokenizeSQL( const rtl::OString & sql, OStringVector &vec  )
         {
             if( '\'' == c )
             {
-                vec.push_back( rtl::OString( &sql[start], i - start +1 ) );
+                vec.push_back( rtl::OString( &sql.getStr()[start], i - start +1 ) );
                 start = i + 1; // leave single quotes !
                 singleQuote = false;
             }
@@ -616,15 +616,15 @@ void tokenizeSQL( const rtl::OString & sql, OStringVector &vec  )
                     start ++;   // skip additional whitespace
                 else
                 {
-                    vec.push_back( rtl::OString( &sql[start], i - start  ) );
+                    vec.push_back( rtl::OString( &sql.getStr()[start], i - start  ) );
                     start = i +1;
                 }
             }
             else if( ',' == c || isOperator( c ) || '(' == c || ')' == c )
             {
                 if( i - start )
-                    vec.push_back( rtl::OString( &sql[start], i - start ) );
-                vec.push_back( rtl::OString( &sql[i], 1 ) );
+                    vec.push_back( rtl::OString( &sql.getStr()[start], i - start ) );
+                vec.push_back( rtl::OString( &sql.getStr()[i], 1 ) );
                 start = i + 1;
             }
             else if( '.' == c )
@@ -637,7 +637,7 @@ void tokenizeSQL( const rtl::OString & sql, OStringVector &vec  )
                 else
                 {
                     if( i - start )
-                        vec.push_back( rtl::OString( &sql[start], i - start ) );
+                        vec.push_back( rtl::OString( &sql.getStr()[start], i - start ) );
                     vec.push_back( rtl::OString( RTL_CONSTASCII_STRINGPARAM( "." ) ) );
                     start = i + 1;
                 }
@@ -645,7 +645,7 @@ void tokenizeSQL( const rtl::OString & sql, OStringVector &vec  )
         }
     }
     if( start < i )
-        vec.push_back( rtl::OString( &sql[start] , i - start ) );
+        vec.push_back( rtl::OString( &sql.getStr()[start] , i - start ) );
 
 //     for( i = 0 ; i < vec.size() ; i ++ )
 //         printf( "%s!" , vec[i].getStr() );
@@ -877,7 +877,7 @@ void fillAttnum2attnameMap(
             // it is a table or a function name
             rtl::OStringBuffer buf(128);
             if( '"' == vec[token][0] )
-                buf.append( &(vec[token][1]) , vec[token].getLength() -2 );
+                buf.append( &(vec[token].getStr()[1]) , vec[token].getLength() -2 );
             else
                 buf.append( vec[token] );
             token ++;
@@ -893,7 +893,7 @@ void fillAttnum2attnameMap(
                     if( token < vec.size() )
                     {
                         if( '"' == vec[token][0] )
-                            buf.append( &(vec[token][1]) , vec[token].getLength() -2 );
+                            buf.append( &(vec[token].getStr()[1]) , vec[token].getLength() -2 );
                         else
                             buf.append( vec[token] );
                         token ++;
@@ -965,7 +965,7 @@ com::sun::star::uno::Sequence< sal_Int32 > string2intarray( const ::rtl::OUStrin
         do
         {
             start ++;
-            vec.push_back( (sal_Int32)rtl_ustr_toInt32( &str[start], 10 ) );
+            vec.push_back( (sal_Int32)rtl_ustr_toInt32( &str.getStr()[start], 10 ) );
             start = str.indexOf( ',' , start );
         } while( start != -1 );
         ret = com::sun::star::uno::Sequence< sal_Int32 > ( &vec[0] , vec.size() );
commit 54d32d1005653b02d9cd4fcd9e5875d1d7de50d7
Author: Rene Engelhard <rene at debian.org>
Date:   Sun Oct 16 20:35:14 2011 +0200

    remove duplicated header content in pq_sequenceresultsetmetadata.cxx

diff --git a/connectivity/source/drivers/postgresql/pq_sequenceresultsetmetadata.cxx b/connectivity/source/drivers/postgresql/pq_sequenceresultsetmetadata.cxx
index 262070c..8d277f7 100644
--- a/connectivity/source/drivers/postgresql/pq_sequenceresultsetmetadata.cxx
+++ b/connectivity/source/drivers/postgresql/pq_sequenceresultsetmetadata.cxx
@@ -20,59 +20,6 @@
  *
  ************************************************************************/
 
-#include <cppuhelper/implbase1.hxx>
-#include <com/sun/star/sdbc/XResultSetMetaData.hpp>
-
-#include "pq_connection.hxx"
-#include "pq_statics.hxx"
-
-namespace pq_sdbc_driver
-{
-    class SequenceResultSetMetaData :
-        public ::cppu::WeakImplHelper1 < com::sun::star::sdbc::XResultSetMetaData >
-    {
-        ::rtl::Reference< RefCountedMutex > m_refMutex;
-        ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet > m_origin;
-        ::rtl::OUString m_tableName;
-        ::rtl::OUString m_schemaName;
-        ColumnMetaDataVector m_columnData;
-        sal_Int32 m_colCount;
-
-        void checkColumnIndex( sal_Int32 columnIndex )
-            throw (::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
-
-    public:
-        SequenceResultSetMetaData(
-            const ::rtl::Reference< RefCountedMutex > & reMutex,
-            const ColumnMetaDataVector &vec,
-            int colCount );
-
-    public:
-        // Methods
-        virtual sal_Int32 SAL_CALL getColumnCount(  ) throw (::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
-        virtual sal_Bool SAL_CALL isAutoIncrement( sal_Int32 column ) throw (::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
-        virtual sal_Bool SAL_CALL isCaseSensitive( sal_Int32 column ) throw (::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
-        virtual sal_Bool SAL_CALL isSearchable( sal_Int32 column ) throw (::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
-        virtual sal_Bool SAL_CALL isCurrency( sal_Int32 column ) throw (::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
-        virtual sal_Int32 SAL_CALL isNullable( sal_Int32 column ) throw (::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
-        virtual sal_Bool SAL_CALL isSigned( sal_Int32 column ) throw (::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
-        virtual sal_Int32 SAL_CALL getColumnDisplaySize( sal_Int32 column ) throw (::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
-        virtual ::rtl::OUString SAL_CALL getColumnLabel( sal_Int32 column ) throw (::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
-        virtual ::rtl::OUString SAL_CALL getColumnName( sal_Int32 column ) throw (::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
-        virtual ::rtl::OUString SAL_CALL getSchemaName( sal_Int32 column ) throw (::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
-        virtual sal_Int32 SAL_CALL getPrecision( sal_Int32 column ) throw (::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
-        virtual sal_Int32 SAL_CALL getScale( sal_Int32 column ) throw (::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
-        virtual ::rtl::OUString SAL_CALL getTableName( sal_Int32 column ) throw (::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
-        virtual ::rtl::OUString SAL_CALL getCatalogName( sal_Int32 column ) throw (::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
-        virtual sal_Int32 SAL_CALL getColumnType( sal_Int32 column ) throw (::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
-        virtual ::rtl::OUString SAL_CALL getColumnTypeName( sal_Int32 column ) throw (::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
-        virtual sal_Bool SAL_CALL isReadOnly( sal_Int32 column ) throw (::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
-        virtual sal_Bool SAL_CALL isWritable( sal_Int32 column ) throw (::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
-        virtual sal_Bool SAL_CALL isDefinitelyWritable( sal_Int32 column ) throw (::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
-        virtual ::rtl::OUString SAL_CALL getColumnServiceName( sal_Int32 column ) throw (::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
-    };
-
-}
 #include "pq_sequenceresultsetmetadata.hxx"
 
 #include <rtl/ustrbuf.hxx>
commit ca0cbc44a67da375c9a17a833621f64b34720f33
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date:   Tue Sep 20 16:15:49 2011 +0200

    Version 0.8.1

diff --git a/connectivity/source/drivers/postgresql/makefile.mk b/connectivity/source/drivers/postgresql/makefile.mk
index b24b195..43b4d5d 100644
--- a/connectivity/source/drivers/postgresql/makefile.mk
+++ b/connectivity/source/drivers/postgresql/makefile.mk
@@ -46,7 +46,7 @@ DLLPRE=
 
 PQ_SDBC_MAJOR=0
 PQ_SDBC_MINOR=8
-PQ_SDBC_MICRO=0
+PQ_SDBC_MICRO=1
 PQ_SDBC_VERSION=$(PQ_SDBC_MAJOR).$(PQ_SDBC_MINOR).$(PQ_SDBC_MICRO)
 .IF "$(SYSTEM_POSTGRESQL)" == "YES"
 POSTGRESQL_MAJOR:=$(shell @pg_config --version | awk '{ print $$2 }' | cut -d. -f1)
commit 04922d56872618a9821bbe713294d5155a78a3db
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date:   Fri Sep 16 17:26:39 2011 +0200

    Overhaul (Updateable)RecordSet properties to semi-sane state
    
     - Set all (Updateable)RecordSet properties in constructors
     - BaseResultSet: give properties their proper disjoint handle,
       add IsBookmarkable.

diff --git a/connectivity/source/drivers/postgresql/pq_baseresultset.cxx b/connectivity/source/drivers/postgresql/pq_baseresultset.cxx
index 3234245..8381c72 100644
--- a/connectivity/source/drivers/postgresql/pq_baseresultset.cxx
+++ b/connectivity/source/drivers/postgresql/pq_baseresultset.cxx
@@ -93,23 +93,29 @@ static ::cppu::IPropertyArrayHelper & getResultSetPropertyArrayHelper()
         {
             static Property aTable[] =
                 {
+                    // LEM TODO: this needs to be kept in sync with other, e.g. pq_statics.css:508
+                    // Should really share!
+                    // At least use for the handles the #define'd values in .hxx file...
                     Property(
                         OUString( RTL_CONSTASCII_USTRINGPARAM("CursorName") ), 0,
                         ::getCppuType( (OUString *)0) , 0 ),
                     Property(
-                        OUString( RTL_CONSTASCII_USTRINGPARAM("EscapeProcessing") ), 0,
+                        OUString( RTL_CONSTASCII_USTRINGPARAM("EscapeProcessing") ), 1,
                         ::getBooleanCppuType() , 0 ),
                     Property(
-                        OUString( RTL_CONSTASCII_USTRINGPARAM("FetchDirection") ), 0,
+                        OUString( RTL_CONSTASCII_USTRINGPARAM("FetchDirection") ), 2,
                         ::getCppuType( (sal_Int32 *)0) , 0 ),
                     Property(
-                        OUString( RTL_CONSTASCII_USTRINGPARAM("FetchSize") ), 0,
+                        OUString( RTL_CONSTASCII_USTRINGPARAM("FetchSize") ), 3,
                         ::getCppuType( (sal_Int32 *)0) , 0 ),
                     Property(
-                        OUString( RTL_CONSTASCII_USTRINGPARAM("ResultSetConcurrency") ), 0,
+                        OUString( RTL_CONSTASCII_USTRINGPARAM("IsBookmarkable") ), 4,
+                        ::getBooleanCppuType() , 0 ),
+                    Property(
+                        OUString( RTL_CONSTASCII_USTRINGPARAM("ResultSetConcurrency") ), 5,
                         ::getCppuType( (sal_Int32 *)0) , 0 ),
                     Property(
-                        OUString( RTL_CONSTASCII_USTRINGPARAM("ResultSetType") ), 0,
+                        OUString( RTL_CONSTASCII_USTRINGPARAM("ResultSetType") ), 6,
                         ::getCppuType( (sal_Int32 *)0) , 0 )
                 };
             OSL_ASSERT( sizeof(aTable) / sizeof(Property) == BASERESULTSET_SIZE );
@@ -614,6 +620,7 @@ sal_Bool BaseResultSet::convertFastPropertyValue(
         break;
     }
     case BASERESULTSET_ESCAPE_PROCESSING:
+    case BASERESULTSET_IS_BOOKMARKABLE:
     {
         sal_Bool val;
         bRet = ( rValue >>= val );
diff --git a/connectivity/source/drivers/postgresql/pq_baseresultset.hxx b/connectivity/source/drivers/postgresql/pq_baseresultset.hxx
index b523384..6a9ec39 100644
--- a/connectivity/source/drivers/postgresql/pq_baseresultset.hxx
+++ b/connectivity/source/drivers/postgresql/pq_baseresultset.hxx
@@ -45,10 +45,11 @@ static const sal_Int32 BASERESULTSET_CURSOR_NAME = 0;
 static const sal_Int32 BASERESULTSET_ESCAPE_PROCESSING = 1;
 static const sal_Int32 BASERESULTSET_FETCH_DIRECTION = 2;
 static const sal_Int32 BASERESULTSET_FETCH_SIZE = 3;
-static const sal_Int32 BASERESULTSET_RESULT_SET_CONCURRENCY = 4;
-static const sal_Int32 BASERESULTSET_RESULT_SET_TYPE = 5;
+static const sal_Int32 BASERESULTSET_IS_BOOKMARKABLE = 4;
+static const sal_Int32 BASERESULTSET_RESULT_SET_CONCURRENCY = 5;
+static const sal_Int32 BASERESULTSET_RESULT_SET_TYPE = 6;
 
-#define BASERESULTSET_SIZE 6
+#define BASERESULTSET_SIZE 7
 
 class BaseResultSet : public cppu::OComponentHelper,
                       public cppu::OPropertySetHelper,
diff --git a/connectivity/source/drivers/postgresql/pq_preparedstatement.cxx b/connectivity/source/drivers/postgresql/pq_preparedstatement.cxx
index 0c65271..d6b1fc0 100644
--- a/connectivity/source/drivers/postgresql/pq_preparedstatement.cxx
+++ b/connectivity/source/drivers/postgresql/pq_preparedstatement.cxx
@@ -366,6 +366,10 @@ sal_Bool PreparedStatement::execute( )
     OStringVector::size_type vars = 0;
     for( OStringVector::size_type i = 0 ; i < m_splittedStatement.size() ; ++i )
     {
+        // LEM TODO: instead of this manual mucking with SQL
+        // could we use PQexecParams / PQExecPrepared / ...?
+        // Only snafu is giving the types of the parameters and
+        // that it needs $1, $2, etc instead of "?"
         const OString &str = m_splittedStatement[i];
 //         printf( "Splitted %d %s\n" , i , str.getStr() );
         if( isQuoted( str ) )
diff --git a/connectivity/source/drivers/postgresql/pq_resultset.cxx b/connectivity/source/drivers/postgresql/pq_resultset.cxx
index ad85fb3..d625574 100644
--- a/connectivity/source/drivers/postgresql/pq_resultset.cxx
+++ b/connectivity/source/drivers/postgresql/pq_resultset.cxx
@@ -28,6 +28,8 @@
 #include "pq_resultset.hxx"
 #include "pq_resultsetmetadata.hxx"
 
+#include <com/sun/star/sdbc/FetchDirection.hpp>
+#include <com/sun/star/sdbc/ResultSetConcurrency.hpp>
 #include <com/sun/star/sdbc/ResultSetType.hpp>
 #include <com/sun/star/sdbc/DataType.hpp>
 
@@ -81,9 +83,20 @@ ResultSet::ResultSet( const ::rtl::Reference< RefCountedMutex > & refMutex,
       m_table( table ),
       m_ppSettings( ppSettings )
 {
-//    sal_Bool b = sal_True;
-//     m_props[RESULTSET_IS_BOOKMARKABLE] = Any( &b, getBooleanCppuType() );
-    m_props[ BASERESULTSET_RESULT_SET_TYPE] = makeAny(
+    // LEM TODO: shouldn't these things be inherited from the statement or something like that?
+    sal_Bool b = sal_False;
+    // Positioned update/delete not supported, so no cursor name
+    // Fetch direction and size are cursor-specific things, so not used now.
+    // Fetch size not set
+    m_props[ BASERESULTSET_FETCH_DIRECTION ] = makeAny(
+        com::sun::star::sdbc::FetchDirection::UNKNOWN);
+    // No escape processing for now
+    m_props[ BASERESULTSET_ESCAPE_PROCESSING ] = Any( &b, getBooleanCppuType() );
+    // Bookmarks not implemented for now
+    m_props[ BASERESULTSET_IS_BOOKMARKABLE ] = Any( &b, getBooleanCppuType() );
+    m_props[ BASERESULTSET_RESULT_SET_CONCURRENCY ] = makeAny(
+        com::sun::star::sdbc::ResultSetConcurrency::READ_ONLY );
+    m_props[ BASERESULTSET_RESULT_SET_TYPE ] = makeAny(
         com::sun::star::sdbc::ResultSetType::SCROLL_INSENSITIVE );
 }
 
diff --git a/connectivity/source/drivers/postgresql/pq_updateableresultset.hxx b/connectivity/source/drivers/postgresql/pq_updateableresultset.hxx
index 869714d..5c5f74f 100644
--- a/connectivity/source/drivers/postgresql/pq_updateableresultset.hxx
+++ b/connectivity/source/drivers/postgresql/pq_updateableresultset.hxx
@@ -23,6 +23,9 @@
 #include "pq_sequenceresultset.hxx"
 #include "pq_resultsetmetadata.hxx"
 
+#include <com/sun/star/sdbc/FetchDirection.hpp>
+#include <com/sun/star/sdbc/ResultSetConcurrency.hpp>
+#include <com/sun/star/sdbc/ResultSetType.hpp>
 #include <com/sun/star/sdbc/XResultSetUpdate.hpp>
 #include <com/sun/star/sdbc/XRowUpdate.hpp>
 
@@ -70,6 +73,25 @@ protected:
           m_primaryKey( primaryKey ),
           m_insertRow( false )
     {
+        // LEM TODO: this duplicates code in pq_resultset.cxx, except for different value
+        //           of ResultSetConcurrency. Baaad.
+        //           Why is an updatable ResultSet a sequenceresultset in the first place?
+        //           This seems to imply that the whole data is fetched once and kept in memory. BAAAAD.
+        // LEM TODO: shouldn't these things be inherited from the statement or something like that?
+        sal_Bool b = sal_False;
+        // Positioned update/delete not supported, so no cursor name
+        // Fetch direction and size are cursor-specific things, so not used now.
+        // Fetch size not set
+        m_props[ BASERESULTSET_FETCH_DIRECTION ] = com::sun::star::uno::makeAny(
+            com::sun::star::sdbc::FetchDirection::UNKNOWN);
+        // No escape processing for now
+        m_props[ BASERESULTSET_ESCAPE_PROCESSING ] = com::sun::star::uno::Any( &b, getBooleanCppuType() );
+        // Bookmarks not implemented for now
+        m_props[ BASERESULTSET_IS_BOOKMARKABLE ] = com::sun::star::uno::Any( &b, getBooleanCppuType() );
+        m_props[ BASERESULTSET_RESULT_SET_CONCURRENCY ] = com::sun::star::uno::makeAny(
+            com::sun::star::sdbc::ResultSetConcurrency::UPDATABLE );
+        m_props[ BASERESULTSET_RESULT_SET_TYPE ] = com::sun::star::uno::makeAny(
+            com::sun::star::sdbc::ResultSetType::SCROLL_INSENSITIVE );
     }
 
     rtl::OUString buildWhereClause();
commit 4ab98d466333ff797a4911bc4dfe51761a487118
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date:   Fri Sep 16 17:25:46 2011 +0200

    Overhaul DatabaseMetaData::getTablePrivileges

diff --git a/connectivity/source/drivers/postgresql/pq_databasemetadata.cxx b/connectivity/source/drivers/postgresql/pq_databasemetadata.cxx
index 530b52c..0141454 100644
--- a/connectivity/source/drivers/postgresql/pq_databasemetadata.cxx
+++ b/connectivity/source/drivers/postgresql/pq_databasemetadata.cxx
@@ -821,6 +821,10 @@ sal_Bool DatabaseMetaData::supportsCatalogsInPrivilegeDefinitions(  ) throw (SQL
 }
 
 
+// LEM TODO: positioned (through cursor) updates and deletes seem
+// to be supported; see {UPDATE,DELETE} /table/ (...) WHERE CURRENT OF /cursor_name/" syntax
+// and http://www.postgresql.org/docs/9.1/static/view-pg-cursors.html
+// http://www.postgresql.org/docs/9.1/static/libpq-example.html actually uses a cursor :)
 sal_Bool DatabaseMetaData::supportsPositionedDelete(  ) throw (SQLException, RuntimeException)
 {
     // LEM: jdbc driver says not, although the comments in it seem old
@@ -1008,7 +1012,7 @@ sal_Int32 DatabaseMetaData::getMaxCatalogNameLength(  ) throw (SQLException, Run
 
 sal_Int32 DatabaseMetaData::getMaxRowSize(  ) throw (SQLException, RuntimeException)
 {
-    // jdbc driver seays 1GB, but http://www.postgresql.org/about/ says 1.6TB
+    // jdbc driver says 1GB, but http://www.postgresql.org/about/ says 1.6TB
     // and that 1GB is the maximum _field_ size
     // The row limit does not fit into a sal_Int32
     return 0;
@@ -1643,68 +1647,19 @@ static void columnMetaData2DatabaseTypeDescription(
     const OUString& columnNamePattern ) throw (SQLException, RuntimeException)
 {
     //LEM TODO: implement! See JDBC driver
+    // In the meantime, maybe better to throw exception SQLException with
+    // SQLState == "IM001"
     MutexGuard guard( m_refMutex->mutex );
     checkClosed();
     return new SequenceResultSet(
         m_refMutex, *this, Sequence< OUString >(), Sequence< Sequence< Any > > (), m_pSettings->tc );
 }
 
-static void addPrivilegesToVector(
-    sal_Int32 privilege, const OUString &catalog, const OUString & schema,
-    const OUString &tableName, const OUString &grantor, const OUString &grantee,
-    bool grantable, SequenceAnyVector &vec )
-{
-    Statics & statics = getStatics();
-    for( int index = 1; index <= PRIVILEGE_MAX ; index = index << 1 )
-    {
-        OUString privname;
-        switch( privilege & index )
-        {
-        case PRIVILEGE_SELECT:
-            privname = statics.SELECT; break;
-        case PRIVILEGE_UPDATE:
-            privname = statics.UPDATE; break;
-        case PRIVILEGE_INSERT:
-            privname = statics.INSERT; break;
-        case PRIVILEGE_DELETE:
-            privname = statics.DELETE; break;
-        case PRIVILEGE_RULE:
-            privname = statics.RULE; break;
-        case PRIVILEGE_REFERENCES:
-            privname = statics.REFERENCES; break;
-        case PRIVILEGE_TRIGGER:
-            privname = statics.TRIGGER; break;
-        case PRIVILEGE_EXECUTE:
-            privname = statics.EXECUTE; break;
-        case PRIVILEGE_USAGE:
-            privname = statics.USAGE; break;
-        case PRIVILEGE_CREATE:
-            privname = statics.CREATE; break;
-        case PRIVILEGE_TEMPORARY:
-            privname = statics.TEMPORARY; break;
-        default:
-            break;
-        }
-
-        Sequence< Any > seq( 7 );
-        seq[0] <<= catalog;
-        seq[1] <<= schema;
-        seq[2] <<= tableName;
-        seq[3] <<= grantor;
-        seq[4] <<= grantee;
-        seq[5] <<= privname;
-        seq[6] <<= (grantable ? statics.YES : statics.NO );
-        vec.push_back( seq );
-    }
-}
-
-
 ::com::sun::star::uno::Reference< XResultSet > DatabaseMetaData::getTablePrivileges(
     const ::com::sun::star::uno::Any& catalog,
     const OUString& schemaPattern,
     const OUString& tableNamePattern ) throw (SQLException, RuntimeException)
 {
-    // LEM TODO: review
     MutexGuard guard( m_refMutex->mutex );
     checkClosed();
 
@@ -1718,68 +1673,54 @@ static void addPrivilegesToVector(
         log( m_pSettings, LogLevel::INFO, buf.makeStringAndClear() );
     }
 
-    // algorithm
-
-    // get the pg_class.relact item for the concrete table
-    // get userid for username from pg_shadow (or pg_user view)
-    // get the group names mentioned in pg_class.relact from pg_group
-    // identify, which groups the current user belongs to
-    // calculate the union of all permissions (1 public, 1 user, n groups)
-
-    //     1. TABLE_CAT string =&gt; table catalog (may be NULL )
-    //     2. TABLE_SCHEM string =&gt; table schema (may be NULL )
-    //     3. TABLE_NAME string =&gt; table name
-    //     4. GRANTOR =&gt; grantor of access (may be NULL )
-    //     5. GRANTEE string =&gt; grantee of access
-    //     6. PRIVILEGE string =&gt; name of access (SELECT, INSERT, UPDATE, REFERENCES, ...)
-    //     7. IS_GRANTABLE string =&gt; "YES" if grantee is permitted to grant to
-    //        others; "NO" if not; NULL if unknown
-
     Reference< XPreparedStatement > statement = m_origin->prepareStatement(
         ASCII_STR(
-            "SELECT pg_namespace.nspname, "
-                    "pg_class.relname, "
-                    "pg_class.relacl, "
-                    "pg_user.usename "
-            "FROM pg_class, pg_user, pg_namespace "
-            "WHERE pg_class.relowner = pg_user.usesysid "
-                   "AND ( pg_class.relkind = 'r' OR pg_class.relkind = 'v' ) "
-                   "AND pg_class.relnamespace = pg_namespace.oid "
-                   "AND pg_namespace.nspname LIKE ? "
-                   "AND pg_class.relname LIKE ?"
-            "ORDER BY pg_namespace.nspname || pg_class.relname "
-            ) );
+            "  WITH RECURSIVE roles AS ("
+            "      SELECT oid, rolname, rolinherit, rolsuper FROM pg_catalog.pg_roles"
+            "    UNION ALL"
+            "      VALUES (0, 'PUBLIC', TRUE, FALSE)"
+            "  ), direct_privs_oids AS ("
+            "      SELECT c.relname, c.relnamespace, c.relowner, (aclexplode(c.relacl)).*"
+            "      FROM pg_catalog.pg_class c"
+            "      WHERE c.relkind IN ('r', 'v') AND c.relname LIKE ?"
+            "    UNION ALL"
+            "      SELECT c.relname, c.relnamespace, c.relowner, c.relowner, c.relowner, p.privilege, TRUE"
+            "      FROM pg_catalog.pg_class c,"
+            "           (VALUES ('SELECT'), ('INSERT'), ('UPDATE'), ('DELETE'), ('TRUNCATE'), ('REFERENCES'), ('TRIGGER')) p (privilege)"
+            "      WHERE c.relkind IN ('r', 'v') AND c.relacl IS NULL AND c.relname LIKE ?"
+            "  ), direct_privs AS ("
+            "    SELECT dpo.relname, pn.nspname, dpo.relowner, pr_grantor.rolname AS grantor, dpo.grantee, dpo.privilege_type, dpo.is_grantable"
+            "    FROM direct_privs_oids dpo INNER JOIN roles pr_grantor ON dpo.grantor = pr_grantor.oid"
+            "       INNER JOIN pg_catalog.pg_namespace pn ON pn.oid = dpo.relnamespace"
+            "    WHERE pn.nspname LIKE ?"
+            "  ), memberships(roleid, membership) AS ("
+            "      SELECT pr.oid, 0"
+            "      FROM pg_catalog.pg_roles pr"
+            "    UNION"
+            "      SELECT pr.oid, pr.oid"
+            "      FROM roles pr"
+            "    UNION"
+            "      SELECT m.roleid, pam.roleid"
+            "      FROM roles pr INNER JOIN pg_catalog.pg_auth_members pam ON pr.oid = pam.member"
+            "           INNER JOIN memberships m ON pam.member = m.membership"
+            "      WHERE pr.rolinherit"
+            "  )"
+            "  SELECT current_database() AS TABLE_CAT, dp.nspname AS TABLE_SCHEM, dp.relname AS TABLE_NAME,"
+            "         dp.grantor AS GRANTOR, pr_grantee.rolname AS GRANTEE, dp.privilege_type AS PRIVILEGE,"
+            "         CASE WHEN dp.is_grantable OR (dp.relowner = pr_grantee.oid) THEN 'YES' ELSE 'NO' END AS IS_GRANTABLE"
+            "  FROM direct_privs dp INNER JOIN memberships m ON dp.grantee = m. membership"
+            "       INNER JOIN roles pr_grantee ON pr_grantee.oid = m.roleid"
+            "  ORDER BY dp.nspname, dp.relname, dp.privilege_type"
+        ));
 
     Reference< XParameters > parameters( statement, UNO_QUERY_THROW );
-    parameters->setString( 1 , schemaPattern );
+    parameters->setString( 3 , schemaPattern );
+    parameters->setString( 1 , tableNamePattern );
     parameters->setString( 2 , tableNamePattern );
 
     Reference< XResultSet > rs = statement->executeQuery();
-    Reference< XRow > xRow( rs, UNO_QUERY_THROW );
-    SequenceAnyVector vec;
-    while( rs->next() )
-    {
-        // TODO calculate privileges  !
-        sal_Int32 privilege = 0;
-        privilege =
-            PRIVILEGE_SELECT | PRIVILEGE_UPDATE | PRIVILEGE_INSERT |
-            PRIVILEGE_DELETE | PRIVILEGE_RULE   | PRIVILEGE_REFERENCES |
-            PRIVILEGE_TRIGGER| PRIVILEGE_EXECUTE| PRIVILEGE_USAGE      |
-            PRIVILEGE_CREATE |PRIVILEGE_TEMPORARY;
-
-        addPrivilegesToVector( privilege,
-                               m_pSettings->catalog,
-                               xRow->getString( 1 ),
-                               xRow->getString( 2 ),
-                               xRow->getString( 4 ),
-                               m_pSettings->user,
-                               m_pSettings->user == xRow->getString( 4 ),
-                               vec );
-    }
 
-    return new SequenceResultSet(
-        m_refMutex, *this, getStatics().tablePrivilegesNames,
-        Sequence< Sequence< Any > > ( &vec[0], vec.size() ), m_pSettings->tc );
+    return rs;
 }
 
 ::com::sun::star::uno::Reference< XResultSet > DatabaseMetaData::getBestRowIdentifier(
commit 878f6b5bc0ab70e66b3ba91b7d069dc78700cd20
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date:   Wed Sep 14 10:50:48 2011 +0200

    Throw SQLSTATE="IM001" for "not supported"
    
    enables write access to tables with LibreOffice 3.5

diff --git a/connectivity/source/drivers/postgresql/pq_sequenceresultset.cxx b/connectivity/source/drivers/postgresql/pq_sequenceresultset.cxx
index 5730ebf..2c99fa5 100644
--- a/connectivity/source/drivers/postgresql/pq_sequenceresultset.cxx
+++ b/connectivity/source/drivers/postgresql/pq_sequenceresultset.cxx
@@ -1,3 +1,4 @@
+/* -*- Mode: C++; eval:(c-set-style "bsd"); tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
 /*************************************************************************
  *
  *  This library is free software; you can redistribute it and/or
@@ -17,6 +18,7 @@
  *  The Initial Developer of the Original Code is: Joerg Budischewski
  *
  *   Copyright: 2000 by Sun Microsystems, Inc.
+ *              2011 by Lionel Elie Mamane <lionel at mamane.lu>
  *
  *   All Rights Reserved.
  *
@@ -90,7 +92,10 @@ Reference< XResultSetMetaData > SAL_CALL SequenceResultSet::getMetaData(  )
         // Oh no, not again
         throw ::com::sun::star::sdbc::SQLException(
             ASCII_STR( "pq_sequenceresultset: no meta supported " ), *this,
-            OUString(), 1, Any() );
+        // I did not find "IM001" in a specific standard,
+        // but it seems to be used by other systems (such as ODBC)
+        // and some parts of LibreOffice special-case it.
+            OUString( ASCII_STR("IM001") ), 1, Any() );
     }
     return m_meta;
 }
commit b31ca7df75be7a8b86926d9cf385ee9c4f04daca
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date:   Mon Sep 12 16:51:31 2011 +0200

    Shup up "dmake: Executing shell macro:" msgs

diff --git a/connectivity/source/drivers/postgresql/makefile.mk b/connectivity/source/drivers/postgresql/makefile.mk
index 17d9c8a..b24b195 100644
--- a/connectivity/source/drivers/postgresql/makefile.mk
+++ b/connectivity/source/drivers/postgresql/makefile.mk
@@ -49,15 +49,15 @@ PQ_SDBC_MINOR=8
 PQ_SDBC_MICRO=0
 PQ_SDBC_VERSION=$(PQ_SDBC_MAJOR).$(PQ_SDBC_MINOR).$(PQ_SDBC_MICRO)
 .IF "$(SYSTEM_POSTGRESQL)" == "YES"
-POSTGRESQL_MAJOR:=$(shell pg_config --version | awk '{ print $$2 }' | cut -d. -f1)
-POSTGRESQL_MINOR:=$(shell pg_config --version | awk '{ print $$2 }' | cut -d. -f2)
-POSTGRESQL_MICRO:=$(shell pg_config --version | awk '{ print $$2 }' | cut -d. -f3)
+POSTGRESQL_MAJOR:=$(shell @pg_config --version | awk '{ print $$2 }' | cut -d. -f1)
+POSTGRESQL_MINOR:=$(shell @pg_config --version | awk '{ print $$2 }' | cut -d. -f2)
+POSTGRESQL_MICRO:=$(shell @pg_config --version | awk '{ print $$2 }' | cut -d. -f3)
 .ENDIF
 
 .IF "$(SYSTEM_POSTGRESQL)" != "YES"
 POSTGRESQL_INCLUDES=-I$(SOLARINCDIR)$/postgresql
 .ELSE
-POSTGRESQL_INCLUDES:=-I$(shell pg_config --includedir)
+POSTGRESQL_INCLUDES:=-I$(shell @pg_config --includedir)
 .ENDIF
 
 CFLAGS+=$(POSTGRESQL_INCLUDES) \
commit 1dbe65b207b6a27918b21ca0123efeba42405775
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date:   Tue Sep 20 15:56:33 2011 +0200

    Switch to LGPL-only

diff --git a/connectivity/source/drivers/postgresql/makefile.mk b/connectivity/source/drivers/postgresql/makefile.mk
index fa27c26..17d9c8a 100644
--- a/connectivity/source/drivers/postgresql/makefile.mk
+++ b/connectivity/source/drivers/postgresql/makefile.mk
@@ -1,24 +1,5 @@
 #*************************************************************************
 #
-#   $RCSfile: makefile.mk,v $
-#
-#   $Revision: 1.1.2.15 $
-#
-#   last change: $Author: jbu $ $Date: 2010/02/07 12:31:34 $
-#
-#   The Contents of this file are made available subject to the terms of
-#   either of the following licenses
-#
-#          - GNU Lesser General Public License Version 2.1
-#          - Sun Industry Standards Source License Version 1.1
-#
-#   Sun Microsystems Inc., October, 2000
-#
-#   GNU Lesser General Public License Version 2.1
-#   =============================================
-#   Copyright 2000 by Sun Microsystems, Inc.
-#   901 San Antonio Road, Palo Alto, CA 94303, USA
-#
 #   This library is free software; you can redistribute it and/or
 #   modify it under the terms of the GNU Lesser General Public
 #   License version 2.1, as published by the Free Software Foundation.
@@ -33,31 +14,15 @@
 #   Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 #   MA  02111-1307  USA
 #
-#
-#   Sun Industry Standards Source License Version 1.1
-#   =================================================
-#   The contents of this file are subject to the Sun Industry Standards
-#   Source License Version 1.1 (the "License"); You may not use this file
-#   except in compliance with the License. You may obtain a copy of the
-#   License at http://www.openoffice.org/license.html.
-#
-#   Software provided under this License is provided on an "AS IS" basis,
-#   WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
-#   WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
-#   MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
-#   See the License for the specific provisions governing your rights and
-#   obligations concerning the Software.
-#
 #   The Initial Developer of the Original Code is: Sun Microsystems, Inc.
 #
 #   Copyright: 2000 by Sun Microsystems, Inc.
+#              2011 by Lionel Elie Mamane <lionel at mamane.lu>
 #
 #   All Rights Reserved.
 #
 #   Contributor(s): _______________________________________
 #
-#
-#
 #*************************************************************************
 PRJ=..$/..$/..
 
diff --git a/connectivity/source/drivers/postgresql/pq_allocator.hxx b/connectivity/source/drivers/postgresql/pq_allocator.hxx
index 43e2d8b..6022967 100644
--- a/connectivity/source/drivers/postgresql/pq_allocator.hxx
+++ b/connectivity/source/drivers/postgresql/pq_allocator.hxx
@@ -1,25 +1,6 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* -*- Mode: C++; eval:(c-set-style "bsd"); tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
 /*************************************************************************
  *
- *  $RCSfile: pq_allocator.hxx,v $
- *
- *  $Revision: 1.1.2.3 $
- *
- *  last change: $Author: jbu $ $Date: 2007/08/28 21:24:00 $
- *
- *  The Contents of this file are made available subject to the terms of
- *  either of the following licenses
- *
- *         - GNU Lesser General Public License Version 2.1
- *         - Sun Industry Standards Source License Version 1.1
- *
- *  Sun Microsystems Inc., October, 2000
- *
- *  GNU Lesser General Public License Version 2.1
- *  =============================================
- *  Copyright 2000 by Sun Microsystems, Inc.
- *  901 San Antonio Road, Palo Alto, CA 94303, USA
- *
  *  This library is free software; you can redistribute it and/or
  *  modify it under the terms of the GNU Lesser General Public
  *  License version 2.1, as published by the Free Software Foundation.
@@ -34,21 +15,6 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  *  MA  02111-1307  USA
  *
- *
- *  Sun Industry Standards Source License Version 1.1
- *  =================================================
- *  The contents of this file are subject to the Sun Industry Standards
- *  Source License Version 1.1 (the "License"); You may not use this file
- *  except in compliance with the License. You may obtain a copy of the
- *  License at http://www.openoffice.org/license.html.
- *
- *  Software provided under this License is provided on an "AS IS" basis,
- *  WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- *  WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
- *  MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
- *  See the License for the specific provisions governing your rights and
- *  obligations concerning the Software.
- *
  *  The Initial Developer of the Original Code is: Sun Microsystems, Inc.
  *
  *  Copyright: 2002 by Sun Microsystems, Inc.
@@ -58,9 +24,6 @@
  *
  *  Contributor(s): _______________________________________
  *
- *  Non-Sun changes:
- *  * august 2011: implement one-argument construct member
- *
  ************************************************************************/
 
 #ifndef _PQ_ALLOCATOR_
diff --git a/connectivity/source/drivers/postgresql/pq_array.cxx b/connectivity/source/drivers/postgresql/pq_array.cxx
index 3e7d61f..92944f5 100644
--- a/connectivity/source/drivers/postgresql/pq_array.cxx
+++ b/connectivity/source/drivers/postgresql/pq_array.cxx
@@ -1,4 +1,30 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* -*- Mode: C++; eval:(c-set-style "bsd"); tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ *  This library is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU Lesser General Public
+ *  License version 2.1, as published by the Free Software Foundation.
+ *
+ *  This library is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *  Lesser General Public License for more details.
+ *
+ *  You should have received a copy of the GNU Lesser General Public
+ *  License along with this library; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ *  MA  02111-1307  USA
+ *
+ *  The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ *  Copyright: 2000 by Sun Microsystems, Inc.
+ *             2011 Lionel Elie Mamane <lionel at mamane.lu>
+ *
+ *  All Rights Reserved.
+ *
+ *  Contributor(s): Joerg Budischewski
+ *
+ ************************************************************************/
 
 #include <rtl/ustrbuf.hxx>
 
diff --git a/connectivity/source/drivers/postgresql/pq_array.hxx b/connectivity/source/drivers/postgresql/pq_array.hxx
index b5d4b04..6bac429 100644
--- a/connectivity/source/drivers/postgresql/pq_array.hxx
+++ b/connectivity/source/drivers/postgresql/pq_array.hxx
@@ -1,25 +1,6 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* -*- Mode: C++; eval:(c-set-style "bsd"); tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
 /*************************************************************************
  *
- *  $RCSfile: pq_array.hxx,v $
- *
- *  $Revision: 1.1.2.1 $
- *
- *  last change: $Author: jbu $ $Date: 2004/08/29 08:33:28 $
- *
- *  The Contents of this file are made available subject to the terms of
- *  either of the following licenses
- *
- *         - GNU Lesser General Public License Version 2.1
- *         - Sun Industry Standards Source License Version 1.1
- *
- *  Sun Microsystems Inc., October, 2000
- *
- *  GNU Lesser General Public License Version 2.1
- *  =============================================
- *  Copyright 2000 by Sun Microsystems, Inc.
- *  901 San Antonio Road, Palo Alto, CA 94303, USA
- *
  *  This library is free software; you can redistribute it and/or
  *  modify it under the terms of the GNU Lesser General Public
  *  License version 2.1, as published by the Free Software Foundation.
@@ -34,21 +15,6 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  *  MA  02111-1307  USA
  *
- *
- *  Sun Industry Standards Source License Version 1.1
- *  =================================================
- *  The contents of this file are subject to the Sun Industry Standards
- *  Source License Version 1.1 (the "License"); You may not use this file
- *  except in compliance with the License. You may obtain a copy of the
- *  License at http://www.openoffice.org/license.html.
- *
- *  Software provided under this License is provided on an "AS IS" basis,
- *  WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- *  WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
- *  MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
- *  See the License for the specific provisions governing your rights and
- *  obligations concerning the Software.
- *
  *  The Initial Developer of the Original Code is: Joerg Budischewski
  *
  *   Copyright: 2000 by Sun Microsystems, Inc.
@@ -58,7 +24,6 @@
  *
  *   Contributor(s): Joerg Budischewski
  *
- *
  ************************************************************************/
 
 #ifndef HEADER_PQ_ARRAY_HXX
diff --git a/connectivity/source/drivers/postgresql/pq_baseresultset.cxx b/connectivity/source/drivers/postgresql/pq_baseresultset.cxx
index a3deb90..3234245 100644
--- a/connectivity/source/drivers/postgresql/pq_baseresultset.cxx
+++ b/connectivity/source/drivers/postgresql/pq_baseresultset.cxx
@@ -1,25 +1,6 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* -*- Mode: C++; eval:(c-set-style "bsd"); tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
 /*************************************************************************
  *
- *  $RCSfile: pq_baseresultset.cxx,v $
- *
- *  $Revision: 1.1.2.4 $
- *
- *  last change: $Author: jbu $ $Date: 2004/08/29 08:33:28 $
- *
- *  The Contents of this file are made available subject to the terms of
- *  either of the following licenses
- *
- *         - GNU Lesser General Public License Version 2.1
- *         - Sun Industry Standards Source License Version 1.1
- *
- *  Sun Microsystems Inc., October, 2000
- *
- *  GNU Lesser General Public License Version 2.1
- *  =============================================
- *  Copyright 2000 by Sun Microsystems, Inc.
- *  901 San Antonio Road, Palo Alto, CA 94303, USA
- *
  *  This library is free software; you can redistribute it and/or
  *  modify it under the terms of the GNU Lesser General Public
  *  License version 2.1, as published by the Free Software Foundation.
@@ -34,21 +15,6 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  *  MA  02111-1307  USA
  *
- *
- *  Sun Industry Standards Source License Version 1.1
- *  =================================================
- *  The contents of this file are subject to the Sun Industry Standards
- *  Source License Version 1.1 (the "License"); You may not use this file
- *  except in compliance with the License. You may obtain a copy of the
- *  License at http://www.openoffice.org/license.html.
- *
- *  Software provided under this License is provided on an "AS IS" basis,
- *  WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- *  WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
- *  MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
- *  See the License for the specific provisions governing your rights and
- *  obligations concerning the Software.
- *
  *  The Initial Developer of the Original Code is: Joerg Budischewski
  *
  *   Copyright: 2000 by Sun Microsystems, Inc.
@@ -58,7 +24,6 @@
  *
  *   Contributor(s): Joerg Budischewski
  *
- *
  ************************************************************************/
 
 #include <osl/thread.h>
diff --git a/connectivity/source/drivers/postgresql/pq_baseresultset.hxx b/connectivity/source/drivers/postgresql/pq_baseresultset.hxx
index 71ed7f4..b523384 100644
--- a/connectivity/source/drivers/postgresql/pq_baseresultset.hxx
+++ b/connectivity/source/drivers/postgresql/pq_baseresultset.hxx
@@ -1,25 +1,6 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* -*- Mode: C++; eval:(c-set-style "bsd"); tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
 /*************************************************************************
  *
- *  $RCSfile: pq_baseresultset.hxx,v $
- *
- *  $Revision: 1.1.2.3 $
- *
- *  last change: $Author: jbu $ $Date: 2007/08/26 20:40:40 $
- *
- *  The Contents of this file are made available subject to the terms of
- *  either of the following licenses
- *
- *         - GNU Lesser General Public License Version 2.1
- *         - Sun Industry Standards Source License Version 1.1
- *
- *  Sun Microsystems Inc., October, 2000
- *
- *  GNU Lesser General Public License Version 2.1
- *  =============================================
- *  Copyright 2000 by Sun Microsystems, Inc.
- *  901 San Antonio Road, Palo Alto, CA 94303, USA
- *
  *  This library is free software; you can redistribute it and/or
  *  modify it under the terms of the GNU Lesser General Public
  *  License version 2.1, as published by the Free Software Foundation.
@@ -34,21 +15,6 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  *  MA  02111-1307  USA
  *
- *
- *  Sun Industry Standards Source License Version 1.1
- *  =================================================
- *  The contents of this file are subject to the Sun Industry Standards
- *  Source License Version 1.1 (the "License"); You may not use this file
- *  except in compliance with the License. You may obtain a copy of the
- *  License at http://www.openoffice.org/license.html.
- *
- *  Software provided under this License is provided on an "AS IS" basis,
- *  WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- *  WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
- *  MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
- *  See the License for the specific provisions governing your rights and
- *  obligations concerning the Software.
- *
  *  The Initial Developer of the Original Code is: Joerg Budischewski
  *
  *   Copyright: 2000 by Sun Microsystems, Inc.
@@ -58,7 +24,6 @@
  *
  *   Contributor(s): Joerg Budischewski
  *
- *
  ************************************************************************/
 
 #ifndef _PG_BASERESULTSET_HXX_
diff --git a/connectivity/source/drivers/postgresql/pq_common.hxx b/connectivity/source/drivers/postgresql/pq_common.hxx
index c712f2c..0c5f89a 100644
--- a/connectivity/source/drivers/postgresql/pq_common.hxx
+++ b/connectivity/source/drivers/postgresql/pq_common.hxx
@@ -1,4 +1,4 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* -*- Mode: C++; eval:(c-set-style "bsd"); tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
 /*************************************************************************
  *
  * Copyright 2011 Lionel Elie Mamane <lionel at mamane.lu>
diff --git a/connectivity/source/drivers/postgresql/pq_connection.cxx b/connectivity/source/drivers/postgresql/pq_connection.cxx
index 9669a53..735e437 100644
--- a/connectivity/source/drivers/postgresql/pq_connection.cxx
+++ b/connectivity/source/drivers/postgresql/pq_connection.cxx
@@ -1,25 +1,6 @@
 /* -*- Mode: C++; eval:(c-set-style "bsd"); tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
 /*************************************************************************
  *
- *  $RCSfile: pq_connection.cxx,v $
- *
- *  $Revision: 1.1.2.5 $
- *
- *  last change: $Author: jbu $ $Date: 2007/01/07 13:50:37 $
- *
- *  The Contents of this file are made available subject to the terms of
- *  either of the following licenses
- *
- *         - GNU Lesser General Public License Version 2.1
- *         - Sun Industry Standards Source License Version 1.1
- *
- *  Sun Microsystems Inc., October, 2000
- *
- *  GNU Lesser General Public License Version 2.1
- *  =============================================
- *  Copyright 2000 by Sun Microsystems, Inc.
- *  901 San Antonio Road, Palo Alto, CA 94303, USA
- *
  *  This library is free software; you can redistribute it and/or
  *  modify it under the terms of the GNU Lesser General Public
  *  License version 2.1, as published by the Free Software Foundation.
@@ -34,21 +15,6 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  *  MA  02111-1307  USA
  *
- *
- *  Sun Industry Standards Source License Version 1.1
- *  =================================================
- *  The contents of this file are subject to the Sun Industry Standards
- *  Source License Version 1.1 (the "License"); You may not use this file
- *  except in compliance with the License. You may obtain a copy of the
- *  License at http://www.openoffice.org/license.html.
- *
- *  Software provided under this License is provided on an "AS IS" basis,
- *  WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- *  WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
- *  MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
- *  See the License for the specific provisions governing your rights and
- *  obligations concerning the Software.
- *
  *  The Initial Developer of the Original Code is: Joerg Budischewski
  *
  *   Copyright: 2000 by Sun Microsystems, Inc.
@@ -58,7 +24,6 @@
  *
  *   Contributor(s): Joerg Budischewski
  *
- *
  ************************************************************************/
 
 #include <list>
diff --git a/connectivity/source/drivers/postgresql/pq_connection.hxx b/connectivity/source/drivers/postgresql/pq_connection.hxx
index d6c6c85..b64a413 100644
--- a/connectivity/source/drivers/postgresql/pq_connection.hxx
+++ b/connectivity/source/drivers/postgresql/pq_connection.hxx
@@ -1,25 +1,6 @@
 /* -*- Mode: C++; eval:(c-set-style "bsd"); tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
 /*************************************************************************
  *
- *  $RCSfile: pq_connection.hxx,v $
- *
- *  $Revision: 1.1.2.4 $
- *
- *  last change: $Author: jbu $ $Date: 2004/06/10 15:26:55 $
- *
- *  The Contents of this file are made available subject to the terms of
- *  either of the following licenses
- *
- *         - GNU Lesser General Public License Version 2.1
- *         - Sun Industry Standards Source License Version 1.1
- *
- *  Sun Microsystems Inc., October, 2000
- *
- *  GNU Lesser General Public License Version 2.1
- *  =============================================
- *  Copyright 2000 by Sun Microsystems, Inc.
- *  901 San Antonio Road, Palo Alto, CA 94303, USA
- *
  *  This library is free software; you can redistribute it and/or
  *  modify it under the terms of the GNU Lesser General Public
  *  License version 2.1, as published by the Free Software Foundation.
@@ -34,21 +15,6 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  *  MA  02111-1307  USA
  *
- *
- *  Sun Industry Standards Source License Version 1.1
- *  =================================================
- *  The contents of this file are subject to the Sun Industry Standards
- *  Source License Version 1.1 (the "License"); You may not use this file
- *  except in compliance with the License. You may obtain a copy of the
- *  License at http://www.openoffice.org/license.html.
- *
- *  Software provided under this License is provided on an "AS IS" basis,
- *  WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- *  WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
- *  MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
- *  See the License for the specific provisions governing your rights and
- *  obligations concerning the Software.
- *
  *  The Initial Developer of the Original Code is: Joerg Budischewski
  *
  *   Copyright: 2000 by Sun Microsystems, Inc.
diff --git a/connectivity/source/drivers/postgresql/pq_databasemetadata.cxx b/connectivity/source/drivers/postgresql/pq_databasemetadata.cxx
index 6f13d17..530b52c 100644
--- a/connectivity/source/drivers/postgresql/pq_databasemetadata.cxx
+++ b/connectivity/source/drivers/postgresql/pq_databasemetadata.cxx
@@ -1,25 +1,6 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* -*- Mode: C++; eval:(c-set-style "bsd"); tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
 /*************************************************************************
  *
- *  $RCSfile: pq_databasemetadata.cxx,v $
- *
- *  $Revision: 1.1.2.11 $
- *
- *  last change: $Author: jbu $ $Date: 2007/02/15 20:04:47 $
- *
- *  The Contents of this file are made available subject to the terms of
- *  either of the following licenses
- *
- *         - GNU Lesser General Public License Version 2.1
- *         - Sun Industry Standards Source License Version 1.1
- *
- *  Sun Microsystems Inc., October, 2000
- *
- *  GNU Lesser General Public License Version 2.1
- *  =============================================
- *  Copyright 2000 by Sun Microsystems, Inc.
- *  901 San Antonio Road, Palo Alto, CA 94303, USA
- *
  *  This library is free software; you can redistribute it and/or
  *  modify it under the terms of the GNU Lesser General Public
  *  License version 2.1, as published by the Free Software Foundation.
@@ -34,21 +15,6 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  *  MA  02111-1307  USA
  *
- *
- *  Sun Industry Standards Source License Version 1.1
- *  =================================================
- *  The contents of this file are subject to the Sun Industry Standards
- *  Source License Version 1.1 (the "License"); You may not use this file
- *  except in compliance with the License. You may obtain a copy of the
- *  License at http://www.openoffice.org/license.html.
- *
- *  Software provided under this License is provided on an "AS IS" basis,
- *  WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- *  WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
- *  MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
- *  See the License for the specific provisions governing your rights and
- *  obligations concerning the Software.
- *
  *  The Initial Developer of the Original Code is: Joerg Budischewski
  *
  *   Copyright: 2000 by Sun Microsystems, Inc.
@@ -90,6 +56,7 @@
  *  POSSIBILITY OF SUCH DAMAGE.
  *
  ************************************************************************/
+
 #include <algorithm>
 #include "pq_databasemetadata.hxx"
 #include "pq_driver.hxx"
diff --git a/connectivity/source/drivers/postgresql/pq_databasemetadata.hxx b/connectivity/source/drivers/postgresql/pq_databasemetadata.hxx
index 951ad41..bc25411 100644
--- a/connectivity/source/drivers/postgresql/pq_databasemetadata.hxx
+++ b/connectivity/source/drivers/postgresql/pq_databasemetadata.hxx
@@ -1,25 +1,6 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* -*- Mode: C++; eval:(c-set-style "bsd"); tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
 /*************************************************************************
  *
- *  $RCSfile: pq_databasemetadata.hxx,v $
- *
- *  $Revision: 1.1.2.1 $
- *
- *  last change: $Author: jbu $ $Date: 2003/06/03 21:48:28 $
- *
- *  The Contents of this file are made available subject to the terms of
- *  either of the following licenses
- *
- *         - GNU Lesser General Public License Version 2.1
- *         - Sun Industry Standards Source License Version 1.1
- *
- *  Sun Microsystems Inc., October, 2000
- *
- *  GNU Lesser General Public License Version 2.1
- *  =============================================
- *  Copyright 2000 by Sun Microsystems, Inc.
- *  901 San Antonio Road, Palo Alto, CA 94303, USA
- *
  *  This library is free software; you can redistribute it and/or
  *  modify it under the terms of the GNU Lesser General Public
  *  License version 2.1, as published by the Free Software Foundation.
@@ -34,21 +15,6 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  *  MA  02111-1307  USA
  *
- *
- *  Sun Industry Standards Source License Version 1.1
- *  =================================================
- *  The contents of this file are subject to the Sun Industry Standards
- *  Source License Version 1.1 (the "License"); You may not use this file
- *  except in compliance with the License. You may obtain a copy of the
- *  License at http://www.openoffice.org/license.html.
- *
- *  Software provided under this License is provided on an "AS IS" basis,
- *  WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- *  WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
- *  MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
- *  See the License for the specific provisions governing your rights and
- *  obligations concerning the Software.
- *
  *  The Initial Developer of the Original Code is: Joerg Budischewski
  *
  *   Copyright: 2000 by Sun Microsystems, Inc.
@@ -58,7 +24,6 @@
  *
  *   Contributor(s): Joerg Budischewski
  *
- *
  ************************************************************************/
 
 #ifndef _PQ_DATABASEMETADATA_HXX_
diff --git a/connectivity/source/drivers/postgresql/pq_driver.cxx b/connectivity/source/drivers/postgresql/pq_driver.cxx
index 36167ba..bf9bfe3 100644
--- a/connectivity/source/drivers/postgresql/pq_driver.cxx
+++ b/connectivity/source/drivers/postgresql/pq_driver.cxx
@@ -1,25 +1,6 @@
 /* -*- Mode: C++; eval:(c-set-style "bsd"); tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
 /*************************************************************************
  *
- *  $RCSfile: pq_driver.cxx,v $
- *
- *  $Revision: 1.1.2.2 $
- *
- *  last change: $Author: jbu $ $Date: 2004/05/09 19:47:13 $
- *
- *  The Contents of this file are made available subject to the terms of
- *  either of the following licenses
- *
- *         - GNU Lesser General Public License Version 2.1
- *         - Sun Industry Standards Source License Version 1.1
- *
- *  Sun Microsystems Inc., October, 2000
- *
- *  GNU Lesser General Public License Version 2.1
- *  =============================================
- *  Copyright 2000 by Sun Microsystems, Inc.
- *  901 San Antonio Road, Palo Alto, CA 94303, USA
- *
  *  This library is free software; you can redistribute it and/or
  *  modify it under the terms of the GNU Lesser General Public
  *  License version 2.1, as published by the Free Software Foundation.
@@ -34,21 +15,6 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  *  MA  02111-1307  USA
  *
- *
- *  Sun Industry Standards Source License Version 1.1
- *  =================================================
- *  The contents of this file are subject to the Sun Industry Standards
- *  Source License Version 1.1 (the "License"); You may not use this file
- *  except in compliance with the License. You may obtain a copy of the
- *  License at http://www.openoffice.org/license.html.
- *
- *  Software provided under this License is provided on an "AS IS" basis,
- *  WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- *  WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
- *  MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
- *  See the License for the specific provisions governing your rights and
- *  obligations concerning the Software.
- *
  *  The Initial Developer of the Original Code is: Joerg Budischewski
  *
  *   Copyright: 2000 by Sun Microsystems, Inc.
@@ -58,7 +24,6 @@
  *
  *   Contributor(s): Joerg Budischewski
  *
- *
  ************************************************************************/
 
 #include <stdio.h>
diff --git a/connectivity/source/drivers/postgresql/pq_driver.hxx b/connectivity/source/drivers/postgresql/pq_driver.hxx
index f66cc0d..e21a3b2 100644
--- a/connectivity/source/drivers/postgresql/pq_driver.hxx
+++ b/connectivity/source/drivers/postgresql/pq_driver.hxx
@@ -1,25 +1,6 @@
 /* -*- Mode: C++; eval:(c-set-style "bsd"); tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
 /*************************************************************************
  *
- *  $RCSfile: pq_driver.hxx,v $
- *
- *  $Revision: 1.1.2.2 $
- *
- *  last change: $Author: jbu $ $Date: 2004/05/09 19:47:14 $
- *
- *  The Contents of this file are made available subject to the terms of
- *  either of the following licenses
- *
- *         - GNU Lesser General Public License Version 2.1
- *         - Sun Industry Standards Source License Version 1.1
- *
- *  Sun Microsystems Inc., October, 2000
- *
- *  GNU Lesser General Public License Version 2.1
- *  =============================================
- *  Copyright 2000 by Sun Microsystems, Inc.
- *  901 San Antonio Road, Palo Alto, CA 94303, USA
- *
  *  This library is free software; you can redistribute it and/or
  *  modify it under the terms of the GNU Lesser General Public
  *  License version 2.1, as published by the Free Software Foundation.
@@ -34,30 +15,15 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  *  MA  02111-1307  USA
  *
- *
- *  Sun Industry Standards Source License Version 1.1
- *  =================================================
- *  The contents of this file are subject to the Sun Industry Standards
- *  Source License Version 1.1 (the "License"); You may not use this file
- *  except in compliance with the License. You may obtain a copy of the
- *  License at http://www.openoffice.org/license.html.
- *
- *  Software provided under this License is provided on an "AS IS" basis,
- *  WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- *  WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
- *  MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
- *  See the License for the specific provisions governing your rights and
- *  obligations concerning the Software.
- *
  *  The Initial Developer of the Original Code is: Joerg Budischewski
  *
  *   Copyright: 2000 by Sun Microsystems, Inc.
+ *              2011 Lionel Elie Mamane <lionel at mamane.lu>
  *
  *   All Rights Reserved.
  *
  *   Contributor(s): Joerg Budischewski
  *
- *
  ************************************************************************/
 #ifndef _PG_DRIVER_HXX_
 #define _PG_DRIVER_HXX_
diff --git a/connectivity/source/drivers/postgresql/pq_fakedupdateableresultset.cxx b/connectivity/source/drivers/postgresql/pq_fakedupdateableresultset.cxx
index 898e9e2..57a2807 100644
--- a/connectivity/source/drivers/postgresql/pq_fakedupdateableresultset.cxx
+++ b/connectivity/source/drivers/postgresql/pq_fakedupdateableresultset.cxx
@@ -1,3 +1,30 @@
+/* -*- Mode: C++; eval:(c-set-style "bsd"); tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ *  This library is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU Lesser General Public
+ *  License version 2.1, as published by the Free Software Foundation.
+ *
+ *  This library is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *  Lesser General Public License for more details.
+ *
+ *  You should have received a copy of the GNU Lesser General Public
+ *  License along with this library; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ *  MA  02111-1307  USA
+ *
+ *  The Initial Developer of the Original Code is: Joerg Budischewski
+ *
+ *   Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ *   All Rights Reserved.
+ *
+ *   Contributor(s): Joerg Budischewski
+ *
+ ************************************************************************/
+
 #include "pq_fakedupdateableresultset.hxx"
 #include <cppuhelper/typeprovider.hxx>
 #include <cppuhelper/queryinterface.hxx>
diff --git a/connectivity/source/drivers/postgresql/pq_fakedupdateableresultset.hxx b/connectivity/source/drivers/postgresql/pq_fakedupdateableresultset.hxx
index 6eb387b..0d8c645 100644
--- a/connectivity/source/drivers/postgresql/pq_fakedupdateableresultset.hxx
+++ b/connectivity/source/drivers/postgresql/pq_fakedupdateableresultset.hxx
@@ -1,24 +1,6 @@
+/* -*- Mode: C++; eval:(c-set-style "bsd"); tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
 /*************************************************************************
  *
- *  $RCSfile: pq_fakedupdateableresultset.hxx,v $
- *
- *  $Revision: 1.1.2.1 $
- *
- *  last change: $Author: jbu $ $Date: 2004/05/09 19:47:14 $
- *
- *  The Contents of this file are made available subject to the terms of
- *  either of the following licenses
- *
- *         - GNU Lesser General Public License Version 2.1
- *         - Sun Industry Standards Source License Version 1.1
- *
- *  Sun Microsystems Inc., October, 2000
- *
- *  GNU Lesser General Public License Version 2.1
- *  =============================================
- *  Copyright 2000 by Sun Microsystems, Inc.
- *  901 San Antonio Road, Palo Alto, CA 94303, USA
- *
  *  This library is free software; you can redistribute it and/or
  *  modify it under the terms of the GNU Lesser General Public
  *  License version 2.1, as published by the Free Software Foundation.
@@ -33,21 +15,6 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  *  MA  02111-1307  USA
  *
- *
- *  Sun Industry Standards Source License Version 1.1
- *  =================================================
- *  The contents of this file are subject to the Sun Industry Standards
- *  Source License Version 1.1 (the "License"); You may not use this file
- *  except in compliance with the License. You may obtain a copy of the
- *  License at http://www.openoffice.org/license.html.
- *
- *  Software provided under this License is provided on an "AS IS" basis,
- *  WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- *  WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
- *  MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
- *  See the License for the specific provisions governing your rights and
- *  obligations concerning the Software.
- *
  *  The Initial Developer of the Original Code is: Joerg Budischewski
  *
  *   Copyright: 2000 by Sun Microsystems, Inc.
@@ -56,7 +23,6 @@
  *
  *   Contributor(s): Joerg Budischewski
  *
- *
  ************************************************************************/
 #ifndef PG_UPDATEABLERESULTSET_HXX_
 #define PG_UPDATEABLERESULTSET_HXX_
diff --git a/connectivity/source/drivers/postgresql/pq_preparedstatement.cxx b/connectivity/source/drivers/postgresql/pq_preparedstatement.cxx
index 1c09141..0c65271 100644
--- a/connectivity/source/drivers/postgresql/pq_preparedstatement.cxx
+++ b/connectivity/source/drivers/postgresql/pq_preparedstatement.cxx
@@ -1,24 +1,6 @@
+/* -*- Mode: C++; eval:(c-set-style "bsd"); tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
 /*************************************************************************
  *
- *  $RCSfile: pq_preparedstatement.cxx,v $
- *
- *  $Revision: 1.1.2.10 $
- *
- *  last change: $Author: jbu $ $Date: 2008/07/07 21:37:11 $
- *
- *  The Contents of this file are made available subject to the terms of
- *  either of the following licenses
- *
- *         - GNU Lesser General Public License Version 2.1
- *         - Sun Industry Standards Source License Version 1.1
- *
- *  Sun Microsystems Inc., October, 2000
- *
- *  GNU Lesser General Public License Version 2.1
- *  =============================================
- *  Copyright 2000 by Sun Microsystems, Inc.
- *  901 San Antonio Road, Palo Alto, CA 94303, USA
- *
  *  This library is free software; you can redistribute it and/or
  *  modify it under the terms of the GNU Lesser General Public
  *  License version 2.1, as published by the Free Software Foundation.
@@ -33,30 +15,15 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  *  MA  02111-1307  USA
  *
- *
- *  Sun Industry Standards Source License Version 1.1
- *  =================================================
- *  The contents of this file are subject to the Sun Industry Standards
- *  Source License Version 1.1 (the "License"); You may not use this file
- *  except in compliance with the License. You may obtain a copy of the
- *  License at http://www.openoffice.org/license.html.
- *
- *  Software provided under this License is provided on an "AS IS" basis,
- *  WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- *  WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
- *  MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
- *  See the License for the specific provisions governing your rights and
- *  obligations concerning the Software.
- *
  *  The Initial Developer of the Original Code is: Joerg Budischewski
  *
  *   Copyright: 2000 by Sun Microsystems, Inc.
+ *              2011 Lionel Elie Mamane <lionel at mamane.lu>
  *
  *   All Rights Reserved.
  *
  *   Contributor(s): Joerg Budischewski
  *
- *
  ************************************************************************/
 
 #include "pq_preparedstatement.hxx"
diff --git a/connectivity/source/drivers/postgresql/pq_preparedstatement.hxx b/connectivity/source/drivers/postgresql/pq_preparedstatement.hxx
index a207340..425ce19 100644
--- a/connectivity/source/drivers/postgresql/pq_preparedstatement.hxx
+++ b/connectivity/source/drivers/postgresql/pq_preparedstatement.hxx
@@ -1,25 +1,6 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* -*- Mode: C++; eval:(c-set-style "bsd"); tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
 /*************************************************************************
  *
- *  $RCSfile: pq_preparedstatement.hxx,v $
- *
- *  $Revision: 1.1.2.5 $
- *
- *  last change: $Author: jbu $ $Date: 2006/01/22 15:14:29 $
- *
- *  The Contents of this file are made available subject to the terms of
- *  either of the following licenses
- *
- *         - GNU Lesser General Public License Version 2.1
- *         - Sun Industry Standards Source License Version 1.1
- *
- *  Sun Microsystems Inc., October, 2000
- *
- *  GNU Lesser General Public License Version 2.1
- *  =============================================
- *  Copyright 2000 by Sun Microsystems, Inc.
- *  901 San Antonio Road, Palo Alto, CA 94303, USA
- *
  *  This library is free software; you can redistribute it and/or
  *  modify it under the terms of the GNU Lesser General Public
  *  License version 2.1, as published by the Free Software Foundation.
@@ -34,21 +15,6 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  *  MA  02111-1307  USA
  *
- *
- *  Sun Industry Standards Source License Version 1.1
- *  =================================================
- *  The contents of this file are subject to the Sun Industry Standards
- *  Source License Version 1.1 (the "License"); You may not use this file
- *  except in compliance with the License. You may obtain a copy of the
- *  License at http://www.openoffice.org/license.html.
- *
- *  Software provided under this License is provided on an "AS IS" basis,
- *  WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- *  WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
- *  MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
- *  See the License for the specific provisions governing your rights and
- *  obligations concerning the Software.
- *
  *  The Initial Developer of the Original Code is: Joerg Budischewski
  *
  *   Copyright: 2000 by Sun Microsystems, Inc.
@@ -58,7 +24,6 @@
  *
  *   Contributor(s): Joerg Budischewski
  *
- *
  ************************************************************************/
 
 #ifndef _PQ_PREPARED_STATEMENT_HXX_
diff --git a/connectivity/source/drivers/postgresql/pq_resultset.cxx b/connectivity/source/drivers/postgresql/pq_resultset.cxx
index f233ba6..ad85fb3 100644
--- a/connectivity/source/drivers/postgresql/pq_resultset.cxx
+++ b/connectivity/source/drivers/postgresql/pq_resultset.cxx
@@ -1,3 +1,30 @@
+/* -*- Mode: C++; eval:(c-set-style "bsd"); tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ *  This library is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU Lesser General Public
+ *  License version 2.1, as published by the Free Software Foundation.
+ *
+ *  This library is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *  Lesser General Public License for more details.
+ *
+ *  You should have received a copy of the GNU Lesser General Public
+ *  License along with this library; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ *  MA  02111-1307  USA
+ *
+ *  The Initial Developer of the Original Code is: Joerg Budischewski
+ *
+ *  Copyright: 2000 by Sun Microsystems, Inc.
+ *             2011 Lionel Elie Mamane <lionel at mamane.lu>
+ *
+ *  All Rights Reserved.
+ *
+ *  Contributor(s): Joerg Budischewski
+ *
+ ************************************************************************/
 #include "pq_resultset.hxx"
 #include "pq_resultsetmetadata.hxx"
 
diff --git a/connectivity/source/drivers/postgresql/pq_resultset.hxx b/connectivity/source/drivers/postgresql/pq_resultset.hxx
index 0d0e8b7..baf1181 100644
--- a/connectivity/source/drivers/postgresql/pq_resultset.hxx
+++ b/connectivity/source/drivers/postgresql/pq_resultset.hxx
@@ -1,24 +1,6 @@
+/* -*- Mode: C++; eval:(c-set-style "bsd"); tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
 /*************************************************************************
  *
- *  $RCSfile: pq_resultset.hxx,v $
- *
- *  $Revision: 1.1.2.3 $
- *
- *  last change: $Author: jbu $ $Date: 2006/05/01 19:19:06 $
- *
- *  The Contents of this file are made available subject to the terms of
- *  either of the following licenses
- *
- *         - GNU Lesser General Public License Version 2.1
- *         - Sun Industry Standards Source License Version 1.1
- *
- *  Sun Microsystems Inc., October, 2000
- *
- *  GNU Lesser General Public License Version 2.1
- *  =============================================
- *  Copyright 2000 by Sun Microsystems, Inc.
- *  901 San Antonio Road, Palo Alto, CA 94303, USA
- *
  *  This library is free software; you can redistribute it and/or
  *  modify it under the terms of the GNU Lesser General Public
  *  License version 2.1, as published by the Free Software Foundation.
@@ -33,29 +15,14 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  *  MA  02111-1307  USA
  *
- *
- *  Sun Industry Standards Source License Version 1.1
- *  =================================================
- *  The contents of this file are subject to the Sun Industry Standards
- *  Source License Version 1.1 (the "License"); You may not use this file
- *  except in compliance with the License. You may obtain a copy of the
- *  License at http://www.openoffice.org/license.html.
- *
- *  Software provided under this License is provided on an "AS IS" basis,
- *  WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- *  WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
- *  MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
- *  See the License for the specific provisions governing your rights and
- *  obligations concerning the Software.
- *
  *  The Initial Developer of the Original Code is: Joerg Budischewski
  *
- *   Copyright: 2000 by Sun Microsystems, Inc.
- *
- *   All Rights Reserved.
+ *  Copyright: 2000 by Sun Microsystems, Inc.
+ *             2011 Lionel Elie Mamane <lionel at mamane.lu>
  *
- *   Contributor(s): Joerg Budischewski
+ *  All Rights Reserved.
  *
+ *  Contributor(s): Joerg Budischewski
  *
  ************************************************************************/
 #ifndef _PG_RESULTSET_HXX_
diff --git a/connectivity/source/drivers/postgresql/pq_resultsetmetadata.cxx b/connectivity/source/drivers/postgresql/pq_resultsetmetadata.cxx
index 633272e..fdb2788 100644
--- a/connectivity/source/drivers/postgresql/pq_resultsetmetadata.cxx
+++ b/connectivity/source/drivers/postgresql/pq_resultsetmetadata.cxx
@@ -1,25 +1,6 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* -*- Mode: C++; eval:(c-set-style "bsd"); tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
 /*************************************************************************
  *
- *  $RCSfile: pq_resultsetmetadata.cxx,v $
- *
- *  $Revision: 1.1.2.7 $
- *
- *  last change: $Author: jbu $ $Date: 2006/05/27 11:32:13 $
- *
- *  The Contents of this file are made available subject to the terms of
- *  either of the following licenses
- *
- *         - GNU Lesser General Public License Version 2.1
- *         - Sun Industry Standards Source License Version 1.1
- *
- *  Sun Microsystems Inc., October, 2000
- *
- *  GNU Lesser General Public License Version 2.1
- *  =============================================
- *  Copyright 2000 by Sun Microsystems, Inc.
- *  901 San Antonio Road, Palo Alto, CA 94303, USA
- *
  *  This library is free software; you can redistribute it and/or
  *  modify it under the terms of the GNU Lesser General Public
  *  License version 2.1, as published by the Free Software Foundation.
@@ -34,21 +15,6 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  *  MA  02111-1307  USA
  *
- *
- *  Sun Industry Standards Source License Version 1.1
- *  =================================================
- *  The contents of this file are subject to the Sun Industry Standards
- *  Source License Version 1.1 (the "License"); You may not use this file
- *  except in compliance with the License. You may obtain a copy of the
- *  License at http://www.openoffice.org/license.html.
- *
- *  Software provided under this License is provided on an "AS IS" basis,
- *  WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- *  WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
- *  MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
- *  See the License for the specific provisions governing your rights and
- *  obligations concerning the Software.
- *
  *  The Initial Developer of the Original Code is: Joerg Budischewski
  *
  *   Copyright: 2000 by Sun Microsystems, Inc.
@@ -58,7 +24,6 @@
  *
  *   Contributor(s): Joerg Budischewski
  *
- *
  ************************************************************************/
 #include <rtl/ustrbuf.hxx>
 
diff --git a/connectivity/source/drivers/postgresql/pq_resultsetmetadata.hxx b/connectivity/source/drivers/postgresql/pq_resultsetmetadata.hxx
index 156d53d..e27e27d 100644
--- a/connectivity/source/drivers/postgresql/pq_resultsetmetadata.hxx
+++ b/connectivity/source/drivers/postgresql/pq_resultsetmetadata.hxx
@@ -1,25 +1,6 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* -*- Mode: C++; eval:(c-set-style "bsd"); tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
 /*************************************************************************
  *
- *  $RCSfile: pq_resultsetmetadata.hxx,v $
- *
- *  $Revision: 1.1.2.3 $
- *
- *  last change: $Author: jbu $ $Date: 2006/05/01 19:19:07 $
- *
- *  The Contents of this file are made available subject to the terms of
- *  either of the following licenses
- *
- *         - GNU Lesser General Public License Version 2.1
- *         - Sun Industry Standards Source License Version 1.1
- *
- *  Sun Microsystems Inc., October, 2000
- *
- *  GNU Lesser General Public License Version 2.1
- *  =============================================
- *  Copyright 2000 by Sun Microsystems, Inc.
- *  901 San Antonio Road, Palo Alto, CA 94303, USA
- *
  *  This library is free software; you can redistribute it and/or
  *  modify it under the terms of the GNU Lesser General Public
  *  License version 2.1, as published by the Free Software Foundation.
@@ -34,21 +15,6 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  *  MA  02111-1307  USA
  *
- *
- *  Sun Industry Standards Source License Version 1.1
- *  =================================================
- *  The contents of this file are subject to the Sun Industry Standards
- *  Source License Version 1.1 (the "License"); You may not use this file
- *  except in compliance with the License. You may obtain a copy of the
- *  License at http://www.openoffice.org/license.html.
- *
- *  Software provided under this License is provided on an "AS IS" basis,
- *  WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- *  WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
- *  MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
- *  See the License for the specific provisions governing your rights and
- *  obligations concerning the Software.
- *
  *  The Initial Developer of the Original Code is: Joerg Budischewski
  *
  *   Copyright: 2000 by Sun Microsystems, Inc.
@@ -58,7 +24,6 @@
  *
  *   Contributor(s): Joerg Budischewski
  *
- *
  ************************************************************************/
 #ifndef _PQ_RESULTSETMETADATA_HXX_
 #define _PQ_RESULTSETMETADATA_HXX_
diff --git a/connectivity/source/drivers/postgresql/pq_sequenceresultset.cxx b/connectivity/source/drivers/postgresql/pq_sequenceresultset.cxx
index 584fafc..5730ebf 100644
--- a/connectivity/source/drivers/postgresql/pq_sequenceresultset.cxx
+++ b/connectivity/source/drivers/postgresql/pq_sequenceresultset.cxx
@@ -1,24 +1,5 @@
 /*************************************************************************
  *
- *  $RCSfile: pq_sequenceresultset.cxx,v $
- *
- *  $Revision: 1.1.2.3 $
- *
- *  last change: $Author: jbu $ $Date: 2006/01/22 15:14:31 $
- *
- *  The Contents of this file are made available subject to the terms of
- *  either of the following licenses
- *
- *         - GNU Lesser General Public License Version 2.1
- *         - Sun Industry Standards Source License Version 1.1
- *
- *  Sun Microsystems Inc., October, 2000
- *
- *  GNU Lesser General Public License Version 2.1
- *  =============================================
- *  Copyright 2000 by Sun Microsystems, Inc.
- *  901 San Antonio Road, Palo Alto, CA 94303, USA
- *
  *  This library is free software; you can redistribute it and/or
  *  modify it under the terms of the GNU Lesser General Public
  *  License version 2.1, as published by the Free Software Foundation.
@@ -33,21 +14,6 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  *  MA  02111-1307  USA
  *
- *
- *  Sun Industry Standards Source License Version 1.1
- *  =================================================
- *  The contents of this file are subject to the Sun Industry Standards
- *  Source License Version 1.1 (the "License"); You may not use this file
- *  except in compliance with the License. You may obtain a copy of the
- *  License at http://www.openoffice.org/license.html.
- *
- *  Software provided under this License is provided on an "AS IS" basis,
- *  WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- *  WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
- *  MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
- *  See the License for the specific provisions governing your rights and
- *  obligations concerning the Software.
- *
  *  The Initial Developer of the Original Code is: Joerg Budischewski
  *
  *   Copyright: 2000 by Sun Microsystems, Inc.
@@ -56,7 +22,6 @@
  *
  *   Contributor(s): Joerg Budischewski
  *
- *
  ************************************************************************/
 
 #include "pq_sequenceresultset.hxx"
diff --git a/connectivity/source/drivers/postgresql/pq_sequenceresultset.hxx b/connectivity/source/drivers/postgresql/pq_sequenceresultset.hxx
index 5eb5402..fa67e38 100644
--- a/connectivity/source/drivers/postgresql/pq_sequenceresultset.hxx
+++ b/connectivity/source/drivers/postgresql/pq_sequenceresultset.hxx
@@ -1,24 +1,6 @@
+/* -*- Mode: C++; eval:(c-set-style "bsd"); tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
 /*************************************************************************
  *
- *  $RCSfile: pq_sequenceresultset.hxx,v $
- *
- *  $Revision: 1.1.2.3 $
- *
- *  last change: $Author: jbu $ $Date: 2006/01/22 15:14:32 $
- *
- *  The Contents of this file are made available subject to the terms of
- *  either of the following licenses
- *
- *         - GNU Lesser General Public License Version 2.1
- *         - Sun Industry Standards Source License Version 1.1
- *
- *  Sun Microsystems Inc., October, 2000
- *
- *  GNU Lesser General Public License Version 2.1
- *  =============================================
- *  Copyright 2000 by Sun Microsystems, Inc.
- *  901 San Antonio Road, Palo Alto, CA 94303, USA
- *
  *  This library is free software; you can redistribute it and/or
  *  modify it under the terms of the GNU Lesser General Public
  *  License version 2.1, as published by the Free Software Foundation.
@@ -33,30 +15,15 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  *  MA  02111-1307  USA
  *
- *
- *  Sun Industry Standards Source License Version 1.1
- *  =================================================
- *  The contents of this file are subject to the Sun Industry Standards
- *  Source License Version 1.1 (the "License"); You may not use this file
- *  except in compliance with the License. You may obtain a copy of the
- *  License at http://www.openoffice.org/license.html.
- *
- *  Software provided under this License is provided on an "AS IS" basis,
- *  WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- *  WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
- *  MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
- *  See the License for the specific provisions governing your rights and
- *  obligations concerning the Software.
- *
  *  The Initial Developer of the Original Code is: Joerg Budischewski
  *
  *   Copyright: 2000 by Sun Microsystems, Inc.
+ *              2011 Lionel Elie Mamane <lionel at mamane.lu>
  *
  *   All Rights Reserved.
  *
  *   Contributor(s): Joerg Budischewski
  *
- *
  ************************************************************************/
 #ifndef _PG_SEQUENCERESULTSET_HXX_
 #define _PG_SEQUENCERESULTSET_HXX_
diff --git a/connectivity/source/drivers/postgresql/pq_sequenceresultsetmetadata.cxx b/connectivity/source/drivers/postgresql/pq_sequenceresultsetmetadata.cxx
index 6775f4a..262070c 100644
--- a/connectivity/source/drivers/postgresql/pq_sequenceresultsetmetadata.cxx
+++ b/connectivity/source/drivers/postgresql/pq_sequenceresultsetmetadata.cxx
@@ -1,3 +1,78 @@
+/* -*- Mode: C++; eval:(c-set-style "bsd"); tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ *  This library is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU Lesser General Public
+ *  License version 2.1, as published by the Free Software Foundation.
+ *
+ *  This library is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *  Lesser General Public License for more details.
+ *
+ *  You should have received a copy of the GNU Lesser General Public
+ *  License along with this library; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ *  MA  02111-1307  USA
+ *
+ *  Copyright: 200? by Sun Microsystems, Inc.
+ *             2011 Lionel Elie Mamane <lionel at mamane.lu>
+ *
+ ************************************************************************/
+
+#include <cppuhelper/implbase1.hxx>
+#include <com/sun/star/sdbc/XResultSetMetaData.hpp>
+
+#include "pq_connection.hxx"
+#include "pq_statics.hxx"
+
+namespace pq_sdbc_driver
+{
+    class SequenceResultSetMetaData :
+        public ::cppu::WeakImplHelper1 < com::sun::star::sdbc::XResultSetMetaData >
+    {
+        ::rtl::Reference< RefCountedMutex > m_refMutex;
+        ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet > m_origin;
+        ::rtl::OUString m_tableName;
+        ::rtl::OUString m_schemaName;
+        ColumnMetaDataVector m_columnData;
+        sal_Int32 m_colCount;
+
+        void checkColumnIndex( sal_Int32 columnIndex )
+            throw (::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
+
+    public:
+        SequenceResultSetMetaData(
+            const ::rtl::Reference< RefCountedMutex > & reMutex,
+            const ColumnMetaDataVector &vec,
+            int colCount );
+
+    public:
+        // Methods
+        virtual sal_Int32 SAL_CALL getColumnCount(  ) throw (::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
+        virtual sal_Bool SAL_CALL isAutoIncrement( sal_Int32 column ) throw (::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
+        virtual sal_Bool SAL_CALL isCaseSensitive( sal_Int32 column ) throw (::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list