Skip to content

Commit d767f44

Browse files
committed
Update exasolrouter documentation
1 parent bebaf95 commit d767f44

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed

maxscale/reference/maxscale-routers/maxscale-exasolrouter.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,19 @@ connection_string=127.0.0.1/340F511A5A5179FF44A6828CC140FAEBAF1F2E2ECD73FBCD7EDD
3737
The latter alternative illustrates the case when the Exasol server uses a
3838
self-signed certificate.
3939

40+
### `appearance`
41+
42+
* Type: [enum](../../maxscale-management/deployment/maxscale-configuration-guide.md#enumerations)
43+
* Mandatory: No
44+
* Dynamic: No
45+
* Values: `read_only`, `read_write`
46+
* Default: `read_only`
47+
48+
Specifies how the Exasol router appears to other components of MaxScale.
49+
50+
**Note** Irrespective of the value, the router does not in any way restrict
51+
what kind of queries can be run through the router.
52+
4053
### `install_preprocessor_script`
4154

4255
* Type: [boolean](../../maxscale-management/deployment/maxscale-configuration-guide.md#booleans)
@@ -93,6 +106,39 @@ data directory.
93106
Specifies whether the preprocessor script should be used. If `true`, the
94107
session creation will fail unless the script is present.
95108

109+
## Transformations
110+
111+
The Exasol Router transparently translates some MariaDB constructs to
112+
equivalent Exasol constructs.
113+
114+
### `COM_INIT_DB`
115+
116+
The MariaDB COM_INIT_DB packet, using which the default database is changed,
117+
is transformed into the statement `OPEN SCHEMA <db>`.
118+
119+
### SQL
120+
121+
Currently a transformation will be made **only** if there is an **exact**
122+
match (apart from case) with the MariaDb SQL. At this point the goal is
123+
to match what the MariaDB command line client sends.
124+
125+
| MariaDb | Exasol |
126+
| ------- | ------- |
127+
| SELECT @@VERSION_COMMENT LIMIT 1 | SELECT 'Exasol' AS '@@version_comment' LIMIT 1 |
128+
| SELECT DATABASE() | SELECT TABLE_NAME AS 'Database()' FROM EXA_ALL_TABLES WHERE TABLE_SCHEMA = CURRENT_SCHEMA |
129+
| SHOW DATABASES | SELECT SCHEMA_NAME AS 'Database' FROM EXA_SCHEMAS ORDER BY SCHEMA_NAME |
130+
| SHOW TABLES | SELECT TABLE_NAME AS 'Tables' FROM SYS.EXA_ALL_TABLES WHERE TABLE_SCHEMA = CURRENT_SCHEMA ORDER BY TABLE_NAME |
131+
132+
## Limitations
133+
134+
The following is assumed regarding the data returned by Exasol:
135+
* The value in a column of a row is assumed to be no more than 1024 bytes, and
136+
* the complete returned result set will fit in a 16MB MariaDB protocol packet.
137+
138+
If these limitations are exceeded, the router may malfunction or crash.
139+
140+
These limitations are temporary and will be removed before Dec 8.
141+
96142
## SmartRouter
97143

98144
The primary purpose of the Exasol router is to be used together with

0 commit comments

Comments
 (0)