Commit Graph

58 Commits

Author SHA1 Message Date
38db155fef Make mlist a separate component.
Mlist is now made available as a separate component instead of
being a part of skygw_utils.
2016-02-09 17:31:15 +02:00
2692d1081c Add slist.
Slist removed from skygw_utils and added as a separate component.
Nobody seems to be using it, so it could also simply be removed.
Left in place for the time being.
2016-02-09 15:30:27 +02:00
adbc2074de Remove log_manager as a separate component.
Log_manager files are now in server/core and the log manager test
files in server/core/test. The directory log_manager is removed.
2016-02-09 11:17:31 +02:00
4a4f22c9a7 Make query_classifier part of core.
The query classifier interface is now built as an integral
part of MaxScale core.
2016-02-08 11:44:07 +02:00
2f65c3a7b8 MariaDB Connector C is build from source if it is not found on the system
The FindMariaDBConnector.cmake file now checks if the found library actually is
the MariaDB Connector-C library. If the found library is not the MariaDB
Connector-C, it will be built from source.
2016-02-03 11:35:01 +02:00
081bacdc64 Switched to MySQL client library headers for MaxScale
The include directories previously used by MaxScale were from the embedded
library. All parts of MaxScale apart from the query classifier now use
the client libraries.
2016-02-02 14:04:59 +02:00
7e36e1cbb1 Link against Connector-C.
Now, qc_mysqlembedded is linked against MySQL's embedded library,
and MaxScale itself against Connector-C.

So, in order to build MaxScale, Connector-C must be installed.
This has been tested with Connector-C 2.2.1.

The build variable MYSQLCLIENT_LIBRARIES is no longer used.
2016-01-29 16:50:31 +02:00
743a1b1037 Removed unnecessary calls to atomic_add
The polling statistics collection used atomic_add to increment values. This
is not an optimal way to update statistical values. Moved to per thread
values which are summed up when they are read.

Moved the functions used to gather polling statistics to their own file and
created a specific data type for statistics.
2016-01-28 09:55:26 +02:00
42b1722e49 Make query classifier self-contained.
Only the query classifier needs the functionality of the embedded
server, while the rest of MaxScale is content with the client
library or Connector/C.

This have now been rearranged so that query-classifier links with
the embedded static library and then explicitly exports its own
functions using the query_classifier.map linker script. That way
query classifier will use the embedded library, while the rest of
maxscale use the client library, and this without conflicts.

Currently, query_classifier is not linked to maxscale-common,
but executables must link to maxscale-common and query_classifier.
2016-01-25 21:43:49 +02:00
1f241a5ed1 Rearrange libraries and build files.
This is the first change in an attempt to arrange the linking so that
more errors are detected at link-time.

- All files in server/core but for gateway.c are linked to one shared
  library called maxscale-common.
- The files log_manager/log_manager.cc and utils/skygw_utils.cc are
  built into maxscale-common as well.
- MaxScale itself consists now only of gateway.c and is linked with
  maxscale-common.
- All plugins link with maxscale-common.
- All executables link in addition with {EMBEDDED_LIB}.

After this change, the change (MXS-517) where query_classifier is the
only component that uses ${EMBEDDED_LIB} and the rest mysqlclient can
be made much cleaner.

After a few additional steps, all shared libraries can be linked with
the linker flags "-Wl,-z,defs", which directs the linker to resolve
all symbols. That will require that all shared libraries list all the
libraries they need, but will at the same time ensure that any
missing symbols are detected at link-time and not at run-time.
2016-01-22 23:26:17 +02:00
080a9ebc9d PCRE2 is now statically linked
Since the PCRE2 library was always going to be a part of MaxScale, there was
no real reason to have it as a shared library apart from smaller binaries.
2015-12-29 10:09:38 +02:00
23b2ce004b Added support for MariaDB 10.1 embedded library
The code used in the query classifier was not compatible with 10.1 version
of MariaDB and needed to be fine tuned in order for it to work with all
supported versions of MariaDB.
2015-11-23 11:41:05 +02:00
b22d40b06b Fixed PCRE2 beng built when CMake is configured
The bundled PCRE2 library will be built as a separate target and configuring
CMake no longer builds it. Instead, it will only be built when it is out of date.
This requires all targets to declare that they depend on the pcre2 target in
order for it to be built.
2015-11-16 13:59:47 +02:00
dee20fe077 Merge remote-tracking branch 'origin/develop' into MXS-329-develop-20151111
# Conflicts:
#	server/core/CMakeLists.txt
#	server/core/buffer.c
#	server/core/service.c
#	server/modules/filter/tee.c
#	server/modules/monitor/mysql_mon.c
#	server/modules/routing/binlog/blr.c
#	server/modules/routing/binlog/blr_slave.c
#	server/modules/routing/debugcmd.c
#	server/modules/routing/readwritesplit/readwritesplit.c
#	utils/skygw_utils.cc

- resolved.
2015-11-11 11:08:02 +00:00
c1eb84b377 Added utility functions for regular expression matching with the PCRE2 library. 2015-10-31 10:34:37 +02:00
4f316419c5 Merge branch 'develop' into MXS-329 2015-09-30 12:47:28 +03:00
d679bf1cd8 Fix to MXS-389: https://mariadb.atlassian.net/browse/MXS-389
Utility tools now use static log manager.
2015-09-29 14:56:05 +03:00
c1194a5ee8 Fixed test build failures. 2015-09-10 18:07:24 +03:00
753746f5c5 Fix mistakes 2015-08-28 16:12:36 +01:00
70d82fd45e Fixed compilation problems. 2015-08-26 18:33:46 +03:00
820bb4ea00 Avoid name clash - change random to random_jkiss 2015-08-26 16:18:08 +01:00
5f076b81d4 Merge branch 'install_dir_change' into develop
Conflicts:
	CMakeLists.txt
	Documentation/Tutorials/Administration-Tutorial.md
	log_manager/CMakeLists.txt
	server/core/CMakeLists.txt
	server/core/gateway.c
	server/core/maxkeys.c
	server/core/maxpasswd.c
	server/modules/filter/test/CMakeLists.txt
	server/modules/routing/CMakeLists.txt
2015-05-26 13:34:39 +03:00
a73df62ebd Renamed mon_exec files to externcmd. 2015-05-18 18:34:43 +03:00
da6d597987 Moved common monitor structures and definitions to a separate header and added master down script to galeramon. 2015-05-07 05:56:13 +03:00
d545150ceb Fix to MXS-70: https://mariadb.atlassian.net/browse/MXS-70
Added assert information to error log.
2015-05-02 05:51:25 +03:00
9e0a2bfc12 Changed relevant files to use get_cachedir() instead of using the now deprecated MAXSCALE_HOME. 2015-04-27 21:55:57 +03:00
0cfcad55da Moved get_libdir function to its own file. 2015-04-27 11:06:11 +03:00
2fce114483 Added missing buffer.c from fullcore static lib. 2015-04-27 10:18:43 +03:00
6f1fe003a3 Added missing buffer.c from fullcore static lib. 2015-04-27 10:17:55 +03:00
97653e98fa Fixed a typo in the core CMakeLists.txt 2015-04-27 10:16:01 +03:00
61ebb0fe97 Fixed a typo in the core CMakeLists.txt 2015-04-27 10:14:47 +03:00
d5682bf7c0 Removed file globbing in the core CMake file and used explicit names instead. 2015-04-27 10:14:14 +03:00
5974935f65 Removed file globbing in the core CMake file and used explicit names instead. 2015-04-27 10:11:30 +03:00
16044f5201 Added optional jemalloc linkage. 2015-04-27 05:57:44 +03:00
49907ffdea Added optional jemalloc linkage. 2015-04-27 05:57:16 +03:00
17a7b2addb Updated more variables. 2015-04-26 20:08:27 +03:00
df9bc65430 Added variables that are used when installing instead of relative paths. 2015-04-25 18:35:47 +03:00
b2cfa674b9 Added support for tcmalloc usage. 2015-04-20 17:52:50 +03:00
e9aa692acd Added the platform check back and added linker flags for PCRE if the embedded library does not have them. 2015-04-03 22:14:51 +03:00
89ca0f420a Added a rule parsing tool for the dbfwfilter. The tool can be build with the -DBUILD_TOOLS=Y flag for CMake. 2015-04-03 10:37:21 +03:00
0dd63ceaf1 Added release version string function to config.c 2015-03-04 18:48:38 +02:00
bc5dfe82c2 merge from develop
merge from develop
2015-03-04 17:02:04 +01:00
63e6826906 Added find_package calls for libcurl and linked the maxscale executable against it. 2015-02-26 11:16:50 +02:00
8e941f7523 Addition of the MaxInfo filter and the generic MaxScale resultset 2015-02-18 17:25:13 +00:00
d3c8770852 Merge branch 'blr' into develop
Conflicts:
	client/maxadmin.c
	server/core/CMakeLists.txt
	server/core/dcb.c
	server/core/gateway.c
	server/core/poll.c
	server/core/test/CMakeLists.txt
	server/core/test/makefile
	server/include/poll.h
	server/modules/routing/debugcmd.c
2014-11-19 12:00:55 +00:00
3053775592 Tests aren't built as a default anymore. 2014-10-01 14:48:48 +03:00
0ef87e3cc1 Updates to slave catchup mode to use fake events
Addition of fake EPOLLOUT event mechanism

New memlog feature for debugging purposes
2014-09-30 13:25:45 +01:00
3d4dc48c8b fixed double linking of the embedded library in a statically built internal library 2014-09-20 20:24:04 +03:00
3f0de666ac Changed the order of linking to resolve some debug build bugs and added the missing parent directory of the MYSQL_DIR into the included directories. 2014-09-20 19:44:30 +03:00
c868fedb87 Fixed missing ${EMBEDDED_LIB} variables and changed to the proper template config file. 2014-09-19 11:41:44 +03:00