c2459c420d
MXS-2304 Rename fields of CONFIG_CONTEXT
...
Added m_-prefix.
2019-03-04 12:27:36 +02:00
3fa4a85a1e
MXS-2304 Use values instead of pointers in CONFIG_CONTEXT
...
Simplifies ctor/dtor.
2019-02-22 16:39:45 +02:00
5828c93112
MXS-2304 Convert static config parameter methods to non-static
...
Parameter handling changed in several places.
2019-02-22 15:17:55 +02:00
9fbaafea91
MXS-2304 Remove additional module parameter classes
...
Equivalent functionality is now in the basic config parameter class.
2019-02-19 13:52:44 +02:00
1fed465fdb
MXS-2246 Remove duplicate info in SERVICE and Service
...
Both of them contained fields for the service and router names.
Now the names are in SERVICE and they must be accessed via member
function.
2019-02-14 15:24:10 +02:00
35ab911d5c
MXS-2304 Use configuration class methods instead of separate implementations
...
Replaces parameter add/set/remove/free.
2019-02-07 13:51:16 +02:00
42b5c39f43
Merge branch '2.3' into develop
2019-02-07 10:50:27 +02:00
08a05d3ab9
Fix use of uninitialized variables
...
Building with optimization in debug mode revealed code that could in
theory result in undefined behavior.
2019-02-06 14:22:24 +02:00
5a409f313a
MXS-2304 Config string handling cleanup
...
Using correct functions in most cases.
2019-02-05 10:52:46 +02:00
4132c9bbbc
MXS-2304 Use get_c_str_copy instead of config_copy_string()
...
Also uses get_string() in core-code when appropriate.
2019-02-05 10:28:37 +02:00
882d360355
MXS-2304 Use get_size() instead of config_get_size()
2019-02-01 17:23:14 +02:00
b357717149
MXS-2304 Use get_bool() instead of config_get_bool()
2019-02-01 17:18:49 +02:00
f2d2202ea3
MXS-2304 Use get_enum() instead of config_get_enum()
2019-02-01 10:29:24 +02:00
c8a84cebd0
MXS-2304 Use get_integer() instead of config_get_integer()
2019-01-31 18:12:25 +02:00
3b55893a20
Combine maxscale/buffer.h with maxscale/buffer.hh
2019-01-17 12:37:40 +02:00
df17619722
MXS-2220 Move server_update_address inside class
...
Should be moved to internal class once blr is cleaned up.
2019-01-10 10:26:53 +02:00
6ba2cb61df
MXS-2218 Implement housekeeper in terms of MainWorker
2019-01-08 16:01:36 +02:00
40485d746c
MXS-2220 Change server name to constant string
2019-01-03 12:13:15 +02:00
5fc2c1f49c
MXS-2220 Store server ports as integers and modify them in methods
2019-01-03 12:13:15 +02:00
54ae7119cf
Fix binlogrouter master reconnection
...
The reconnection attempt to the master won't work if users aren't loaded
before it.
2018-12-31 10:39:57 +02:00
3b150ad4b2
Fix binlogrouter use of DCBs
...
The dcb_connect function requires that the client DCB has a remote
address.
2018-12-28 10:13:24 +02:00
6209d737e9
MXS-2220 server_alloc returns internal type
...
Also adds default initializers to SERVER fields.
2018-12-14 10:31:57 +02:00
7cf73e0f13
MXS-2196: Fix use of DCBs in binlogrouter
...
The binlogrouter now handles the DCB creation a bit more correctly but it
still breaks a few of the rules.
2018-12-13 13:27:45 +02:00
0927a0b938
MXS-2197 Remove most includes of maxscale/log.hh
...
All cc-files should include maxscale/ccdefs.hh, which includes
maxscale/log.hh. Consequently it need not be included again.
2018-12-10 13:07:23 +02:00
dc8c2f27f7
MXS-2197 Rename all module include files from .h to .hh
2018-12-10 13:00:46 +02:00
c0c9a9858d
MXS-2197 Rename maxscale/log.h to maxscale/log.hh
...
In files either include maxscale/log.hh or remove include entirelly
as maxscale/ccdefs.hh includes it.
2018-12-10 12:58:17 +02:00
1b5b789342
MXS-2208 Move trim-functions from maxscale to maxbase
...
log.h now includes string.hh, which is conceptually wrong, but
log.h will shortly disappear and be superceded by log.hh.
2018-12-10 12:50:07 +02:00
77477d9648
MXS-2196: Rename dcb_role_t to DCB::Role
2018-12-05 15:30:44 +02:00
bec9455a74
MXS-2205 Combine routingworker.h with routingworker.hh
2018-12-05 11:12:20 +02:00
9f721f725e
MXS-2205 Convert maxscale/protocol/mysql.h to .hh
2018-12-05 11:12:20 +02:00
d96a7dedc5
MXS-2205 Convert maxscale/poll.h to .hh
2018-12-04 14:51:02 +02:00
43c33e9f4a
MXS-2196: Allocate a session before allocating DCBs
...
Allocating the session before a DCB guarantees that at no point will a DCB
have a null session. This further clarifies the concept of the session and
also allows the listener reference to be moved there.
Ideally, the session itself would allocate and assign the client DCB but
since the Listener is the only one who does it, it's acceptable for now.
2018-12-04 11:50:43 +02:00
da9816b7e7
MXS-2196: Always allocate a session
...
Whenever a client DCB is accepted, a session for it is allocated. This
simplifies the handling of shared data between DCBs by allowing it to be
placed inside the session object. Currently, the data is stashed away in
the client DCB.
2018-12-04 11:50:43 +02:00
694d4a4003
MXS-2196: Make DCB a C++ struct
...
Allocating DCB with new allows the use of C++ objects in the DCB
struct. Also the explicit poll field can be replaced by inheriting from
MXB_POLL_DATA.
2018-12-04 11:50:43 +02:00
ad12ff6d06
MXS-2196: Rename dcb.h to dcb.hh
2018-12-04 11:50:43 +02:00
3b5e45ceee
MXS-2196: Combine session.h and session.hh
...
Combined the public session headers into one.
2018-12-04 11:43:38 +02:00
39f668ff3c
MXS-2196: Rename SERV_LISTENER to Listener
2018-12-04 11:39:52 +02:00
67626d6c32
MXS-2196: Pass the SERVICE pointer when allocating a DCB
...
The value would otherwise be assigned outside of it and in some cases not
at all. Now all DCBs (apart from internal ones) have a valid SERVICE
pointer.
The SERV_LISTENER pointer should not be in the DCBs but in the
session. This way the listener is an attribute of a session instead of a
connection. If this is implemented, the authenticator data can be more
easily shared.
2018-12-04 11:39:51 +02:00
bb295b5cbe
MXS-2196: Remove listeners from services
...
All access to the listeners of a service are done via the listener
functions.
2018-12-04 11:39:51 +02:00
d9ae298102
MXS-2205 Combine maxscale/server.h with maxscale/server.hh
...
The server-struct is still used in several .h-files.
2018-12-03 16:47:27 +02:00
756593a718
MXS-2205 Combine maxscale/router.h with maxscale/router.hh
2018-12-03 15:28:06 +02:00
36792607d8
MXS-2205 Combine internal/modules.h with internal/modules.hh
2018-12-03 13:36:25 +02:00
760f2ff34c
Move alloc.cc to maxbase
...
Only renames the functions. Macro names are left as is to keep the diff
small.
2018-12-03 10:20:45 +02:00
77585bdb8c
MXS-2197: Make config.h and service.h C++ headers
...
This is the first step into converting the other headers into C++.
2018-11-30 12:15:57 +02:00
2eee524eef
Fix blr server protocol name
...
The server that the binlogrouter creates used the old protocol name that
caused a confusing deprecation warning.
2018-11-28 19:21:59 +02:00
ce35b0d541
Merge branch '2.2' into 2.3
2018-10-30 14:16:33 +02:00
91c5f8580c
MXS-2119: Fix file permissions
...
The admin files are now created with 640 permissions and automatically
created directories now properly set the permissions for the group as
well. All files and directories created by avrorouter and binlogrouter
also now correctly limit the read and write permissions only to the owner
and the group.
2018-10-30 12:45:36 +02:00
8a0805d264
MXS-2090 Drop requirement that GTID based replication is used
...
Drop the requirement that GTID based replication is used for
the BinLog Galera "failover" mechanism. There is no reason for
that restriction; it works just as well with file+position based
replication.
2018-10-19 08:03:11 +03:00
661bdd5b82
Work around debug assertions in binlogrouter
...
The binlogrouter uses buffers across worker threads which is no longer OK
in 2.3. The correct solution would be to store data in something other
than a GWBUF (e.g. std::vector) and protect the sharing with a mutex. The
current solution simply works around the assertions by using macros
instead of functions.
2018-10-04 12:48:27 +03:00
9278da1f54
MXS-2067: Remove spinlock.h
...
Removed the spinlock.h header and replaced with plain pthread types and
functions.
2018-09-28 12:18:24 +03:00