[ooo-build-commit] .: 2 commits - bin/modules2.txt patches/dev300 patches/vba

René Engelhard rene at kemper.freedesktop.org
Mon Mar 29 03:40:23 PDT 2010


 bin/modules2.txt                                                            |    6 
 patches/dev300/apply                                                        |   60 
 patches/dev300/basegfx-boxclipper-m13.diff                                  | 3359 
 patches/dev300/basegfx-boxclipper.diff                                      |   28 
 patches/dev300/cws-mysqlconnector.diff                                      |12273 --
 patches/dev300/debian-splash-m12.diff                                       |   11 
 patches/dev300/debian-splash.diff                                           |   16 
 patches/dev300/default-no-startup-wizard-m13.diff                           |   47 
 patches/dev300/default-no-startup-wizard.diff                               |   12 
 patches/dev300/docx-export-enable-m13.diff                                  |  433 
 patches/dev300/docx-export-enable.diff                                      |    8 
 patches/dev300/field-patch-m13.diff                                         | 2656 
 patches/dev300/field-patch.diff                                             |    9 
 patches/dev300/layout-post-cws-layoutdialogs2-mysteriously-missing-m13.diff |  229 
 patches/dev300/layout-post-cws-layoutdialogs2-mysteriously-missing.diff     |   14 
 patches/dev300/mysqlc-from-OOO320_m14.diff                                  |11860 ++
 patches/dev300/mysqlc-missing-buildfixes-from-DEV300.diff                   |   30 
 patches/dev300/mysqlc-no-license.diff                                       |   14 
 patches/dev300/oox-smartart-import-m13.diff                                 | 6096 +
 patches/dev300/oox-smartart-import.diff                                     |   21 
 patches/dev300/pdfimport-no-license-m13.diff                                |   20 
 patches/dev300/pdfimport-no-license.diff                                    |    8 
 patches/dev300/postprocess-extra-extensions.diff                            |   10 
 patches/dev300/pptx-filter-as-a-separate-lib-m12.diff                       |12701 ++
 patches/dev300/pptx-filter-as-a-separate-lib.diff                           |    2 
 patches/dev300/presentation-minimizer-no-license-m13.diff                   |   20 
 patches/dev300/presentation-minimizer-no-license.diff                       |    8 
 patches/dev300/presenterscreen-no-license-m13.diff                          |   55 
 patches/dev300/presenterscreen-no-license.diff                              |   24 
 patches/dev300/reportdesigner-no-license-m13.diff                           |   14 
 patches/dev300/reportdesigner-no-license.diff                               |    4 
 patches/dev300/slideshow-effect-rewind-sdext-m13.diff                       |   72 
 patches/dev300/slideshow-effect-rewind-sdext.diff                           |    2 
 patches/dev300/speed-local-link-except-m13.diff                             |  227 
 patches/dev300/speed-local-link-except.diff                                 |    2 
 patches/dev300/svx-hacky-htmlselect-control-import-m13.diff                 |  215 
 patches/dev300/svx-hacky-htmlselect-control-import.diff                     |   13 
 patches/dev300/unxsplash-rework-m13.diff                                    | 2317 
 patches/dev300/unxsplash-rework.diff                                        |   18 
 patches/dev300/writerfilter-docx-numbering-m13.diff                         | 4016 
 patches/dev300/writerfilter-docx-numbering.diff                             |   28 
 patches/vba/cws-npower12-m13.diff                                           |54516 ++++++++++
 patches/vba/cws-npower12.diff                                               | 1457 
 43 files changed, 99607 insertions(+), 13324 deletions(-)

New commits:
commit c9425c74c1ec69c81db66ea8eaf60a29acfef19d
Author: Rene Engelhard <rene at debian.org>
Date:   Mon Mar 29 11:47:28 2010 +0200

    update mysqlc to what went into OOO320_m14
    
    * patches/dev300/cws-mysqlconnector.diff: remove
    * patches/dev300/mysqlc-from-OOO320_m14.diff: extract
    * patches/dev300/mysqlc-missing-buildfixes-from-DEV300.diff: add buildfixes
    * patches/dev300/mysqlc-no-license.diff: move to extra patch
    * patches/dev300/apply: adapt

diff --git a/patches/dev300/apply b/patches/dev300/apply
index ab8d3c6..0139632 100644
--- a/patches/dev300/apply
+++ b/patches/dev300/apply
@@ -3379,8 +3379,14 @@ writer-doc-comparison.diff, tzvetelina
 writer-doc-comparison-help.diff, tzvetelina
 
 
-[ MySQL < dev300-m72 < ooo320-m14 ]
-cws-mysqlconnector.diff
+[ MySQL < ooo320-m14 ]
+mysqlc-from-OOO320_m14.diff
+[ MySQL ]
+mysqlc-missing-buildfixes-from-DEV300.diff
+[ MySQL < ooo320-m14 ]
+mysqlc-no-license.diff
+[ ExtensionFixes >= ooo320-m14 ]
+mysqlc-no-license.diff
 
 [ MySQL and DebianBaseOnly ]
 # fix mysqlc to use the SONAME instead of the .so symlink...
@@ -3508,8 +3514,8 @@ win32-dont-attempt-restart.diff, n#524250, tml
 [ SystemGraphiteWithSTLport ]
 vcl-system-graphite-with-stlport.diff, i#106157, cmc
 
-[ SystemMySQLWithSTLport ]
-system.mysqlcpp.diff, cmc
+#[ SystemMySQLWithSTLport ]
+#system.mysqlcpp.diff, cmc
 
 [ GnomeSessionManagement ]
 gnome-screen-saver.diff, i#106372, cmc
diff --git a/patches/dev300/cws-mysqlconnector.diff b/patches/dev300/cws-mysqlconnector.diff
deleted file mode 100644
index c885db7..0000000
--- a/patches/dev300/cws-mysqlconnector.diff
+++ /dev/null
@@ -1,12273 +0,0 @@
-
-# HG changeset patch
-# User Vladimir Glazunov <vg at openoffice.org>
-# Date 1266244079 -3600
-# Node ID e88d214fb62a9dd59e094f6db27f4f027b042798
-# Parent  66620d8e16231948374cae82f1660cc0beac11a3# Parent  5c14cf8d990e3d10a9797a9ed93d284c7a5a375a
-CWS-TOOLING: integrate CWS mysqlconnector
-
-diff -r 66620d8e1623 -r e88d214fb62a configure.in
---- configure.in	Mon Feb 15 15:07:47 2010 +0100
-+++ configure.in	Mon Feb 15 15:27:59 2010 +0100
-@@ -368,6 +368,23 @@
- [  --with-lucene-analyzers-jar=JARFILE   Specify path to jarfile manually ],
- [ LUCENE_ANALYZERS_JAR="$withval"
- ])
-+AC_ARG_ENABLE(mysql-connector,
-+[  --enable-mysql-connector     enables the build of the MySQL Connector/OOo extension.
-+                                This requires access to the MySQL Connector/C (aka libmysql) to be given, too, with
-+                                either the --with-system-mysql or --with-libmysql-path option.
-+],,)
-+AC_ARG_WITH(system-mysql,
-+[  --with-system-mysql          Use MySQL libraries already on system, for building the MySQL Connector/OOo extension.
-+                                Requires MYSQLCONFIG to point to the mysql_config executable.
-+],,with_system_mysql="no")
-+AC_ARG_WITH(libmysql-path,
-+[  --with-libmysql-path         Use Connector/C (libmysql) installation for building the MySQL Connector/OOo extension.
-+
-+                                Usage: --with-libmysql-path=<absolute path to your Connector/C installation>
-+],,)
-+AC_ARG_WITH(system-mysql-cppconn,
-+[  --with-system-mysql-cppconn  Use MySQL C++ Connector libraries already on system
-+],,)
- AC_ARG_WITH(system-hsqldb,
- [  --with-system-hsqldb    Use hsqldb already on system
- ],,)
-@@ -3835,6 +3852,128 @@
- AC_SUBST(LUCENE_CORE_JAR)
- AC_SUBST(LUCENE_ANALYZERS_JAR)
- 
-+AC_MSG_CHECKING([whether to build the MySQL Connector extension])
-+if test -n "$enable_mysql_connector" -a "$enable_mysql_connector" != "no"; then
-+  AC_MSG_RESULT([yes])
-+  ENABLE_MYSQLC=YES
-+  AC_MSG_CHECKING([for mysqlc module])
-+  if test -d mysqlc; then
-+   AC_MSG_RESULT([OK])
-+  else
-+   AC_MSG_ERROR([not existing. get it (did you get the -extensions tarball?)])
-+  fi
-+  BUILD_TYPE="$BUILD_TYPE MYSQLC"
-+else
-+  AC_MSG_RESULT([no])
-+  ENABLE_MYSQLC=NO
-+fi
-+AC_SUBST(ENABLE_MYSQLC)
-+
-+if test "$ENABLE_MYSQLC" = "YES"; then
-+dnl ===================================================================
-+dnl Check for system MySQL
-+dnl ===================================================================
-+AC_MSG_CHECKING([for mysql pre-requisites])
-+if test -n "$with_system_mysql" -o -n "$with_system_libs" && \
-+       test "$with_system_mysql" != "no" && test "$with_system_libs" != "no"; then
-+	AC_MSG_RESULT([external MySQL])
-+	SYSTEM_MYSQL=YES
-+	AC_PATH_PROG( MYSQLCONFIG, mysql_config)
-+	AC_MSG_CHECKING([MySQL version])
-+	MYSQL_VERSION=`$MYSQLCONFIG --version` 
-+	MYSQL_MAJOR=`$MYSQLCONFIG --version | cut -d"." -f1`
-+	if test "$MYSQL_MAJOR" -ge "5"; then
-+		AC_MSG_RESULT([OK])
-+	else
-+		AC_MSG_ERROR([too old, use 5.0.x or 5.1.x])
-+	fi
-+	AC_MSG_CHECKING([for MySQL Client library])
-+	MYSQL_INC=`$MYSQLCONFIG --include` 
-+	MYSQL_LIB=`$MYSQLCONFIG --libs`
-+	MYSQL_DEFINES=`$MYSQLCONFIG --cflags | sed -e s,$MYSQL_INC,,`
-+	AC_MSG_RESULT([includes $MYSQL_INC, libraries $MYSQL_LIB])
-+else
-+    SYSTEM_MYSQL=NO
-+    if test -n "$with_libmysql_path"; then
-+        AC_MSG_RESULT([external Connector/C (libmysql)])
-+        LIBMYSQL=libmysql.so
-+        if test "$_os" = "Darwin"; then
-+            LIBMYSQL=libmysql.dylib
-+        elif test "$_os" = "WINNT"; then
-+            LIBMYSQL=libmysql.dll
-+        fi
-+        AC_MSG_CHECKING([for $LIBMYSQL])
-+        if test -e "$with_libmysql_path/li$LIBMYSQL"; then
-+            AC_MSG_RESULT([found.])
-+            LIBMYSQL_PATH=$with_libmysql_path
-+        else
-+            AC_MSG_ERROR([not found. Please specify proper path in --with-libmysql-path.])
-+        fi
-+    else
-+        AC_MSG_ERROR([not given. Please specify either --with-system-mysql or --with-libmysql-path])
-+    fi
-+fi
-+AC_SUBST(SYSTEM_MYSQL)
-+AC_SUBST(MYSQL_INC)
-+AC_SUBST(MYSQL_LIB)
-+AC_SUBST(MYSQL_DEFINES)
-+AC_SUBST(LIBMYSQL_PATH)
-+
-+AC_LANG_PUSH([C++])
-+dnl ===================================================================
-+dnl Check for system MySQL C++ Connector
-+dnl ===================================================================
-+# FIXME!
-+# who thought this too-generic cppconn dir was a good idea?
-+AC_MSG_CHECKING([MySQL Connector/C++])
-+if test -n "$with_system_mysql_cppconn" -o -n "$with_system_libs" && \
-+		test "$with_system_mysql_cppconn" != "no" && test "$with_system_libs" != "no"; then
-+	AC_MSG_RESULT([external])
-+	SYSTEM_MYSQL_CPPCONN=YES
-+        AC_LANG_PUSH([C++])
-+	AC_CHECK_HEADER(mysql_driver.h, [],
-+					[AC_MSG_ERROR(mysql_driver.h not found. install MySQL C++ Connectivity)], [])
-+	AC_CHECK_LIB(mysqlcppconn, main, [],
-+					[AC_MSG_ERROR(MySQL C++ Connectivity lib not found or functional)], [])
-+   AC_MSG_CHECKING([version])
-+      AC_TRY_RUN([
-+#include <mysql_driver.h>
-+
-+int main(int argc, char **argv) {
-+	sql::Driver *driver;
-+	driver = get_driver_instance();
-+	if (driver->getMajorVersion() > 1 || \
-+	   (driver->getMajorVersion() == 1 && driver->getMinorVersion() > 0) || \
-+	   (driver->getMajorVersion() == 1 && driver->getMinorVersion() == 0 && driver->getPatchVersion() >= 6)) 
-+        return 0;
-+      else
-+        return 1;
-+}
-+      ], [AC_MSG_RESULT(OK)], [AC_MSG_ERROR([not suitable, we need >= 1.0.6])])
-+        AC_LANG_POP([C++])
-+
-+	AC_MSG_CHECKING([STL compatibility])
-+	if test "$WITH_STLPORT" != "no"; then
-+		AC_MSG_ERROR([to use system mysqlcppconn you need to use --without-stlport])
-+	else
-+		AC_MSG_RESULT([OK])	
-+	fi
-+
-+else
-+	AC_MSG_RESULT([internal])
-+        AC_MSG_CHECKING([for mysqlcppconn module])
-+        if test -d mysqlcppconn; then
-+          AC_MSG_RESULT([OK])
-+        else
-+          AC_MSG_ERROR([not existing. get it (did you get the -extensions tarball?)])
-+        fi
-+	BUILD_TYPE="$BUILD_TYPE MYSQLCPPCONN"
-+	SYSTEM_MYSQL_CPPCONN=NO
-+fi
-+AC_LANG_POP([C++])
-+AC_SUBST(SYSTEM_MYSQL_CPPCONN)
-+fi
-+
- dnl ===================================================================
- dnl Check for system hsqldb
- dnl ===================================================================
-diff -r 66620d8e1623 -r e88d214fb62a dbaccess/source/ui/browser/brwctrlr.cxx
---- dbaccess/source/ui/browser/brwctrlr.cxx	Mon Feb 15 15:07:47 2010 +0100
-+++ dbaccess/source/ui/browser/brwctrlr.cxx	Mon Feb 15 15:27:59 2010 +0100
-@@ -624,6 +624,7 @@
- //------------------------------------------------------------------------------
- SbaXDataBrowserController::SbaXDataBrowserController(const Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rM)
- 	:SbaXDataBrowserController_Base(_rM)
-+    ,m_nRowSetPrivileges(0)
-     ,m_pClipbordNotifier( NULL )
- 	,m_aAsyncGetCellFocus(LINK(this, SbaXDataBrowserController, OnAsyncGetCellFocus))
-     ,m_aAsyncDisplayError( LINK( this, SbaXDataBrowserController, OnAsyncDisplayError ) )
-@@ -1415,19 +1416,21 @@
- 			m_xRowSet			= NULL;
- 			m_xColumnsSupplier	= NULL;
- 			m_xLoadable 		= NULL;
-+
-+            m_nRowSetPrivileges = 0;
- 		}
--		catch(Exception&)
-+		catch(const Exception&)
- 		{
--			OSL_ENSURE(0,"Exception thrown by dispose");
-+            DBG_UNHANDLED_EXCEPTION();
- 		}
- 	}
- 	try
- 	{
- 		::comphelper::disposeComponent(m_xParser);
- 	}
--	catch(Exception&)
-+	catch(const Exception&)
- 	{
--		OSL_ENSURE(0,"Exception thrown by dispose");
-+        DBG_UNHANDLED_EXCEPTION();
- 	}
- }
- //------------------------------------------------------------------------------
-@@ -1656,21 +1659,39 @@
-             case ID_BROWSER_INSERT_ROW:
-                 {
-                     // check if it is available
--				    Reference< XPropertySet >  xDataSourceSet(getRowSet(), UNO_QUERY);
--				    if (!xDataSourceSet.is())
--					    break;	// no datasource -> no edit mode
--
--				    sal_Int32 nDataSourcePrivileges = ::comphelper::getINT32(xDataSourceSet->getPropertyValue(PROPERTY_PRIVILEGES));
--				    aReturn.bEnabled = ((nDataSourcePrivileges & ::com::sun::star::sdbcx::Privilege::INSERT) != 0) && ::comphelper::getBOOL(xDataSourceSet->getPropertyValue(::rtl::OUString::createFromAscii("AllowInserts")));
-+                    sal_Bool bInsertPrivilege = ( m_nRowSetPrivileges & Privilege::INSERT) != 0;
-+                    sal_Bool bAllowInsertions = sal_True;
-+                    try
-+                    {
-+				        Reference< XPropertySet > xRowSetProps( getRowSet(), UNO_QUERY_THROW );
-+                        OSL_VERIFY( xRowSetProps->getPropertyValue( ::rtl::OUString::createFromAscii( "AllowInserts" ) ) >>= bAllowInsertions );
-+                    }
-+                    catch( const Exception& )
-+                    {
-+                    	DBG_UNHANDLED_EXCEPTION();
-+                    }
-+				    aReturn.bEnabled = bInsertPrivilege && bAllowInsertions;
-                 }
-                 break;
-             case SID_FM_DELETEROWS:
-                 {
--				    Reference< XPropertySet >  xFormSet(getRowSet(), UNO_QUERY);
--				    sal_Int32 nCount = ::comphelper::getINT32(xFormSet->getPropertyValue(PROPERTY_ROWCOUNT));
--                    sal_Bool bNew = sal_False;
--                    xFormSet->getPropertyValue(PROPERTY_ISNEW) >>= bNew;
--				    aReturn.bEnabled = nCount != 0 && !bNew;
-+                    // check if it is available
-+                    sal_Bool bDeletePrivilege = ( m_nRowSetPrivileges & Privilege::INSERT) != 0;
-+                    sal_Bool bAllowDeletions = sal_True;
-+                    sal_Int32 nRowCount = 0;
-+                    sal_Bool bInsertionRow = sal_False;
-+                    try
-+                    {
-+				        Reference< XPropertySet > xRowSetProps( getRowSet(), UNO_QUERY_THROW );
-+                        OSL_VERIFY( xRowSetProps->getPropertyValue( ::rtl::OUString::createFromAscii( "AllowDeletes" ) ) >>= bAllowDeletions );
-+                        OSL_VERIFY( xRowSetProps->getPropertyValue( PROPERTY_ROWCOUNT ) >>= nRowCount );
-+                        OSL_VERIFY( xRowSetProps->getPropertyValue( PROPERTY_ISNEW ) >>= bInsertionRow );
-+                    }
-+                    catch( const Exception& )
-+                    {
-+                    	DBG_UNHANDLED_EXCEPTION();
-+                    }
-+                    aReturn.bEnabled = bDeletePrivilege && bAllowDeletions && ( nRowCount != 0 ) && !bInsertionRow;
- 			    }
-                 break;
- 
-@@ -2701,14 +2722,28 @@
- {
-     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen at sun.com", "SbaXDataBrowserController::criticalFail" );
- 	InvalidateAll();
-+    m_nRowSetPrivileges = 0;
- }
- 
- //------------------------------------------------------------------------------
- void SbaXDataBrowserController::LoadFinished(sal_Bool /*bWasSynch*/)
- {
-     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen at sun.com", "SbaXDataBrowserController::LoadFinished" );
-+    m_nRowSetPrivileges = 0;
-+
- 	if (isValid() && !loadingCancelled())
- 	{
-+        // obtain cached values
-+        try
-+        {
-+            Reference< XPropertySet > xFormProps( m_xLoadable, UNO_QUERY_THROW );
-+            OSL_VERIFY( xFormProps->getPropertyValue( PROPERTY_PRIVILEGES ) >>= m_nRowSetPrivileges );
-+        }
-+        catch( const Exception& )
-+        {
-+    	    DBG_UNHANDLED_EXCEPTION();
-+        }
-+ 
- 		// --------------------------------
- 		// switch the control to alive mode
- 		getBrowserView()->getGridControl()->setDesignMode(sal_False);
-diff -r 66620d8e1623 -r e88d214fb62a dbaccess/source/ui/inc/brwctrlr.hxx
---- dbaccess/source/ui/inc/brwctrlr.hxx	Mon Feb 15 15:07:47 2010 +0100
-+++ dbaccess/source/ui/inc/brwctrlr.hxx	Mon Feb 15 15:27:59 2010 +0100
-@@ -105,6 +105,8 @@
- 		mutable ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XSingleSelectQueryComposer > 	
-                                                                                         m_xParser;		// for sorting 'n filtering
- 
-+        sal_Int32               m_nRowSetPrivileges;    // cached Privileges property of m_xRowSet
-+
- 		AutoTimer				m_aInvalidateClipboard;				// for testing the state of the CUT/COPY/PASTE-slots
- 
- 		TransferableDataHelper	m_aSystemClipboard;		// content of the clipboard
-diff -r 66620d8e1623 -r e88d214fb62a mysqlc/images/sun_extension.png
-Binary file mysqlc/images/sun_extension.png has changed
-diff -r 66620d8e1623 -r e88d214fb62a mysqlc/images/sun_extension_hc.png
-Binary file mysqlc/images/sun_extension_hc.png has changed
-diff -r 66620d8e1623 -r e88d214fb62a mysqlc/prj/build.lst
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ mysqlc/prj/build.lst	Mon Feb 15 15:27:59 2010 +0100
-@@ -0,0 +1,3 @@
-+mc	mysqlc	:	solenv MYSQLCPPCONN:mysqlcppconn offuh cppu soltools cppuhelper readlicense_oo NULL
-+ch	mysqlc              usr1    -	all mc_mkout NULL
-+mc	mysqlc\source       nmake   -   all mc_source NULL
-diff -r 66620d8e1623 -r e88d214fb62a mysqlc/prj/d.lst
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ mysqlc/prj/d.lst	Mon Feb 15 15:27:59 2010 +0100
-@@ -0,0 +1,4 @@
-+# Extensions
-+
-+..\%__SRC%\bin\*.oxt %_DEST%\bin%_EXT%\*.oxt
-+
-diff -r 66620d8e1623 -r e88d214fb62a mysqlc/source/DataAccess.xcu
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ mysqlc/source/DataAccess.xcu	Mon Feb 15 15:27:59 2010 +0100
-@@ -0,0 +1,19 @@
-+<?xml version="1.0" encoding="UTF-8"?>
-+<oor:node xmlns:oor="http://openoffice.org/2001/registry" xmlns:xs="http://www.w3.org/2001/XMLSchema" oor:name="DataAccess" oor:package="org.openoffice.Office">
-+ <node oor:name="UserDefinedDriverSettings">
-+  <node oor:name="org.openoffice.comp.connectivity.mysql_native.Driver" oor:op="replace">
-+   <prop oor:name="DriverName">
-+    <value>org.openoffice.comp.connectivity.mysql_native.Driver</value>
-+   </prop>
-+   <prop oor:name="DriverPageDisplayName">
-+    <value>MySQL native driver</value>
-+   </prop>
-+   <prop oor:name="DriverTypeDisplayName">
-+    <value>MySQL native driver</value>
-+   </prop>
-+   <prop oor:name="DriverDsnPrefix">
-+    <value>sdbc:mysqlc:</value>
-+   </prop>
-+  </node>
-+ </node>
-+</oor:node>
-diff -r 66620d8e1623 -r e88d214fb62a mysqlc/source/README
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ mysqlc/source/README	Mon Feb 15 15:27:59 2010 +0100
-@@ -0,0 +1,65 @@
-+---------- Status -------------------------------------------------------------
-+
-+The code is on a PREVIEW level. PREVIEW means pre-alpha.
-+
-+---------- Requirements -------------------------------------------------------
-+
-+The MySQL driver for OpenOffice.org (MySQL Connector/OpenOffice.org - C/OOo)
-+requires two external libraries to be build:
-+
-+ 1) The MySQL Client Library (libmysql)
-+ 2) The MySQL Connector/C++ Library (libmysqlcppcon)
-+
-+At the time of writing neither of the two libraries are part of the CWS!
-+Before you can build the MySQL driver for OpenOffice.org you must install
-+the two required libraries on your system before you can compile the driver.
-+
-+You need the two libraries because the MySQL driver for OpenOffice.org
-+does not feature an implementation of the MySQL Client Server
-+communication protocol. The protocol implementation is part of the MySQL
-+Client Library. And the SDBC(X) style OpenOffice.org driver is implemented as a
-+wrapper of the MySQL Connector/C++ Library which implements a JDBC interface and
-+in turn uses the C based MySQL Client Library.
-+
-+1) MySQL Client Library (libmysql)
-+
-+The MySQL Client Library (libmysql) is part of the MySQL Server. You need to
-+download and install the MySQL Server. Use a binary distribution of
-+MySQL 5.0.x or MySQL 5.1.x. Check the MySQL manual for instructions, e.g.
-+for Unix:
-+
-+ http://dev.mysql.com/doc/refman/5.1/en/installing-binary.html
-+
-+The typical installation path of the libmysql.so on Unix is
-+/usr/local/mysql/limysql/ .
-+
-+2) MySQL Connector/C++ (libmysqlcppcon)
-+
-+Download and install the latest version of the MySQL Connector/C++, see
-+http://forge.mysql.com/wiki/Connector_C++ . Check out the source
-+from the bzr repository.
-+
-+3) Tweaking library paths
-+
-+At the time of writing you might have to *manually* tweak library paths and
-+library names by patching makefile.mk. This is a temporary hack. The makefile
-+will be improved later.
-+
-+However, for the moment check the makefile.mk if the compilation fails due to
-+"missing" libraries (= libraries not found). For example, check the following
-+settings:
-+
-+  MYSQL_INCDIR=/usr/local/include
-+  MYSQL_LIBDIR=/usr/local/lib
-+  [...]
-+  MYSQL_INCDIR=/usr/local/include
-+  MYSQL_LIBDIR=/usr/local/lib
-+  [...]
-+  MYSQL_INC=-I$(MYSQL_INCDIR)
-+  MYSQL_LIB=-L$(MYSQL_LIBDIR) -lmysqlclient -rdynamic -lz -lcrypt -lnsl -lm
-+  MYSQL_LIBFILE=$(MYSQL_LIBDIR)$/libmysqlclient.so.16
-+  MYSQL_CPPCONN_LIBFILE=$(MYSQL_LIBDIR)$/libmysqlcppconn.so
-+  [...]
-+
-+A common issue is libmysqlclient.so.15 vs. libmysqlclient.so.16 .
-+
-diff -r 66620d8e1623 -r e88d214fb62a mysqlc/source/description.xml
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ mysqlc/source/description.xml	Mon Feb 15 15:27:59 2010 +0100
-@@ -0,0 +1,20 @@
-+<?xml version="1.0" encoding="UTF-8"?>
-+<description xmlns="http://openoffice.org/extensions/description/2006" xmlns:d="http://openoffice.org/extensions/description/2006" 
-+    xmlns:xlink="http://www.w3.org/1999/xlink">
-+
-+    <identifier value="UPDATED_IDENTIFIER"/>
-+    <version value="#VERSION#" />    
-+    <platform value="UPDATED_SUPPORTED_PLATFORM" />
-+    <display-name>
-+        <name lang="en-US">#TITLE#</name>
-+    </display-name>
-+    <dependencies>
-+         <OpenOffice.org-minimal-version value="3.1" d:name="OpenOffice.org 3.1"/>
-+    </dependencies>
-+    <publisher>
-+        <name xlink:href="http://www.sun.com/software/star/staroffice/extensions.jsp?cid=925095" lang="en">Sun Microsystems</name>
-+    </publisher>
-+    <extension-description>
-+        <src lang="#LANG#" xlink:href="description/description_#LANG#.txt"/>
-+    </extension-description>
-+</description> 
-diff -r 66620d8e1623 -r e88d214fb62a mysqlc/source/description/description_de.txt
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ mysqlc/source/description/description_de.txt	Mon Feb 15 15:27:59 2010 +0100
-@@ -0,0 +1,1 @@
-+Verbindet OpenOffice.org direkt mit MySQL-Servern
-\ No newline at end of file
-diff -r 66620d8e1623 -r e88d214fb62a mysqlc/source/description/description_en-US.txt
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ mysqlc/source/description/description_en-US.txt	Mon Feb 15 15:27:59 2010 +0100
-@@ -0,0 +1,1 @@
-+Connects OpenOffice.org directly with MySQL Servers
-diff -r 66620d8e1623 -r e88d214fb62a mysqlc/source/description/description_es.txt
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ mysqlc/source/description/description_es.txt	Mon Feb 15 15:27:59 2010 +0100
-@@ -0,0 +1,1 @@
-+Conecta OpenOffice.org directamente con los servidores de MySQL
-\ No newline at end of file
-diff -r 66620d8e1623 -r e88d214fb62a mysqlc/source/description/description_fr.txt
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ mysqlc/source/description/description_fr.txt	Mon Feb 15 15:27:59 2010 +0100
-@@ -0,0 +1,1 @@
-+Connexion directe d'OpenOffice.org avec les serveurs MySQL.
-\ No newline at end of file
-diff -r 66620d8e1623 -r e88d214fb62a mysqlc/source/description/description_hu.txt
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ mysqlc/source/description/description_hu.txt	Mon Feb 15 15:27:59 2010 +0100
-@@ -0,0 +1,1 @@
-+Közvetlen kapcsolatot teremt az OpenOffice.org és a MySQL-kiszolgálók között.
-\ No newline at end of file
-diff -r 66620d8e1623 -r e88d214fb62a mysqlc/source/description/description_it.txt
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ mysqlc/source/description/description_it.txt	Mon Feb 15 15:27:59 2010 +0100
-@@ -0,0 +1,1 @@
-+Consente la connessione diretta tra OpenOffice.org e i server MySQL
-\ No newline at end of file
-diff -r 66620d8e1623 -r e88d214fb62a mysqlc/source/description/description_ja.txt
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ mysqlc/source/description/description_ja.txt	Mon Feb 15 15:27:59 2010 +0100
-@@ -0,0 +1,1 @@
-+OpenOffice.org を MySQL サーバーと直接に接続させる
-\ No newline at end of file
-diff -r 66620d8e1623 -r e88d214fb62a mysqlc/source/description/description_ko.txt
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ mysqlc/source/description/description_ko.txt	Mon Feb 15 15:27:59 2010 +0100
-@@ -0,0 +1,1 @@
-+MySQL 서버를 통해 OpenOffice.org에 직접 연결합니다.
-\ No newline at end of file
-diff -r 66620d8e1623 -r e88d214fb62a mysqlc/source/description/description_nl.txt
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ mysqlc/source/description/description_nl.txt	Mon Feb 15 15:27:59 2010 +0100
-@@ -0,0 +1,1 @@
-+Verbindt OpenOffice.org direct met MySQL Servers
-\ No newline at end of file
-diff -r 66620d8e1623 -r e88d214fb62a mysqlc/source/description/description_pl.txt
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ mysqlc/source/description/description_pl.txt	Mon Feb 15 15:27:59 2010 +0100
-@@ -0,0 +1,1 @@
-+Laczy witryne OpenOffice.org bezposrednio z systemem MySQL Servers
-\ No newline at end of file
-diff -r 66620d8e1623 -r e88d214fb62a mysqlc/source/description/description_pt-BR.txt
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ mysqlc/source/description/description_pt-BR.txt	Mon Feb 15 15:27:59 2010 +0100
-@@ -0,0 +1,1 @@
-+Conecta o OpenOffice.org diretamente aos servidores MySQL
-\ No newline at end of file
-diff -r 66620d8e1623 -r e88d214fb62a mysqlc/source/description/description_pt.txt
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ mysqlc/source/description/description_pt.txt	Mon Feb 15 15:27:59 2010 +0100
-@@ -0,0 +1,1 @@
-+Liga o OpenOffice.org directamente aos servidores MySQL
-\ No newline at end of file
-diff -r 66620d8e1623 -r e88d214fb62a mysqlc/source/description/description_ru.txt
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ mysqlc/source/description/description_ru.txt	Mon Feb 15 15:27:59 2010 +0100
-@@ -0,0 +1,1 @@
-+Подключает OpenOffice.org напрямую к серверам MySQL
-diff -r 66620d8e1623 -r e88d214fb62a mysqlc/source/description/description_sv.txt
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ mysqlc/source/description/description_sv.txt	Mon Feb 15 15:27:59 2010 +0100
-@@ -0,0 +1,1 @@
-+Ansluter OpenOffice.org direkt till MySQL-servrarna
-\ No newline at end of file
-diff -r 66620d8e1623 -r e88d214fb62a mysqlc/source/description/description_zh-CN.txt
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ mysqlc/source/description/description_zh-CN.txt	Mon Feb 15 15:27:59 2010 +0100
-@@ -0,0 +1,1 @@
-+将 OpenOffice.org 与 MySQL 服务器直接相连
-\ No newline at end of file
-diff -r 66620d8e1623 -r e88d214fb62a mysqlc/source/description/description_zh-TW.txt
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ mysqlc/source/description/description_zh-TW.txt	Mon Feb 15 15:27:59 2010 +0100
-@@ -0,0 +1,1 @@
-+將 OpenOffice.org 直接連線至 MySQL 伺服器
-\ No newline at end of file
-diff -r 66620d8e1623 -r e88d214fb62a mysqlc/source/exports.dxp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ mysqlc/source/exports.dxp	Mon Feb 15 15:27:59 2010 +0100
-@@ -0,0 +1,3 @@
-+component_getImplementationEnvironment
-+component_writeInfo
-+component_getFactory
-diff -r 66620d8e1623 -r e88d214fb62a mysqlc/source/makefile.mk
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ mysqlc/source/makefile.mk	Mon Feb 15 15:27:59 2010 +0100
-@@ -0,0 +1,328 @@
-+#*************************************************************************
-+#
-+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+#
-+# Copyright 2008 by Sun Microsystems, Inc.
-+#
-+# OpenOffice.org - a multi-platform office productivity suite
-+#
-+# This file is part of OpenOffice.org.
-+#
-+# OpenOffice.org is free software: you can redistribute it and/or modify
-+# it under the terms of the GNU Lesser General Public License version 3
-+# only, as published by the Free Software Foundation.
-+#
-+# OpenOffice.org 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 version 3 for more details
-+# (a copy is included in the LICENSE file that accompanied this code).
-+#
-+# You should have received a copy of the GNU Lesser General Public License
-+# version 3 along with OpenOffice.org.  If not, see
-+# <http://www.openoffice.org/license.html>
-+# for a copy of the LGPLv3 License.
-+#
-+#*************************************************************************
-+
-+PRJ=..
-+PRJNAME=mysqlc
-+
-+.INCLUDE : $(PRJ)$/version.mk
-+
-+TARGET=mysqlc
-+ENABLE_EXCEPTIONS=TRUE
-+LIBTARGET=NO
-+EXTENSIONNAME:=mysql-connector-ooo
-+
-+.IF "$(SYSTEM_MYSQL)" == "YES"
-+EXTERNAL_WARNINGS_NOT_ERRORS = TRUE
-+.ENDIF
-+
-+# --- Settings -----------------------------------------------------
-+
-+.INCLUDE :  settings.mk
-+
-+#-------------------------------------------------------------------
-+
-+#---- extension version
-+EXTENSION_VERSION_BASE=$(MYSQLC_VERSION_MAJOR).$(MYSQLC_VERSION_MINOR).$(MYSQLC_VERSION_MICRO)
-+.IF ( "$(CWS_WORK_STAMP)" == "" ) || ( "$(UPDATER)" == "YES" )
-+    EXTENSION_VERSION=$(EXTENSION_VERSION_BASE)
-+.ELSE
-+    EXTENSION_VERSION=$(EXTENSION_VERSION_BASE).cws.$(CWS_WORK_STAMP)
-+.ENDIF
-+
-+#---- extension title package name
-+.IF "$(MYSQLC_STATUS)" == "final"
-+    EXTENSION_TITLE:=$(MYSQLC_TITLE)
-+    EXTENSION_ZIPNAME:=$(EXTENSIONNAME)-$(EXTENSION_VERSION_BASE)-$(RTL_OS:l)-$(RTL_ARCH:l)
-+.ELSE
-+    EXTENSION_TITLE:=$(MYSQLC_TITLE) ($(MYSQLC_STATUS))
-+    EXTENSION_ZIPNAME:=$(EXTENSIONNAME)-$(EXTENSION_VERSION_BASE)-$(MYSQLC_STATUS:s/ /-/:l)-$(RTL_OS:l)-$(RTL_ARCH:l)
-+.ENDIF
-+
-+#-------------------------------------------------------------------
-+
-+# set default symbol visibility / scope to hidden
-+.IF "$(COMNAME)" == "gcc3"
-+.IF "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE"
-+ CFLAGS += -fvisibility=hidden
-+.ENDIF # HAVE_GCC_VISIBILITY_FEATURE
-+.ENDIF # gcc3
-+
-+.IF "$(COMNAME)" == "sunpro5"
-+.IF "$(CCNUMVER)" >= "00050005"
-+ CFLAGS += -xldscope=hidden
-+.ENDIF # 5.5
-+.ENDIF # sunpro5
-+
-+#-------------------------------------------------------------------
-+
-+# The headers delivered from C/C++ have a habit of putting a ";" after the closing bracked of a namespace, which
-+# yields a warning with Solaris' compiler. Until this is fixed in C/C++, silence this warning
-+.IF "$(OS)" == "SOLARIS"
-+    CFLAGSWARNCXX+=,wemptydecl
-+    CFLAGSWARNCXX:=$(CFLAGSWARNCXX:s/ ,/,/)
-+.ENDIF
-+
-+#-------------------------------------------------------------------
-+.IF "$(ENABLE_MYSQLC)" != "YES"
-+ at all:
-+	@echo "Mysql native driver extension build disabled."
-+.ENDIF
-+
-+# use the static version
-+.IF "$(GUI)"=="WNT"
-+  MYSQL_LIBDIR=$(LIBMYSQL_PATH)$/lib
-+  MYSQL_INCDIR=$(LIBMYSQL_PATH)$/include
-+.ELSE
-+  .IF "$(SYSTEM_MYSQL)" != "YES"
-+    MYSQL_LIBDIR=$(LIBMYSQL_PATH)$/lib
-+    MYSQL_INCDIR=$(LIBMYSQL_PATH)$/include
-+  .ENDIF
-+.ENDIF
-+
-+.IF "$(SYSTEM_MYSQL)" == "YES"
-+CFLAGS+=-DSYSTEM_MYSQL
-+.ENDIF
-+
-+.IF "$(SYSTEM_MYSQL_CPPCONN)" == "YES"
-+CFLAGS+=-DSYSTEM_MYSQL_CPPCONN
-+.ENDIF
-+
-+CDEFS+=-DCPPDBC_EXPORTS -DCPPCONN_LIB_BUILD
-+.IF "$(SYSTEM_MYSQL_CPPCONN)" != "YES"
-+CDEFS += -DCPPCONN_LIB=\"$(DLLPRE)mysqlcppconn$(DLLPOST)\"
-+.ELSE
-+CDEFS += -DCPPCONN_LIB=\"$(shell readlink /usr/lib/libmysqlcppconn.so)\"
-+.ENDIF
-+
-+# --------------- MySQL settings ------------------
-+.IF "$(GUI)"=="WNT"
-+  MYSQL_INC=-I$(SOLARINCDIR)$/mysqlcppconn -I$(SOLARINCDIR)$/mysqlcppconn/cppconn -I$(MYSQL_INCDIR)
-+  MYSQL_LIB=$(MYSQL_LIBDIR)$/libmysql.lib
-+  MYSQL_LIBFILE=$(MYSQL_LIBDIR)$/libmysql.dll
-+  MYSQL_CPPCONNFILE=$(SOLARBINDIR)$/$(DLLPRE)mysqlcppconn$(DLLPOST)
-+.ELSE
-+  .IF "$(SYSTEM_MYSQL)" != "YES"
-+    MYSQL_INC+=-I$(MYSQL_INCDIR)
-+    .IF "$(OS)"=="MACOSX"
-+      MYSQL_LIBFILE=$(MYSQL_LIBDIR)$/$(DLLPRE)mysql.16$(DLLPOST)
-+    .ELSE
-+      MYSQL_LIBFILE=$(MYSQL_LIBDIR)$/$(DLLPRE)mysql$(DLLPOST).16
-+    .ENDIF
-+
-+    # checkdll will complain if we do not point it to the libmysql lib
-+    EXTRALIBPATHS=-L$(MYSQL_LIBDIR)
-+  .ENDIF
-+
-+  .IF "$(SYSTEM_MYSQL_CPPCONN)" != "YES"
-+    .IF "$(OS)"=="MACOSX" || "$(OS)" == "SOLARIS"
-+      MYSQL_LIB+=-lz -lm
-+    .ELSE
-+      MYSQL_LIB+=-rdynamic -lz -lcrypt -lnsl -lm
-+    .ENDIF
-+    MYSQL_CPPCONNFILE=$(SOLARLIBDIR)$/$(DLLPRE)mysqlcppconn$(DLLPOST)
-+  .ELSE
-+    MYSQL_CPPCONN_LIB+=-lmysqlcppconn
-+  .ENDIF
-+.ENDIF
-+
-+.IF "$(SYSTEM_MYSQL_CPPCONN)" != "YES"
-+  MYSQL_INC+=-I$(SOLARINCDIR)$/mysqlcppconn -I$(SOLARINCDIR)$/mysqlcppconn/cppconn
-+.ENDIF
-+
-+CFLAGS+=-I..$/..$/inc $(MYSQL_INC) \
-+	-DMYSQLC_VERSION_MAJOR=$(MYSQLC_VERSION_MAJOR) \
-+	-DMYSQLC_VERSION_MINOR=$(MYSQLC_VERSION_MINOR) \
-+	-DMYSQLC_VERSION_MICRO=$(MYSQLC_VERSION_MICRO) \
-+    $(MYSQL_DEFINES)
-+
-+# provide the name of the MySQL client lib to the C++ code
-+.IF "$(SYSTEM_MYSQL)" != "YES"
-+CDEFS += -DMYSQL_LIB=\"$(MYSQL_LIBFILE:f)\"
-+.ENDIF
-+
-+#--------------------------------------------------
-+
-+SHL1DLLPRE=
-+SHL1TARGET=$(TARGET).uno
-+LIB1TARGET=$(SLB)$/$(SHL1TARGET).lib
-+LIB1OBJFILES= \
-+		$(SLO)$/mysqlc_driver.obj \
-+		$(SLO)$/mysqlc_services.obj  \
-+		$(SLO)$/mysqlc_connection.obj \
-+		$(SLO)$/mysqlc_resultset.obj \
-+		$(SLO)$/mysqlc_resultsetmetadata.obj \
-+		$(SLO)$/mysqlc_statement.obj \
-+		$(SLO)$/mysqlc_preparedstatement.obj \
-+		$(SLO)$/mysqlc_databasemetadata.obj \
-+		$(SLO)$/mysqlc_types.obj \
-+		$(SLO)$/mysqlc_general.obj \
-+		$(SLO)$/mysqlc_propertyids.obj
-+
-+SHL1STDLIBS= \
-+		$(MYSQL_LIB)                \
-+		$(MYSQL_CPPCONN_LIB)        \
-+		$(CPPULIB)                  \
-+		$(SALLIB)                   \
-+		$(SALHELPERLIB)             \
-+		$(CPPUHELPERLIB)
-+
-+SHL1VERSIONMAP=$(TARGET).map
-+SHL1LIBS=	$(LIB1TARGET)
-+SHL1DEF=	$(MISC)$/$(SHL1TARGET).def
-+SHL1RPATH=OXT
-+DEF1NAME=	$(SHL1TARGET)
-+
-+# create Extension -----------------------------
-+
-+# DESCRIPTION_SRC is the source file which is copied into the extension
-+# It is defaulted to "description.xml", but we want to pre-process it, so we use an intermediate
-+# file
-+DESCRIPTION_SRC = $(MISC)$/description.xml
-+
-+COMPONENT_XCU=\
-+        registry$/data$/org$/openoffice$/Office$/DataAccess$/Drivers.xcu
-+
-+COMPONENT_MERGED_XCU= \
-+        $(foreach,i,$(COMPONENT_XCU) $(EXTENSIONDIR)$/$i)
-+
-+COMPONENT_LIBRARY = \
-+            $(EXTENSIONDIR)$/$(SHL1TARGET)$(DLLPOST)
-+
-+COMPONENT_MYSQL_LIBFILE = \
-+            $(EXTENSIONDIR)$/$(MYSQL_LIBFILE:f) 
-+
-+COMPONENT_MYSQL_CPPCONN_FILE=\
-+            $(EXTENSIONDIR)$/$(MYSQL_CPPCONNFILE:f)
-+
-+COMPONENT_LIBRARIES=\
-+			$(COMPONENT_LIBRARY)
-+
-+
-+# ........ component description ........
-+# one file for each WITH_LANG token
-+DESC_LANGS=$(WITH_LANG)
-+.IF "$(DESC_LANGS)" == ""
-+    DESC_LANGS=en-US
-+.ENDIF
-+COMPONENT_DESCRIPTIONS=$/$(foreach,lang,$(DESC_LANGS) description$/description_$(lang).txt)
-+COMPONENT_DESCRIPTIONS_PACKDEP= \
-+    $(foreach,i,$(COMPONENT_DESCRIPTIONS) $(EXTENSIONDIR)$/$i)
-+
-+# WITH_LANG might contain languages which we actually do not have a description for (yet)
-+# Find those, and treat the specially
-+
-+# first, find those locales which we actually have a description file for
-+EXISTING_DESCRIPTIONS=$(foreach,i,$(shell $(FIND) .$/description -name "description_*.txt") $(i:f))
-+EXISTING_LANGS=$(foreach,i,$(EXISTING_DESCRIPTIONS) $(i:s,description_,,:s,.txt,,))
-+
-+# then, create a version of WITH_LANG where we stripped all those locales
-+EXISTING_LANGS_NORMALIZED=$(strip $(EXISTING_LANGS))
-+EXISTING_LANGS_NORMALIZED:=+$(EXISTING_LANGS_NORMALIZED:s/ /+/)+
-+MISSING_LANGS=$(foreach,lang,$(WITH_LANG) $(eq,$(EXISTING_LANGS_NORMALIZED:s/+$(lang)+//),$(EXISTING_LANGS_NORMALIZED) $(lang)  ))
-+
-+# ........ dependencies for packaging the extension ........
-+EXTENSION_PACKDEPS=makefile.mk $(COMPONENT_DESCRIPTIONS_PACKDEP) $(COMPONENT_MERGED_XCU)
-+
-+.IF "$(SYSTEM_MYSQL)" != "YES"
-+EXTENSION_PACKDEPS+=$(COMPONENT_MYSQL_LIBFILE)
-+.ENDIF
-+
-+.IF "$(SYSTEM_MYSQL_CPPCONN)" != "YES"
-+EXTENSION_PACKDEPS+=$(COMPONENT_MYSQL_CPPCONN_FILE)
-+.ENDIF
-+
-+# --- Targets ------------------------------------------------------
-+.INCLUDE : extension_pre.mk
-+.INCLUDE : target.mk
-+.INCLUDE : extension_post.mk
-+
-+$(EXTENSIONDIR)$/images$/%.png : $(PRJ)$/images$/%.png
-+	@@-$(MKDIRHIER) $(@:d)
-+    @$(COPY) $< $@ > $(NULLDEV)
-+
-+# existing descriptions: just copy
-+$(EXTENSIONDIR)$/description$/%.txt: .$/description$/%.txt
-+    @@-$(MKDIRHIER) $(@:d)
-+    @$(COPY) $< $@ > $(NULLDEV)
-+
-+# xcu files: copy
-+# the following is a hack for now - need to find out the generic mechanism later
-+
-+$(EXTENSIONDIR)$/registry$/data$/org$/openoffice$/Office$/DataAccess$/Drivers.xcu : .$/registry$/data$/org$/openoffice$/Office$/DataAccess$/Drivers.xcu
-+    @@-$(MKDIRHIER) $(EXTENSIONDIR)$/registry$/data$/org$/openoffice$/Office$/DataAccess
-+    @$(COPY) $< $(EXTENSIONDIR)$/registry$/data$/org$/openoffice$/Office$/DataAccess$/Drivers.xcu > $(NULLDEV)
-+
-+# The below doesn't work - it's completely beyond me .... $@ is some strange path when echoed, so the whole construct
-+# doesn't work .... :(
-+
-+#$(foreach,i,$(COMPONENT_XCU) $(EXTENSIONDIR)$/$i : $i)
-+#    @echo -----------------
-+#    @echo $@
-+#    @echo $<
-+#    @echo -----------------
-+#    -$(MKDIRHIER) $(@:d)
-+#    (COPY) $< $@
-+#    @echo -----------------
-+
-+# non-existing descriptions: copy from the English version
-+.IF "$(strip $(MISSING_LANGS))" != ""
-+$(foreach,i,$(MISSING_LANGS) $(EXTENSIONDIR)$/description$/description_$i.txt): .$/description$/description_en-US.txt
-+    @echo ------ WARNING: .$/description$/$(@:f) not found, falling back to English description
-+    @@-$(MKDIRHIER) $(@:d)
-+    @$(COPY) $< $@ > $(NULLDEV)
-+.ENDIF
-+
-+$(DESCRIPTION_SRC): description.xml
-+    +-$(RM) $@
-+    $(TYPE) description.xml | $(SED) "s/#VERSION#/$(EXTENSION_VERSION)/" | $(SED) "s,#TITLE#,$(EXTENSION_TITLE)," > $@
-+
-+.IF "$(SYSTEM_MYSQL)" != "YES" 
-+# --- the MySQL client lib needs to be copied
-+$(COMPONENT_MYSQL_LIBFILE): $(MYSQL_LIBFILE)
-+	@@-$(MKDIRHIER) $(@:d)
-+	@$(COPY) $< $@ > $(NULLDEV)
-+    .IF "$(OS)" == "MACOSX"
-+        install_name_tool -id @__________________________________________________OOO/$(MYSQL_LIBFILE:f) $@
-+    .ENDIF
-+.ENDIF
-+
-+.IF "$(SYSTEM_MYSQL_CPPCONN)" != "YES"
-+# --- the MySQL cppconn lib needs to be copied
-+$(COMPONENT_MYSQL_CPPCONN_FILE): $(MYSQL_CPPCONNFILE)
-+	@@-$(MKDIRHIER) $(@:d)
-+	@$(COPY) $< $@ > $(NULLDEV)
-+    .IF "$(OS)" == "MACOSX"
-+        install_name_tool -change $(MYSQL_LIBFILE:f) @loader_path/$(MYSQL_LIBFILE:f) $@
-+    .ENDIF
-+.ENDIF
-+
-+.IF "$(OS)" == "MACOSX"
-+$(EXTENSION_TARGET): adjust_libmysql_path
-+
-+adjust_libmysql_path: $(EXTENSIONDIR)$/$(SHL1TARGET)$(DLLPOST)
-+    install_name_tool -change $(MYSQL_LIBFILE:f) @loader_path/$(MYSQL_LIBFILE:f) $(EXTENSIONDIR)$/$(SHL1TARGET)$(DLLPOST)
-+.ENDIF
-diff -r 66620d8e1623 -r e88d214fb62a mysqlc/source/manifest.xml
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ mysqlc/source/manifest.xml	Mon Feb 15 15:27:59 2010 +0100
-@@ -0,0 +1,8 @@
-+<?xml version="1.0" encoding="UTF-8"?>
-+<!DOCTYPE manifest:manifest PUBLIC "-//OpenOffice.org//DTD Manifest 1.0//EN" "Manifest.dtd">
-+<manifest:manifest xmlns:manifest="http://openoffice.org/2001/manifest">
-+  <manifest:file-entry manifest:media-type="application/vnd.sun.star.uno-component;type=native"
-+                       manifest:full-path="mysqlc.unoSHARED_EXTENSION"/>
-+    <manifest:file-entry manifest:media-type="application/vnd.sun.star.configuration-data"
-+                 manifest:full-path="registry/data/org/openoffice/Office/DataAccess/Drivers.xcu"/>
-+</manifest:manifest>
-diff -r 66620d8e1623 -r e88d214fb62a mysqlc/source/mysqlc.map
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ mysqlc/source/mysqlc.map	Mon Feb 15 15:27:59 2010 +0100
-@@ -0,0 +1,8 @@
-+UDK_3_0_0 {
-+	global:
-+		component_getImplementationEnvironment;
-+		component_writeInfo;
-+		component_getFactory;
-+	local:
-+		*;
-+};
-diff -r 66620d8e1623 -r e88d214fb62a mysqlc/source/mysqlc.xml
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ mysqlc/source/mysqlc.xml	Mon Feb 15 15:27:59 2010 +0100
-@@ -0,0 +1,81 @@
-+<?xml version='1.0' encoding="UTF-8"?>
-+<!DOCTYPE COMPONENTDESCRIPTION PUBLIC "-//W3C//DTD HTML 3.2//EN" "module-description.dtd">
-+<module-description xmlns:xlink="http://www.w3.org/1999/xlink">
-+	<module-name>mysqlc</module-name>
-+	<component-description>
-+		<Author>Georg Richter</Author>
-+		<Name>com.sun.star.comp.sdbc.mysqlc</Name>
-+		<Description>
-+			This is the implementation of the MySQL Connector/OO.org.
-+		</Description>
-+		<loader-name>com.sun.star.loader.SharedLibrary</loader-name>
-+		<language>c++</language>
-+		<status value="final"/>
-+		<supported-service>	com.sun.star.sdbc.Driver	</supported-service>
-+		<service-dependency>	...	</service-dependency>
-+	</component-description>	  
-+	<project-build-dependency>	cppuhelper	</project-build-dependency>
-+	<project-build-dependency>	cppu		</project-build-dependency>
-+	<project-build-dependency>	sal			</project-build-dependency>
-+	<project-build-dependency>	vos			</project-build-dependency>
-+
-+	<runtime-module-dependency>	cppuhelper	</runtime-module-dependency>
-+	<runtime-module-dependency>	cppu1		</runtime-module-dependency>
-+	<runtime-module-dependency>	sal1		</runtime-module-dependency>
-+	<runtime-module-dependency>	vos			</runtime-module-dependency>
-+
-+	<type>	com.sun.star.registry.XRegistryKey			</type>
-+	<type>	com.sun.star.util.XCancellable				</type>
-+	<type>	com.sun.star.util.XNumberFormatter			</type>
-+	<type>	com.sun.star.uno.TypeClass					</type>
-+	<type>	com.sun.star.uno.XWeak						</type>
-+	<type>	com.sun.star.uno.XAggregation				</type>
-+	<type>	com.sun.star.uno.XComponentContext			</type>
-+	<type>	com.sun.star.beans.PropertyAttribute		</type>
-+	<type>	com.sun.star.beans.XPropertyState			</type>
-+	<type>	com.sun.star.beans.XPropertySet				</type>
-+	<type>	com.sun.star.beans.PropertyValue			</type>
-+	<type>	com.sun.star.beans.XMultiPropertySet		</type>
-+	<type>	com.sun.star.beans.XFastPropertySet			</type>
-+	<type>	com.sun.star.lang.XSingleServiceFactory		</type>
-+	<type>	com.sun.star.lang.XTypeProvider				</type>
-+	<type>	com.sun.star.lang.XSingleComponentFactory	</type>
-+	<type>	com.sun.star.lang.EventObject				</type>
-+	<type>	com.sun.star.lang.XComponent				</type>
-+	<type>	com.sun.star.lang.IllegalArgumentException	</type>
-+	<type>	com.sun.star.lang.DisposedException			</type>
-+	<type>	com.sun.star.lang.XMultiServiceFactory		</type>
-+	<type>	com.sun.star.lang.XServiceInfo				</type>
-+	<type>	com.sun.star.lang.XUnoTunnel				</type>
-+	<type>	com.sun.star.java.XJavaThreadRegister_11	</type>
-+	<type>	com.sun.star.java.XJavaVM					</type>	
-+	<type>	com.sun.star.sdbc.FetchDirection			</type>
-+	<type>	com.sun.star.sdbc.XConnection				</type>
-+	<type>	com.sun.star.sdbc.XStatement				</type>
-+	<type>	com.sun.star.sdbc.XResultSet				</type>
-+	<type>	com.sun.star.sdbc.XResultSetMetaDataSupplier</type>
-+	<type>	com.sun.star.sdbc.XColumnLocate				</type>
-+	<type>	com.sun.star.sdbc.XResultSetUpdate			</type>
-+	<type>	com.sun.star.sdbc.XWarningsSupplier			</type>
-+	<type>	com.sun.star.sdbc.XRowUpdate				</type>
-+	<type>	com.sun.star.sdbc.XMultipleResults			</type>
-+	<type>	com.sun.star.sdbc.XBatchExecution			</type>
-+	<type>	com.sun.star.sdbc.XPreparedBatchExecution	</type>
-+	<type>	com.sun.star.sdbc.XParameters				</type>
-+	<type>	com.sun.star.sdbc.XOutParameters			</type>
-+	<type>	com.sun.star.sdbc.DriverPropertyInfo		</type>
-+	<type>	com.sun.star.sdbc.SQLWarning				</type>
-+	<type>	com.sun.star.sdbc.XRow						</type>
-+	<type>	com.sun.star.sdbc.ColumnSearch				</type>
-+	<type>	com.sun.star.sdbc.ColumnValue				</type>
-+	<type>	com.sun.star.sdbc.DataType					</type>
-+	<type>	com.sun.star.sdbc.XDriver					</type>
-+	<type>	com.sun.star.sdbc.TransactionIsolation		</type>
-+	<type>	com.sun.star.sdbc.ResultSetType				</type>
-+	<type>	com.sun.star.sdbc.ResultSetConcurrency		</type>
-+	<type>	com.sun.star.sdbcx.XRowLocate				</type>
-+	<type>	com.sun.star.sdbcx.XDeleteRows				</type>
-+	<type>	com.sun.star.sdbcx.CompareBookmark			</type>
-+	<type>	com.sun.star.sdb.XColumnUpdate				</type>
-+	<type>	com.sun.star.sdb.XColumn					</type>
-+</module-description>
-diff -r 66620d8e1623 -r e88d214fb62a mysqlc/source/mysqlc_connection.cxx
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ mysqlc/source/mysqlc_connection.cxx	Mon Feb 15 15:27:59 2010 +0100
-@@ -0,0 +1,791 @@
-+/*************************************************************************
-+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+* 
-+* Copyright 2008 by Sun Microsystems, Inc.
-+*
-+* OpenOffice.org - a multi-platform office productivity suite
-+*
-+* $RCSfile: mysqlc_connection.cxx,v $
-+*
-+* $Revision: 1.1.2.6 $*
-+* This file is part of OpenOffice.org.
-+*
-+* OpenOffice.org is free software: you can redistribute it and/or modify
-+* it under the terms of the GNU Lesser General Public License version 3
-+* only, as published by the Free Software Foundation.
-+*
-+* OpenOffice.org 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 version 3 for more details
-+* (a copy is included in the LICENSE file that accompanied this code).
-+*
-+* You should have received a copy of the GNU Lesser General Public License
-+* version 3 along with OpenOffice.org.  If not, see
-+* <http://www.openoffice.org/license.html>
-+* for a copy of the LGPLv3 License.
-+************************************************************************/
-+
-+#include <cppconn/driver.h>
-+#include <cppconn/connection.h>
-+#include <cppconn/statement.h>
-+#include <cppconn/metadata.h>
-+#include <cppconn/exception.h>
-+
-+#include "mysqlc_connection.hxx"
-+#include "mysqlc_databasemetadata.hxx"
-+
-+
-+#include "mysqlc_driver.hxx"
-+#include "mysqlc_statement.hxx"
-+#include "mysqlc_preparedstatement.hxx"
-+#include "mysqlc_general.hxx"
-+
-+#include <com/sun/star/sdbc/ColumnValue.hpp>
-+#include <com/sun/star/sdbc/XRow.hpp>
-+#include <com/sun/star/sdbc/TransactionIsolation.hpp>
-+#include <com/sun/star/lang/DisposedException.hpp>
-+#include <com/sun/star/beans/NamedValue.hpp>
-+
-+#include <osl/module.hxx>
-+#include <osl/thread.h>
-+#include <osl/file.h>
-+#include <rtl/uri.hxx>
-+#include <rtl/ustrbuf.hxx>
-+
-+using namespace connectivity::mysqlc;
-+
-+#include <stdio.h>
-+
-+//------------------------------------------------------------------------------
-+using namespace com::sun::star::uno;
-+using namespace com::sun::star::container;
-+using namespace com::sun::star::lang;
-+using namespace com::sun::star::beans;
-+using namespace com::sun::star::sdbc;
-+using ::osl::MutexGuard;
-+using ::rtl::OUString;
-+
-+
-+#define MYSQLC_URI_PREFIX "sdbc:mysqlc:"
-+
-+
-+/* {{{ OConnection::OConnection() -I- */
-+OConnection::OConnection(MysqlCDriver& _rDriver, sql::Driver * _cppDriver) 
-+	:OMetaConnection_BASE(m_aMutex)
-+	,OSubComponent<OConnection, OConnection_BASE>((::cppu::OWeakObject*)&_rDriver, this)
-+	,m_xMetaData(NULL)
-+	,m_rDriver(_rDriver)
-+	,cppDriver(_cppDriver)
-+	,m_bClosed(sal_False)
-+	,m_bUseCatalog(sal_False)
-+	,m_bUseOldDateFormat(sal_False)
-+{
-+	OSL_TRACE("OConnection::OConnection");
-+	m_rDriver.acquire();
-+}
-+/* }}} */
-+
-+
-+/* {{{ OConnection::OConnection() -I- */
-+OConnection::~OConnection()
-+{
-+	OSL_TRACE("OConnection::~OConnection");
-+	if (!isClosed()) {
-+		close();
-+	}
-+	m_rDriver.release();
-+}
-+/* }}} */
-+
-+
-+/* {{{ OConnection::release() -I- */
-+void SAL_CALL OConnection::release()
-+	throw()
-+{
-+	OSL_TRACE("OConnection::release");
-+	relase_ChildImpl();
-+}
-+/* }}} */
-+
-+#ifndef SYSTEM_MYSQL
-+    extern "C" { void SAL_CALL thisModule() {} }
-+#endif
-+
-+/* {{{ OConnection::construct() -I- */
-+void OConnection::construct(const OUString& url, const Sequence< PropertyValue >& info) 
-+	throw(SQLException)
-+{
-+	OSL_TRACE("OConnection::construct");
-+	MutexGuard aGuard(m_aMutex);
-+
-+	sal_Int32 nIndex;
-+	sal_Bool  bEmbedded = sal_False;
-+	OUString token;
-+	OUString aHostName(RTL_CONSTASCII_USTRINGPARAM("localhost"));
-+    sal_Int32 nPort = 3306;
-+	OUString aDbName;
-+
-+	m_settings.encoding = m_rDriver.getDefaultEncoding();
-+	m_settings.quoteIdentifier = OUString();
-+
-+	// parse url. Url has the following format:
-+	// external server: sdbc:mysqlc:[hostname]:[port]/[dbname]
-+
-+	if (!url.compareTo(OUString::createFromAscii(MYSQLC_URI_PREFIX), sizeof(MYSQLC_URI_PREFIX)-1)) {
-+		nIndex = 12;
-+	} else {
-+		bEmbedded = sal_True;
-+		nIndex = 20;
-+		mysqlc_sdbc_driver::throwFeatureNotImplementedException("OConnection::construct (embedded MySQL)", *this);
-+	}
-+
-+	token = url.getToken(0, '/', nIndex);
-+	if (token.getLength()) {
-+		sal_Int32 nIndex1 = 0;
-+		OUString hostandport = token.getToken(0,':', nIndex1);
-+		if (hostandport.getLength()) {
-+			aHostName = hostandport;
-+			hostandport = token.getToken(0, ':', nIndex1);
-+			if (hostandport.getLength() && nIndex1) {
-+                nPort = hostandport.toInt32();
-+			}
-+			token = url.getToken(0, '/', nIndex);
-+			if (token.getLength() && nIndex) {
-+				aDbName = token;
-+			}
-+		}
-+	}
-+
-+	// get user and password for mysql connection
-+	const PropertyValue *pIter	= info.getConstArray();
-+	const PropertyValue *pEnd	= pIter + info.getLength();
-+	OUString aUser, aPass, sUnixSocket, sNamedPipe;
-+	bool unixSocketPassed = false;
-+	bool namedPipePassed = false;
-+
-+	m_settings.connectionURL = url;
-+	for (;pIter != pEnd;++pIter) {
-+		if (!pIter->Name.compareToAscii("user")) {
-+			OSL_VERIFY( pIter->Value >>= aUser );
-+		} else if (!pIter->Name.compareToAscii("password")) {
-+			OSL_VERIFY( pIter->Value >>= aPass );
-+		} else if (!pIter->Name.compareToAscii("LocalSocket")) {
-+			OSL_VERIFY( pIter->Value >>= sUnixSocket );
-+			unixSocketPassed = true;
-+		} else if (!pIter->Name.compareToAscii("NamedPipe")) {
-+			OSL_VERIFY( pIter->Value >>= sNamedPipe );
-+			namedPipePassed = true;
-+		} else if ( !pIter->Name.compareToAscii("PublicConnectionURL")) {
-+			OSL_VERIFY( pIter->Value >>= m_settings.connectionURL );
-+		} else if ( !pIter->Name.compareToAscii("NewURL")) {    // legacy name for "PublicConnectionURL"
-+			OSL_VERIFY( pIter->Value >>= m_settings.connectionURL );
-+        }
-+	}
-+
-+	if (bEmbedded == sal_False) {
-+		try {
-+            sql::ConnectOptionsMap connProps;
-+			std::string host_str = OUStringToOString(aHostName, m_settings.encoding).getStr();
-+			std::string user_str = OUStringToOString(aUser, m_settings.encoding).getStr();
-+			std::string pass_str = OUStringToOString(aPass, m_settings.encoding).getStr();
-+			std::string schema_str = OUStringToOString(aDbName, m_settings.encoding).getStr();
-+			connProps["hostName"] = sql::ConnectPropertyVal(host_str);
-+			connProps["userName"] = sql::ConnectPropertyVal(user_str);
-+			connProps["password"] = sql::ConnectPropertyVal(pass_str);
-+			connProps["schema"] = sql::ConnectPropertyVal(schema_str);
-+			connProps["port"] = sql::ConnectPropertyVal((int)(nPort));
-+			if (unixSocketPassed) {
-+				sql::SQLString socket_str = OUStringToOString(sUnixSocket, m_settings.encoding).getStr();
-+				connProps["socket"] = socket_str;
-+			} else if (namedPipePassed) {
-+				sql::SQLString pipe_str = OUStringToOString(sNamedPipe, m_settings.encoding).getStr();
-+				connProps["socket"] = pipe_str;
-+			}
-+
-+#ifndef SYSTEM_MYSQL
-+            ::rtl::OUString sMySQLClientLib( RTL_CONSTASCII_USTRINGPARAM( MYSQL_LIB ) );
-+
-+            ::rtl::OUString moduleBase;
-+            OSL_VERIFY( ::osl::Module::getUrlFromAddress( &thisModule, moduleBase ) );
-+            ::rtl::OUString sMySQLClientLibURL;
-+            try
-+            {
-+                sMySQLClientLibURL = ::rtl::Uri::convertRelToAbs( moduleBase, sMySQLClientLib.pData );
-+            }
-+            catch ( const ::rtl::MalformedUriException& e )
-+            {
-+                (void)e; // silence compiler
-+            #if OSL_DEBUG_LEVEL > 0
-+                ::rtl::OString sMessage( "OConnection::construct: malformed URI: " );
-+                sMessage += ::rtl::OUStringToOString( e.getMessage(), osl_getThreadTextEncoding() );
-+                OSL_ENSURE( false, sMessage.getStr() );
-+            #endif
-+            }
-+
-+            ::rtl::OUString sMySQLClientLibPath;
-+            osl_getSystemPathFromFileURL( sMySQLClientLibURL.pData, &sMySQLClientLibPath.pData );
-+
-+            sql::SQLString mysqlLib = ::rtl::OUStringToOString( sMySQLClientLibPath, osl_getThreadTextEncoding() ).getStr();
-+            connProps["clientlib"] = mysqlLib;
-+
-+            OSL_TRACE("clientlib=%s", mysqlLib.c_str());
-+#endif
-+
-+			OSL_TRACE("hostName=%s", host_str.c_str());
-+            OSL_TRACE("port=%i", int(nPort));
-+			OSL_TRACE("userName=%s", user_str.c_str());
-+			OSL_TRACE("password=%s", pass_str.c_str());
-+            OSL_TRACE("schema=%s", schema_str.c_str());
-+
-+			m_settings.cppConnection.reset(cppDriver->connect(connProps));
-+		} catch (sql::SQLException &e) {
-+			mysqlc_sdbc_driver::translateAndThrow(e, *this, getConnectionEncoding());
-+		}
-+	} else {
-+		// TODO: support for embedded server
-+	}
-+
-+	m_settings.schema = aDbName;
-+	OSL_TRACE(OUStringToOString(m_settings.schema, getConnectionEncoding()).getStr());
-+
-+	// Check if the server is 4.1 or above
-+	if (this->getMysqlVersion() < 40100) {
-+		throw SQLException(
-+			::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "MySQL Connector/OO.org requires MySQL Server 4.1 or above" ) ),
-+			*this,
-+			::rtl::OUString(),
-+			0,
-+			Any());
-+	}
-+	std::auto_ptr<sql::Statement> stmt(m_settings.cppConnection->createStatement());
-+	stmt->executeUpdate("SET session sql_mode='ANSI_QUOTES'");
-+	stmt->executeUpdate("SET NAMES utf8");
-+}
-+/* }}} */
-+
-+
-+// XServiceInfo
-+IMPLEMENT_SERVICE_INFO(OConnection, "com.sun.star.sdbc.drivers.mysqlc.OConnection", "com.sun.star.sdbc.Connection")
-+
-+
-+/* {{{ OConnection::createStatement() -I- */
-+Reference< XStatement > SAL_CALL OConnection::createStatement()
-+	throw(SQLException, RuntimeException)
-+{
-+	OSL_TRACE("OConnection::createStatement");
-+	MutexGuard aGuard(m_aMutex);
-+	checkDisposed(OConnection_BASE::rBHelper.bDisposed);
-+
-+	// create a statement
-+	Reference< XStatement > xReturn;
-+	// the statement can only be executed once
-+	try {
-+		xReturn = new OStatement(this, m_settings.cppConnection->createStatement());
-+		m_aStatements.push_back(WeakReferenceHelper(xReturn));
-+		return xReturn;
-+	} catch (sql::SQLException & e) {
-+		mysqlc_sdbc_driver::translateAndThrow(e, *this, getConnectionEncoding());
-+	}
-+	return xReturn;
-+}
-+/* }}} */
-+
-+
-+/* {{{ OConnection::createStatement() -I- */
-+Reference< XPreparedStatement > SAL_CALL OConnection::prepareStatement(const OUString& _sSql)
-+	throw(SQLException, RuntimeException)
-+{
-+	OSL_TRACE("OConnection::prepareStatement");
-+	MutexGuard aGuard(m_aMutex);
-+	checkDisposed(OConnection_BASE::rBHelper.bDisposed);
-+	const ::rtl::OUString sSqlStatement = transFormPreparedStatement( _sSql );
-+
-+	Reference< XPreparedStatement > xStatement;
-+	try {
-+		// create a statement
-+		// the statement can only be executed more than once
-+		xStatement = new OPreparedStatement(this,
-+					m_settings.cppConnection->prepareStatement(OUStringToOString(sSqlStatement, getConnectionEncoding()).getStr()));
-+		m_aStatements.push_back( WeakReferenceHelper( xStatement ) );
-+	} catch (sql::SQLException & e) {
-+		mysqlc_sdbc_driver::translateAndThrow(e, *this, getConnectionEncoding());
-+	}
-+	return xStatement;
-+}
-+/* }}} */
-+
-+
-+/* {{{ OConnection::prepareCall() -U- */
-+Reference< XPreparedStatement > SAL_CALL OConnection::prepareCall(const OUString& /*_sSql*/ )
-+	throw(SQLException, RuntimeException)
-+{
-+	OSL_TRACE("OConnection::prepareCall");
-+	MutexGuard aGuard(m_aMutex);
-+	checkDisposed(OConnection_BASE::rBHelper.bDisposed);
-+
-+	mysqlc_sdbc_driver::throwFeatureNotImplementedException("OConnection::prepareCall", *this);
-+	return Reference< XPreparedStatement >();
-+}
-+/* }}} */
-+
-+
-+/* {{{ OConnection::nativeSQL() -I- */
-+OUString SAL_CALL OConnection::nativeSQL(const OUString& _sSql)
-+	throw(SQLException, RuntimeException)
-+{
-+	OSL_TRACE("OConnection::nativeSQL");
-+	MutexGuard aGuard(m_aMutex);
-+
-+	const ::rtl::OUString sSqlStatement = transFormPreparedStatement( _sSql );
-+    ::rtl::OUString sNativeSQL;
-+	try {
-+		sNativeSQL = mysqlc_sdbc_driver::convert(m_settings.cppConnection->nativeSQL(mysqlc_sdbc_driver::convert(sSqlStatement, getConnectionEncoding())),
-+																				getConnectionEncoding());
-+	} catch (sql::SQLException & e) {
-+		mysqlc_sdbc_driver::translateAndThrow(e, *this, getConnectionEncoding());
-+	}
-+    return sNativeSQL;
-+}
-+/* }}} */
-+
-+
-+/* {{{ OConnection::setAutoCommit() -I- */
-+void SAL_CALL OConnection::setAutoCommit(sal_Bool autoCommit)
-+	throw(SQLException, RuntimeException)
-+{
-+	OSL_TRACE("OConnection::setAutoCommit");
-+	MutexGuard aGuard(m_aMutex);
-+	checkDisposed(OConnection_BASE::rBHelper.bDisposed);
-+	try {
-+		m_settings.cppConnection->setAutoCommit(autoCommit == sal_True? true:false);
-+	} catch (sql::SQLException & e) {
-+		mysqlc_sdbc_driver::translateAndThrow(e, *this, getConnectionEncoding());
-+	}
-+}
-+/* }}} */
-+
-+
-+/* {{{ OConnection::getAutoCommit() -I- */
-+sal_Bool SAL_CALL OConnection::getAutoCommit()
-+	throw(SQLException, RuntimeException)
-+{
-+	OSL_TRACE("OConnection::getAutoCommit");
-+	// you have to distinguish which if you are in autocommit mode or not
-+	// at normal case true should be fine here
-+
-+	MutexGuard aGuard(m_aMutex);
-+	checkDisposed(OConnection_BASE::rBHelper.bDisposed);
-+
-+	sal_Bool autoCommit = sal_False;
-+	try {
-+		autoCommit = m_settings.cppConnection->getAutoCommit() == true ? sal_True : sal_False;
-+	} catch (sql::SQLException & e) {
-+		mysqlc_sdbc_driver::translateAndThrow(e, *this, getConnectionEncoding());
-+	}
-+	return autoCommit;
-+}
-+/* }}} */
-+
-+
-+/* {{{ OConnection::commit() -I- */
-+void SAL_CALL OConnection::commit()
-+	throw(SQLException, RuntimeException)
-+{
-+	OSL_TRACE("OConnection::commit");
-+	MutexGuard aGuard(m_aMutex);
-+	checkDisposed(OConnection_BASE::rBHelper.bDisposed);
-+	try {
-+		m_settings.cppConnection->commit();
-+	} catch (sql::SQLException & e) {
-+		mysqlc_sdbc_driver::translateAndThrow(e, *this, getConnectionEncoding());
-+	}	
-+}
-+/* }}} */
-+
-+
-+/* {{{ OConnection::rollback() -I- */
-+void SAL_CALL OConnection::rollback()
-+	throw(SQLException, RuntimeException)
-+{
-+	OSL_TRACE("OConnection::rollback");
-+	MutexGuard aGuard(m_aMutex);
-+	checkDisposed(OConnection_BASE::rBHelper.bDisposed);
-+	try {
-+		m_settings.cppConnection->rollback();
-+	} catch (sql::SQLException & e) {
-+		mysqlc_sdbc_driver::translateAndThrow(e, *this, getConnectionEncoding());
-+	}
-+}
-+/* }}} */
-+
-+
-+/* {{{ OConnection::isClosed() -I- */
-+sal_Bool SAL_CALL OConnection::isClosed()
-+	throw(SQLException, RuntimeException)
-+{
-+	OSL_TRACE("OConnection::isClosed");
-+	MutexGuard aGuard(m_aMutex);
-+
-+	// just simple -> we are close when we are disposed taht means someone called dispose(); (XComponent)
-+	return (OConnection_BASE::rBHelper.bDisposed);
-+}
-+/* }}} */
-+
-+
-+/* {{{ OConnection::createStatement() -I- */
-+Reference< XDatabaseMetaData > SAL_CALL OConnection::getMetaData()
-+	throw(SQLException, RuntimeException)
-+{
-+	OSL_TRACE("OConnection::getMetaData");
-+	MutexGuard aGuard(m_aMutex);
-+	checkDisposed(OConnection_BASE::rBHelper.bDisposed);
-+
-+	Reference< XDatabaseMetaData > xMetaData = m_xMetaData;
-+	if (!xMetaData.is()) {
-+		try {
-+			xMetaData = new ODatabaseMetaData(*this); // need the connection because it can return it
-+		} catch (sql::SQLException & e) {
-+			mysqlc_sdbc_driver::translateAndThrow(e, *this, getConnectionEncoding());
-+		}
-+		m_xMetaData = xMetaData;
-+	}
-+
-+	return xMetaData;
-+}
-+/* }}} */
-+
-+
-+/* {{{ OConnection::createStatement() -I- */
-+void SAL_CALL OConnection::setReadOnly(sal_Bool readOnly)
-+	throw(SQLException, RuntimeException)
-+{
-+	OSL_TRACE("OConnection::setReadOnly");
-+	MutexGuard aGuard(m_aMutex);
-+	checkDisposed(OConnection_BASE::rBHelper.bDisposed);
-+
-+	m_settings.readOnly = readOnly;
-+}
-+/* }}} */
-+
-+
-+/* {{{ OConnection::createStatement() -I- */
-+sal_Bool SAL_CALL OConnection::isReadOnly()
-+	throw(SQLException, RuntimeException)
-+{	
-+	OSL_TRACE("OConnection::isReadOnly");
-+	MutexGuard aGuard(m_aMutex);
-+	checkDisposed(OConnection_BASE::rBHelper.bDisposed);
-+
-+	// return if your connection to readonly
-+	return (m_settings.readOnly);
-+}
-+/* }}} */
-+
-+
-+/* {{{ OConnection::createStatement() -I- */
-+void SAL_CALL OConnection::setCatalog(const OUString& catalog)
-+	throw(SQLException, RuntimeException)
-+{
-+	OSL_TRACE("OConnection::setCatalog");
-+	MutexGuard aGuard(m_aMutex);
-+	checkDisposed(OConnection_BASE::rBHelper.bDisposed);
-+
-+	try {
-+//		m_settings.cppConnection->setCatalog(OUStringToOString(catalog, m_settings.encoding).getStr());
-+		m_settings.cppConnection->setSchema(OUStringToOString(catalog, getConnectionEncoding()).getStr());
-+	} catch (sql::SQLException & e) {
-+		mysqlc_sdbc_driver::translateAndThrow(e, *this, getConnectionEncoding());
-+	}	
-+}
-+/* }}} */
-+
-+
-+/* {{{ OConnection::createStatement() -I- */
-+OUString SAL_CALL OConnection::getCatalog()
-+	throw(SQLException, RuntimeException)
-+{
-+	OSL_TRACE("OConnection::getCatalog");
-+	MutexGuard aGuard(m_aMutex);
-+	checkDisposed(OConnection_BASE::rBHelper.bDisposed);
-+
-+	OUString catalog;
-+	try {
-+		catalog = mysqlc_sdbc_driver::convert(m_settings.cppConnection->getSchema(), getConnectionEncoding());
-+	} catch (sql::SQLException & e) {
-+		mysqlc_sdbc_driver::translateAndThrow(e, *this, getConnectionEncoding());
-+	}
-+	return catalog;
-+}
-+/* }}} */
-+
-+
-+/* {{{ OConnection::createStatement() -I- */
-+void SAL_CALL OConnection::setTransactionIsolation(sal_Int32 level)
-+	throw(SQLException, RuntimeException)
-+{
-+	OSL_TRACE("OConnection::setTransactionIsolation");
-+	MutexGuard aGuard(m_aMutex);
-+	checkDisposed(OConnection_BASE::rBHelper.bDisposed);
-+
-+	sql::enum_transaction_isolation cpplevel = sql::TRANSACTION_SERIALIZABLE;
-+
-+	switch (level) {
-+		case TransactionIsolation::READ_UNCOMMITTED:
-+			cpplevel = sql::TRANSACTION_READ_UNCOMMITTED;
-+			break;
-+		case TransactionIsolation::READ_COMMITTED:
-+			cpplevel = sql::TRANSACTION_READ_COMMITTED;
-+			break;
-+		case TransactionIsolation::REPEATABLE_READ:
-+			cpplevel = sql::TRANSACTION_REPEATABLE_READ;
-+			break;
-+		case TransactionIsolation::SERIALIZABLE:
-+			cpplevel = sql::TRANSACTION_SERIALIZABLE;
-+			break;
-+		case TransactionIsolation::NONE:
-+			cpplevel = sql::TRANSACTION_SERIALIZABLE;
-+			break;			
-+		default:;
-+			/* XXX: Exception ?? */
-+	}
-+	try {
-+		m_settings.cppConnection->setTransactionIsolation(cpplevel);
-+	} catch (sql::SQLException & e) {
-+		mysqlc_sdbc_driver::translateAndThrow(e, *this, getConnectionEncoding());
-+	}
-+}
-+/* }}} */
-+
-+
-+/* {{{ OConnection::createStatement() -I- */
-+sal_Int32 SAL_CALL OConnection::getTransactionIsolation()
-+	throw(SQLException, RuntimeException)
-+{
-+	OSL_TRACE("OConnection::getTransactionIsolation");
-+	MutexGuard aGuard(m_aMutex);
-+	checkDisposed(OConnection_BASE::rBHelper.bDisposed);
-+
-+	try {
-+		switch (m_settings.cppConnection->getTransactionIsolation()) {
-+			case sql::TRANSACTION_SERIALIZABLE:		return TransactionIsolation::SERIALIZABLE;
-+			case sql::TRANSACTION_REPEATABLE_READ:	return TransactionIsolation::REPEATABLE_READ;
-+			case sql::TRANSACTION_READ_COMMITTED:	return TransactionIsolation::READ_COMMITTED;
-+			case sql::TRANSACTION_READ_UNCOMMITTED:	return TransactionIsolation::READ_UNCOMMITTED;
-+			default:
-+				;
-+		}
-+	} catch (sql::SQLException & e) {
-+		mysqlc_sdbc_driver::translateAndThrow(e, *this, getConnectionEncoding());
-+	}	
-+	return TransactionIsolation::NONE;
-+}
-+/* }}} */
-+
-+
-+/* {{{ OConnection::getTypeMap() -I- */
-+Reference<XNameAccess> SAL_CALL OConnection::getTypeMap()
-+	throw(SQLException, RuntimeException)
-+{
-+	OSL_TRACE("OConnection::getTypeMap");
-+	MutexGuard aGuard(m_aMutex);
-+	checkDisposed(OConnection_BASE::rBHelper.bDisposed);
-+
-+	Reference<XNameAccess > t;
-+	{
-+		t = m_typeMap;
-+	}
-+	return (t);
-+}
-+/* }}} */
-+
-+
-+/* {{{ OConnection::setTypeMap() -I- */
-+void SAL_CALL OConnection::setTypeMap(const Reference<XNameAccess >& typeMap)
-+	throw(SQLException, RuntimeException)
-+{
-+	OSL_TRACE("OConnection::setTypeMap");
-+	MutexGuard aGuard(m_aMutex);
-+	checkDisposed(OConnection_BASE::rBHelper.bDisposed);
-+
-+	m_typeMap = typeMap;
-+}
-+/* }}} */
-+
-+
-+// XCloseable
-+/* {{{ OConnection::close() -I- */
-+void SAL_CALL OConnection::close()
-+	throw(SQLException, RuntimeException)
-+{
-+	OSL_TRACE("OConnection::close");
-+	/*
-+	  we need block, because the mutex is a local variable,
-+	  which will guard the block
-+	*/
-+	{
-+		// we just dispose us
-+		MutexGuard aGuard(m_aMutex);
-+		checkDisposed(OConnection_BASE::rBHelper.bDisposed);
-+	}
-+	dispose();
-+}
-+/* }}} */
-+
-+
-+// XWarningsSupplier
-+/* {{{ OConnection::getWarnings() -I- */
-+Any SAL_CALL OConnection::getWarnings()
-+	throw(SQLException, RuntimeException)
-+{
-+	Any x = Any();
-+	OSL_TRACE("OConnection::getWarnings");
-+	// when you collected some warnings -> return it
-+	return x;
-+}
-+/* }}} */
-+
-+
-+/* {{{ OConnection::clearWarnings() -I- */
-+void SAL_CALL OConnection::clearWarnings()
-+	throw(SQLException, RuntimeException)
-+{
-+	OSL_TRACE("OConnection::clearWarnings");
-+	// you should clear your collected warnings here#
-+}
-+/* }}} */
-+
-+
-+/* {{{ OConnection::buildTypeInfo() -I- */
-+void OConnection::buildTypeInfo()
-+	throw(SQLException)
-+{
-+	OSL_TRACE("OConnection::buildTypeInfo");
-+}
-+/* }}} */
-+
-+
-+/* {{{ OConnection::disposing() -I- */
-+void OConnection::disposing()
-+{
-+	OSL_TRACE("OConnection::disposing");
-+	// we noticed that we should be destroied in near future so we have to dispose our statements
-+	MutexGuard aGuard(m_aMutex);
-+
-+	for (OWeakRefArray::iterator i = m_aStatements.begin(); i != m_aStatements.end() ; ++i) {
-+		Reference< XComponent > xComp(i->get(), UNO_QUERY);
-+		if (xComp.is()) {
-+			xComp->dispose();
-+		}
-+	}
-+	m_aStatements.clear();
-+
-+	m_bClosed	= sal_True;
-+	m_xMetaData	= WeakReference< XDatabaseMetaData >();
-+
-+	dispose_ChildImpl();
-+	OConnection_BASE::disposing();
-+}
-+/* }}} */
-+
-+
-+/* ToDo - upcast the connection to MySQL_Connection and use ::getSessionVariable() */
-+
-+/* {{{ OConnection::getMysqlVariable() -I- */
-+OUString OConnection::getMysqlVariable(const char *varname)
-+	throw(SQLException, RuntimeException)
-+{
-+	OSL_TRACE("OConnection::getMysqlVariable");
-+	MutexGuard aGuard(m_aMutex);
-+	checkDisposed(OConnection_BASE::rBHelper.bDisposed);
-+
-+	OUString ret;
-+	::rtl::OUStringBuffer aStatement;
-+	aStatement.appendAscii( "SHOW SESSION VARIABLES LIKE '" );
-+	aStatement.appendAscii( varname );
-+	aStatement.append( sal_Unicode( '\'' ) );
-+
-+	try {
-+		XStatement * stmt = new OStatement(this, m_settings.cppConnection->createStatement());
-+		Reference< XResultSet > rs = stmt->executeQuery( aStatement.makeStringAndClear() );	
-+		if (rs.is() && rs->next()) {
-+			Reference< XRow > xRow(rs, UNO_QUERY);
-+			ret = xRow->getString(2);
-+		}
-+	} catch (sql::SQLException & e) {
-+		mysqlc_sdbc_driver::translateAndThrow(e, *this, getConnectionEncoding());
-+	}								
-+
-+	return ret;
-+}
-+/* }}} */
-+
-+
-+/* {{{ OConnection::getMysqlVersion() -I- */
-+sal_Int32 OConnection::getMysqlVersion()
-+	throw(SQLException, RuntimeException)
-+{
-+	OSL_TRACE("OConnection::getMysqlVersion");
-+	MutexGuard aGuard(m_aMutex);
-+	checkDisposed(OConnection_BASE::rBHelper.bDisposed);
-+
-+	sal_Int32 version(0);
-+	try {
-+		version = 10000 * m_settings.cppConnection->getMetaData()->getDatabaseMajorVersion();
-+		version += 100 * m_settings.cppConnection->getMetaData()->getDatabaseMinorVersion();
-+		version += m_settings.cppConnection->getMetaData()->getDatabasePatchVersion();
-+	} catch (sql::SQLException & e) {
-+		mysqlc_sdbc_driver::translateAndThrow(e, *this, getConnectionEncoding());
-+	}
-+	return version;
-+}
-+/* }}} */
-+
-+
-+/* {{{ OConnection::sdbcColumnType() -I- */
-+// TODO: Not used
-+//sal_Int32 OConnection::sdbcColumnType(OUString typeName)
-+//{
-+//	OSL_TRACE("OConnection::sdbcColumnType");
-+//	int i = 0;
-+//	while (mysqlc_types[i].typeName) {
-+//		if (OUString::createFromAscii(mysqlc_types[i].typeName).equals(
-+//			typeName.toAsciiUpperCase()))
-+//		{
-+//			return mysqlc_types[i].dataType;
-+//		}
-+//		i++;
-+//	}
-+//	return 0;
-+//}
-+// -----------------------------------------------------------------------------
-+::rtl::OUString OConnection::transFormPreparedStatement(const ::rtl::OUString& _sSQL)
-+{
-+	::rtl::OUString sSqlStatement = _sSQL;
-+	if ( !m_xParameterSubstitution.is() ) {
-+		try {
-+			Sequence< Any > aArgs(1);
-+			Reference< XConnection> xCon = this;
-+			aArgs[0] <<= NamedValue(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ActiveConnection")), makeAny(xCon));
-+
-+			m_xParameterSubstitution.set(m_rDriver.getFactory()->createInstanceWithArguments(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("org.openoffice.comp.helper.ParameterSubstitution")),aArgs),UNO_QUERY);
-+		} catch(const Exception&) {}
-+	}
-+	if ( m_xParameterSubstitution.is() ) {
-+		try	{
-+			sSqlStatement = m_xParameterSubstitution->substituteVariables(sSqlStatement,sal_True);
-+		} catch(const Exception&) { }
-+	}
-+	return sSqlStatement;
-+}
-+
-+/* }}} */
-+
-+/*
-+ * Local variables:
-+ * tab-width: 4
-+ * c-basic-offset: 4
-+ * End:
-+ * vim600: noet sw=4 ts=4 fdm=marker
-+ * vim<600: noet sw=4 ts=4
-+ */
-diff -r 66620d8e1623 -r e88d214fb62a mysqlc/source/mysqlc_connection.hxx
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ mysqlc/source/mysqlc_connection.hxx	Mon Feb 15 15:27:59 2010 +0100
-@@ -0,0 +1,250 @@
-+/*************************************************************************
-+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+* 
-+* Copyright 2008 by Sun Microsystems, Inc.
-+*
-+* OpenOffice.org - a multi-platform office productivity suite
-+*
-+* $RCSfile: mysqlc_connection.hxx,v $
-+*
-+* $Revision: 1.1.2.4 $
-+*
-+* This file is part of OpenOffice.org.
-+*
-+* OpenOffice.org is free software: you can redistribute it and/or modify
-+* it under the terms of the GNU Lesser General Public License version 3
-+* only, as published by the Free Software Foundation.
-+*
-+* OpenOffice.org 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 version 3 for more details
-+* (a copy is included in the LICENSE file that accompanied this code).
-+*
-+* You should have received a copy of the GNU Lesser General Public License
-+* version 3 along with OpenOffice.org.  If not, see
-+* <http://www.openoffice.org/license.html>
-+* for a copy of the LGPLv3 License.
-+************************************************************************/
-+
-+#ifndef MYSQLC_CONNECTION_HXX
-+#define MYSQLC_CONNECTION_HXX
-+
-+#include "mysqlc_subcomponent.hxx"
-+#include "mysqlc_types.hxx"
-+
-+#include <boost/shared_ptr.hpp>
-+#include <com/sun/star/beans/PropertyValue.hpp>
-+#include <com/sun/star/lang/DisposedException.hpp>
-+#include <com/sun/star/lang/XServiceInfo.hpp>
-+#include <com/sun/star/lang/XUnoTunnel.hpp>
-+#include <com/sun/star/sdbc/ColumnSearch.hpp>
-+#include <com/sun/star/sdbc/ColumnValue.hpp>
-+#include <com/sun/star/sdbc/DataType.hpp>
-+#include <com/sun/star/sdbc/SQLWarning.hpp>
-+#include <com/sun/star/sdbc/XConnection.hpp>
-+#include <com/sun/star/sdbc/XWarningsSupplier.hpp>
-+#include <com/sun/star/util/XStringSubstitution.hpp>
-+
-+#include <cppconn/driver.h>
-+#include <cppuhelper/compbase3.hxx>
-+#include <cppuhelper/weakref.hxx>
-+#include <rtl/string.hxx>
-+
-+#include <map>
-+
-+#define UNUSED_PARAM __attribute__((unused))
-+
-+namespace sql
-+{
-+    class SQLException;
-+}
-+
-+namespace connectivity
-+{
-+	class OMetaConnection;
-+	class ODatabaseMetaData;
-+
-+	namespace mysqlc
-+	{
-+		using ::rtl::OUString;
-+		using ::com::sun::star::sdbc::SQLWarning;
-+		using ::com::sun::star::sdbc::SQLException;
-+		using ::com::sun::star::uno::RuntimeException;
-+		typedef ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XStatement > my_XStatementRef;
-+		typedef ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XPreparedStatement > my_XPreparedStatementRef;
-+		typedef ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > my_XNameAccessRef;
-+		typedef ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XDatabaseMetaData > my_XDatabaseMetaDataRef;
-+
-+		typedef ::cppu::WeakComponentImplHelper3<	::com::sun::star::sdbc::XConnection,
-+													::com::sun::star::sdbc::XWarningsSupplier,
-+													::com::sun::star::lang::XServiceInfo
-+												> OMetaConnection_BASE;
-+		struct ConnectionSettings
-+		{
-+			rtl_TextEncoding encoding;
-+			std::auto_ptr<sql::Connection> cppConnection;
-+			OUString schema;
-+			OUString quoteIdentifier;
-+            OUString connectionURL;
-+			sal_Bool readOnly;
-+		};
-+
-+		class MysqlCDriver;
-+
-+		typedef OMetaConnection_BASE OConnection_BASE;
-+
-+		typedef std::vector< ::com::sun::star::uno::WeakReferenceHelper > OWeakRefArray;
-+
-+		class OConnection : public OBase_Mutex,
-+							public OConnection_BASE,
-+							public connectivity::mysqlc::OSubComponent<OConnection, OConnection_BASE>
-+		{
-+			friend class connectivity::mysqlc::OSubComponent<OConnection, OConnection_BASE>;
-+
-+        private:
-+			ConnectionSettings  m_settings;
-+
-+		private:
-+			::com::sun::star::uno::Reference< com::sun::star::container::XNameAccess > m_typeMap;
-+            ::com::sun::star::uno::Reference< com::sun::star::util::XStringSubstitution > m_xParameterSubstitution;
-+		protected:
-+			
-+			//====================================================================
-+			// Data attributes
-+			//====================================================================
-+			::com::sun::star::uno::WeakReference< ::com::sun::star::sdbc::XDatabaseMetaData > m_xMetaData;
-+
-+			OWeakRefArray	m_aStatements;	// vector containing a list
-+											// of all the Statement objects
-+											// for this Connection
-+
-+			SQLWarning	    m_aLastWarning;	// Last SQLWarning generated by an operation
-+			OUString	    m_aURL;			// URL of connection
-+			OUString	    m_sUser;		// the user name
-+			MysqlCDriver&   m_rDriver;	    // Pointer to the owning driver object
-+			sql::Driver*    cppDriver;
-+
-+			sal_Bool	m_bClosed;
-+			sal_Bool	m_bUseCatalog;	// should we use the catalog on filebased databases
-+			sal_Bool	m_bUseOldDateFormat;
-+
-+
-+			void		buildTypeInfo() throw(SQLException);
-+		public:
-+			OUString getMysqlVariable(const char *varname)
-+																throw(SQLException, RuntimeException);
-+
-+			sal_Int32 getMysqlVersion() 
-+																throw(SQLException, RuntimeException);
-+
-+			virtual void construct(const OUString& url,const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& info)
-+																throw(SQLException);
-+
-+			OConnection(MysqlCDriver& _rDriver, sql::Driver * cppDriver);
-+			virtual ~OConnection();
-+
-+			void closeAllStatements ()							throw(SQLException);
-+
-+
-+			rtl_TextEncoding getConnectionEncoding() { return m_settings.encoding; }
-+
-+
-+			// OComponentHelper
-+			virtual void SAL_CALL disposing(void);
-+
-+			// XInterface
-+			virtual void SAL_CALL release()						throw();
-+
-+			// XServiceInfo
-+			DECLARE_SERVICE_INFO();
-+			// XConnection
-+			my_XStatementRef SAL_CALL createStatement()
-+																throw(SQLException, RuntimeException);
-+
-+			my_XPreparedStatementRef SAL_CALL prepareStatement(const OUString& sql)
-+																throw(SQLException, RuntimeException);
-+
-+			my_XPreparedStatementRef SAL_CALL prepareCall(const OUString& sql)
-+																throw(SQLException, RuntimeException);
-+
-+			OUString SAL_CALL nativeSQL(const OUString& sql)
-+																throw(SQLException, RuntimeException);
-+
-+			void SAL_CALL setAutoCommit(sal_Bool autoCommit)
-+																throw(SQLException, RuntimeException);
-+
-+			sal_Bool SAL_CALL getAutoCommit()
-+																throw(SQLException, RuntimeException);
-+
-+			void SAL_CALL commit()
-+																throw(SQLException, RuntimeException);
-+
-+			void SAL_CALL rollback()
-+																throw(SQLException, RuntimeException);
-+
-+			sal_Bool SAL_CALL isClosed()
-+																throw(SQLException, RuntimeException);
-+
-+			my_XDatabaseMetaDataRef SAL_CALL getMetaData()
-+																throw(SQLException, RuntimeException);
-+
-+			void SAL_CALL setReadOnly(sal_Bool readOnly)
-+																throw(SQLException, RuntimeException);
-+
-+			sal_Bool SAL_CALL isReadOnly()
-+																throw(SQLException, RuntimeException);
-+
-+			void SAL_CALL setCatalog(const OUString& catalog)
-+																throw(SQLException, RuntimeException);
-+
-+			OUString SAL_CALL getCatalog()
-+																throw(SQLException, RuntimeException);
-+
-+			void SAL_CALL setTransactionIsolation(sal_Int32 level)
-+																throw(SQLException, RuntimeException);
-+
-+			sal_Int32 SAL_CALL getTransactionIsolation()
-+																throw(SQLException, RuntimeException);
-+
-+			my_XNameAccessRef SAL_CALL getTypeMap()
-+																throw(SQLException, RuntimeException);
-+
-+			void SAL_CALL setTypeMap(const my_XNameAccessRef& typeMap)
-+																throw(SQLException, RuntimeException);
-+			// XCloseable
-+			void SAL_CALL close()
-+																throw(SQLException, RuntimeException);
-+			// XWarningsSupplier
-+			::com::sun::star::uno::Any SAL_CALL getWarnings()
-+																throw(SQLException, RuntimeException);
-+			void SAL_CALL clearWarnings()
-+																throw(SQLException, RuntimeException);
-+
-+            // TODO: Not used
-+			//sal_Int32 sdbcColumnType(OUString typeName);
-+            inline const ConnectionSettings& getConnectionSettings() const { return m_settings; }
-+            ::rtl::OUString transFormPreparedStatement(const ::rtl::OUString& _sSQL);
-+			
-+			// should we use the catalog on filebased databases
-+            inline sal_Bool			    isCatalogUsed()     const { return m_bUseCatalog; }
-+            inline OUString			    getUserName()       const { return m_sUser; }
-+            inline const MysqlCDriver&  getDriver()			const { return m_rDriver;}
-+            inline rtl_TextEncoding	    getTextEncoding()	const { return m_settings.encoding; }
-+
-+		}; /* OConnection */
-+        // TODO: Not used.
-+		//inline OUString getPattern(OUString p) { return (p.getLength()) ? p : ASC2OU("%"); }
-+	} /* mysqlc */
-+} /* connectivity */
-+#endif // MYSQLC_CONNECTION_HXX
-+
-+/*
-+ * Local variables:
-+ * tab-width: 4
-+ * c-basic-offset: 4
-+ * End:
-+ * vim600: noet sw=4 ts=4 fdm=marker
-+ * vim<600: noet sw=4 ts=4
-+ */
-+
-diff -r 66620d8e1623 -r e88d214fb62a mysqlc/source/mysqlc_databasemetadata.cxx
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ mysqlc/source/mysqlc_databasemetadata.cxx	Mon Feb 15 15:27:59 2010 +0100
-@@ -0,0 +1,2215 @@
-+/*************************************************************************
-+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+* 
-+* Copyright 2008 by Sun Microsystems, Inc.
-+*
-+* OpenOffice.org - a multi-platform office productivity suite
-+*
-+* $RCSfile: mysqlc_databasemetadata.cxx,v $
-+*
-+* $Revision: 1.1.2.5 $
-+*
-+* This file is part of OpenOffice.org.
-+*
-+* OpenOffice.org is free software: you can redistribute it and/or modify
-+* it under the terms of the GNU Lesser General Public License version 3
-+* only, as published by the Free Software Foundation.
-+*
-+* OpenOffice.org 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 version 3 for more details
-+* (a copy is included in the LICENSE file that accompanied this code).
-+*
-+* You should have received a copy of the GNU Lesser General Public License
-+* version 3 along with OpenOffice.org.  If not, see
-+* <http://www.openoffice.org/license.html>
-+* for a copy of the LGPLv3 License.
-+************************************************************************/
-+#include "mysqlc_databasemetadata.hxx"
-+#include <com/sun/star/sdbc/DataType.hpp>
-+#include <com/sun/star/sdbc/ResultSetType.hpp>
-+#include <com/sun/star/sdbc/ResultSetConcurrency.hpp>
-+#include <com/sun/star/sdbc/TransactionIsolation.hpp>
-+#include <com/sun/star/sdbc/KeyRule.hpp>
-+#include <com/sun/star/sdbc/Deferrability.hpp>
-+#include <com/sun/star/sdbc/IndexType.hpp>
-+#include <com/sun/star/sdbc/BestRowScope.hpp>
-+#include <com/sun/star/sdbc/ColumnType.hpp>
-+#include <com/sun/star/lang/XInitialization.hpp>
-+
-+
-+#include "mysqlc_general.hxx"
-+#include "mysqlc_statement.hxx"
-+#include "mysqlc_driver.hxx"
-+#include "mysqlc_preparedstatement.hxx"
-+
-+#include <stdio.h>
-+
-+using namespace connectivity::mysqlc;
-+using namespace com::sun::star::uno;
-+using namespace com::sun::star::lang;
-+using namespace com::sun::star::beans;
-+using namespace com::sun::star::sdbc;
-+using ::rtl::OUString;
-+using mysqlc_sdbc_driver::getStringFromAny;
-+
-+#include <cppconn/connection.h>
-+#include <cppconn/resultset.h>
-+#include <cppconn/metadata.h>
-+#include <cppconn/statement.h>
-+#include <cppconn/prepared_statement.h>
-+
-+static std::string wild("%");
-+
-+using ::rtl::OUStringToOString;
-+
-+// -----------------------------------------------------------------------------
-+void lcl_setRows_throw(const Reference< XResultSet >& _xResultSet,sal_Int32 _nType,const std::vector< std::vector< Any > >& _rRows)
-+{
-+	Reference< XInitialization> xIni(_xResultSet,UNO_QUERY);
-+	Sequence< Any > aArgs(2);
-+	aArgs[0] <<= _nType;
-+
-+	Sequence< Sequence< Any > > aRows(_rRows.size());
-+
-+	std::vector< std::vector< Any > >::const_iterator aIter = _rRows.begin();
-+	Sequence< Any > * pRowsIter = aRows.getArray();
-+	Sequence< Any > * pRowsEnd  = pRowsIter + aRows.getLength();
-+	for (; pRowsIter != pRowsEnd;++pRowsIter,++aIter) {
-+		if (!aIter->empty()) {
-+			Sequence<Any> aSeq(&(*aIter->begin()),aIter->size());
-+			(*pRowsIter) = aSeq;
-+		}
-+	}
-+	aArgs[1] <<= aRows;
-+	xIni->initialize(aArgs);
-+}
-+
-+
-+/* {{{ ODatabaseMetaData::ODatabaseMetaData() -I- */
-+ODatabaseMetaData::ODatabaseMetaData(OConnection& _rCon)
-+	:m_rConnection(_rCon)
-+	,m_bUseCatalog(sal_True)
-+	,meta(_rCon.getConnectionSettings().cppConnection->getMetaData())
-+	,identifier_quote_string_set(false)
-+{
-+	OSL_TRACE("ODatabaseMetaData::ODatabaseMetaData");
-+	if (!m_rConnection.isCatalogUsed())
-+	{
-+		osl_incrementInterlockedCount(&m_refCount);
-+		m_bUseCatalog = !(usesLocalFiles() || usesLocalFilePerTable());
-+		osl_decrementInterlockedCount(&m_refCount);
-+	}
-+}
-+/* }}} */
-+
-+
-+/* {{{ ODatabaseMetaData::~ODatabaseMetaData() -I- */
-+ODatabaseMetaData::~ODatabaseMetaData()
-+{
-+	OSL_TRACE("ODatabaseMetaData::~ODatabaseMetaData");
-+}
-+/* }}} */
-+
-+
-+/* {{{ ODatabaseMetaData::impl_getStringMetaData() -I- */
-+OUString ODatabaseMetaData::impl_getStringMetaData(const sal_Char* _methodName, const std::string& (sql::DatabaseMetaData::*_Method)() )
-+{
-+	OSL_TRACE( "mysqlc::ODatabaseMetaData::%s", _methodName);
-+	OUString stringMetaData;
-+	try {
-+		stringMetaData = mysqlc_sdbc_driver::convert((meta->*_Method)(), m_rConnection.getConnectionEncoding());
-+	} catch (sql::MethodNotImplementedException) {
-+		mysqlc_sdbc_driver::throwFeatureNotImplementedException(_methodName, *this);
-+	} catch (sql::InvalidArgumentException) {
-+		mysqlc_sdbc_driver::throwInvalidArgumentException(_methodName, *this);
-+	} catch (const sql::SQLException& e) {
-+		mysqlc_sdbc_driver::translateAndThrow(e, *this, m_rConnection.getConnectionEncoding());
-+	}
-+	return stringMetaData;
-+}
-+/* }}} */
-+
-+
-+/* {{{ ODatabaseMetaData::impl_getStringMetaData() -I- */
-+OUString ODatabaseMetaData::impl_getStringMetaData(const sal_Char* _methodName, std::string (sql::DatabaseMetaData::*_Method)() )
-+{
-+	OSL_TRACE( "mysqlc::ODatabaseMetaData::%s", _methodName);
-+	OUString stringMetaData;
-+	try {
-+		stringMetaData = mysqlc_sdbc_driver::convert((meta->*_Method)(), m_rConnection.getConnectionEncoding());
-+	} catch (sql::MethodNotImplementedException) {
-+		mysqlc_sdbc_driver::throwFeatureNotImplementedException(_methodName, *this);
-+	} catch (sql::InvalidArgumentException) {
-+		mysqlc_sdbc_driver::throwInvalidArgumentException(_methodName, *this);
-+	} catch (const sql::SQLException& e) {
-+		mysqlc_sdbc_driver::translateAndThrow(e, *this, m_rConnection.getConnectionEncoding());
-+	}
-+	return stringMetaData;
-+}
-+/* }}} */
-+
-+
-+/* {{{ ODatabaseMetaData::impl_getStringMetaData() -I- */
-+OUString ODatabaseMetaData::impl_getStringMetaData(const sal_Char* _methodName, const sql::SQLString& (sql::DatabaseMetaData::*_Method)() )
-+{
-+	OSL_TRACE( "mysqlc::ODatabaseMetaData::%s", _methodName);
-+	OUString stringMetaData;
-+	try {
-+		stringMetaData = mysqlc_sdbc_driver::convert((meta->*_Method)(), m_rConnection.getConnectionEncoding());
-+	} catch (sql::MethodNotImplementedException) {
-+		mysqlc_sdbc_driver::throwFeatureNotImplementedException(_methodName, *this);
-+	} catch (sql::InvalidArgumentException) {
-+		mysqlc_sdbc_driver::throwInvalidArgumentException(_methodName, *this);
-+	} catch (const sql::SQLException& e) {
-+		mysqlc_sdbc_driver::translateAndThrow(e, *this, m_rConnection.getConnectionEncoding());
-+	}
-+	return stringMetaData;
-+}
-+/* }}} */
-+
-+
-+/* {{{ ODatabaseMetaData::impl_getStringMetaData() -I- */
-+OUString ODatabaseMetaData::impl_getStringMetaData(const sal_Char* _methodName, sql::SQLString (sql::DatabaseMetaData::*_Method)() )
-+{
-+	OSL_TRACE( "mysqlc::ODatabaseMetaData::%s", _methodName);
-+	OUString stringMetaData;
-+	try {
-+		stringMetaData = mysqlc_sdbc_driver::convert((meta->*_Method)(), m_rConnection.getConnectionEncoding());
-+	} catch (sql::MethodNotImplementedException) {
-+		mysqlc_sdbc_driver::throwFeatureNotImplementedException(_methodName, *this);
-+	} catch (sql::InvalidArgumentException) {
-+		mysqlc_sdbc_driver::throwInvalidArgumentException(_methodName, *this);
-+	} catch (const sql::SQLException& e) {
-+		mysqlc_sdbc_driver::translateAndThrow(e, *this, m_rConnection.getConnectionEncoding());
-+	}
-+	return stringMetaData;
-+}
-+/* }}} */
-+
-+
-+/* {{{ ODatabaseMetaData::impl_getInt32MetaData() -I- */
-+sal_Int32 ODatabaseMetaData::impl_getInt32MetaData(const sal_Char* _methodName, unsigned int (sql::DatabaseMetaData::*_Method)() )
-+{
-+	OSL_TRACE( "mysqlc::ODatabaseMetaData::%s", _methodName);
-+	sal_Int32 int32MetaData(0);
-+	try {
-+		int32MetaData = (meta->*_Method)();
-+	} catch (sql::MethodNotImplementedException) {
-+		mysqlc_sdbc_driver::throwFeatureNotImplementedException(_methodName, *this);
-+	} catch (sql::InvalidArgumentException) {
-+		mysqlc_sdbc_driver::throwInvalidArgumentException(_methodName, *this);
-+	} catch (const sql::SQLException& e) {
-+		mysqlc_sdbc_driver::translateAndThrow(e, *this, m_rConnection.getConnectionEncoding());
-+	}
-+	return int32MetaData;
-+}
-+/* }}} */
-+
-+
-+/* {{{ ODatabaseMetaData::impl_getBoolMetaData() -I- */
-+sal_Bool ODatabaseMetaData::impl_getBoolMetaData(const sal_Char* _methodName, bool (sql::DatabaseMetaData::*_Method)() )
-+{
-+	OSL_TRACE( "mysqlc::ODatabaseMetaData::%s", _methodName);
-+	sal_Bool boolMetaData(0);
-+	try {
-+		boolMetaData = (meta->*_Method)() ? sal_True : sal_False;
-+	} catch (sql::MethodNotImplementedException) {
-+		mysqlc_sdbc_driver::throwFeatureNotImplementedException(_methodName, *this);
-+	} catch (sql::InvalidArgumentException) {
-+		mysqlc_sdbc_driver::throwInvalidArgumentException(_methodName, *this);
-+	} catch (const sql::SQLException& e) {
-+		mysqlc_sdbc_driver::translateAndThrow(e, *this, m_rConnection.getConnectionEncoding());
-+	}
-+	return boolMetaData;
-+}
-+/* }}} */
-+
-+
-+/* {{{ ODatabaseMetaData::impl_getBoolMetaData() -I- */
-+sal_Bool ODatabaseMetaData::impl_getBoolMetaData(const sal_Char* _methodName, bool (sql::DatabaseMetaData::*_Method)(int), sal_Int32 _arg )
-+{
-+	OSL_TRACE( "mysqlc::ODatabaseMetaData::%s", _methodName);
-+	sal_Bool boolMetaData(0);
-+	try {
-+		boolMetaData = (meta->*_Method)( _arg ) ? sal_True : sal_False;
-+	} catch (sql::MethodNotImplementedException) {
-+		mysqlc_sdbc_driver::throwFeatureNotImplementedException(_methodName, *this);
-+	} catch (sql::InvalidArgumentException) {
-+		mysqlc_sdbc_driver::throwInvalidArgumentException(_methodName, *this);
-+	} catch (const sql::SQLException& e) {
-+		mysqlc_sdbc_driver::translateAndThrow(e, *this, m_rConnection.getConnectionEncoding());
-+	}
-+	return boolMetaData;
-+}
-+/* }}} */
-+
-+
-+/* {{{ ODatabaseMetaData::impl_getRSTypeMetaData() -I- */
-+sal_Bool ODatabaseMetaData::impl_getRSTypeMetaData(const sal_Char* _methodName, bool (sql::DatabaseMetaData::*_Method)(int), sal_Int32 _resultSetType )
-+{
-+	int resultSetType(sql::ResultSet::TYPE_FORWARD_ONLY);
-+	switch ( _resultSetType ) {
-+		case ResultSetType::SCROLL_INSENSITIVE:	resultSetType = sql::ResultSet::TYPE_SCROLL_INSENSITIVE;	break;
-+		case ResultSetType::SCROLL_SENSITIVE:	resultSetType = sql::ResultSet::TYPE_SCROLL_SENSITIVE;		break;
-+	}
-+
-+	return impl_getBoolMetaData(_methodName, _Method, resultSetType);
-+}
-+/* }}} */
-+
-+
-+/* {{{ ODatabaseMetaData::getCatalogSeparator() -I- */
-+OUString SAL_CALL ODatabaseMetaData::getCatalogSeparator()
-+	throw(SQLException, RuntimeException)
-+{
-+	return impl_getStringMetaData("getCatalogSeparator", &sql::DatabaseMetaData::getCatalogSeparator);
-+}
-+/* }}} */
-+
-+
-+/* {{{ ODatabaseMetaData::getMaxBinaryLiteralLength() -I- */
-+sal_Int32 SAL_CALL ODatabaseMetaData::getMaxBinaryLiteralLength()
-+	throw(SQLException, RuntimeException)
-+{
-+	return impl_getInt32MetaData("getMaxBinaryLiteralLength", &sql::DatabaseMetaData::getMaxBinaryLiteralLength);
-+}
-+/* }}} */
-+
-+
-+/* {{{ ODatabaseMetaData::getMaxRowSize() -I- */
-+sal_Int32 SAL_CALL ODatabaseMetaData::getMaxRowSize()
-+	throw(SQLException, RuntimeException)
-+{
-+	return impl_getInt32MetaData("getMaxRowSize", &sql::DatabaseMetaData::getMaxRowSize);
-+}
-+/* }}} */
-+
-+
-+/* {{{ ODatabaseMetaData::getMaxCatalogNameLength() -I- */
-+sal_Int32 SAL_CALL ODatabaseMetaData::getMaxCatalogNameLength()
-+	throw(SQLException, RuntimeException)
-+{
-+	return impl_getInt32MetaData("getMaxCatalogNameLength", &sql::DatabaseMetaData::getMaxCatalogNameLength);
-+}
-+/* }}} */
-+
-+
-+/* {{{ ODatabaseMetaData::getMaxCharLiteralLength() -I- */
-+sal_Int32 SAL_CALL ODatabaseMetaData::getMaxCharLiteralLength()
-+	throw(SQLException, RuntimeException)
-+{
-+	return impl_getInt32MetaData("getMaxCharLiteralLength", &sql::DatabaseMetaData::getMaxCharLiteralLength);
-+}
-+/* }}} */
-+
-+
-+/* {{{ ODatabaseMetaData::getMaxColumnNameLength() -I- */
-+sal_Int32 SAL_CALL ODatabaseMetaData::getMaxColumnNameLength()
-+	throw(SQLException, RuntimeException)
-+{
-+	return impl_getInt32MetaData("getMaxColumnNameLength", &sql::DatabaseMetaData::getMaxColumnNameLength);
-+}
-+/* }}} */
-+
-+
-+/* {{{ ODatabaseMetaData::getMaxColumnsInIndex() -I- */
-+sal_Int32 SAL_CALL ODatabaseMetaData::getMaxColumnsInIndex()
-+	throw(SQLException, RuntimeException)
-+{
-+	return impl_getInt32MetaData("getMaxColumnsInIndex", &sql::DatabaseMetaData::getMaxColumnsInIndex);
-+}
-+/* }}} */
-+
-+
-+/* {{{ ODatabaseMetaData::getMaxCursorNameLength() -I- */
-+sal_Int32 SAL_CALL ODatabaseMetaData::getMaxCursorNameLength()
-+	throw(SQLException, RuntimeException)
-+{
-+	return impl_getInt32MetaData("getMaxCursorNameLength", &sql::DatabaseMetaData::getMaxCursorNameLength);
-+}
-+/* }}} */
-+
-+
-+/* {{{ ODatabaseMetaData::getMaxConnections() -I- */
-+sal_Int32 SAL_CALL ODatabaseMetaData::getMaxConnections()
-+	throw(SQLException, RuntimeException)
-+{
-+	return impl_getInt32MetaData("getMaxConnections", &sql::DatabaseMetaData::getMaxConnections);
-+}
-+/* }}} */
-+
-+
-+/* {{{ ODatabaseMetaData::getMaxColumnsInTable() -I- */
-+sal_Int32 SAL_CALL ODatabaseMetaData::getMaxColumnsInTable()
-+	throw(SQLException, RuntimeException)
-+{
-+	return impl_getInt32MetaData("getMaxColumnsInTable", &sql::DatabaseMetaData::getMaxColumnsInTable);
-+}
-+/* }}} */
-+
-+
-+/* {{{ ODatabaseMetaData::getMaxStatementLength() -I- */
-+sal_Int32 SAL_CALL ODatabaseMetaData::getMaxStatementLength()
-+	throw(SQLException, RuntimeException)
-+{
-+	return impl_getInt32MetaData("getMaxStatementLength", &sql::DatabaseMetaData::getMaxStatementLength);
-+}
-+/* }}} */
-+
-+
-+/* {{{ ODatabaseMetaData::getMaxTableNameLength() -I- */
-+sal_Int32 SAL_CALL ODatabaseMetaData::getMaxTableNameLength()
-+	throw(SQLException, RuntimeException)
-+{
-+	return impl_getInt32MetaData("getMaxTableNameLength", &sql::DatabaseMetaData::getMaxTableNameLength);
-+}
-+/* }}} */
-+
-+/* {{{ ODatabaseMetaData::getMaxTablesInSelect() -I- */
-+sal_Int32 SAL_CALL ODatabaseMetaData::getMaxTablesInSelect()
-+	throw(SQLException, RuntimeException)
-+{
-+	return impl_getInt32MetaData("getMaxTablesInSelect", &sql::DatabaseMetaData::getMaxTablesInSelect);
-+}
-+/* }}} */
-+
-+
-+/* {{{ ODatabaseMetaData::doesMaxRowSizeIncludeBlobs() -I- */
-+sal_Bool SAL_CALL ODatabaseMetaData::doesMaxRowSizeIncludeBlobs()
-+	throw(SQLException, RuntimeException)
-+{
-+	return impl_getBoolMetaData("doesMaxRowSizeIncludeBlobs", &sql::DatabaseMetaData::doesMaxRowSizeIncludeBlobs);
-+}
-+/* }}} */
-+
-+
-+/* {{{ ODatabaseMetaData::storesLowerCaseQuotedIdentifiers() -I- */
-+sal_Bool SAL_CALL ODatabaseMetaData::storesLowerCaseQuotedIdentifiers()
-+	throw(SQLException, RuntimeException)
-+{
-+	return impl_getBoolMetaData("storesLowerCaseQuotedIdentifiers", &sql::DatabaseMetaData::storesLowerCaseQuotedIdentifiers);
-+}
-+/* }}} */
-+
-+
-+/* {{{ ODatabaseMetaData::storesLowerCaseIdentifiers() -I- */
-+sal_Bool SAL_CALL ODatabaseMetaData::storesLowerCaseIdentifiers()
-+	throw(SQLException, RuntimeException)
-+{
-+	return impl_getBoolMetaData("storesLowerCaseIdentifiers", &sql::DatabaseMetaData::storesLowerCaseIdentifiers);
-+}
-+/* }}} */
-+
-+
-+/* {{{ ODatabaseMetaData::storesMixedCaseQuotedIdentifiers() -I- */
-+sal_Bool SAL_CALL ODatabaseMetaData::storesMixedCaseQuotedIdentifiers()
-+	throw(SQLException, RuntimeException)
-+{
-+	return impl_getBoolMetaData("storesMixedCaseQuotedIdentifiers", &sql::DatabaseMetaData::storesMixedCaseQuotedIdentifiers);
-+}
-+/* }}} */
-+
-+
-+/* {{{ ODatabaseMetaData::storesMixedCaseIdentifiers() -I- */
-+sal_Bool SAL_CALL ODatabaseMetaData::storesMixedCaseIdentifiers()
-+	throw(SQLException, RuntimeException)
-+{
-+	return impl_getBoolMetaData("storesMixedCaseIdentifiers", &sql::DatabaseMetaData::storesMixedCaseIdentifiers);
-+}
-+/* }}} */
-+
-+
-+/* {{{ ODatabaseMetaData::storesUpperCaseQuotedIdentifiers() -I- */
-+sal_Bool SAL_CALL ODatabaseMetaData::storesUpperCaseQuotedIdentifiers()
-+	throw(SQLException, RuntimeException)
-+{
-+	return impl_getBoolMetaData("storesUpperCaseQuotedIdentifiers", &sql::DatabaseMetaData::storesUpperCaseQuotedIdentifiers);
-+}
-+/* }}} */
-+
-+
-+/* {{{ ODatabaseMetaData::storesUpperCaseIdentifiers() -I- */
-+sal_Bool SAL_CALL ODatabaseMetaData::storesUpperCaseIdentifiers()
-+	throw(SQLException, RuntimeException)
-+{
-+	return impl_getBoolMetaData("storesUpperCaseIdentifiers", &sql::DatabaseMetaData::storesUpperCaseIdentifiers);
-+}
-+/* }}} */
-+
-+
-+/* {{{ ODatabaseMetaData::supportsAlterTableWithAddColumn() -I- */
-+sal_Bool SAL_CALL ODatabaseMetaData::supportsAlterTableWithAddColumn()
-+	throw(SQLException, RuntimeException)
-+{
-+	return impl_getBoolMetaData("supportsAlterTableWithAddColumn", &sql::DatabaseMetaData::supportsAlterTableWithAddColumn);
-+}
-+/* }}} */
-+
-+
-+/* {{{ ODatabaseMetaData::supportsAlterTableWithDropColumn() -I- */
-+sal_Bool SAL_CALL ODatabaseMetaData::supportsAlterTableWithDropColumn()
-+	throw(SQLException, RuntimeException)
-+{
-+	return impl_getBoolMetaData("supportsAlterTableWithDropColumn", &sql::DatabaseMetaData::supportsAlterTableWithDropColumn);
-+}
-+/* }}} */
-+
-+
-+/* {{{ ODatabaseMetaData::getMaxIndexLength() -I- */
-+sal_Int32 SAL_CALL ODatabaseMetaData::getMaxIndexLength()
-+	throw(SQLException, RuntimeException)
-+{
-+	return impl_getInt32MetaData("getMaxIndexLength", &sql::DatabaseMetaData::getMaxIndexLength);
-+}
-+/* }}} */
-+
-+
-+/* {{{ ODatabaseMetaData::supportsNonNullableColumns() -I- */
-+sal_Bool SAL_CALL ODatabaseMetaData::supportsNonNullableColumns()
-+	throw(SQLException, RuntimeException)
-+{
-+	return impl_getBoolMetaData("supportsNonNullableColumns", &sql::DatabaseMetaData::supportsNonNullableColumns);
-+}
-+/* }}} */
-+
-+
-+/* {{{ ODatabaseMetaData::getCatalogTerm() -I- */
-+OUString SAL_CALL ODatabaseMetaData::getCatalogTerm()
-+	throw(SQLException, RuntimeException)
-+{
-+	return impl_getStringMetaData("getCatalogTerm", &sql::DatabaseMetaData::getCatalogTerm);
-+}
-+/* }}} */
-+
-+
-+/* {{{ ODatabaseMetaData::getIdentifierQuoteString() -I- */
-+OUString SAL_CALL ODatabaseMetaData::getIdentifierQuoteString()
-+	throw(SQLException, RuntimeException)
-+{
-+	if (identifier_quote_string_set == false) {
-+		identifier_quote_string = impl_getStringMetaData("getIdentifierQuoteString", &sql::DatabaseMetaData::getIdentifierQuoteString);
-+		identifier_quote_string_set = true;
-+	}
-+	return identifier_quote_string;
-+}
-+/* }}} */
-+
-+
-+/* {{{ ODatabaseMetaData::getExtraNameCharacters() -I- */
-+OUString SAL_CALL ODatabaseMetaData::getExtraNameCharacters()
-+	throw(SQLException, RuntimeException)
-+{
-+	return impl_getStringMetaData("getExtraNameCharacters", &sql::DatabaseMetaData::getExtraNameCharacters);
-+}
-+/* }}} */
-+
-+
-+/* {{{ ODatabaseMetaData::supportsDifferentTableCorrelationNames() -I- */
-+sal_Bool SAL_CALL ODatabaseMetaData::supportsDifferentTableCorrelationNames()
-+	throw(SQLException, RuntimeException)
-+{
-+	return impl_getBoolMetaData("supportsDifferentTableCorrelationNames", &sql::DatabaseMetaData::supportsDifferentTableCorrelationNames);
-+}
-+/* }}} */
-+
-+
-+/* {{{ ODatabaseMetaData::isCatalogAtStart() -I- */
-+sal_Bool SAL_CALL ODatabaseMetaData::isCatalogAtStart()
-+	throw(SQLException, RuntimeException)
-+{
-+	return impl_getBoolMetaData("isCatalogAtStart", &sql::DatabaseMetaData::isCatalogAtStart);
-+}
-+/* }}} */
-+
-+
-+/* {{{ ODatabaseMetaData::dataDefinitionIgnoredInTransactions() -I- */
-+sal_Bool SAL_CALL ODatabaseMetaData::dataDefinitionIgnoredInTransactions()
-+	throw(SQLException, RuntimeException)
-+{
-+	return impl_getBoolMetaData("dataDefinitionIgnoredInTransactions", &sql::DatabaseMetaData::dataDefinitionIgnoredInTransactions);
-+}
-+/* }}} */
-+
-+
-+/* {{{ ODatabaseMetaData::dataDefinitionCausesTransactionCommit() -I- */
-+sal_Bool SAL_CALL ODatabaseMetaData::dataDefinitionCausesTransactionCommit()
-+	throw(SQLException, RuntimeException)
-+{
-+	return impl_getBoolMetaData("dataDefinitionCausesTransactionCommit", &sql::DatabaseMetaData::dataDefinitionCausesTransactionCommit);
-+}
-+/* }}} */
-+
-+
-+/* {{{ ODatabaseMetaData::supportsDataManipulationTransactionsOnly() -I- */
-+sal_Bool SAL_CALL ODatabaseMetaData::supportsDataManipulationTransactionsOnly()
-+	throw(SQLException, RuntimeException)
-+{
-+	return impl_getBoolMetaData("supportsDataManipulationTransactionsOnly", &sql::DatabaseMetaData::supportsDataManipulationTransactionsOnly);
-+}
-+/* }}} */
-+
-+
-+/* {{{ ODatabaseMetaData::supportsDataDefinitionAndDataManipulationTransactions() -I- */
-+sal_Bool SAL_CALL ODatabaseMetaData::supportsDataDefinitionAndDataManipulationTransactions()
-+	throw(SQLException, RuntimeException)
-+{
-+	return impl_getBoolMetaData("supportsDataDefinitionAndDataManipulationTransactions", &sql::DatabaseMetaData::supportsDataDefinitionAndDataManipulationTransactions);
-+}
-+/* }}} */
-+
-+
-+/* {{{ ODatabaseMetaData::supportsPositionedDelete() -I- */
-+sal_Bool SAL_CALL ODatabaseMetaData::supportsPositionedDelete()
-+	throw(SQLException, RuntimeException)
-+{
-+	return impl_getBoolMetaData("supportsPositionedDelete", &sql::DatabaseMetaData::supportsPositionedDelete);
-+}
-+/* }}} */
-+
-+
-+/* {{{ ODatabaseMetaData::supportsPositionedUpdate() -I- */
-+sal_Bool SAL_CALL ODatabaseMetaData::supportsPositionedUpdate()
-+	throw(SQLException, RuntimeException)
-+{
-+	return impl_getBoolMetaData("supportsPositionedUpdate", &sql::DatabaseMetaData::supportsPositionedUpdate);
-+}
-+/* }}} */
-+
-+
-+/* {{{ ODatabaseMetaData::supportsOpenStatementsAcrossRollback() -I- */
-+sal_Bool SAL_CALL ODatabaseMetaData::supportsOpenStatementsAcrossRollback()
-+	throw(SQLException, RuntimeException)
-+{
-+	return impl_getBoolMetaData("supportsOpenStatementsAcrossRollback", &sql::DatabaseMetaData::supportsOpenStatementsAcrossRollback);
-+}
-+/* }}} */
-+
-+
-+/* {{{ ODatabaseMetaData::supportsOpenStatementsAcrossCommit() -I- */
-+sal_Bool SAL_CALL ODatabaseMetaData::supportsOpenStatementsAcrossCommit()
-+	throw(SQLException, RuntimeException)
-+{

... etc. - the rest is truncated


More information about the ooo-build-commit mailing list