Commit Graph

6639 Commits

Author SHA1 Message Date
a40692d81d qc_mysqlelmbedded: Handle SQLCOM_REPLACE_SELECT 2017-01-17 12:41:54 +02:00
c59711d04c Add test for new module command options
The tests test the matching of domain names to module names.
2017-01-17 10:47:44 +02:00
1f07adaf0f Log commit ID for debug builds
Logging the commit ID should help identify which commit was used for which
log file when tests are run.
2017-01-17 10:47:43 +02:00
7e65e1ae27 Fix internal test suite
The tests were broken by changes to the core.
2017-01-17 10:47:43 +02:00
272666f3b5 Only add unknown parameters as custom server parameters
The `authenticator_options` was added as a custom server parameter which
caused it to be duplicated for serialized servers.
2017-01-17 10:47:43 +02:00
cc6a3e629e Implement qc_get_preparable_stmt
Now returns the preparable statement as a GWBUF on which the
other qc-functions can be used.
2017-01-17 10:10:38 +02:00
8a95a0f045 Remove qc_get_prepare_operation
Since the whole preparable statement will be available, it is
superfluous to provide a function using which the operation of
the preparable statement can be obtained.
2017-01-17 10:10:38 +02:00
e349319400 Add qc_get_preparable_stmt
This function will return the preparable statement of a PREPARE
statement as a COM_QUERY GWBUF. That is, once obtained, the normal
query classifier functions can be used for obtaining information
about the preparable statement itself.
2017-01-17 10:10:38 +02:00
7fee90a399 Streamline query classifier API interface
- Only types of fixed size used in API interface
- The actual function return value specifies whether the parsing
  process succeeded, while "logical" return values are returned
  as out arguments.

The wrapper function currently ignores the function return value.
2017-01-17 10:10:38 +02:00
8d2f4707a4 Remove superfluous typedef 2017-01-17 09:31:53 +02:00
af045f182b MXS-406: added set_donor_nodes in GALERA_MONITOR struct
Missing set_donor_nodes field added to GALERA_MONITOR struct
2017-01-16 22:41:49 +01:00
3c532430f9 MXS-406: Galeramon to set the preferred donor nodes
Galeramon queries all slave nodes for SHOW VARIABLES LIKE
'wsrep_node_name'

The server list, currently not sorted, is used in SET GLOBAL
wsrep_sst_donor = “list”. The statement is sent to all slave nodes
2017-01-16 16:23:09 +01:00
c2e14161bd Documentation update regarding support for wildcard hostnames
Added short descriptions and some warnings to Release-Notes and
Limitations.
2017-01-16 16:28:04 +02:00
936f8c438f Add support for wildcards in hostnames
MXS-391. The user hosts in the SQL backends can now contain wildcard
addresses (e.g.basicuser@%.com or someuser@myhost_.org). Authenticating
these types of users is rather heavy since it requires looking
up the client host name.
2017-01-16 16:10:44 +02:00
0ce7632f57 QC: Remove qc_is_real_query
Not used.
2017-01-16 14:17:56 +02:00
cd147add5f Move note about MaxAdmin from Changelog to Release notes. 2017-01-16 13:48:27 +02:00
2cabcea211 Add definitions of MXS_MODULE_NAME to all modules
All modules now declare a name for the module. This is name is added as a
prefix to all messages logged by a module. The prefix should help
determine which part of the system logs a message.
2017-01-16 11:28:34 +02:00
d054bc9b04 Split config.h into external and internal parts
The external config.h header defined functions and structures that are
intended to be used by modules. The internal header contains functions
that are used only by the MaxScale core.
2017-01-16 11:02:34 +02:00
74c55e5c82 Remove qc_is_real_query use from mqfilter
The use of this function is not necessary as it is only done as an
optimization.
2017-01-16 10:56:33 +02:00
666d12f5fb Fix devel package
The moving of the header files to include/maxscale/ broke the devel
package.
2017-01-16 10:56:33 +02:00
cbdab48237 Remove unused functions from config.h
The header is divided into two parts, an external and an internal one. The
actual splitting is done in a later commit and this commit only prepares
the header for the split.
2017-01-16 10:56:33 +02:00
08b5d5c957 Detect redefined rules
If a rule is defined more than once, an error is logged and the parsing
fails.
2017-01-16 10:56:33 +02:00
c13a2eeb33 Hide definition of MXS_FILTER_DEF
MXS_FILTER_DEF is now private the MaxScale core.
2017-01-16 10:47:00 +02:00
41d2d65e71 Use new type names in insertstream
Use the renamed types and change numeric constants to defines.
2017-01-13 18:28:37 +02:00
a3a9edd3b6 Add insertstream documentation
The documentation explains how the filter works.
2017-01-13 17:39:27 +02:00
1911430e96 Clean up insertstream source documentation
Cleaned up code and source documentation.
2017-01-13 17:39:27 +02:00
4869eccdc4 Improve insert value checks in insertstream
The filter now checks that the fields are implicitly listed instead of
explicitly defined.
2017-01-13 17:39:27 +02:00
95ffa1c689 Add insert streaming filter
The filter converts bulk inserts inside transactions into LOAD DATA LOCAL
INFILE statements. This allows multiple INSERT statements to be streamed
in a more efficient manner.

The module should be in the experimental package as it is still at an
experimental stage.
2017-01-13 17:39:27 +02:00
1f1abbb37b Make rule matching stricter
The rules are now matched even for trivial queries which don't target
actual tables.
2017-01-13 17:37:28 +02:00
de07f1d69d Fix luafilter build failure
The luafilter used old names.
2017-01-13 15:28:36 +02:00
7d91872924 Fix typo in qlafilter documentation
The parameter name was wrong.
2017-01-13 15:28:36 +02:00
60d4e17996 Allow restriction of module command arguments
The module commands now support an optional flag for arguments that when
enabled checks that the argument module name matches the registered domain
name. This can be used to enforce argument type validity for arguments
that are given to modules that expect objects of a certain type.

For example, this is used by the cache and dbfwfilter to prevent valid
filters but of the wrong type being given as arguments.
2017-01-13 15:28:36 +02:00
265e5c0593 Rename FILTER_DEF to MXS_FILTER_DEF
Provide functions that allows the actual definition of MXS_FILTER_DEF
to be made private.
2017-01-13 14:30:11 +02:00
affec5e388 Rename FILTER_VERSION to MXS_FILTER_VERSION 2017-01-13 14:28:20 +02:00
a41188bd5e Rename FILTER_VERSION to MXS_FILTER_VERSION 2017-01-13 14:26:45 +02:00
424849a9a2 Rename UPSTREAM to MXS_UPSTREAM
And DOWNSTREAM to MXS_DOWNSTREAM
2017-01-13 13:40:03 +02:00
356690c0e5 Filter.h split into public and private parts
- include/maxscale/filter.h
- server/core/maxscale/filter.h
2017-01-13 12:57:40 +02:00
3e5e1bda6a Tee: Remove obsolete struct member
Tee no longer uses the dummy_filterdef FILTER_DEF member, so
it can be removed. That means that filter_free() can be removed
from the public filter.h include.
2017-01-13 12:40:17 +02:00
ce182e3788 Introduce opaque type for filter session data 2017-01-13 11:03:43 +02:00
d0cc246b79 Rename FILTER to MXS_FILTER 2017-01-13 10:21:51 +02:00
e7b951c434 Rename FILTER_OBJECT to MXS_FILTER_OBJECT
Other clarifications to follow.
2017-01-13 10:03:23 +02:00
6248d2bb9f Change int to int32_t in plugin interfaces
Better to use types whose size is unquestionably unambiguous
in plugin interfaces.

As on current platforms sizeof(int32_t) == sizeof(int) plugins
need not immediately be changed to return int32_t:s instead of
int:s.
2017-01-13 09:55:40 +02:00
196d4ad840 Document module configuration directory
Added documentation for dbfwfilter and mentioned the new directory in the
release notes. The configuration guide also gives an example of how the
path parameters are resolved.
2017-01-12 18:24:14 +02:00
463b2fb468 Remove relative path processing from filters
The filters don't need to process relative paths as the core handles
that. All path parameters are interpreted as relative to the module
configuration directory, /etc/maxscale.modules.d/.
2017-01-12 15:33:48 +02:00
813704440a Add relative path parameters
The path parameters now support relative paths.
2017-01-12 15:33:48 +02:00
9168974882 Remove extra space after enum names
The monitor event enum values had an extra space which caused them to be
falsely classified as invalid parameters.
2017-01-12 15:33:48 +02:00
9e9582e71f Fix and install module configuration directory
The module configuration directory didn't have a value in the CMake
files. The directory is now also installed by both packages and local
installations.
2017-01-12 15:33:48 +02:00
e1a43c15c5 Masking: Add error handling
When receiving an error packet, we just abort whatever we were doing.
2017-01-12 14:44:04 +02:00
9a85b8eb06 Masking: Handle multi results 2017-01-12 14:44:04 +02:00
9a95e79dd6 Masking: Add parameter for warnings
The masking filter can now be instructed to warn in case a masking
rule matches a column of a type that is not masked.
2017-01-12 14:41:55 +02:00