Repository.mk                                                            |    
3 
 RepositoryExternal.mk                                                    |    
5 
 RepositoryModule_host.mk                                                 |    
1 
 configure.ac                                                             |   
30 
 connectivity/Configuration_mysql.mk                                      |    
7 
 connectivity/Library_mysql.mk                                            |   
48 
 connectivity/Library_mysqlc.mk                                           |   
34 
 connectivity/Module_connectivity.mk                                      |    
9 
 connectivity/registry/mysql/org/openoffice/Office/DataAccess/Drivers.xcu |  
264 --
 connectivity/source/drivers/mysql/YCatalog.cxx                           |  
138 -
 connectivity/source/drivers/mysql/YColumns.cxx                           |   
78 
 connectivity/source/drivers/mysql/YDriver.cxx                            |  
492 ----
 connectivity/source/drivers/mysql/YTable.cxx                             |  
356 ---
 connectivity/source/drivers/mysql/YTables.cxx                            |  
216 --
 connectivity/source/drivers/mysql/YUser.cxx                              |  
320 ---
 connectivity/source/drivers/mysql/YUsers.cxx                             |  
105 -
 connectivity/source/drivers/mysql/YViews.cxx                             |  
151 -
 connectivity/source/drivers/mysql/Yservices.cxx                          |   
69 
 connectivity/source/drivers/mysql/mysql.component                        |   
26 
 connectivity/source/drivers/mysqlc/mysqlc_connection.cxx                 |  
346 +--
 connectivity/source/drivers/mysqlc/mysqlc_connection.hxx                 |  
183 +
 connectivity/source/drivers/mysqlc/mysqlc_databasemetadata.cxx           |  
989 ++++++++++
 connectivity/source/drivers/mysqlc/mysqlc_databasemetadata.hxx           |  
245 ++
 connectivity/source/drivers/mysqlc/mysqlc_driver.cxx                     |  
169 +
 connectivity/source/drivers/mysqlc/mysqlc_driver.hxx                     |  
101 +
 connectivity/source/drivers/mysqlc/mysqlc_general.cxx                    |  
354 +++
 connectivity/source/drivers/mysqlc/mysqlc_general.hxx                    |  
125 +
 connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.cxx         |    
7 
 connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.hxx         |    
2 
 connectivity/source/drivers/mysqlc/mysqlc_preparedstatement.cxx          |  
240 +-
 connectivity/source/drivers/mysqlc/mysqlc_preparedstatement.hxx          |  
161 +
 connectivity/source/drivers/mysqlc/mysqlc_propertyids.hxx                |    
5 
 connectivity/source/drivers/mysqlc/mysqlc_resultset.cxx                  |  
358 +--
 connectivity/source/drivers/mysqlc/mysqlc_resultset.hxx                  |  
246 ++
 connectivity/source/drivers/mysqlc/mysqlc_resultsetmetadata.cxx          |   
35 
 connectivity/source/drivers/mysqlc/mysqlc_resultsetmetadata.hxx          |  
109 +
 connectivity/source/drivers/mysqlc/mysqlc_services.cxx                   |   
74 
 connectivity/source/drivers/mysqlc/mysqlc_statement.cxx                  |  
170 -
 connectivity/source/drivers/mysqlc/mysqlc_statement.hxx                  |  
185 +
 connectivity/source/drivers/mysqlc/mysqlc_subcomponent.hxx               |  
164 +
 connectivity/source/drivers/mysqlc/mysqlc_types.cxx                      |  
680 ++++++
 connectivity/source/drivers/mysqlc/mysqlc_types.hxx                      |   
13 
 external/Module_external.mk                                              |    
1 
 external/mariadb-connector-c/StaticLibrary_mariadb-connector-c.mk        |    
2 
 external/mysql-connector-cpp/Makefile                                    |    
7 
 external/mysql-connector-cpp/Module_mysql-connector-cpp.mk               |   
17 
 external/mysql-connector-cpp/README                                      |    
1 
 external/mysql-connector-cpp/UnpackedTarball_mysql-connector-cpp.mk      |   
26 
 external/mysql-connector-cpp/binding_config.h                            |    
5 
 external/mysql-connector-cpp/config.h                                    |   
39 
 external/mysql-connector-cpp/patches/dynexcspec.patch.0                  |   
15 
 external/mysql-connector-cpp/patches/enable-libmysql-proxy.patch         |   
27 
 external/mysql-connector-cpp/patches/mysql-connector-c++-1.1.0.patch     |  
115 -
 external/mysql-connector-cpp/patches/warnings.patch.0                    |   
11 
 external/mysql-connector-cpp/version_info.h                              |   
42 
 mysqlc/Configuration_mysql.mk                                            |   
15 
 mysqlc/Extension_mysql-connector-ooo.mk                                  |   
35 
 mysqlc/Makefile                                                          |    
7 
 mysqlc/Module_mysqlc.mk                                                  |   
23 
 mysqlc/README                                                            |   
79 
 mysqlc/Rdb_mysqlc.mk                                                     |   
16 
 mysqlc/source/mysqlc_connection.hxx                                      |  
191 -
 mysqlc/source/mysqlc_databasemetadata.hxx                                |  
219 --
 mysqlc/source/mysqlc_driver.cxx                                          |  
283 --
 mysqlc/source/mysqlc_driver.hxx                                          |  
124 -
 mysqlc/source/mysqlc_general.hxx                                         |  
128 -
 mysqlc/source/mysqlc_preparedstatement.hxx                               |  
163 -
 mysqlc/source/mysqlc_resultset.hxx                                       |  
247 --
 mysqlc/source/mysqlc_resultsetmetadata.hxx                               |  
110 -
 mysqlc/source/mysqlc_statement.hxx                                       |  
189 -
 mysqlc/source/mysqlc_subcomponent.hxx                                    |  
163 -
 mysqlc/source/mysqlc_types.cxx                                           |  
682 ------
 postprocess/CustomTarget_registry.mk                                     |    
4 
 postprocess/Rdb_services.mk                                              |    
2 
 solenv/qa/python/gbuildtojson.py                                         |    
2 
 75 files changed, 4345 insertions(+), 5958 deletions(-)

New commits:
commit 26b40fcfc67480e75bd9959b0c5cb9db10fdf6a1
Author:     Tamas Bunth <tamas.bu...@collabora.co.uk>
AuthorDate: Thu Aug 16 16:35:17 2018 +0200
Commit:     Tamás Bunth <btom...@gmail.com>
CommitDate: Fri Aug 24 17:19:51 2018 +0200

    Moving mysqlc into connectivity as a library
    
    Additionally I erased the remains of the old mysql C++ connector.
    
    Also update the code where the clang plugins were unhappy after moving
    the mysqlc module.
    
    Remove mysql-cpp-connector external.
    
    Change-Id: I771cc7afacf5012fc349afb6b36828fb0fee5a66
    Reviewed-on: https://gerrit.libreoffice.org/59200
    Tested-by: Jenkins
    Reviewed-by: Tamás Bunth <btom...@gmail.com>

diff --git a/Repository.mk b/Repository.mk
index 9936b0e71c8c..b5c0b5b151a1 100644
--- a/Repository.mk
+++ b/Repository.mk
@@ -405,7 +405,7 @@ $(eval $(call 
gb_Helper_register_libraries_for_install,OOOLIBS,ooo, \
        msfilter \
        $(call gb_Helper_optional,SCRIPTING,msforms) \
        mtfrenderer \
-       $(call gb_Helper_optional,DBCONNECTIVITY,mysql) \
+       $(call gb_Helper_optional,DBCONNECTIVITY,mysqlc) \
        numbertext \
        odbc \
        odfflatxml \
@@ -722,7 +722,6 @@ $(eval $(call 
gb_Helper_register_libraries_for_install,UNOVERLIBS,ure, \
 
 $(eval $(call gb_Helper_register_libraries,EXTENSIONLIBS, \
        active_native \
-       mysqlc \
        passive_native \
 ))
 
diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
index 788840851726..f0acedbf654e 100644
--- a/RepositoryExternal.mk
+++ b/RepositoryExternal.mk
@@ -228,8 +228,11 @@ endef
 endif # SYSTEM_EPOXY
 
 define gb_LinkTarget__use_iconv
+ifeq ($(COM),MSC)
+$(call gb_LinkTarget_add_libs,$(1),libiconv.lib)
+else
 $(call gb_LinkTarget_add_libs,$(1),-liconv)
-
+endif
 endef
 
 ifneq ($(SYSTEM_MARIADB_CONNECTOR_C),)
diff --git a/RepositoryModule_host.mk b/RepositoryModule_host.mk
index 3b530286114e..e6f93c869ccd 100644
--- a/RepositoryModule_host.mk
+++ b/RepositoryModule_host.mk
@@ -81,7 +81,6 @@ $(eval $(call gb_Module_add_moduledirs,libreoffice,\
        linguistic \
        lotuswordpro \
        $(call gb_Helper_optional,DESKTOP,l10ntools) \
-       $(call gb_Helper_optional,MARIADBC,mysqlc) \
        $(call gb_Helper_optional,NLPSOLVER,nlpsolver) \
        o3tl \
        $(call gb_Helper_optional,ODK,odk) \
diff --git a/configure.ac b/configure.ac
index 88dd8bfb3e1a..0bd0b862729e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1005,11 +1005,6 @@ AC_ARG_ENABLE(dynamic-loading,
         [Disable any use of dynamic loading of code. Work in progress, use 
only if you are hacking on it.])
 )
 
-libo_FUZZ_ARG_ENABLE(ext-mariadb-connector,
-    AS_HELP_STRING([--enable-ext-mariadb-connector],
-        [Enable the build of the MariaDB/MySQL Connector extension.])
-)
-
 libo_FUZZ_ARG_ENABLE(report-builder,
     AS_HELP_STRING([--disable-report-builder],
         [Disable the Report Builder.])
@@ -1731,12 +1726,12 @@ AC_ARG_WITH(system-apache-commons,
 AC_ARG_WITH(system-mariadb,
     AS_HELP_STRING([--with-system-mariadb],
         [Use MariaDB/MySQL libraries already on system, for building the 
MariaDB Connector/LibreOffice
-         extension.]),,
+         .]),,
     [with_system_mariadb="$with_system_libs"])
 
 AC_ARG_ENABLE(bundle-mariadb,
     AS_HELP_STRING([--enable-bundle-mariadb],
-        [When using MariaDB/MySQL libraries already on system, bundle them 
with the MariaDB Connector/LibreOffice extension.])
+        [When using MariaDB/MySQL libraries already on system, bundle them 
with the MariaDB Connector/LibreOffice.])
 )
 
 AC_ARG_WITH(system-mysql-cppconn,
@@ -8320,18 +8315,12 @@ AC_SUBST(PYTHON_VERSION)
 AC_SUBST(PYTHON_VERSION_MAJOR)
 AC_SUBST(PYTHON_VERSION_MINOR)
 
-AC_MSG_CHECKING([whether to build the MariaDB/MySQL Connector extension])
-if test "x$enable_ext_mariadb_connector" = "xyes" -a 
"x$enable_extension_integration" != "xno"; then
-    AC_MSG_RESULT([yes])
-    ENABLE_MARIADBC=TRUE
-    MARIADBC_MAJOR=1
-    MARIADBC_MINOR=0
-    MARIADBC_MICRO=2
-    BUILD_TYPE="$BUILD_TYPE MARIADBC"
-else
-    AC_MSG_RESULT([no])
-    ENABLE_MARIADBC=
-fi
+ENABLE_MARIADBC=TRUE
+MARIADBC_MAJOR=1
+MARIADBC_MINOR=0
+MARIADBC_MICRO=2
+BUILD_TYPE="$BUILD_TYPE MARIADBC"
+
 AC_SUBST(ENABLE_MARIADBC)
 AC_SUBST(MARIADBC_MAJOR)
 AC_SUBST(MARIADBC_MINOR)
@@ -12550,9 +12539,6 @@ if test "$enable_mpl_subset" = "yes"; then
     if test "$WITH_WEBDAV" = "neon"; then
         AC_MSG_ERROR([need --with-webdav=serf or --without-webdav - webdav 
support.])
     fi
-    if test "x$enable_ext_mariadb_connector" = "xyes"; then
-        AC_MSG_ERROR([need to --disable-ext-mariadb-connector - mariadb/mysql 
support.])
-    fi
     if test -n "$ENABLE_PDFIMPORT"; then
         if test "x$SYSTEM_POPPLER" = "x"; then
             AC_MSG_ERROR([need to disable PDF import via poppler or use system 
library])
diff --git a/connectivity/Configuration_mysql.mk 
b/connectivity/Configuration_mysql.mk
index 1cb07ca71441..3e3f0b908ecb 100644
--- a/connectivity/Configuration_mysql.mk
+++ b/connectivity/Configuration_mysql.mk
@@ -7,14 +7,13 @@
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 #
 
-$(eval $(call gb_Configuration_Configuration,driver_mysql))
+$(eval $(call gb_Configuration_Configuration,mysqlc))
 
-$(eval $(call 
gb_Configuration_add_spool_modules,driver_mysql,connectivity/registry/mysql,\
+$(eval $(call 
gb_Configuration_add_spool_modules,mysqlc,connectivity/registry/mysqlc,\
        org/openoffice/Office/DataAccess/Drivers-mysql.xcu \
 ))
 
-$(eval $(call 
gb_Configuration_add_localized_datas,driver_mysql,connectivity/registry/mysql,\
+$(eval $(call 
gb_Configuration_add_localized_datas,mysqlc,connectivity/registry/mysqlc,\
        org/openoffice/Office/DataAccess/Drivers.xcu \
 ))
 
-# vim: set noet sw=4 ts=4:
diff --git a/connectivity/Library_mysql.mk b/connectivity/Library_mysql.mk
deleted file mode 100644
index ac3c0c2619e8..000000000000
--- a/connectivity/Library_mysql.mk
+++ /dev/null
@@ -1,48 +0,0 @@
-# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
-#
-#
-# This file is part of the LibreOffice project.
-#
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-#
-
-$(eval $(call gb_Library_Library,mysql))
-
-$(eval $(call 
gb_Library_set_componentfile,mysql,connectivity/source/drivers/mysql/mysql))
-
-$(eval $(call gb_Library_use_external,mysql,boost_headers))
-
-$(eval $(call gb_Library_use_sdk_api,mysql))
-
-$(eval $(call gb_Library_set_include,mysql,\
-       $$(INCLUDE) \
-       -I$(SRCDIR)/connectivity/inc \
-       -I$(SRCDIR)/connectivity/source/inc \
-))
-
-$(eval $(call 
gb_Library_set_precompiled_header,mysql,$(SRCDIR)/connectivity/inc/pch/precompiled_mysql))
-
-$(eval $(call gb_Library_use_libraries,mysql,\
-       cppu \
-       cppuhelper \
-       sal \
-       salhelper \
-       dbtools \
-       comphelper \
-))
-
-$(eval $(call gb_Library_add_exception_objects,mysql,\
-       connectivity/source/drivers/mysql/YDriver \
-       connectivity/source/drivers/mysql/YTables \
-       connectivity/source/drivers/mysql/YTable \
-       connectivity/source/drivers/mysql/YViews \
-       connectivity/source/drivers/mysql/YCatalog \
-       connectivity/source/drivers/mysql/YColumns \
-       connectivity/source/drivers/mysql/YUser \
-       connectivity/source/drivers/mysql/YUsers \
-       connectivity/source/drivers/mysql/Yservices \
-))
-
-# vim: set noet sw=4 ts=4:
diff --git a/mysqlc/Library_mysqlc.mk b/connectivity/Library_mysqlc.mk
similarity index 61%
rename from mysqlc/Library_mysqlc.mk
rename to connectivity/Library_mysqlc.mk
index 8e1205c2fdb8..cc8625d060a2 100644
--- a/mysqlc/Library_mysqlc.mk
+++ b/connectivity/Library_mysqlc.mk
@@ -11,7 +11,6 @@ $(eval $(call gb_Library_Library,mysqlc))
 
 $(eval $(call gb_Library_use_externals,mysqlc,\
        boost_headers \
-       mysql-connector-cpp \
        mariadb-connector-c \
 ))
 
@@ -19,6 +18,13 @@ ifeq ($(OS)-$(SYSTEM_MARIADB_CONNECTOR_C),MACOSX-)
 $(eval $(call gb_Library_use_external,mysqlc,iconv))
 endif
 
+$(eval $(call gb_Library_set_include,firebird_sdbc,\
+       -I$(SRCDIR)/connectivity/inc \
+       -I$(SRCDIR)/connectivity/source/inc \
+       $$(INCLUDE) \
+       -I$(WORKDIR)/YaccTarget/connectivity/source/parse \
+))
+
 ifeq ($(SYSTEM_MYSQL_CONNECTOR_CPP),)
 $(eval $(call gb_Library_add_libs,mysqlc,\
        $(if $(filter-out WNT,$(OS)),$(if $(filter MACOSX SOLARIS,$(OS)),-lz 
-lm,\
@@ -48,21 +54,19 @@ $(eval $(call gb_Library_add_defs,mysqlc,\
 ))
 
 $(eval $(call gb_Library_add_exception_objects,mysqlc,\
-       mysqlc/source/mysqlc_driver \
-       mysqlc/source/mysqlc_services \
-       mysqlc/source/mysqlc_connection \
-       mysqlc/source/mysqlc_resultset \
-       mysqlc/source/mysqlc_prepared_resultset \
-       mysqlc/source/mysqlc_resultsetmetadata \
-       mysqlc/source/mysqlc_statement \
-       mysqlc/source/mysqlc_preparedstatement \
-       mysqlc/source/mysqlc_databasemetadata \
-       mysqlc/source/mysqlc_types \
-       mysqlc/source/mysqlc_general \
+       connectivity/source/drivers/mysqlc/mysqlc_driver \
+       connectivity/source/drivers/mysqlc/mysqlc_services \
+       connectivity/source/drivers/mysqlc/mysqlc_connection \
+       connectivity/source/drivers/mysqlc/mysqlc_resultset \
+       connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset \
+       connectivity/source/drivers/mysqlc/mysqlc_resultsetmetadata \
+       connectivity/source/drivers/mysqlc/mysqlc_statement \
+       connectivity/source/drivers/mysqlc/mysqlc_preparedstatement \
+       connectivity/source/drivers/mysqlc/mysqlc_databasemetadata \
+       connectivity/source/drivers/mysqlc/mysqlc_types \
+       connectivity/source/drivers/mysqlc/mysqlc_general \
 ))
 
-$(eval $(call gb_Library_set_componentfile,mysqlc,mysqlc/source/mysqlc))
-
-$(eval $(call gb_Library_set_external_code,mysqlc))
+$(eval $(call 
gb_Library_set_componentfile,mysqlc,connectivity/source/drivers/mysqlc/mysqlc))
 
 # vim: set noet sw=4 ts=4:
diff --git a/connectivity/Module_connectivity.mk 
b/connectivity/Module_connectivity.mk
index 3ba7ecf01d41..0fc587daa340 100644
--- a/connectivity/Module_connectivity.mk
+++ b/connectivity/Module_connectivity.mk
@@ -20,7 +20,6 @@ $(eval $(call gb_Module_add_targets,connectivity,\
        Configuration_calc \
        Configuration_dbase \
        Configuration_flat \
-       Configuration_mysql \
        Configuration_odbc \
        Configuration_writer \
        Library_calc \
@@ -28,7 +27,6 @@ $(eval $(call gb_Module_add_targets,connectivity,\
        Library_dbpool2 \
        Library_file \
        Library_flat \
-       Library_mysql \
        $(if $(filter ANDROID IOS,$(OS)),,Library_odbc) \
        Library_sdbc2 \
        Library_writer \
@@ -81,6 +79,13 @@ $(eval $(call gb_Module_add_targets,connectivity,\
 ))
 endif
 
+ifeq ($(ENABLE_MARIADBC),TRUE)
+$(eval $(call gb_Module_add_targets,connectivity,\
+       Configuration_mysql \
+       Library_mysqlc \
+))
+endif
+
 ifneq ($(BUILD_POSTGRESQL_SDBC),)
 $(eval $(call gb_Module_add_targets,connectivity,\
        Configuration_postgresql \
diff --git 
a/connectivity/registry/mysql/org/openoffice/Office/DataAccess/Drivers.xcu 
b/connectivity/registry/mysql/org/openoffice/Office/DataAccess/Drivers.xcu
deleted file mode 100644
index 77988448f722..000000000000
--- a/connectivity/registry/mysql/org/openoffice/Office/DataAccess/Drivers.xcu
+++ /dev/null
@@ -1,264 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- -->
-<oor:component-data oor:name="Drivers" 
oor:package="org.openoffice.Office.DataAccess" 
xmlns:install="http://openoffice.org/2004/installation"; 
xmlns:oor="http://openoffice.org/2001/registry"; 
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
-  <node oor:name="Installed" install:module="mysql">
-    <node oor:name="sdbc:mysql:jdbc:*" oor:op="replace">
-      <prop oor:name="Driver">
-        <value>org.openoffice.comp.drivers.MySQL.Driver</value>
-      </prop>
-      <prop oor:name="DriverTypeDisplayName" oor:type="xs:string">
-        <value xml:lang="en-US">MySQL (JDBC)</value>
-      </prop>
-      <node oor:name="Properties">
-        <node oor:name="CharSet" oor:op="replace">
-          <prop oor:name="Value" oor:type="xs:string">
-            <value></value>
-          </prop>
-        </node>
-        <node oor:name="JavaDriverClass" oor:op="replace">
-          <prop oor:name="Value" oor:type="xs:string">
-            <value>com.mysql.jdbc.Driver</value>
-          </prop>
-        </node>
-        <node oor:name="AddIndexAppendix" oor:op="replace">
-          <prop oor:name="Value" oor:type="xs:boolean">
-            <value>true</value>
-          </prop>
-        </node>
-        <node oor:name="ParameterNameSubstitution" oor:op="replace">
-          <prop oor:name="Value" oor:type="xs:boolean">
-            <value>true</value>
-          </prop>
-        </node>
-      </node>
-      <node oor:name="Features">
-        <node oor:name="UseKeywordAsBeforeAlias" oor:op="replace">
-          <prop oor:name="Value" oor:type="xs:boolean">
-            <value>true</value>
-          </prop>
-        </node>
-        <node oor:name="IgnoreDriverPrivileges" oor:op="replace">
-          <prop oor:name="Value" oor:type="xs:boolean">
-            <value>true</value>
-          </prop>
-        </node>
-        <node oor:name="DisplayVersionColumns" oor:op="replace">
-          <prop oor:name="Value" oor:type="xs:boolean">
-            <value>true</value>
-          </prop>
-        </node>
-        <node oor:name="UseDOSLineEnds" oor:op="replace">
-          <prop oor:name="Value" oor:type="xs:boolean">
-            <value>true</value>
-          </prop>
-        </node>
-        <node oor:name="BooleanComparisonMode" oor:op="replace">
-          <prop oor:name="Value" oor:type="xs:boolean">
-            <value>true</value>
-          </prop>
-        </node>
-        <node oor:name="FormsCheckRequiredFields" oor:op="replace">
-          <prop oor:name="Value" oor:type="xs:boolean">
-            <value>true</value>
-          </prop>
-        </node>
-      </node>
-      <node oor:name="MetaData">
-        <node oor:name="SupportsTableCreation" oor:op="replace">
-          <prop oor:name="Value" oor:type="xs:boolean">
-            <value>true</value>
-          </prop>
-        </node>
-        <node oor:name="UseJava" oor:op="replace">
-          <prop oor:name="Value" oor:type="xs:boolean">
-            <value>true</value>
-          </prop>
-        </node>
-        <node oor:name="Authentication" oor:op="replace">
-          <prop oor:name="Value" oor:type="xs:string">
-            <value>UserPassword</value>
-          </prop>
-        </node>
-        <node oor:name="SupportsColumnDescription" oor:op="replace">
-          <prop oor:name="Value" oor:type="xs:boolean">
-            <value>true</value>
-          </prop>
-        </node>
-      </node>
-    </node>
-    <node oor:name="sdbc:mysql:odbc:*" oor:op="replace">
-      <prop oor:name="Driver">
-        <value>org.openoffice.comp.drivers.MySQL.Driver</value>
-      </prop>
-      <prop oor:name="DriverTypeDisplayName" oor:type="xs:string">
-        <value xml:lang="en-US">MySQL (ODBC)</value>
-      </prop>
-      <node oor:name="Properties">
-        <node oor:name="CharSet" oor:op="replace">
-          <prop oor:name="Value" oor:type="xs:string">
-            <value></value>
-          </prop>
-        </node>
-        <node oor:name="AddIndexAppendix" oor:op="replace">
-          <prop oor:name="Value" oor:type="xs:boolean">
-            <value>true</value>
-          </prop>
-        </node>
-        <node oor:name="ParameterNameSubstitution" oor:op="replace">
-          <prop oor:name="Value" oor:type="xs:boolean">
-            <value>true</value>
-          </prop>
-        </node>
-      </node>
-      <node oor:name="Features">
-        <node oor:name="UseKeywordAsBeforeAlias" oor:op="replace">
-          <prop oor:name="Value" oor:type="xs:boolean">
-            <value>true</value>
-          </prop>
-        </node>
-        <node oor:name="IgnoreDriverPrivileges" oor:op="replace">
-          <prop oor:name="Value" oor:type="xs:boolean">
-            <value>true</value>
-          </prop>
-        </node>
-        <node oor:name="DisplayVersionColumns" oor:op="replace">
-          <prop oor:name="Value" oor:type="xs:boolean">
-            <value>true</value>
-          </prop>
-        </node>
-        <node oor:name="UseDOSLineEnds" oor:op="replace">
-          <prop oor:name="Value" oor:type="xs:boolean">
-            <value>true</value>
-          </prop>
-        </node>
-        <node oor:name="BooleanComparisonMode" oor:op="replace">
-          <prop oor:name="Value" oor:type="xs:boolean">
-            <value>true</value>
-          </prop>
-        </node>
-        <node oor:name="FormsCheckRequiredFields" oor:op="replace">
-          <prop oor:name="Value" oor:type="xs:boolean">
-            <value>true</value>
-          </prop>
-        </node>
-      </node>
-      <node oor:name="MetaData">
-        <node oor:name="SupportsTableCreation" oor:op="replace">
-          <prop oor:name="Value" oor:type="xs:boolean">
-            <value>true</value>
-          </prop>
-        </node>
-        <node oor:name="SupportsBrowsing" oor:op="replace">
-          <prop oor:name="Value" oor:type="xs:boolean">
-            <value>true</value>
-          </prop>
-        </node>
-        <node oor:name="Authentication" oor:op="replace">
-          <prop oor:name="Value" oor:type="xs:string">
-            <value>UserPassword</value>
-          </prop>
-        </node>
-      </node>
-    </node>
-    <node oor:name="sdbc:mysql:mysqlc:*" oor:op="replace">
-      <prop oor:name="Driver">
-        <value>org.openoffice.comp.drivers.MySQL.Driver</value>
-      </prop>
-      <prop oor:name="DriverTypeDisplayName" oor:type="xs:string">
-        <value xml:lang="en-US">MySQL (Native)</value>
-      </prop>
-      <node oor:name="Properties">
-        <node oor:name="CharSet" oor:op="replace">
-          <prop oor:name="Value" oor:type="xs:string">
-            <value></value>
-          </prop>
-        </node>
-        <node oor:name="LocalSocket" oor:op="replace">
-          <prop oor:name="Value" oor:type="xs:string">
-            <value></value>
-          </prop>
-        </node>
-        <node oor:name="NamedPipe" oor:op="replace">
-          <prop oor:name="Value" oor:type="xs:string">
-            <value></value>
-          </prop>
-        </node>
-        <node oor:name="AddIndexAppendix" oor:op="replace">
-          <prop oor:name="Value" oor:type="xs:boolean">
-            <value>true</value>
-          </prop>
-        </node>
-        <node oor:name="ParameterNameSubstitution" oor:op="replace">
-          <prop oor:name="Value" oor:type="xs:boolean">
-            <value>true</value>
-          </prop>
-        </node>
-      </node>
-      <node oor:name="Features">
-        <node oor:name="UseKeywordAsBeforeAlias" oor:op="replace">
-          <prop oor:name="Value" oor:type="xs:boolean">
-            <value>true</value>
-          </prop>
-        </node>
-        <node oor:name="IgnoreDriverPrivileges" oor:op="replace">
-          <prop oor:name="Value" oor:type="xs:boolean">
-            <value>true</value>
-          </prop>
-        </node>
-        <node oor:name="DisplayVersionColumns" oor:op="replace">
-          <prop oor:name="Value" oor:type="xs:boolean">
-            <value>true</value>
-          </prop>
-        </node>
-        <node oor:name="UseDOSLineEnds" oor:op="replace">
-          <prop oor:name="Value" oor:type="xs:boolean">
-            <value>true</value>
-          </prop>
-        </node>
-        <node oor:name="BooleanComparisonMode" oor:op="replace">
-          <prop oor:name="Value" oor:type="xs:boolean">
-            <value>true</value>
-          </prop>
-        </node>
-        <node oor:name="FormsCheckRequiredFields" oor:op="replace">
-          <prop oor:name="Value" oor:type="xs:boolean">
-            <value>true</value>
-          </prop>
-        </node>
-      </node>
-      <node oor:name="MetaData">
-        <node oor:name="SupportsTableCreation" oor:op="replace">
-          <prop oor:name="Value" oor:type="xs:boolean">
-            <value>true</value>
-          </prop>
-        </node>
-        <node oor:name="Authentication" oor:op="replace">
-          <prop oor:name="Value" oor:type="xs:string">
-            <value>UserPassword</value>
-          </prop>
-        </node>
-        <node oor:name="SupportsColumnDescription" oor:op="replace">
-          <prop oor:name="Value" oor:type="xs:boolean">
-            <value>true</value>
-          </prop>
-        </node>
-      </node>
-    </node>
-  </node>
-</oor:component-data>
diff --git 
a/mysqlc/source/registry/data/org/openoffice/Office/DataAccess/Drivers.xcu 
b/connectivity/registry/mysqlc/org/openoffice/Office/DataAccess/Drivers.xcu
similarity index 100%
rename from 
mysqlc/source/registry/data/org/openoffice/Office/DataAccess/Drivers.xcu
rename to 
connectivity/registry/mysqlc/org/openoffice/Office/DataAccess/Drivers.xcu
diff --git a/connectivity/source/drivers/mysql/YCatalog.cxx 
b/connectivity/source/drivers/mysql/YCatalog.cxx
deleted file mode 100644
index 020085c9141a..000000000000
--- a/connectivity/source/drivers/mysql/YCatalog.cxx
+++ /dev/null
@@ -1,138 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#include <mysql/YCatalog.hxx>
-#include <mysql/YUsers.hxx>
-#include <mysql/YTables.hxx>
-#include <mysql/YViews.hxx>
-#include <com/sun/star/sdbc/XRow.hpp>
-#include <com/sun/star/sdbc/XResultSet.hpp>
-#include <comphelper/types.hxx>
-
-
-using namespace connectivity;
-using namespace connectivity::mysql;
-using namespace connectivity::sdbcx;
-using namespace ::com::sun::star::uno;
-using namespace ::com::sun::star::beans;
-using namespace ::com::sun::star::sdbcx;
-using namespace ::com::sun::star::sdbc;
-using namespace ::com::sun::star::container;
-using namespace ::com::sun::star::lang;
-
-OMySQLCatalog::OMySQLCatalog(const Reference< XConnection >& _xConnection) : 
OCatalog(_xConnection)
-                ,m_xConnection(_xConnection)
-{
-}
-
-void OMySQLCatalog::refreshObjects(const Sequence< OUString >& 
_sKindOfObject,::std::vector< OUString>& _rNames)
-{
-    Reference< XResultSet > xResult = m_xMetaData->getTables(Any(),
-                                                            "%",
-                                                            "%",
-                                                            _sKindOfObject);
-    fillNames(xResult,_rNames);
-}
-
-void OMySQLCatalog::refreshTables()
-{
-    ::std::vector< OUString> aVector;
-
-    Sequence< OUString > sTableTypes(3);
-    sTableTypes[0] = "VIEW";
-    sTableTypes[1] = "TABLE";
-    sTableTypes[2] = "%";    // just to be sure to include anything else ....
-
-    refreshObjects(sTableTypes,aVector);
-
-    if ( m_pTables )
-        m_pTables->reFill(aVector);
-    else
-        m_pTables.reset( new OTables(m_xMetaData,*this,m_aMutex,aVector) );
-}
-
-void OMySQLCatalog::refreshViews()
-{
-    Sequence< OUString > aTypes { "VIEW" };
-
-    // let's simply assume the server is new enough to support views. Current 
drivers
-    // as of this writing might not return the proper information in 
getTableTypes, so
-    // don't rely on it.
-
-    ::std::vector< OUString> aVector;
-    refreshObjects(aTypes,aVector);
-
-    if ( m_pViews )
-        m_pViews->reFill(aVector);
-    else
-        m_pViews.reset( new OViews(m_xMetaData,*this,m_aMutex,aVector) );
-}
-
-void OMySQLCatalog::refreshGroups()
-{
-}
-
-void OMySQLCatalog::refreshUsers()
-{
-    ::std::vector< OUString> aVector;
-    Reference< XStatement > xStmt = m_xConnection->createStatement(  );
-    Reference< XResultSet >  xResult = xStmt->executeQuery("SELECT grantee 
FROM information_schema.user_privileges GROUP BY grantee");
-    if ( xResult.is() )
-    {
-        Reference< XRow > xRow(xResult,UNO_QUERY);
-        while( xResult->next() )
-            aVector.push_back(xRow->getString(1));
-        ::comphelper::disposeComponent(xResult);
-    }
-    ::comphelper::disposeComponent(xStmt);
-
-    if(m_pUsers)
-        m_pUsers->reFill(aVector);
-    else
-        m_pUsers.reset( new OUsers(*this,m_aMutex,aVector,m_xConnection,this) 
);
-}
-
-Any SAL_CALL OMySQLCatalog::queryInterface( const Type & rType )
-{
-    if ( rType == cppu::UnoType<XGroupsSupplier>::get())
-        return Any();
-
-
-    return OCatalog::queryInterface(rType);
-}
-
-Sequence< Type > SAL_CALL OMySQLCatalog::getTypes(  )
-{
-    Sequence< Type > aTypes = OCatalog::getTypes();
-    std::vector<Type> aOwnTypes;
-    aOwnTypes.reserve(aTypes.getLength());
-    const Type* pBegin = aTypes.getConstArray();
-    const Type* pEnd = pBegin + aTypes.getLength();
-    for(;pBegin != pEnd;++pBegin)
-    {
-        if ( !(*pBegin == cppu::UnoType<XGroupsSupplier>::get()))
-        {
-            aOwnTypes.push_back(*pBegin);
-        }
-    }
-    return Sequence< Type >(aOwnTypes.data(), aOwnTypes.size());
-}
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/mysql/YColumns.cxx 
b/connectivity/source/drivers/mysql/YColumns.cxx
deleted file mode 100644
index ceae5d44ee48..000000000000
--- a/connectivity/source/drivers/mysql/YColumns.cxx
+++ /dev/null
@@ -1,78 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#include <mysql/YColumns.hxx>
-#include <TConnection.hxx>
-
-
-using namespace ::comphelper;
-using namespace connectivity::mysql;
-using namespace connectivity::sdbcx;
-using namespace connectivity;
-using namespace ::com::sun::star::uno;
-using namespace ::com::sun::star::beans;
-using namespace ::com::sun::star::sdbcx;
-using namespace ::com::sun::star::sdbc;
-using namespace ::com::sun::star::container;
-using namespace ::com::sun::star::lang;
-
-OMySQLColumns::OMySQLColumns(   ::cppu::OWeakObject& _rParent
-                                ,::osl::Mutex& _rMutex
-                                ,const ::std::vector< OUString> &_rVector
-            ) : 
OColumnsHelper(_rParent,true/*_bCase*/,_rMutex,_rVector,true/*_bUseHardRef*/)
-{
-}
-
-Reference< XPropertySet > OMySQLColumns::createDescriptor()
-{
-    return new OMySQLColumn;
-}
-
-
-OMySQLColumn::OMySQLColumn()
-    : connectivity::sdbcx::OColumn( true )
-{
-    construct();
-}
-
-void OMySQLColumn::construct()
-{
-    m_sAutoIncrement = "auto_increment";
-    
registerProperty(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_AUTOINCREMENTCREATION),PROPERTY_ID_AUTOINCREMENTCREATION,0,&m_sAutoIncrement,
 cppu::UnoType<decltype(m_sAutoIncrement)>::get());
-}
-
-::cppu::IPropertyArrayHelper* OMySQLColumn::createArrayHelper( sal_Int32 
/*_nId*/ ) const
-{
-    return doCreateArrayHelper();
-}
-
-::cppu::IPropertyArrayHelper & SAL_CALL OMySQLColumn::getInfoHelper()
-{
-    return *OMySQLColumn_PROP::getArrayHelper(isNew() ? 1 : 0);
-}
-
-Sequence< OUString > SAL_CALL OMySQLColumn::getSupportedServiceNames(  )
-{
-    Sequence< OUString > aSupported { "com.sun.star.sdbcx.Column" };
-
-    return aSupported;
-}
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/mysql/YDriver.cxx 
b/connectivity/source/drivers/mysql/YDriver.cxx
deleted file mode 100644
index b78954531b93..000000000000
--- a/connectivity/source/drivers/mysql/YDriver.cxx
+++ /dev/null
@@ -1,492 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#include <mysql/YDriver.hxx>
-#include <mysql/YCatalog.hxx>
-#include <comphelper/namedvaluecollection.hxx>
-#include <comphelper/processfactory.hxx>
-#include <comphelper/types.hxx>
-#include <cppuhelper/supportsservice.hxx>
-#include <connectivity/dbexception.hxx>
-#include <connectivity/dbcharset.hxx>
-#include <com/sun/star/sdbc/DriverManager.hpp>
-#include <com/sun/star/uno/XComponentContext.hpp>
-#include <TConnection.hxx>
-#include <strings.hrc>
-#include <resource/sharedresources.hxx>
-
-namespace connectivity
-{
-
-    using namespace mysql;
-    using namespace ::com::sun::star::uno;
-    using namespace ::com::sun::star::sdbc;
-    using namespace ::com::sun::star::sdbcx;
-    using namespace ::com::sun::star::beans;
-    using namespace ::com::sun::star::lang;
-
-    namespace mysql
-    {
-        Reference< XInterface > ODriverDelegator_CreateInstance(const 
Reference< css::lang::XMultiServiceFactory >& _rxFac)
-        {
-            return *(new ODriverDelegator( 
comphelper::getComponentContext(_rxFac) ));
-        }
-    }
-
-    namespace
-    {
-        OUString getJavaDriverClass(
-            css::uno::Sequence<css::beans::PropertyValue> const & info)
-        {
-            return comphelper::NamedValueCollection(info).getOrDefault(
-                "JavaDriverClass", OUString("com.mysql.jdbc.Driver"));
-        }
-    }
-
-    ODriverDelegator::ODriverDelegator(const Reference< XComponentContext >& 
_rxContext)
-        : ODriverDelegator_BASE(m_aMutex)
-        ,m_xContext(_rxContext)
-    {
-    }
-
-
-    ODriverDelegator::~ODriverDelegator()
-    {
-        try
-        {
-            ::comphelper::disposeComponent(m_xODBCDriver);
-            ::comphelper::disposeComponent(m_xNativeDriver);
-            TJDBCDrivers::iterator aIter = m_aJdbcDrivers.begin();
-            TJDBCDrivers::const_iterator aEnd = m_aJdbcDrivers.end();
-            for ( ;aIter != aEnd;++aIter )
-                ::comphelper::disposeComponent(aIter->second);
-        }
-        catch(const Exception&)
-        {
-        }
-    }
-
-
-    void ODriverDelegator::disposing()
-    {
-        ::osl::MutexGuard aGuard(m_aMutex);
-
-
-        for (auto const& connection : m_aConnections)
-        {
-            Reference<XInterface > xTemp = connection.first.get();
-            ::comphelper::disposeComponent(xTemp);
-        }
-        m_aConnections.clear();
-        TWeakPairVector().swap(m_aConnections);
-
-        ODriverDelegator_BASE::disposing();
-    }
-
-    namespace
-    {
-        enum class T_DRIVERTYPE
-        {
-            Odbc,
-            Jdbc,
-            Native
-        };
-
-        bool isOdbcUrl(const OUString& _sUrl)
-        {
-            return _sUrl.startsWith("sdbc:mysql:odbc:");
-        }
-
-        bool isNativeUrl(const OUString& _sUrl)
-        {
-            return _sUrl.startsWith("sdbc:mysql:mysqlc:");
-        }
-
-        T_DRIVERTYPE lcl_getDriverType(const OUString& _sUrl)
-        {
-            T_DRIVERTYPE eRet = T_DRIVERTYPE::Jdbc;
-            if ( isOdbcUrl(_sUrl ) )
-                eRet = T_DRIVERTYPE::Odbc;
-            else if ( isNativeUrl(_sUrl ) )
-                eRet = T_DRIVERTYPE::Native;
-            return eRet;
-        }
-
-        OUString transformUrl(const OUString& _sUrl)
-        {
-            OUString sNewUrl = _sUrl.copy(11);
-            if ( isOdbcUrl( _sUrl ) )
-                sNewUrl = "sdbc:" + sNewUrl;
-            else if ( isNativeUrl( _sUrl ) )
-                sNewUrl = "sdbc:" + sNewUrl;
-            else
-            {
-                sNewUrl = "jdbc:mysql://" + sNewUrl.copy(5);
-            }
-            return sNewUrl;
-        }
-
-        Reference< XDriver > lcl_loadDriver(const Reference< XComponentContext 
>& _rxContext,const OUString& _sUrl)
-        {
-            Reference<XDriverManager2> xDriverAccess = 
DriverManager::create(_rxContext);
-            Reference< XDriver > xDriver = 
xDriverAccess->getDriverByURL(_sUrl);
-            return xDriver;
-        }
-
-        Sequence< PropertyValue > lcl_convertProperties(T_DRIVERTYPE 
_eType,const Sequence< PropertyValue >& info,const OUString& _sUrl)
-        {
-            std::vector<PropertyValue> aProps;
-            const PropertyValue* pSupported = info.getConstArray();
-            const PropertyValue* pEnd = pSupported + info.getLength();
-
-            aProps.reserve(info.getLength() + 5);
-            bool jdc = false;
-            for (;pSupported != pEnd; ++pSupported)
-            {
-                aProps.push_back( *pSupported );
-                if (pSupported->Name == "JavaDriverClass")
-                {
-                    jdc = true;
-                }
-            }
-
-            if ( _eType == T_DRIVERTYPE::Odbc )
-            {
-                aProps.push_back( PropertyValue(
-                                    "Silent"
-                                    ,0
-                                    ,makeAny(true)
-                                    ,PropertyState_DIRECT_VALUE) );
-                aProps.push_back( PropertyValue(
-                                    "PreventGetVersionColumns"
-                                    ,0
-                                    ,makeAny(true)
-                                    ,PropertyState_DIRECT_VALUE) );
-            }
-            else if ( _eType == T_DRIVERTYPE::Jdbc )
-            {
-                if (!jdc)
-                {
-                    aProps.push_back( PropertyValue(
-                                          "JavaDriverClass"
-                                          ,0
-                                          
,makeAny(OUString("com.mysql.jdbc.Driver"))
-                                          ,PropertyState_DIRECT_VALUE) );
-                }
-            }
-            else
-            {
-                aProps.push_back( PropertyValue(
-                                    "PublicConnectionURL"
-                                    ,0
-                                    ,makeAny(_sUrl)
-                                    ,PropertyState_DIRECT_VALUE) );
-            }
-            aProps.push_back( PropertyValue(
-                                "IsAutoRetrievingEnabled"
-                                ,0
-                                ,makeAny(true)
-                                ,PropertyState_DIRECT_VALUE) );
-            aProps.push_back( PropertyValue(
-                                "AutoRetrievingStatement"
-                                ,0
-                                ,makeAny(OUString("SELECT LAST_INSERT_ID()"))
-                                ,PropertyState_DIRECT_VALUE) );
-            aProps.push_back( PropertyValue(
-                                "ParameterNameSubstitution"
-                                ,0
-                                ,makeAny(true)
-                                ,PropertyState_DIRECT_VALUE) );
-            return Sequence< PropertyValue >(aProps.data(), aProps.size());
-        }
-    }
-
-    Reference< XDriver > ODriverDelegator::loadDriver( const OUString& url, 
const Sequence< PropertyValue >& info )
-    {
-        Reference< XDriver > xDriver;
-        const OUString sCuttedUrl = transformUrl(url);
-        const T_DRIVERTYPE eType = lcl_getDriverType( url );
-        if ( eType == T_DRIVERTYPE::Odbc )
-        {
-            if ( !m_xODBCDriver.is() )
-                m_xODBCDriver = lcl_loadDriver(m_xContext,sCuttedUrl);
-            xDriver = m_xODBCDriver;
-        } // if ( bIsODBC )
-        else if ( eType == T_DRIVERTYPE::Native )
-        {
-            if ( !m_xNativeDriver.is() )
-                m_xNativeDriver = lcl_loadDriver(m_xContext,sCuttedUrl);
-            xDriver = m_xNativeDriver;
-        }
-        else
-        {
-            OUString sDriverClass(getJavaDriverClass(info));
-            TJDBCDrivers::iterator aFind = m_aJdbcDrivers.find(sDriverClass);
-            if ( aFind == m_aJdbcDrivers.end() )
-                aFind = 
m_aJdbcDrivers.emplace(sDriverClass,lcl_loadDriver(m_xContext,sCuttedUrl)).first;
-            xDriver = aFind->second;
-        }
-
-        return xDriver;
-    }
-
-
-    Reference< XConnection > SAL_CALL ODriverDelegator::connect( const 
OUString& url, const Sequence< PropertyValue >& info )
-    {
-        Reference< XConnection > xConnection;
-        if ( acceptsURL(url) )
-        {
-            Reference< XDriver > xDriver;
-            xDriver = loadDriver(url,info);
-            if ( xDriver.is() )
-            {
-                OUString sCuttedUrl = transformUrl(url);
-                const T_DRIVERTYPE eType = lcl_getDriverType( url );
-                Sequence< PropertyValue > aConvertedProperties = 
lcl_convertProperties(eType,info,url);
-                if ( eType == T_DRIVERTYPE::Jdbc )
-                {
-                    ::comphelper::NamedValueCollection aSettings( info );
-                    OUString sIanaName = aSettings.getOrDefault( "CharSet", 
OUString() );
-                    if ( !sIanaName.isEmpty() )
-                    {
-                        ::dbtools::OCharsetMap aLookupIanaName;
-                        ::dbtools::OCharsetMap::const_iterator aLookup = 
aLookupIanaName.findIanaName(sIanaName);
-                        if (aLookup != aLookupIanaName.end() )
-                        {
-                            OUString sAdd;
-                            if ( RTL_TEXTENCODING_UTF8 == 
(*aLookup).getEncoding() )
-                            {
-                                static const char s_sCharSetOp[] = 
"useUnicode=true&";
-                                if ( 
!sCuttedUrl.matchIgnoreAsciiCase(s_sCharSetOp) )
-                                {
-                                    sAdd = s_sCharSetOp;
-                                } // if ( 
!sCuttedUrl.matchIgnoreAsciiCase(s_sCharSetOp) )
-                            } // if ( RTL_TEXTENCODING_UTF8 == 
(*aLookup).getEncoding() )
-                            if ( sCuttedUrl.indexOf('?') == -1 )
-                                sCuttedUrl += "?";
-                            else
-                                sCuttedUrl += "&";
-                            sCuttedUrl += sAdd;
-                            sCuttedUrl += "characterEncoding=";
-                            sCuttedUrl += sIanaName;
-                        }
-                    }
-                } // if ( !bIsODBC )
-
-                xConnection = xDriver->connect( sCuttedUrl, 
aConvertedProperties );
-                if ( xConnection.is() )
-                {
-                    OMetaConnection* pMetaConnection = nullptr;
-                    // now we have to set the URL to get the correct answer 
for metadata()->getURL()
-                    Reference< XUnoTunnel> xTunnel(xConnection,UNO_QUERY);
-                    if ( xTunnel.is() )
-                    {
-                        pMetaConnection = 
reinterpret_cast<OMetaConnection*>(xTunnel->getSomething( 
OMetaConnection::getUnoTunnelImplementationId() ));
-                        if ( pMetaConnection )
-                            pMetaConnection->setURL(url);
-                    }
-                    
m_aConnections.push_back(TWeakPair(WeakReferenceHelper(xConnection),TWeakConnectionPair(WeakReferenceHelper(),pMetaConnection)));
-                }
-            }
-        }
-        return xConnection;
-    }
-
-
-    sal_Bool SAL_CALL ODriverDelegator::acceptsURL( const OUString& url )
-    {
-        Sequence< PropertyValue > info;
-
-        bool bOK =  url.startsWith( "sdbc:mysql:odbc:" )
-                    ||  url.startsWith( "sdbc:mysql:jdbc:" )
-                    ||  (   url.startsWith( "sdbc:mysql:mysqlc:" )
-                        &&  loadDriver( url, info ).is()
-                        );
-        return bOK;
-    }
-
-
-    Sequence< DriverPropertyInfo > SAL_CALL ODriverDelegator::getPropertyInfo( 
const OUString& url, const Sequence< PropertyValue >& info )
-    {
-        std::vector< DriverPropertyInfo > aDriverInfo;
-        if ( !acceptsURL(url) )
-            return Sequence< DriverPropertyInfo >();
-
-        Sequence< OUString > aBoolean(2);
-        aBoolean[0] = "0";
-        aBoolean[1] = "1";
-
-
-        aDriverInfo.push_back(DriverPropertyInfo(
-                "CharSet"
-                ,"CharSet of the database."
-                ,false
-                ,OUString()
-                ,Sequence< OUString >())
-                );
-        aDriverInfo.push_back(DriverPropertyInfo(
-                "SuppressVersionColumns"
-                ,"Display version columns (when available)."
-                ,false
-                ,"0"
-                ,aBoolean)
-                );
-        const T_DRIVERTYPE eType = lcl_getDriverType( url );
-        if ( eType == T_DRIVERTYPE::Jdbc )
-        {
-            aDriverInfo.push_back(DriverPropertyInfo(
-                    "JavaDriverClass"
-                    ,"The JDBC driver class name."
-                    ,true
-                    ,getJavaDriverClass(info)
-                    ,Sequence< OUString >())
-                    );
-        }
-        else if ( eType == T_DRIVERTYPE::Native )
-        {
-            aDriverInfo.push_back(DriverPropertyInfo(
-                    "LocalSocket"
-                    ,"The file path of a socket to connect to a local MySQL 
server."
-                    ,false
-                    ,OUString()
-                    ,Sequence< OUString >())
-                    );
-            aDriverInfo.push_back(DriverPropertyInfo(
-                    "NamedPipe"
-                    ,"The name of a pipe to connect to a local MySQL server."
-                    ,false
-                    ,OUString()
-                    ,Sequence< OUString >())
-                    );
-        }
-
-        return Sequence< DriverPropertyInfo 
>(&aDriverInfo[0],aDriverInfo.size());
-    }
-
-
-    sal_Int32 SAL_CALL ODriverDelegator::getMajorVersion(  )
-    {
-        return 1;
-    }
-
-
-    sal_Int32 SAL_CALL ODriverDelegator::getMinorVersion(  )
-    {
-        return 0;
-    }
-
-
-    Reference< XTablesSupplier > SAL_CALL 
ODriverDelegator::getDataDefinitionByConnection( const Reference< XConnection 
>& connection )
-    {
-        ::osl::MutexGuard aGuard( m_aMutex );
-        checkDisposed(ODriverDelegator_BASE::rBHelper.bDisposed);
-
-        Reference< XTablesSupplier > xTab;
-        Reference< XUnoTunnel> xTunnel(connection,UNO_QUERY);
-        if ( xTunnel.is() )
-        {
-            OMetaConnection* pConnection = 
reinterpret_cast<OMetaConnection*>(xTunnel->getSomething( 
OMetaConnection::getUnoTunnelImplementationId() ));
-            if ( pConnection )
-            {
-                TWeakPairVector::const_iterator aEnd = m_aConnections.end();
-                for (TWeakPairVector::iterator i = m_aConnections.begin(); 
aEnd != i; ++i)
-                {
-                    if ( i->second.second == pConnection )
-                    {
-                        xTab.set(i->second.first.get().get(),UNO_QUERY);
-                        if ( !xTab.is() )
-                        {
-                            xTab = new OMySQLCatalog(connection);
-                            i->second.first = WeakReferenceHelper(xTab);
-                        }
-                        break;
-                    }
-                }
-            }
-        } // if ( xTunnel.is() )
-        if ( !xTab.is() )
-        {
-            TWeakPairVector::const_iterator aEnd = m_aConnections.end();
-            for (TWeakPairVector::iterator i = m_aConnections.begin(); aEnd != 
i; ++i)
-            {
-                Reference< XConnection > xTemp(i->first.get(),UNO_QUERY);
-                if ( xTemp == connection )
-                {
-                    xTab.set(i->second.first.get().get(),UNO_QUERY);
-                    if ( !xTab.is() )
-                    {
-                        xTab = new OMySQLCatalog(connection);
-                        i->second.first = WeakReferenceHelper(xTab);
-                    }
-                    break;
-                }
-            }
-        }
-        return xTab;
-    }
-
-
-    Reference< XTablesSupplier > SAL_CALL 
ODriverDelegator::getDataDefinitionByURL( const OUString& url, const Sequence< 
PropertyValue >& info )
-    {
-        if ( ! acceptsURL(url) )
-        {
-            ::connectivity::SharedResources aResources;
-            const OUString sMessage = 
aResources.getResourceString(STR_URI_SYNTAX_ERROR);
-            ::dbtools::throwGenericSQLException(sMessage ,*this);
-        } // if ( ! acceptsURL(url) )
-
-        return getDataDefinitionByConnection(connect(url,info));
-    }
-
-    // XServiceInfo
-
-
-    OUString ODriverDelegator::getImplementationName_Static(  )
-    {
-        return OUString("org.openoffice.comp.drivers.MySQL.Driver");
-    }
-
-    Sequence< OUString > ODriverDelegator::getSupportedServiceNames_Static(  )
-    {
-        Sequence< OUString > aSNS( 2 );
-        aSNS[0] = "com.sun.star.sdbc.Driver";
-        aSNS[1] = "com.sun.star.sdbcx.Driver";
-        return aSNS;
-    }
-
-    OUString SAL_CALL ODriverDelegator::getImplementationName(  )
-    {
-        return getImplementationName_Static();
-    }
-
-    sal_Bool SAL_CALL ODriverDelegator::supportsService( const OUString& 
_rServiceName )
-    {
-        return cppu::supportsService(this, _rServiceName);
-    }
-
-    Sequence< OUString > SAL_CALL ODriverDelegator::getSupportedServiceNames(  
)
-    {
-        return getSupportedServiceNames_Static();
-    }
-
-
-}   // namespace connectivity
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/mysql/YTable.cxx 
b/connectivity/source/drivers/mysql/YTable.cxx
deleted file mode 100644
index 7192c2393907..000000000000
--- a/connectivity/source/drivers/mysql/YTable.cxx
+++ /dev/null
@@ -1,356 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#include <string.h>
-#include <mysql/YTable.hxx>
-#include <mysql/YTables.hxx>
-#include <com/sun/star/sdbc/XRow.hpp>
-#include <com/sun/star/sdbc/XResultSet.hpp>
-#include <com/sun/star/sdbcx/KeyType.hpp>
-#include <com/sun/star/sdbc/KeyRule.hpp>
-#include <cppuhelper/typeprovider.hxx>
-#include <com/sun/star/lang/DisposedException.hpp>
-#include <com/sun/star/sdbc/ColumnValue.hpp>
-#include <com/sun/star/sdbcx/Privilege.hpp>
-#include <comphelper/property.hxx>
-#include <comphelper/types.hxx>
-#include <connectivity/dbtools.hxx>
-#include <connectivity/sdbcx/VColumn.hxx>
-#include <connectivity/TKeys.hxx>
-#include <connectivity/TIndexes.hxx>
-#include <connectivity/TColumnsHelper.hxx>
-#include <mysql/YCatalog.hxx>
-#include <mysql/YColumns.hxx>
-#include <TConnection.hxx>
-
-
-using namespace ::comphelper;
-using namespace connectivity::mysql;
-using namespace connectivity::sdbcx;
-using namespace connectivity;
-using namespace ::com::sun::star::uno;
-using namespace ::com::sun::star::beans;
-using namespace ::com::sun::star::sdbcx;
-using namespace ::com::sun::star::sdbc;
-using namespace ::com::sun::star::container;
-using namespace ::com::sun::star::lang;
-namespace connectivity
-{
-    namespace mysql
-    {
-        class OMySQLKeysHelper : public OKeysHelper
-        {
-        protected:
-
-            virtual OUString getDropForeignKey() const override
-            {
-                return OUString(" DROP FOREIGN KEY ");
-            }
-        public:
-            OMySQLKeysHelper(   OTableHelper* _pTable,
-                ::osl::Mutex& _rMutex,
-                const ::std::vector< OUString>& _rVector
-                ) : OKeysHelper(_pTable,_rMutex,_rVector){}
-
-        };
-    }
-}
-
-OMySQLTable::OMySQLTable(   sdbcx::OCollection* _pTables,
-                           const Reference< XConnection >& _xConnection)
-    :OTableHelper(_pTables,_xConnection,true)
-{
-    // we create a new table here, so we should have all the rights or ;-)
-    m_nPrivileges = Privilege::DROP         |
-                    Privilege::REFERENCE    |
-                    Privilege::ALTER        |
-                    Privilege::CREATE       |
-                    Privilege::READ         |
-                    Privilege::DELETE       |
-                    Privilege::UPDATE       |
-                    Privilege::INSERT       |
-                    Privilege::SELECT;
-    construct();
-}
-
-OMySQLTable::OMySQLTable(   sdbcx::OCollection* _pTables,
-                           const Reference< XConnection >& _xConnection,
-                    const OUString& Name,
-                    const OUString& Type,
-                    const OUString& Description ,
-                    const OUString& SchemaName,
-                    const OUString& CatalogName,
-                    sal_Int32 _nPrivileges
-                ) : OTableHelper(   _pTables,
-                                    _xConnection,
-                                    true,
-                                    Name,
-                                    Type,
-                                    Description,
-                                    SchemaName,
-                                    CatalogName)
- , m_nPrivileges(_nPrivileges)
-{
-    construct();
-}
-
-void OMySQLTable::construct()
-{
-    OTableHelper::construct();
-    if ( !isNew() )
-        
registerProperty(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_PRIVILEGES),
  PROPERTY_ID_PRIVILEGES,PropertyAttribute::READONLY,&m_nPrivileges,  
cppu::UnoType<decltype(m_nPrivileges)>::get());
-}
-
-::cppu::IPropertyArrayHelper* OMySQLTable::createArrayHelper( sal_Int32 
/*_nId*/ ) const
-{
-    return doCreateArrayHelper();
-}
-
-::cppu::IPropertyArrayHelper & OMySQLTable::getInfoHelper()
-{
-    return *static_cast<OMySQLTable_PROP*>(this)->getArrayHelper(isNew() ? 1 : 
0);
-}
-
-sdbcx::OCollection* OMySQLTable::createColumns(const ::std::vector< OUString>& 
_rNames)
-{
-    OMySQLColumns* pColumns = new OMySQLColumns(*this,m_aMutex,_rNames);
-    pColumns->setParent(this);
-    return pColumns;
-}
-
-sdbcx::OCollection* OMySQLTable::createKeys(const ::std::vector< OUString>& 
_rNames)
-{
-    return new OMySQLKeysHelper(this,m_aMutex,_rNames);
-}
-
-sdbcx::OCollection* OMySQLTable::createIndexes(const ::std::vector< OUString>& 
_rNames)
-{
-    return new OIndexesHelper(this,m_aMutex,_rNames);
-}
-
-Sequence< sal_Int8 > OMySQLTable::getUnoTunnelImplementationId()
-{
-    static ::cppu::OImplementationId implId;
-
-    return implId.getImplementationId();
-}
-
-// css::lang::XUnoTunnel
-
-sal_Int64 OMySQLTable::getSomething( const Sequence< sal_Int8 > & rId )
-{
-    return (rId.getLength() == 16 && 0 == 
memcmp(getUnoTunnelImplementationId().getConstArray(),  rId.getConstArray(), 16 
) )
-                ? reinterpret_cast< sal_Int64 >( this )
-                : OTable_TYPEDEF::getSomething(rId);
-}
-
-// XAlterTable
-void SAL_CALL OMySQLTable::alterColumnByName( const OUString& colName, const 
Reference< XPropertySet >& descriptor )
-{
-    ::osl::MutexGuard aGuard(m_aMutex);
-    checkDisposed(
-#ifdef __GNUC__
-        ::connectivity::sdbcx::OTableDescriptor_BASE::rBHelper.bDisposed
-#else
-        rBHelper.bDisposed
-#endif
-        );
-
-    if ( !m_xColumns || !m_xColumns->hasByName(colName) )
-        throw NoSuchElementException(colName,*this);
-
-
-    if ( !isNew() )
-    {
-        // first we have to check what should be altered
-        Reference<XPropertySet> xProp;
-        m_xColumns->getByName(colName) >>= xProp;
-        // first check the types
-        sal_Int32 nOldType = 0,nNewType = 0,nOldPrec = 0,nNewPrec = 
0,nOldScale = 0,nNewScale = 0;
-
-        ::dbtools::OPropertyMap& rProp = OMetaConnection::getPropMap();
-        xProp->getPropertyValue(rProp.getNameByIndex(PROPERTY_ID_TYPE))        
 >>= nOldType;
-        descriptor->getPropertyValue(rProp.getNameByIndex(PROPERTY_ID_TYPE))   
 >>= nNewType;
-        // and precisions and scale
-        xProp->getPropertyValue(rProp.getNameByIndex(PROPERTY_ID_PRECISION))   
 >>= nOldPrec;
-        
descriptor->getPropertyValue(rProp.getNameByIndex(PROPERTY_ID_PRECISION))>>= 
nNewPrec;
-        xProp->getPropertyValue(rProp.getNameByIndex(PROPERTY_ID_SCALE))       
 >>= nOldScale;
-        descriptor->getPropertyValue(rProp.getNameByIndex(PROPERTY_ID_SCALE))  
 >>= nNewScale;
-        // second: check the "is nullable" value
-        sal_Int32 nOldNullable = 0,nNewNullable = 0;
-        xProp->getPropertyValue(rProp.getNameByIndex(PROPERTY_ID_ISNULLABLE))  
     >>= nOldNullable;
-        
descriptor->getPropertyValue(rProp.getNameByIndex(PROPERTY_ID_ISNULLABLE))  >>= 
nNewNullable;
-
-        // check also the auto_increment
-        bool bOldAutoIncrement = false,bAutoIncrement = false;
-        
xProp->getPropertyValue(rProp.getNameByIndex(PROPERTY_ID_ISAUTOINCREMENT))      
>>= bOldAutoIncrement;
-        
descriptor->getPropertyValue(rProp.getNameByIndex(PROPERTY_ID_ISAUTOINCREMENT)) 
>>= bAutoIncrement;
-        bool bColumnNameChanged = false;
-        OUString sOldDesc,sNewDesc;
-        xProp->getPropertyValue(rProp.getNameByIndex(PROPERTY_ID_DESCRIPTION)) 
     >>= sOldDesc;
-        
descriptor->getPropertyValue(rProp.getNameByIndex(PROPERTY_ID_DESCRIPTION)) >>= 
sNewDesc;
-
-        if (    nOldType != nNewType
-            ||  nOldPrec != nNewPrec
-            ||  nOldScale != nNewScale
-            ||  nNewNullable != nOldNullable
-            ||  bOldAutoIncrement != bAutoIncrement
-            || sOldDesc != sNewDesc )
-        {
-            // special handling because they changed the type names to 
distinguish
-            // if a column should be an auto_incmrement one
-            if ( bOldAutoIncrement != bAutoIncrement )
-            {
-                OUString sTypeName;
-                
descriptor->getPropertyValue(rProp.getNameByIndex(PROPERTY_ID_TYPENAME)) >>= 
sTypeName;
-
-                static const char s_sAutoIncrement[] = "auto_increment";
-                if ( bAutoIncrement )
-                {
-                    if ( sTypeName.indexOf(s_sAutoIncrement) == -1 )
-                    {
-                        sTypeName += " ";
-                        sTypeName += s_sAutoIncrement;
-                    }
-                }
-                else
-                {
-                    sal_Int32 nIndex = 0;
-                    if ( !sTypeName.isEmpty() && (nIndex = 
sTypeName.indexOf(s_sAutoIncrement)) != -1 )
-                    {
-                        sTypeName = sTypeName.copy(0,nIndex);
-                        
descriptor->setPropertyValue(rProp.getNameByIndex(PROPERTY_ID_TYPENAME),makeAny(sTypeName));
-                    }
-                }
-            }
-            alterColumnType(nNewType,colName,descriptor);
-            bColumnNameChanged = true;
-        }
-
-        // third: check the default values
-        OUString sNewDefault,sOldDefault;
-        
xProp->getPropertyValue(rProp.getNameByIndex(PROPERTY_ID_DEFAULTVALUE))     >>= 
sOldDefault;
-        
descriptor->getPropertyValue(rProp.getNameByIndex(PROPERTY_ID_DEFAULTVALUE)) 
>>= sNewDefault;
-
-        if(!sOldDefault.isEmpty())
-        {
-            dropDefaultValue(colName);
-            if(!sNewDefault.isEmpty() && sOldDefault != sNewDefault)
-                alterDefaultValue(sNewDefault,colName);
-        }
-        else if(!sNewDefault.isEmpty())
-            alterDefaultValue(sNewDefault,colName);
-
-        // now we should look if the name of the column changed
-        OUString sNewColumnName;
-        descriptor->getPropertyValue(rProp.getNameByIndex(PROPERTY_ID_NAME)) 
>>= sNewColumnName;
-        if ( !sNewColumnName.equalsIgnoreAsciiCase(colName) && 
!bColumnNameChanged )
-        {
-            const OUString sQuote = getMetaData()->getIdentifierQuoteString(  
);
-            OUString sSql = getAlterTableColumnPart() +
-                " CHANGE " + ::dbtools::quoteName(sQuote,colName) +
-                " " + 
OTables::adjustSQL(::dbtools::createStandardColumnPart(descriptor,getConnection(),static_cast<OTables*>(m_pTables),getTypeCreatePattern()));
-            executeStatement(sSql);
-        }
-        m_xColumns->refresh();
-    }
-    else
-    {
-        if(m_xColumns)
-        {
-            m_xColumns->dropByName(colName);
-            m_xColumns->appendByDescriptor(descriptor);
-        }
-    }
-
-}
-
-void OMySQLTable::alterColumnType(sal_Int32 nNewType,const OUString& 
_rColName, const Reference<XPropertySet>& _xDescriptor)
-{
-    const OUString sQuote = getMetaData()->getIdentifierQuoteString(  );
-    OUString sSql = getAlterTableColumnPart() +
-        " CHANGE " + ::dbtools::quoteName(sQuote,_rColName) +
-        " ";
-
-    OColumn* pColumn = new OColumn(true);
-    Reference<XPropertySet> xProp = pColumn;
-    ::comphelper::copyProperties(_xDescriptor,xProp);
-    
xProp->setPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_TYPE),makeAny(nNewType));
-
-    sSql += 
OTables::adjustSQL(::dbtools::createStandardColumnPart(xProp,getConnection(),static_cast<OTables*>(m_pTables),getTypeCreatePattern()));
-    executeStatement(sSql);
-}
-
-OUString OMySQLTable::getTypeCreatePattern() const
-{
-    return OUString("(M,D)");
-}
-
-void OMySQLTable::alterDefaultValue(const OUString& _sNewDefault,const 
OUString& _rColName)
-{
-    const OUString sQuote = getMetaData()->getIdentifierQuoteString(  );
-    OUString sSql = getAlterTableColumnPart() +
-        " ALTER " + ::dbtools::quoteName(sQuote,_rColName) +
-        " SET DEFAULT '" + _sNewDefault + "'";
-
-    executeStatement(sSql);
-}
-
-void OMySQLTable::dropDefaultValue(const OUString& _rColName)
-{
-    const OUString sQuote = getMetaData()->getIdentifierQuoteString(  );
-    OUString sSql = getAlterTableColumnPart() +
-        " ALTER " + ::dbtools::quoteName(sQuote,_rColName) +
-        " DROP DEFAULT";
-
-    executeStatement(sSql);
-}
-
-OUString OMySQLTable::getAlterTableColumnPart()
-{
-    OUString sSql(  "ALTER TABLE " );
-
-    OUString sComposedName(
-        ::dbtools::composeTableName( getMetaData(), m_CatalogName, 
m_SchemaName, m_Name, true, ::dbtools::EComposeRule::InTableDefinitions ) );
-    sSql += sComposedName;
-
-    return sSql;
-}
-
-void OMySQLTable::executeStatement(const OUString& _rStatement )
-{
-    OUString sSQL = _rStatement;
-    if(sSQL.endsWith(","))
-        sSQL = sSQL.replaceAt(sSQL.getLength()-1, 1, ")");
-
-    Reference< XStatement > xStmt = getConnection()->createStatement(  );
-    if ( xStmt.is() )
-    {
-        xStmt->execute(sSQL);
-        ::comphelper::disposeComponent(xStmt);
-    }
-}
-
-OUString OMySQLTable::getRenameStart() const
-{
-    return OUString("RENAME TABLE ");
-}
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/mysql/YTables.cxx 
b/connectivity/source/drivers/mysql/YTables.cxx
deleted file mode 100644
index 55077af30426..000000000000
--- a/connectivity/source/drivers/mysql/YTables.cxx
+++ /dev/null
@@ -1,216 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#include <mysql/YTables.hxx>
-#include <mysql/YViews.hxx>
-#include <mysql/YTable.hxx>
-#include <com/sun/star/sdbc/XRow.hpp>
-#include <com/sun/star/sdbc/XResultSet.hpp>
-#include <com/sun/star/sdbc/ColumnValue.hpp>
-#include <com/sun/star/sdbcx/Privilege.hpp>
-#include <com/sun/star/sdbc/KeyRule.hpp>
-#include <com/sun/star/sdbcx/KeyType.hpp>
-#include <mysql/YCatalog.hxx>
-#include <connectivity/dbtools.hxx>
-#include <connectivity/dbexception.hxx>
-#include <cppuhelper/interfacecontainer.h>
-#include <comphelper/types.hxx>
-#include <TConnection.hxx>
-
-using namespace ::comphelper;
-using namespace connectivity;
-using namespace ::cppu;
-using namespace connectivity::mysql;
-using namespace ::com::sun::star::uno;
-using namespace ::com::sun::star::beans;
-using namespace ::com::sun::star::sdbcx;
-using namespace ::com::sun::star::sdbc;
-using namespace ::com::sun::star::container;
-using namespace ::com::sun::star::lang;
-using namespace dbtools;
-
-sdbcx::ObjectType OTables::createObject(const OUString& _rName)
-{
-    OUString sCatalog,sSchema,sTable;
-    
::dbtools::qualifiedNameComponents(m_xMetaData,_rName,sCatalog,sSchema,sTable,::dbtools::EComposeRule::InDataManipulation);
-
-    Sequence< OUString > sTableTypes(3);
-    sTableTypes[0] = "VIEW";
-    sTableTypes[1] = "TABLE";
-    sTableTypes[2] = "%";    // just to be sure to include anything else ....
-
-    Any aCatalog;
-    if ( !sCatalog.isEmpty() )
-        aCatalog <<= sCatalog;
-    Reference< XResultSet > xResult = 
m_xMetaData->getTables(aCatalog,sSchema,sTable,sTableTypes);
-
-    sdbcx::ObjectType xRet = nullptr;
-    if ( xResult.is() )
-    {
-        Reference< XRow > xRow(xResult,UNO_QUERY);
-        if ( xResult->next() ) // there can be only one table with this name
-        {
-            sal_Int32 const nPrivileges = Privilege::DROP         |
-                                    Privilege::REFERENCE    |
-                                    Privilege::ALTER        |
-                                    Privilege::CREATE       |
-                                    Privilege::READ         |
-                                    Privilege::DELETE       |
-                                    Privilege::UPDATE       |
-                                    Privilege::INSERT       |
-                                    Privilege::SELECT;
-
-            OMySQLTable* pRet = new OMySQLTable( this
-                                                
,static_cast<OMySQLCatalog&>(m_rParent).getConnection()
-                                                ,sTable
-                                                ,xRow->getString(4)
-                                                ,xRow->getString(5)
-                                                ,sSchema
-                                                ,sCatalog
-                                                ,nPrivileges);
-            xRet = pRet;
-        }
-        ::comphelper::disposeComponent(xResult);
-    }
-
-    return xRet;
-}
-
-void OTables::impl_refresh(  )
-{
-    static_cast<OMySQLCatalog&>(m_rParent).refreshTables();
-}
-
-void OTables::disposing()
-{
-m_xMetaData.clear();
-    OCollection::disposing();
-}
-
-Reference< XPropertySet > OTables::createDescriptor()
-{
-    return new 
OMySQLTable(this,static_cast<OMySQLCatalog&>(m_rParent).getConnection());
-}
-
-// XAppend
-sdbcx::ObjectType OTables::appendObject( const OUString& _rForName, const 
Reference< XPropertySet >& descriptor )
-{
-    createTable(descriptor);
-    return createObject( _rForName );
-}
-
-// XDrop
-void OTables::dropObject(sal_Int32 _nPos,const OUString& _sElementName)
-{
-    Reference< XInterface > xObject( getObject( _nPos ) );
-    bool bIsNew = connectivity::sdbcx::ODescriptor::isNew( xObject );
-    if (!bIsNew)
-    {
-        Reference< XConnection > xConnection = 
static_cast<OMySQLCatalog&>(m_rParent).getConnection();
-
-
-        OUString sCatalog,sSchema,sTable;
-        
::dbtools::qualifiedNameComponents(m_xMetaData,_sElementName,sCatalog,sSchema,sTable,::dbtools::EComposeRule::InDataManipulation);
-
-        OUString aSql(  "DROP " );
-
-        Reference<XPropertySet> xProp(xObject,UNO_QUERY);
-        bool bIsView = xProp.is() && 
::comphelper::getString(xProp->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_TYPE)))
 == "VIEW";
-        if(bIsView) // here we have a view
-            aSql += "VIEW ";
-        else
-            aSql += "TABLE ";
-
-        OUString sComposedName(
-            ::dbtools::composeTableName( m_xMetaData, sCatalog, sSchema, 
sTable, true, ::dbtools::EComposeRule::InDataManipulation ) );
-        aSql += sComposedName;
-        Reference< XStatement > xStmt = xConnection->createStatement(  );
-        if ( xStmt.is() )
-        {
-            xStmt->execute(aSql);
-            ::comphelper::disposeComponent(xStmt);
-        }
-        // if no exception was thrown we must delete it from the views
-        if ( bIsView )
-        {
-            OViews* pViews = 
static_cast<OViews*>(static_cast<OMySQLCatalog&>(m_rParent).getPrivateViews());
-            if ( pViews && pViews->hasByName(_sElementName) )
-                pViews->dropByNameImpl(_sElementName);
-        }
-    }
-}
-
-OUString OTables::adjustSQL(const OUString& _sSql)
-{
-    OUString sSQL = _sSql;
-    static const char s_sUNSIGNED[] = "UNSIGNED";
-    sal_Int32 nIndex = sSQL.indexOf(s_sUNSIGNED);
-    while(nIndex != -1 )
-    {
-        sal_Int32 nParen = sSQL.indexOf(')',nIndex);
-        sal_Int32 nPos = nIndex + strlen(s_sUNSIGNED);
-        OUString sNewUnsigned( sSQL.copy(nPos,nParen - nPos + 1));
-        sSQL = sSQL.replaceAt(nIndex, strlen(s_sUNSIGNED) + 
sNewUnsigned.getLength(), sNewUnsigned + s_sUNSIGNED);
-        nIndex = sSQL.indexOf(s_sUNSIGNED,nIndex + strlen(s_sUNSIGNED) + 
sNewUnsigned.getLength());
-    }
-    return sSQL;
-}
-
-void OTables::createTable( const Reference< XPropertySet >& descriptor )
-{
-    const Reference< XConnection > xConnection = 
static_cast<OMySQLCatalog&>(m_rParent).getConnection();
-    const OUString aSql = 
adjustSQL(::dbtools::createSqlCreateTableStatement(descriptor,xConnection, 
this, "(M,D)"));
-    Reference< XStatement > xStmt = xConnection->createStatement(  );
-    if ( xStmt.is() )
-    {
-        xStmt->execute(aSql);
-        ::comphelper::disposeComponent(xStmt);
-    }
-}
-
-void OTables::appendNew(const OUString& _rsNewTable)
-{
-    insertElement(_rsNewTable,nullptr);
-
-    // notify our container listeners
-    ContainerEvent aEvent(static_cast<XContainer*>(this), 
makeAny(_rsNewTable), Any(), Any());
-    OInterfaceIteratorHelper2 aListenerLoop(m_aContainerListeners);
-    while (aListenerLoop.hasMoreElements())
-        
static_cast<XContainerListener*>(aListenerLoop.next())->elementInserted(aEvent);
-}
-
-OUString OTables::getNameForObject(const sdbcx::ObjectType& _xObject)
-{
-    OSL_ENSURE(_xObject.is(),"OTables::getNameForObject: Object is NULL!");
-    return ::dbtools::composeTableName( m_xMetaData, _xObject, 
::dbtools::EComposeRule::InDataManipulation, false );
-}
-
-void OTables::addComment(const Reference< XPropertySet >& 
descriptor,OUStringBuffer& _rOut)
-{
-    OUString sDesc;
-    
descriptor->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_DESCRIPTION))
     >>= sDesc;
-    if ( !sDesc.isEmpty() )
-    {
-        _rOut.append(" COMMENT '");
-        _rOut.append(sDesc);
-        _rOut.append("'");
-    }
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/mysql/YUser.cxx 
b/connectivity/source/drivers/mysql/YUser.cxx
deleted file mode 100644
index bc9c8c55b22e..000000000000
--- a/connectivity/source/drivers/mysql/YUser.cxx
+++ /dev/null
@@ -1,320 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#include <mysql/YUser.hxx>
-#include <com/sun/star/sdbc/XRow.hpp>
-#include <com/sun/star/sdbc/XResultSet.hpp>
-#include <connectivity/dbtools.hxx>
-#include <connectivity/dbexception.hxx>
-#include <com/sun/star/sdbcx/Privilege.hpp>
-#include <com/sun/star/sdbcx/PrivilegeObject.hpp>
-#include <TConnection.hxx>
-#include <strings.hrc>
-
-using namespace connectivity;
-using namespace connectivity::mysql;
-using namespace ::com::sun::star::uno;
-using namespace ::com::sun::star::beans;
-using namespace ::com::sun::star::sdbcx;
-using namespace ::com::sun::star::sdbc;
-using namespace ::com::sun::star::container;
-using namespace ::com::sun::star::lang;
-
-OMySQLUser::OMySQLUser( const css::uno::Reference< css::sdbc::XConnection >& 
_xConnection) : connectivity::sdbcx::OUser(true)
-                ,m_xConnection(_xConnection)
-{
-    construct();
-}
-
-OMySQLUser::OMySQLUser(   const css::uno::Reference< css::sdbc::XConnection >& 
_xConnection,
-                const OUString& Name
-            ) : connectivity::sdbcx::OUser(Name,true)
-                ,m_xConnection(_xConnection)
-{
-    construct();
-}
-
-void OMySQLUser::refreshGroups()
-{
-}
-
-OUserExtend::OUserExtend(   const css::uno::Reference< css::sdbc::XConnection 
>& _xConnection) : OMySQLUser(_xConnection)
-{
-    construct();
-}
-
-void OUserExtend::construct()
-{
-    
registerProperty(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_PASSWORD),
    PROPERTY_ID_PASSWORD,0,&m_Password,::cppu::UnoType<OUString>::get());
-}
-
-cppu::IPropertyArrayHelper* OUserExtend::createArrayHelper() const
-{
-    Sequence< Property > aProps;
-    describeProperties(aProps);
-    return new cppu::OPropertyArrayHelper(aProps);
-}
-
-cppu::IPropertyArrayHelper & OUserExtend::getInfoHelper()
-{
-    return *OUserExtend_PROP::getArrayHelper();
-}
-typedef connectivity::sdbcx::OUser_BASE OUser_BASE_RBHELPER;
-
-sal_Int32 SAL_CALL OMySQLUser::getPrivileges( const OUString& objName, 
sal_Int32 objType )
-{
-    ::osl::MutexGuard aGuard(m_aMutex);
-    checkDisposed(OUser_BASE_RBHELPER::rBHelper.bDisposed);
-
-    sal_Int32 nRights,nRightsWithGrant;
-    findPrivilegesAndGrantPrivileges(objName,objType,nRights,nRightsWithGrant);
-    return nRights;
-}
-
-void OMySQLUser::findPrivilegesAndGrantPrivileges(const OUString& objName, 
sal_Int32 objType,sal_Int32& nRights,sal_Int32& nRightsWithGrant)
-{
-    nRightsWithGrant = nRights = 0;
-    // first we need to create the sql stmt to select the privs
-    Reference<XDatabaseMetaData> xMeta = m_xConnection->getMetaData();
-    OUString sCatalog,sSchema,sTable;
-    
::dbtools::qualifiedNameComponents(xMeta,objName,sCatalog,sSchema,sTable,::dbtools::EComposeRule::InDataManipulation);
-    Reference<XResultSet> xRes;
-    switch(objType)
-    {
-        case PrivilegeObject::TABLE:
-        case PrivilegeObject::VIEW:
-            {
-                Any aCatalog;
-                if ( !sCatalog.isEmpty() )
-                    aCatalog <<= sCatalog;
-                xRes = xMeta->getTablePrivileges(aCatalog,sSchema,sTable);
-            }
-            break;
-
-        case PrivilegeObject::COLUMN:
-            {
-                Any aCatalog;
-                if ( !sCatalog.isEmpty() )
-                    aCatalog <<= sCatalog;
-                xRes = xMeta->getColumnPrivileges(aCatalog,sSchema,sTable, 
"%");
-            }
-            break;
-    }
-
-    if ( xRes.is() )
-    {
-        static const char sYes      [] = "YES";
-
-        nRightsWithGrant = nRights = 0;
-
-        Reference<XRow> xCurrentRow(xRes,UNO_QUERY);
-        while( xCurrentRow.is() && xRes->next() )
-        {
-            OUString sGrantee    = xCurrentRow->getString(5);
-            OUString sPrivilege  = xCurrentRow->getString(6);
-            OUString sGrantable  = xCurrentRow->getString(7);
-
-            if (!m_Name.equalsIgnoreAsciiCase(sGrantee))
-                continue;
-
-            if (sPrivilege.equalsIgnoreAsciiCase("SELECT"))
-            {
-                nRights |= Privilege::SELECT;
-                if ( sGrantable.equalsIgnoreAsciiCase(sYes) )
-                    nRightsWithGrant |= Privilege::SELECT;
-            }
-            else if (sPrivilege.equalsIgnoreAsciiCase("INSERT"))
-            {
-                nRights |= Privilege::INSERT;
-                if ( sGrantable.equalsIgnoreAsciiCase(sYes) )
-                    nRightsWithGrant |= Privilege::INSERT;
-            }
-            else if (sPrivilege.equalsIgnoreAsciiCase("UPDATE"))
-            {
-                nRights |= Privilege::UPDATE;
-                if ( sGrantable.equalsIgnoreAsciiCase(sYes) )
-                    nRightsWithGrant |= Privilege::UPDATE;
-            }
-            else if (sPrivilege.equalsIgnoreAsciiCase("DELETE"))
-            {
-                nRights |= Privilege::DELETE;
-                if ( sGrantable.equalsIgnoreAsciiCase(sYes) )
-                    nRightsWithGrant |= Privilege::DELETE;
-            }
-            else if (sPrivilege.equalsIgnoreAsciiCase("READ"))
-            {
-                nRights |= Privilege::READ;
-                if ( sGrantable.equalsIgnoreAsciiCase(sYes) )
-                    nRightsWithGrant |= Privilege::READ;
-            }
-            else if (sPrivilege.equalsIgnoreAsciiCase("CREATE"))
-            {
-                nRights |= Privilege::CREATE;
-                if ( sGrantable.equalsIgnoreAsciiCase(sYes) )
-                    nRightsWithGrant |= Privilege::CREATE;
-            }
-            else if (sPrivilege.equalsIgnoreAsciiCase("ALTER"))
-            {
-                nRights |= Privilege::ALTER;
-                if ( sGrantable.equalsIgnoreAsciiCase(sYes) )
-                    nRightsWithGrant |= Privilege::ALTER;
-            }
-            else if (sPrivilege.equalsIgnoreAsciiCase("REFERENCES"))
-            {
-                nRights |= Privilege::REFERENCE;
-                if ( sGrantable.equalsIgnoreAsciiCase(sYes) )
-                    nRightsWithGrant |= Privilege::REFERENCE;
-            }
-            else if (sPrivilege.equalsIgnoreAsciiCase("DROP"))
-            {
-                nRights |= Privilege::DROP;
-                if ( sGrantable.equalsIgnoreAsciiCase(sYes) )
-                    nRightsWithGrant |= Privilege::DROP;
-            }
-        }
-        ::comphelper::disposeComponent(xRes);
-    }
-}
-
-sal_Int32 SAL_CALL OMySQLUser::getGrantablePrivileges( const OUString& 
objName, sal_Int32 objType )
-{
-    ::osl::MutexGuard aGuard(m_aMutex);
-    checkDisposed(OUser_BASE_RBHELPER::rBHelper.bDisposed);
-
-    sal_Int32 nRights,nRightsWithGrant;
-    findPrivilegesAndGrantPrivileges(objName,objType,nRights,nRightsWithGrant);
-    return nRightsWithGrant;
-}
-
-void SAL_CALL OMySQLUser::grantPrivileges( const OUString& objName, sal_Int32 
objType, sal_Int32 objPrivileges )
-{
-    if ( objType != PrivilegeObject::TABLE )
-    {
-        ::connectivity::SharedResources aResources;
-        const OUString sError( 
aResources.getResourceString(STR_PRIVILEGE_NOT_GRANTED));
-        ::dbtools::throwGenericSQLException(sError,*this);
-    } // if ( objType != PrivilegeObject::TABLE )
-
-    ::osl::MutexGuard aGuard(m_aMutex);
-
-    OUString sPrivs = getPrivilegeString(objPrivileges);
-    if(!sPrivs.isEmpty())
-    {
-        Reference<XDatabaseMetaData> xMeta = m_xConnection->getMetaData();
-        OUString sGrant = "GRANT " + sPrivs +
-            " ON " + 
::dbtools::quoteTableName(xMeta,objName,::dbtools::EComposeRule::InDataManipulation)
 +
-            " TO " + m_Name;
-
-        Reference<XStatement> xStmt = m_xConnection->createStatement();
-        if(xStmt.is())
-            xStmt->execute(sGrant);
-        ::comphelper::disposeComponent(xStmt);
-    }
-}
-
-void SAL_CALL OMySQLUser::revokePrivileges( const OUString& objName, sal_Int32 
objType, sal_Int32 objPrivileges )
-{
-    if ( objType != PrivilegeObject::TABLE )
-    {
-        ::connectivity::SharedResources aResources;
-        const OUString sError( 
aResources.getResourceString(STR_PRIVILEGE_NOT_REVOKED));
-        ::dbtools::throwGenericSQLException(sError,*this);
-    }
-
-    ::osl::MutexGuard aGuard(m_aMutex);
-    checkDisposed(OUser_BASE_RBHELPER::rBHelper.bDisposed);
-    OUString sPrivs = getPrivilegeString(objPrivileges);
-    if(!sPrivs.isEmpty())
-    {
-        Reference<XDatabaseMetaData> xMeta = m_xConnection->getMetaData();
-        OUString sGrant = "REVOKE " + sPrivs +
-            " ON " + 
::dbtools::quoteTableName(xMeta,objName,::dbtools::EComposeRule::InDataManipulation)
 +
-            " FROM " + m_Name;
-
-        Reference<XStatement> xStmt = m_xConnection->createStatement();
-        if(xStmt.is())
-            xStmt->execute(sGrant);
-        ::comphelper::disposeComponent(xStmt);
-    }
-}
-
-// XUser
-void SAL_CALL OMySQLUser::changePassword( const OUString& /*oldPassword*/, 
const OUString& newPassword )
-{
-    ::osl::MutexGuard aGuard(m_aMutex);
-    checkDisposed(OUser_BASE_RBHELPER::rBHelper.bDisposed);
-    OUString sAlterPwd = "SET PASSWORD FOR " +
-        m_Name + "@\"%\" = PASSWORD('" +
-        newPassword + "')";
-
-
-    Reference<XStatement> xStmt = m_xConnection->createStatement();
-    if ( xStmt.is() )
-    {
-        xStmt->execute(sAlterPwd);
-        ::comphelper::disposeComponent(xStmt);
-    }
-}
-
-OUString OMySQLUser::getPrivilegeString(sal_Int32 nRights)
-{
-    OUString sPrivs;
-    if((nRights & Privilege::INSERT) == Privilege::INSERT)
-        sPrivs += "INSERT";
-
-    if((nRights & Privilege::DELETE) == Privilege::DELETE)
-    {
-        if(!sPrivs.isEmpty())
-            sPrivs += ",";
-        sPrivs += "DELETE";
-    }
-
-    if((nRights & Privilege::UPDATE) == Privilege::UPDATE)
-    {
-        if(!sPrivs.isEmpty())
-            sPrivs += ",";
-        sPrivs += "UPDATE";
-    }
-
-    if((nRights & Privilege::ALTER) == Privilege::ALTER)
-    {
-        if(!sPrivs.isEmpty())
-            sPrivs += ",";
-        sPrivs += "ALTER";
-    }
-
-    if((nRights & Privilege::SELECT) == Privilege::SELECT)
-    {
-        if(!sPrivs.isEmpty())
-            sPrivs += ",";
-        sPrivs += "SELECT";
-    }
-
-    if((nRights & Privilege::REFERENCE) == Privilege::REFERENCE)
-    {
-        if(!sPrivs.isEmpty())
-            sPrivs += ",";
-        sPrivs += "REFERENCES";
-    }
-
-    return sPrivs;
-}
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/mysql/YUsers.cxx 
b/connectivity/source/drivers/mysql/YUsers.cxx
deleted file mode 100644
index d6982b8c985b..000000000000
--- a/connectivity/source/drivers/mysql/YUsers.cxx
+++ /dev/null
@@ -1,105 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#include <mysql/YUsers.hxx>
-#include <mysql/YUser.hxx>
-#include <mysql/YTable.hxx>
-#include <com/sun/star/sdbc/XRow.hpp>
-#include <com/sun/star/sdbc/XResultSet.hpp>
-#include <connectivity/sdbcx/IRefreshable.hxx>
-#include <comphelper/types.hxx>
-#include <connectivity/dbexception.hxx>
-#include <connectivity/dbtools.hxx>
-#include <TConnection.hxx>
-
-using namespace ::comphelper;
-using namespace connectivity;
-using namespace connectivity::mysql;
-using namespace ::com::sun::star::uno;
-using namespace ::com::sun::star::beans;
-using namespace ::com::sun::star::sdbc;
-using namespace ::com::sun::star::container;
-using namespace ::com::sun::star::lang;
-
-OUsers::OUsers( ::cppu::OWeakObject& _rParent,
-                ::osl::Mutex& _rMutex,
-                const ::std::vector< OUString> &_rVector,
-                const css::uno::Reference< css::sdbc::XConnection >& 
_xConnection,
-                connectivity::sdbcx::IRefreshableUsers* _pParent)
-    : sdbcx::OCollection(_rParent, true, _rMutex, _rVector)
-    ,m_xConnection(_xConnection)
-    ,m_pParent(_pParent)
-{
-}
-
-
-sdbcx::ObjectType OUsers::createObject(const OUString& _rName)
-{
-    return new OMySQLUser(m_xConnection,_rName);
-}
-
-void OUsers::impl_refresh()
-{
-    m_pParent->refreshUsers();
-}
-
-Reference< XPropertySet > OUsers::createDescriptor()
-{
-    OUserExtend* pNew = new OUserExtend(m_xConnection);
-    return pNew;
-}
-
-// XAppend
-sdbcx::ObjectType OUsers::appendObject( const OUString& _rForName, const 
Reference< XPropertySet >& descriptor )
-{
-    OUString aSql(  "GRANT USAGE ON * TO " );
-    OUString aQuote  = m_xConnection->getMetaData()->getIdentifierQuoteString( 
 );
-    aSql += ::dbtools::quoteName(aQuote,_rForName) + " @\"%\" ";
-    OUString sPassword;
-    
descriptor->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_PASSWORD))
 >>= sPassword;
-    if ( !sPassword.isEmpty() )
-    {
-        aSql += " IDENTIFIED BY '";
-        aSql += sPassword;
-        aSql += "'";
-    }
-
-    Reference< XStatement > xStmt = m_xConnection->createStatement(  );
-    if(xStmt.is())
-        xStmt->execute(aSql);
-    ::comphelper::disposeComponent(xStmt);
-
-    return createObject( _rForName );
-}
-
-// XDrop
-void OUsers::dropObject(sal_Int32 /*_nPos*/,const OUString& _sElementName)
-{
-    OUString aSql(  "DROP USER " );
-    OUString aQuote  = m_xConnection->getMetaData()->getIdentifierQuoteString( 
 );
-    aSql += ::dbtools::quoteName(aQuote,_sElementName);
-
-    Reference< XStatement > xStmt = m_xConnection->createStatement(  );
-    if(xStmt.is())
-        xStmt->execute(aSql);
-    ::comphelper::disposeComponent(xStmt);
-}
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/mysql/YViews.cxx 
b/connectivity/source/drivers/mysql/YViews.cxx
deleted file mode 100644
index c6a3c2800073..000000000000
--- a/connectivity/source/drivers/mysql/YViews.cxx
+++ /dev/null
@@ -1,151 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#include <mysql/YViews.hxx>
-#include <mysql/YTables.hxx>
-#include <com/sun/star/sdbc/XRow.hpp>
-#include <com/sun/star/sdbc/XResultSet.hpp>
-#include <com/sun/star/sdbc/ColumnValue.hpp>
-#include <com/sun/star/sdbc/KeyRule.hpp>
-#include <com/sun/star/sdbcx/KeyType.hpp>
-#include <com/sun/star/sdbcx/CheckOption.hpp>
-#include <mysql/YCatalog.hxx>
-#include <connectivity/dbtools.hxx>
-#include <connectivity/dbexception.hxx>
-#include <cppuhelper/interfacecontainer.h>
-#include <connectivity/sdbcx/VView.hxx>
-#include <comphelper/types.hxx>
-#include <TConnection.hxx>
-
-using namespace ::comphelper;
-
-using namespace ::cppu;
-using namespace connectivity;
-using namespace connectivity::mysql;
-using namespace ::com::sun::star::uno;
-using namespace ::com::sun::star::beans;
-using namespace ::com::sun::star::sdbcx;
-using namespace ::com::sun::star::sdbc;
-using namespace ::com::sun::star::container;
-using namespace ::com::sun::star::lang;
-using namespace dbtools;
-typedef connectivity::sdbcx::OCollection OCollection_TYPE;
-
-sdbcx::ObjectType OViews::createObject(const OUString& _rName)
-{
-    OUString sCatalog,sSchema,sTable;
-    ::dbtools::qualifiedNameComponents(m_xMetaData,
-                                        _rName,
-                                        sCatalog,
-                                        sSchema,
-                                        sTable,
-                                        
::dbtools::EComposeRule::InDataManipulation);
-    return new ::connectivity::sdbcx::OView(isCaseSensitive(),
-                            sTable,
-                            m_xMetaData,
-                            OUString(),
-                            sSchema,
-                            sCatalog
-                            );
-}
-
-void OViews::impl_refresh(  )
-{
-    static_cast<OMySQLCatalog&>(m_rParent).refreshTables();
-}
-
-void OViews::disposing()
-{
-m_xMetaData.clear();
-    OCollection::disposing();
-}
-
-Reference< XPropertySet > OViews::createDescriptor()
-{
-    Reference<XConnection> xConnection = 
static_cast<OMySQLCatalog&>(m_rParent).getConnection();
-    connectivity::sdbcx::OView* pNew = new connectivity::sdbcx::OView(true, 
xConnection->getMetaData());
-    return pNew;
-}
-
-// XAppend
-sdbcx::ObjectType OViews::appendObject( const OUString& _rForName, const 
Reference< XPropertySet >& descriptor )
-{
-    createView(descriptor);
-    return createObject( _rForName );
-}
-
-// XDrop
-void OViews::dropObject(sal_Int32 _nPos,const OUString& /*_sElementName*/)
-{
-    if ( m_bInDrop )
-        return;
-
-    Reference< XInterface > xObject( getObject( _nPos ) );
-    bool bIsNew = connectivity::sdbcx::ODescriptor::isNew( xObject );
-    if (!bIsNew)
-    {
-        OUString aSql(  "DROP VIEW" );
-
-        Reference<XPropertySet> xProp(xObject,UNO_QUERY);
-        aSql += ::dbtools::composeTableName( m_xMetaData, xProp, 
::dbtools::EComposeRule::InTableDefinitions, true );
-
-        Reference<XConnection> xConnection = 
static_cast<OMySQLCatalog&>(m_rParent).getConnection();
-        Reference< XStatement > xStmt = xConnection->createStatement(  );
-        xStmt->execute(aSql);
-        ::comphelper::disposeComponent(xStmt);
-    }
-}
-
-void OViews::dropByNameImpl(const OUString& elementName)
-{
-    m_bInDrop = true;
-    OCollection_TYPE::dropByName(elementName);
-    m_bInDrop = false;
-}
-
-void OViews::createView( const Reference< XPropertySet >& descriptor )
-{
-    Reference<XConnection> xConnection = 
static_cast<OMySQLCatalog&>(m_rParent).getConnection();
-
-    OUString aSql(  "CREATE VIEW " );
-    OUString sCommand;
-
-    aSql += ::dbtools::composeTableName( m_xMetaData, descriptor, 
::dbtools::EComposeRule::InTableDefinitions, true );
-
-    aSql += " AS ";
-    
descriptor->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_COMMAND))
 >>= sCommand;
-    aSql += sCommand;
-
-    Reference< XStatement > xStmt = xConnection->createStatement(  );
-    if ( xStmt.is() )
-    {
-        xStmt->execute(aSql);
-        ::comphelper::disposeComponent(xStmt);
-    }
-
-    // insert the new view also in the tables collection
-    OTables* pTables = 
static_cast<OTables*>(static_cast<OMySQLCatalog&>(m_rParent).getPrivateTables());
-    if ( pTables )
-    {
-        OUString sName = ::dbtools::composeTableName( m_xMetaData, descriptor, 
::dbtools::EComposeRule::InDataManipulation, false );
-        pTables->appendNew(sName);
-    }
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/mysql/Yservices.cxx 
b/connectivity/source/drivers/mysql/Yservices.cxx
deleted file mode 100644
index b08ce3425255..000000000000
--- a/connectivity/source/drivers/mysql/Yservices.cxx
+++ /dev/null
@@ -1,69 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#include <mysql/YDriver.hxx>
-#include <cppuhelper/factory.hxx>
-
-using namespace connectivity::mysql;
-using ::com::sun::star::uno::Reference;
-using ::com::sun::star::uno::Sequence;
-using ::com::sun::star::lang::XSingleServiceFactory;
-using ::com::sun::star::lang::XMultiServiceFactory;
-
-typedef Reference< XSingleServiceFactory > (*createFactoryFunc)
-        (
-            const Reference< XMultiServiceFactory > & rServiceManager,
-            const OUString & rComponentName,
-            ::cppu::ComponentInstantiation pCreateFunction,
-            const Sequence< OUString > & rServiceNames,
-            rtl_ModuleCount*
-        );
-
-extern "C" SAL_DLLPUBLIC_EXPORT void* mysql_component_getFactory(
-                    const sal_Char* pImplementationName,
-                    void* pServiceManager,
-                    void* /*pRegistryKey*/)
-{
-    if (!pServiceManager)
-    {
-        return nullptr;
-    }
-
-    Reference< XSingleServiceFactory > xRet;
-    const Reference< XMultiServiceFactory > xServiceManager( 
static_cast<XMultiServiceFactory*>(pServiceManager) );
-    const OUString sImplementationName( 
OUString::createFromAscii(pImplementationName) );
-
-    if( ODriverDelegator::getImplementationName_Static() == 
sImplementationName )
-        try
-        {
-            xRet = ::cppu::createSingleFactory( xServiceManager, 
sImplementationName, ODriverDelegator_CreateInstance,
-                       ODriverDelegator::getSupportedServiceNames_Static());
-        }
-        catch(...)
-        {
-        }
-
-    if(xRet.is())
-        xRet->acquire();
-
-    return xRet.get();
-};
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/mysql/mysql.component 
b/connectivity/source/drivers/mysql/mysql.component
deleted file mode 100644
index 9c3e7ad7c6cd..000000000000
--- a/connectivity/source/drivers/mysql/mysql.component
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- -->
-
-<component loader="com.sun.star.loader.SharedLibrary" environment="@CPPU_ENV@"
-    prefix="mysql" xmlns="http://openoffice.org/2010/uno-components";>
-  <implementation name="org.openoffice.comp.drivers.MySQL.Driver">
-    <service name="com.sun.star.sdbc.Driver"/>
-    <service name="com.sun.star.sdbcx.Driver"/>
-  </implementation>
-</component>
diff --git a/mysqlc/source/DataAccess.xcu 
b/connectivity/source/drivers/mysqlc/DataAccess.xcu
similarity index 100%
rename from mysqlc/source/DataAccess.xcu
rename to connectivity/source/drivers/mysqlc/DataAccess.xcu
diff --git a/mysqlc/source/META-INF/manifest.xml 
b/connectivity/source/drivers/mysqlc/META-INF/manifest.xml
similarity index 100%
rename from mysqlc/source/META-INF/manifest.xml
rename to connectivity/source/drivers/mysqlc/META-INF/manifest.xml
diff --git a/mysqlc/source/description-en-US.txt 
b/connectivity/source/drivers/mysqlc/description-en-US.txt
similarity index 100%
rename from mysqlc/source/description-en-US.txt
rename to connectivity/source/drivers/mysqlc/description-en-US.txt
diff --git a/mysqlc/source/description.xml 
b/connectivity/source/drivers/mysqlc/description.xml
similarity index 100%
rename from mysqlc/source/description.xml
rename to connectivity/source/drivers/mysqlc/description.xml
diff --git a/mysqlc/source/mysqlc.component 
b/connectivity/source/drivers/mysqlc/mysqlc.component
similarity index 100%
rename from mysqlc/source/mysqlc.component
rename to connectivity/source/drivers/mysqlc/mysqlc.component
diff --git a/mysqlc/source/mysqlc_connection.cxx 
b/connectivity/source/drivers/mysqlc/mysqlc_connection.cxx
similarity index 50%
rename from mysqlc/source/mysqlc_connection.cxx
rename to connectivity/source/drivers/mysqlc/mysqlc_connection.cxx
index 1b3169845e19..74c68b2dbe11 100644
--- a/mysqlc/source/mysqlc_connection.cxx
+++ b/connectivity/source/drivers/mysqlc/mysqlc_connection.cxx
@@ -21,18 +21,11 @@
 #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 <cppconn/driver.h>
-#include <cppconn/connection.h>
-#include <cppconn/statement.h>
-#include <cppconn/metadata.h>
-#include <cppconn/exception.h>
-
 #include <com/sun/star/sdbc/ColumnValue.hpp>
 #include <com/sun/star/sdbc/XRow.hpp>
 #include <com/sun/star/sdbc/TransactionIsolation.hpp>
@@ -42,6 +35,8 @@
 #include <osl/module.hxx>
 #include <osl/thread.h>
 #include <osl/file.h>
+#include <sal/log.hxx>
+#include <osl/diagnose.h>
 #include <rtl/uri.hxx>
 #include <rtl/ustrbuf.hxx>
 
@@ -49,7 +44,6 @@ 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;
@@ -57,44 +51,44 @@ using namespace com::sun::star::beans;
 using namespace com::sun::star::sdbc;
 using ::osl::MutexGuard;
 
-
 #define MYSQLC_URI_PREFIX "sdbc:mysqlc:"
 
-
 namespace
 {
-    void lcl_executeUpdate(MYSQL* pMySql, const rtl::OString& sql)
-    {
-        mysql_real_query(pMySql, sql.getStr(), sql.getLength());
-        // TODO handle error
-    }
+void lcl_executeUpdate(MYSQL* pMySql, const rtl::OString& sql)
+{
+    mysql_real_query(pMySql, sql.getStr(), sql.getLength());
+    // TODO handle error
+}
 }
 
 OConnection::OConnection(MysqlCDriver& _rDriver)
-    :OMetaConnection_BASE(m_aMutex)
-    ,m_xMetaData(nullptr)
-    ,m_xDriver(&_rDriver)
+    : OMetaConnection_BASE(m_aMutex)
+    , m_xMetaData(nullptr)
+    , m_xDriver(&_rDriver)
 {
-    mysql_init(&m_mysql);
-
-    // use TCP as connection
-    mysql_protocol_type protocol = MYSQL_PROTOCOL_TCP;
-    mysql_options(&m_mysql, MYSQL_OPT_PROTOCOL, &protocol);
 }
 
 OConnection::~OConnection()
 {
-    if (!isClosed()) {
+    if (!isClosed())
+    {
         close();
     }
 }
 

... etc. - the rest is truncated
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to