Squashed commit of the following:
commit faaee9141a
Author: Patrick LeBlanc <patrick.leblanc@mariadb.com>
Date: Wed Oct 3 13:03:02 2018 -0500
Commented a debugging printout.
commit e47e784c53
Author: Patrick LeBlanc <patrick.leblanc@mariadb.com>
Date: Wed Oct 3 12:13:23 2018 -0500
Moved the SKIP_OAM_INIT check for cleanliness, added 'config.h' to
other places that need it.
commit 6626045535
Author: Patrick LeBlanc <patrick.leblanc@mariadb.com>
Date: Tue Oct 2 16:33:06 2018 -0500
WIP. First cut of excising OAM and root access from the dev process.
This passes most tests; need to make sure that the tests that fail
have nothing to do with this change.
DMLProc is doing something that results in a sudo password prompt.
Will obliterate that next.
This passes most tests; need to make sure that the tests that fail
have nothing to do with this change.
DMLProc is doing something that results in a sudo password prompt.
Will obliterate that next.
This patch catches exceptions in DDLProc, DMLProc and ExeMgr which could
potentially happen during startup. Logging them instead of silently
ignoring them (or crashing in ExeMgr).
With 1.1 we have removed libdrizzle and used MariaDB's client library
instead for both CrossEngine and QueryStats. Unfortunately MariaDB 10.2
has two client libraries which have different structs with the same
name. When QueryStats was running inside the ColumnStore plugin this
symbol conflict was causing a crash.
The server's built-in client API has several different and several
missing functions so some additions to sm.cpp were made to fill the
gaps.
This patch does the following:
* Make sure that libmariadb is only linked to executables, not the
ColumnStore Plugin (to avoid symbol conflicts). Note that all
executables that link to CrossEngine and/or QueryStats need to link to
libmariadb to avoid missing symbol issues.
* Use the server's built-in client API for QueryStats when run in the
plugin
* Replace missing server built-in client API calls in sm.cpp (this is
for QueryStats and CrossEngine to keep the dynamic linker happy)
* Fixes issue where using 'localhost' as the MariaDB Server hostname
would fail in QueryStats.
This does the following:
* Switch resource manager to a singleton which reduces the amount of
times the XML data is scanned and objects allocated.
* Make the I_S tables use the FE implementation of the system catalog
* Make the I_S.columnstore_columns table use the RID list cache
* Make the extentmap pre-allocate a vector instead of many small allocs