Commit Graph

2091 Commits

Author SHA1 Message Date
1e3e09f81c Compile mysql_binlog and mysql_utils as C++ 2017-03-24 11:14:07 +02:00
8d7653bdff Compile listener and ssl as C++ 2017-03-24 11:11:15 +02:00
b04e8b93c9 Compile statistics, thread, users and util as C++ 2017-03-24 11:05:55 +02:00
b5c44be4c8 Add missing MXS_[BEGIN|END]_DECLS 2017-03-24 10:59:05 +02:00
65e36a81bf Compile spinlock.c as C++ 2017-03-24 10:58:19 +02:00
bb1b7f9755 Compile server, service and session as C++ 2017-03-24 10:52:09 +02:00
ec39b54dea Compile secrets.c as C++ 2017-03-24 09:51:56 +02:00
a068c53286 Compile resultset.c as C++ 2017-03-24 09:45:42 +02:00
503c760848 Compile random_jkiss.c as C++ 2017-03-24 09:42:38 +02:00
a9c2580da4 Compile poll.c as C++ 2017-03-24 09:35:11 +02:00
d19ae82a63 Fix rebase 2017-03-24 09:29:53 +02:00
83fd79e280 Compile queuemanager.c as C++ 2017-03-24 09:21:20 +02:00
6acd58e86c Compile monitor.c as C++ 2017-03-24 09:21:20 +02:00
640f0d5139 Compile modutil.c as C++ 2017-03-24 09:21:20 +02:00
44fe995574 Compile mlist.c as C++ 2017-03-24 09:21:20 +02:00
419c55e5be Compile misc.c as C++ 2017-03-24 09:21:20 +02:00
604526667c Compile maxscale_pcre2.c as C++ 2017-03-24 09:21:20 +02:00
96df523ce4 Compile load_utils.c as C++ 2017-03-24 09:21:20 +02:00
a095c80d24 Compile housekeeper.c as C++ 2017-03-24 09:21:20 +02:00
ebf22eee8f Compile hint.c as C++ 2017-03-24 09:21:20 +02:00
d257a8a905 Compile hashtable.c as C++ 2017-03-24 09:21:20 +02:00
90f56e9dde Compile path.c as C++ 2017-03-24 09:21:20 +02:00
77bc2dd7bb Compile externcmd.c as C++ 2017-03-24 09:21:20 +02:00
9a22d1cb92 Compile filter.c as C++
The contents of the existing filter.cc was copied into filter.c that
subsequently was renamed to filter.cc.

The way the session is called as the last filter in the filter chain
is really dubious and ought to be rearranged so that the blind casting
of a session to a filter and back is not needed.
2017-03-24 09:21:20 +02:00
db18e19d3c Compile dcb.c as C++ 2017-03-24 09:21:20 +02:00
71ae3cf524 Compile config_runtime.c as C++ 2017-03-24 09:21:20 +02:00
74085978b4 Compile config.c as C++ 2017-03-24 09:21:20 +02:00
c84c2dcfbd Compile authenticator.c and buffer.c as C++ 2017-03-24 09:21:20 +02:00
462b572600 Compile atomic.c as C++ 2017-03-24 09:21:20 +02:00
acc61ed13d Compile alloc.c as C++ 2017-03-24 09:21:20 +02:00
f82232eac6 Compile adminusers.c as C++ 2017-03-24 09:21:20 +02:00
1a8ff4b813 MXS-1198: Add configurable listener retry interval
The maximum listener retry interval is now configurable.
2017-03-22 15:52:59 +02:00
dd94374057 Make the getCapabitilies entry point optional
The getCapabilities entry point is no longer required as long as all the
relevant capabilities are added to the static module parameters.
2017-03-22 15:47:37 +02:00
7bd05d4581 Merge branch '2.1' into develop 2017-03-22 15:20:21 +02:00
d0a9571da0 Introduce new qc_parse() prototype
It is now possible to specify what information the caller is interested
in. With this the cost for collecting information during the query parsing
that nobody is interested in can be avoided.
2017-03-22 11:09:36 +02:00
3670edbc78 Spinlock cleanup
- Non-GCC intrinsics alternative implementation removed. Let's worry
  about the absence of the intrinsics once/if that becomes relevant.
- Spinlock release now performed using __sync_lock_release, as per
  svoj's advice.
- while-looping on the variable used as lock removed, so it no longer
  need to be volatile.
- Boolean function returns bool.
- Size of profiling counters increased.
- Risk for division-by-zero removed.
- Documentation moved from implementation to header.
2017-03-21 15:19:10 +02:00
4ca3c19ee3 Use [true|false] instead of [TRUE|FALSE] 2017-03-21 15:17:44 +02:00
0b5d164855 MXS-1167: Skip permission checks for internal services
If a server points to a local MaxScale listener, the permission checks for
that server are skipped. This allows permission checks to be used with a
mix of external servers and internal services.
2017-03-20 11:10:55 +02:00
039f6e3487 Take static module capabilities into use
The static module capabilities are now used to query the capabilities of
filters and routers. The new RCAP_TYPE_NOAUTH capability is also taken
into use. These changes removes the need for the `is_internal_service`
function.
2017-03-20 11:10:08 +02:00
558a264e6d Server list handling functions consistency
The functions handling servers lists now act with a bit more
consistency, always returning the array size instead of NULL-
terminating arrays.
2017-03-20 09:44:14 +02:00
1b418b517c Custom parsing for trx state is now the default
The possibility for turning on query_classifier parsing using
an environment variable is retained as a backdoor for sorting
out potential issues.
2017-03-17 12:30:20 +02:00
b52cc4e56b Take modutil_MySQL_bypass_whitespace into use 2017-03-17 11:54:00 +02:00
7469c5be52 Add functionality for bypassing MySQL whitespace/comments
This functionality is needed both in the query classifier, where
it was first created, and in the cache.
2017-03-17 10:27:16 +02:00
67590d59ac Fix connector_plugindir usage with basedir
The connector_plugindir wasn't set correctly when basedir was used.
2017-03-15 17:37:25 +02:00
3129efb3f7 Add new parameter type MXS_MODULE_PARAM_SERVERLIST
This is a list of servers, separated by commas. When queried as a
config setting, returns a null-terminated array of SERVER*:s. The
commit includes a serverlist parsing function, which should probably
be used anywhere a similarly formed string is parsed.
2017-03-15 11:48:46 +02:00
5e39268e37 Remove support for TrxBoundaryMatcher
For the general case, regex matching simply will not do. The
regex becomes so hairy so it turns write-only, i.e. unmaintainable.
Regex matching is also slower than a handwritten custom parser.
2017-03-15 10:39:26 +02:00
1c8205e005 Add missing flag handling 2017-03-15 10:25:02 +02:00
c51cd8858d Minor optimizations to TrxBoundaryParser 2017-03-15 10:20:35 +02:00
96f0321b7e Add program for profiling TrxBoundaryParser 2017-03-15 09:35:15 +02:00
9a33cf4d3e Add smoke-test for qc_get_trx_type_mask_using
Use the query classifier test files and compare that the
result returned by qc_sqlite and the custom parser agree
for every statement.
2017-03-15 09:35:15 +02:00