[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