You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by ki...@apache.org on 2020/06/17 13:09:45 UTC

[shardingsphere] branch master updated: Add props (#6103)

This is an automated email from the ASF dual-hosted git repository.

kimmking pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new 1620061  Add props (#6103)
1620061 is described below

commit 162006152fe4a0d4cd382e06680dc1f47da96b3b
Author: Liang Zhang <te...@163.com>
AuthorDate: Wed Jun 17 21:09:30 2020 +0800

    Add props (#6103)
    
    * Add props
    
    * Add props
---
 .../shardingsphere-jdbc/configuration/props.cn.md  |  24 +
 .../shardingsphere-jdbc/configuration/props.en.md  |  24 +
 .../properties/ConfigurationPropertyKey.java       |  52 +-
 .../properties/ConfigurationPropertiesTest.java    |   6 -
 .../main/antlr4/imports/mysql/MySQLKeyword.tokens  | 587 +++++++++++++++++++++
 5 files changed, 648 insertions(+), 45 deletions(-)

diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/configuration/props.cn.md b/docs/document/content/user-manual/shardingsphere-jdbc/configuration/props.cn.md
new file mode 100644
index 0000000..c3f72f7
--- /dev/null
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/configuration/props.cn.md
@@ -0,0 +1,24 @@
++++
+title = "属性配置"
+weight = 6
+chapter = true
++++
+
+## 简介
+
+Apache ShardingSphere 提供属性配置的方式配置系统级配置。
+
+## 配置项说明
+
+| *名称*                                       | *数据类型*   | *说明*                                                                                                                                                                                  | *默认值*  |
+| -------------------------------------------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- |
+| sql.show (?)                                 | boolean     | 是否在日志中打印 SQL。 <br /> 打印 SQL 可以帮助开发者快速定位系统问题。日志内容包含:逻辑 SQL,真实 SQL 和 SQL 解析结果。<br /> 如果开启配置,日志将使用 Topic `ShardingSphere-SQL`,日志级别是 INFO。 | false    |
+| sql.simple (?)                               | boolean     | 是否在日志中打印简单风格的 SQL。                                                                                                                                                           | false    |
+| acceptor.size (?)                            | int         | 用于设置接收 TCP 请求线程池的大小。                                                                                                                                                        | CPU * 2  |
+| executor.size (?)                            | int         | 用于设置任务处理线程池的大小。每个 ShardingSphereDataSource 使用一个独立的线程池,同一个 JVM 的不同数据源不共享线程池。                                                                           | infinite |
+| max.connections.size.per.query (?)           | int         | 一次查询请求在每个数据库实例中所能使用的最大连接数。                                                                                                                                          | 1        |
+| check.table.metadata.enabled (?)             | boolean     | 是否在程序启动和更新时检查分片元数据的结构一致性。                                                                                                                                            | false    |
+| query.with.cipher.column (?)                 | boolean     | 是否使用加密列进行查询。在有原文列的情况下,可以使用原文列进行查询。                                                                                                                            | true     |
+| proxy.frontend.flush.threshold (?)           | int         | 在 ShardingSphere-Proxy 中设置传输数据条数的 IO 刷新阈值。                                                                                                                                  | 128      |
+| proxy.transaction.type (?)                   | String      | ShardingSphere-Proxy 中使用的默认事务类型。包括:LOCAL、XA 和 BASE。                                                                                                                         | LOCAL    |
+| proxy.opentracing.enabled (?)                | boolean     | 是否在 ShardingSphere-Proxy 中使用 OpenTracing。                                                                                                                                          | false    |
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/configuration/props.en.md b/docs/document/content/user-manual/shardingsphere-jdbc/configuration/props.en.md
new file mode 100644
index 0000000..2e3f560
--- /dev/null
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/configuration/props.en.md
@@ -0,0 +1,24 @@
++++
+title = "Properties Configuration"
+weight = 6
+chapter = true
++++
+
+## Introduction
+
+Apache ShardingSphere provides the way of property configuration to configure system level configuration.
+
+## Configuration Item Explanation
+
+| *Name*                                       | *Data Type* | *Description*                                                                                                                                                                                                                                                | *Default Value* |
+| -------------------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------- |
+| sql.show (?)                                 | boolean     | Whether show SQL or not in log. <br /> Print SQL details can help developers debug easier. The log details include: logic SQL, actual SQL and SQL parse result. <br /> Enable this property will log into log topic `ShardingSphere-SQL`, log level is INFO. | false           |
+| sql.simple (?)                               | boolean     | Whether show SQL details in simple style.                                                                                                                                                                                                                    | false           |
+| acceptor.size (?)                            | int         | The max thread size of accepter group to accept TCP connections.                                                                                                                                                                                             | CPU * 2         |
+| executor.size (?)                            | int         | The max thread size of worker group to execute SQL. One ShardingSphereDataSource will use a independent thread pool, it does not share thread pool even different data source in same JVM.                                                                   | infinite        |
+| max.connections.size.per.query (?)           | int         | Max opened connection size for each query.                                                                                                                                                                                                                   | 1               |
+| check.table.metadata.enabled (?)             | boolean     | Whether validate table meta data consistency when application startup or updated.                                                                                                                                                                            | false           |
+| query.with.cipher.column (?)                 | boolean     | Whether query with cipher column for data encrypt. User you can use plaintext to query if have.                                                                                                                                                              | true            |
+| proxy.frontend.flush.threshold (?)           | int         | Flush threshold for every records from databases for ShardingSphere-Proxy.                                                                                                                                                                                   | 128             |
+| proxy.transaction.type (?)                   | String      | Default transaction type of ShardingSphere-Proxy. Include: LOCAL, XA and BASE.                                                                                                                                                                               | LOCAL           |
+| proxy.opentracing.enabled (?)                | boolean     | Whether enable opentracing for ShardingSphere-Proxy.                                                                                                                                                                                                         | false           |
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/config/properties/ConfigurationPropertyKey.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/config/properties/ConfigurationPropertyKey.java
index 86f8b80..63c8416 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/config/properties/ConfigurationPropertyKey.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/config/properties/ConfigurationPropertyKey.java
@@ -29,46 +29,22 @@ import org.apache.shardingsphere.infra.properties.TypedPropertyKey;
 public enum ConfigurationPropertyKey implements TypedPropertyKey {
     
     /**
-     * Enable or Disable to show SQL details.
-     * 
-     * <p>
-     * Print SQL details can help developers debug easier. 
-     * The details includes: logic SQL, parse context and rewrote actual SQL list. 
-     * Enable this property will log into log topic: {@code ShardingSphere-SQL}, log level is {@code INFO}.
-     * Default: false
-     * </p>
+     * Whether show SQL in log.
      */
     SQL_SHOW("sql.show", String.valueOf(Boolean.FALSE), boolean.class),
     
     /**
-     * Enable or Disable to show SQL details in simple style.
-     *
-     * <p>
-     * In sharding mode, if this properties is true, log will display in simple style to avoid too much contents.
-     * Default: false
-     * </p>
+     * Whether show SQL details in simple style.
      */
     SQL_SIMPLE("sql.simple", String.valueOf(Boolean.FALSE), boolean.class),
     
     /**
-     * Worker group or user group thread max size.
-     *
-     * <p>
-     * Worker group accept tcp connection.
-     * Command execute engine accept MySQL command.
-     * Default: CPU cores * 2.
-     * </p>
+     * The max thread size of accepter group to accept TCP connections.
      */
     ACCEPTOR_SIZE("acceptor.size", String.valueOf(Runtime.getRuntime().availableProcessors() * 2), int.class),
     
     /**
-     * Worker thread max size.
-     * 
-     * <p>
-     * Execute SQL Statement and PrepareStatement will use this thread pool.
-     * One sharding data source will use a independent thread pool, it does not share thread pool even different data source in same JVM.
-     * Default: infinite.
-     * </p>
+     * The max thread size of worker group to execute SQL.
      */
     EXECUTOR_SIZE("executor.size", String.valueOf(0), int.class),
     
@@ -78,13 +54,17 @@ public enum ConfigurationPropertyKey implements TypedPropertyKey {
     MAX_CONNECTIONS_SIZE_PER_QUERY("max.connections.size.per.query", String.valueOf(1), int.class),
     
     /**
-     * When encrypt data, query with cipher column or not.
-     * 
+     * Whether validate table meta data consistency when application startup or updated.
+     */
+    CHECK_TABLE_METADATA_ENABLED("check.table.metadata.enabled", String.valueOf(Boolean.FALSE), boolean.class),
+    
+    /**
+     * Whether query with cipher column for data encrypt.
      */
     QUERY_WITH_CIPHER_COLUMN("query.with.cipher.column", String.valueOf(Boolean.TRUE), boolean.class),
     
     /**
-     * ShardingSphere-Proxy's flush threshold for every records from databases.
+     * Flush threshold for every records from databases for ShardingSphere-Proxy.
      */
     PROXY_FRONTEND_FLUSH_THRESHOLD("proxy.frontend.flush.threshold", String.valueOf(128), int.class),
     
@@ -109,7 +89,7 @@ public enum ConfigurationPropertyKey implements TypedPropertyKey {
     PROXY_TRANSACTION_TYPE("proxy.transaction.type", "LOCAL", String.class),
     
     /**
-     * Enable opentracing for ShardingSphere-Proxy.
+     * Whether enable opentracing for ShardingSphere-Proxy.
      */
     PROXY_OPENTRACING_ENABLED("proxy.opentracing.enabled", String.valueOf(Boolean.FALSE), boolean.class),
     
@@ -126,13 +106,7 @@ public enum ConfigurationPropertyKey implements TypedPropertyKey {
     /**
      * Enable cluster for ShardingSphere-Proxy.
      */
-    PROXY_CLUSTER_ENABLED("proxy.cluster.enabled", String.valueOf(Boolean.FALSE), boolean.class),
-    
-    PROXY_BACKEND_MAX_CONNECTIONS("proxy.backend.max.connections", String.valueOf(8), int.class),
-    
-    PROXY_BACKEND_CONNECTION_TIMEOUT_SECONDS("proxy.backend.connection.timeout.seconds", String.valueOf(60), int.class),
-    
-    CHECK_TABLE_METADATA_ENABLED("check.table.metadata.enabled", String.valueOf(Boolean.FALSE), boolean.class);
+    PROXY_CLUSTER_ENABLED("proxy.cluster.enabled", String.valueOf(Boolean.FALSE), boolean.class);
     
     private final String key;
     
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/config/properties/ConfigurationPropertiesTest.java b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/config/properties/ConfigurationPropertiesTest.java
index 0114fff..277ff81 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/config/properties/ConfigurationPropertiesTest.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/config/properties/ConfigurationPropertiesTest.java
@@ -41,8 +41,6 @@ public final class ConfigurationPropertiesTest {
         props.setProperty(ConfigurationPropertyKey.PROXY_TRANSACTION_TYPE.getKey(), "XA");
         props.setProperty(ConfigurationPropertyKey.PROXY_OPENTRACING_ENABLED.getKey(), Boolean.TRUE.toString());
         props.setProperty(ConfigurationPropertyKey.PROXY_HINT_ENABLED.getKey(), Boolean.TRUE.toString());
-        props.setProperty(ConfigurationPropertyKey.PROXY_BACKEND_MAX_CONNECTIONS.getKey(), "20");
-        props.setProperty(ConfigurationPropertyKey.PROXY_BACKEND_CONNECTION_TIMEOUT_SECONDS.getKey(), "20");
         props.setProperty(ConfigurationPropertyKey.CHECK_TABLE_METADATA_ENABLED.getKey(), Boolean.TRUE.toString());
         ConfigurationProperties actual = new ConfigurationProperties(props);
         assertTrue(actual.getValue(ConfigurationPropertyKey.SQL_SHOW));
@@ -55,8 +53,6 @@ public final class ConfigurationPropertiesTest {
         assertThat(actual.getValue(ConfigurationPropertyKey.PROXY_TRANSACTION_TYPE), is("XA"));
         assertTrue(actual.getValue(ConfigurationPropertyKey.PROXY_OPENTRACING_ENABLED));
         assertTrue(actual.getValue(ConfigurationPropertyKey.PROXY_HINT_ENABLED));
-        assertThat(actual.getValue(ConfigurationPropertyKey.PROXY_BACKEND_MAX_CONNECTIONS), is(20));
-        assertThat(actual.getValue(ConfigurationPropertyKey.PROXY_BACKEND_CONNECTION_TIMEOUT_SECONDS), is(20));
         assertTrue(actual.getValue(ConfigurationPropertyKey.CHECK_TABLE_METADATA_ENABLED));
     }
     
@@ -73,8 +69,6 @@ public final class ConfigurationPropertiesTest {
         assertThat(actual.getValue(ConfigurationPropertyKey.PROXY_TRANSACTION_TYPE), is("LOCAL"));
         assertFalse(actual.getValue(ConfigurationPropertyKey.PROXY_OPENTRACING_ENABLED));
         assertFalse(actual.getValue(ConfigurationPropertyKey.PROXY_HINT_ENABLED));
-        assertThat(actual.getValue(ConfigurationPropertyKey.PROXY_BACKEND_MAX_CONNECTIONS), is(8));
-        assertThat(actual.getValue(ConfigurationPropertyKey.PROXY_BACKEND_CONNECTION_TIMEOUT_SECONDS), is(60));
         assertFalse(actual.getValue(ConfigurationPropertyKey.CHECK_TABLE_METADATA_ENABLED));
     }
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/antlr4/imports/mysql/MySQLKeyword.tokens b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/antlr4/imports/mysql/MySQLKeyword.tokens
new file mode 100644
index 0000000..de87be3
--- /dev/null
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/antlr4/imports/mysql/MySQLKeyword.tokens
@@ -0,0 +1,587 @@
+USE=1
+DESCRIBE=2
+SHOW=3
+DATABASES=4
+DATABASE=5
+SCHEMAS=6
+TABLES=7
+TABLESPACE=8
+COLUMNS=9
+FIELDS=10
+INDEXES=11
+STATUS=12
+REPLACE=13
+MODIFY=14
+DISTINCTROW=15
+VALUE=16
+DUPLICATE=17
+FIRST=18
+LAST=19
+AFTER=20
+OJ=21
+WINDOW=22
+MOD=23
+DIV=24
+XOR=25
+REGEXP=26
+RLIKE=27
+ACCOUNT=28
+USER=29
+ROLE=30
+START=31
+TRANSACTION=32
+ROW=33
+ROWS=34
+WITHOUT=35
+BINARY=36
+ESCAPE=37
+GENERATED=38
+PARTITION=39
+SUBPARTITION=40
+STORAGE=41
+STORED=42
+SUPER=43
+SUBSTR=44
+TEMPORARY=45
+THAN=46
+TRAILING=47
+UNBOUNDED=48
+UNLOCK=49
+UNSIGNED=50
+SIGNED=51
+UPGRADE=52
+USAGE=53
+VALIDATION=54
+VIRTUAL=55
+ROLLUP=56
+SOUNDS=57
+UNKNOWN=58
+OFF=59
+ALWAYS=60
+CASCADE=61
+CHECK=62
+COMMITTED=63
+LEVEL=64
+NO=65
+OPTION=66
+PASSWORD=67
+PRIVILEGES=68
+READ=69
+WRITE=70
+REFERENCES=71
+ACTION=72
+ALGORITHM=73
+ANALYZE=74
+AUTOCOMMIT=75
+MAXVALUE=76
+BOTH=77
+BTREE=78
+CHAIN=79
+CHANGE=80
+CHARSET=81
+CHECKSUM=82
+CIPHER=83
+CLIENT=84
+COALESCE=85
+COLLATE=86
+COMMENT=87
+COMPACT=88
+COMPRESSED=89
+COMPRESSION=90
+CONNECTION=91
+CONSISTENT=92
+CONVERT=93
+COPY=94
+DATA=95
+DELAYED=96
+DIRECTORY=97
+DISCARD=98
+DISK=99
+DYNAMIC=100
+ENCRYPTION=101
+END=102
+ENGINE=103
+EVENT=104
+EXCEPT=105
+EXCHANGE=106
+EXCLUSIVE=107
+EXECUTE=108
+EXTRACT=109
+FILE=110
+FIXED=111
+FOLLOWING=112
+FORCE=113
+FULLTEXT=114
+GLOBAL=115
+HASH=116
+IDENTIFIED=117
+IGNORE=118
+IMPORT_=119
+INPLACE=120
+KEYS=121
+LEADING=122
+LESS=123
+LINEAR=124
+LOCK=125
+MATCH=126
+MEMORY=127
+NONE=128
+NOW=129
+OPTIMIZE=130
+OVER=131
+PARSER=132
+PARTIAL=133
+PARTITIONING=134
+PERSIST=135
+PRECEDING=136
+PROCESS=137
+PROXY=138
+QUICK=139
+RANGE=140
+REBUILD=141
+RECURSIVE=142
+REDUNDANT=143
+RELEASE=144
+RELOAD=145
+REMOVE=146
+RENAME=147
+REORGANIZE=148
+REPAIR=149
+REPLICATION=150
+REQUIRE=151
+RESTRICT=152
+REVERSE=153
+ROUTINE=154
+SEPARATOR=155
+SESSION=156
+SHARED=157
+SHUTDOWN=158
+SIMPLE=159
+SLAVE=160
+SPATIAL=161
+ZEROFILL=162
+VISIBLE=163
+INVISIBLE=164
+INSTANT=165
+ENFORCED=166
+AGAINST=167
+LANGUAGE=168
+MODE=169
+QUERY=170
+EXTENDED=171
+EXPANSION=172
+VARIANCE=173
+MAX_ROWS=174
+MIN_ROWS=175
+HIGH_PRIORITY=176
+LOW_PRIORITY=177
+SQL_BIG_RESULT=178
+SQL_BUFFER_RESULT=179
+SQL_CACHE=180
+SQL_CALC_FOUND_ROWS=181
+SQL_NO_CACHE=182
+SQL_SMALL_RESULT=183
+STATS_AUTO_RECALC=184
+STATS_PERSISTENT=185
+STATS_SAMPLE_PAGES=186
+ROLE_ADMIN=187
+ROW_FORMAT=188
+SET_USER_ID=189
+REPLICATION_SLAVE_ADMIN=190
+GROUP_REPLICATION_ADMIN=191
+STRAIGHT_JOIN=192
+WEIGHT_STRING=193
+COLUMN_FORMAT=194
+CONNECTION_ADMIN=195
+FIREWALL_ADMIN=196
+FIREWALL_USER=197
+INSERT_METHOD=198
+KEY_BLOCK_SIZE=199
+PACK_KEYS=200
+PERSIST_ONLY=201
+BIT_AND=202
+BIT_OR=203
+BIT_XOR=204
+GROUP_CONCAT=205
+JSON_ARRAYAGG=206
+JSON_OBJECTAGG=207
+STD=208
+STDDEV=209
+STDDEV_POP=210
+STDDEV_SAMP=211
+VAR_POP=212
+VAR_SAMP=213
+AUDIT_ADMIN=214
+AUTO_INCREMENT=215
+AVG_ROW_LENGTH=216
+BINLOG_ADMIN=217
+DELAY_KEY_WRITE=218
+ENCRYPTION_KEY_ADMIN=219
+SYSTEM_VARIABLES_ADMIN=220
+VERSION_TOKEN_ADMIN=221
+CURRENT_TIMESTAMP=222
+CURRENT_DATE=223
+CURRENT_TIME=224
+LAST_DAY=225
+YEAR_MONTH=226
+DAY_HOUR=227
+DAY_MINUTE=228
+DAY_SECOND=229
+DAY_MICROSECOND=230
+HOUR_MINUTE=231
+HOUR_SECOND=232
+HOUR_MICROSECOND=233
+MINUTE_SECOND=234
+MINUTE_MICROSECOND=235
+SECOND_MICROSECOND=236
+UL_BINARY=237
+ROTATE=238
+MASTER=239
+BINLOG=240
+ERROR=241
+SCHEDULE=242
+COMPLETION=243
+EVERY=244
+STARTS=245
+ENDS=246
+HOST=247
+SOCKET=248
+PORT=249
+SERVER=250
+WRAPPER=251
+OPTIONS=252
+OWNER=253
+DETERMINISTIC=254
+RETURNS=255
+CONTAINS=256
+READS=257
+MODIFIES=258
+SECURITY=259
+INVOKER=260
+OUT=261
+INOUT=262
+TEMPTABLE=263
+MERGE=264
+UNDEFINED=265
+DATAFILE=266
+FILE_BLOCK_SIZE=267
+EXTENT_SIZE=268
+INITIAL_SIZE=269
+AUTOEXTEND_SIZE=270
+MAX_SIZE=271
+NODEGROUP=272
+WAIT=273
+LOGFILE=274
+UNDOFILE=275
+UNDO_BUFFER_SIZE=276
+REDO_BUFFER_SIZE=277
+HANDLER=278
+PREV=279
+ORGANIZATION=280
+DEFINITION=281
+DESCRIPTION=282
+REFERENCE=283
+FOLLOWS=284
+PRECEDES=285
+IMPORT=286
+LOAD=287
+CONCURRENT=288
+INFILE=289
+LINES=290
+STARTING=291
+TERMINATED=292
+OPTIONALLY=293
+ENCLOSED=294
+ESCAPED=295
+XML=296
+UNDO=297
+DUMPFILE=298
+OUTFILE=299
+SHARE=300
+LOGS=301
+EVENTS=302
+BEFORE=303
+EACH=304
+MUTEX=305
+ENGINES=306
+ERRORS=307
+CODE=308
+GRANTS=309
+PLUGINS=310
+PROCESSLIST=311
+BLOCK=312
+IO=313
+CONTEXT=314
+SWITCHES=315
+CPU=316
+IPC=317
+PAGE=318
+FAULTS=319
+SOURCE=320
+SWAPS=321
+PROFILE=322
+PROFILES=323
+RELAYLOG=324
+CHANNEL=325
+VARIABLES=326
+WARNINGS=327
+SSL=328
+CLONE=329
+AGGREGATE=330
+STRING=331
+SONAME=332
+INSTALL=333
+COMPONENT=334
+PLUGIN=335
+UNINSTALL=336
+NO_WRITE_TO_BINLOG=337
+HISTOGRAM=338
+BUCKETS=339
+FAST=340
+MEDIUM=341
+USE_FRM=342
+RESOURCE=343
+VCPU=344
+THREAD_PRIORITY=345
+SYSTEM=346
+EXPIRE=347
+NEVER=348
+HISTORY=349
+OPTIONAL=350
+REUSE=351
+MAX_QUERIES_PER_HOUR=352
+MAX_UPDATES_PER_HOUR=353
+MAX_CONNECTIONS_PER_HOUR=354
+MAX_USER_CONNECTIONS=355
+RETAIN=356
+RANDOM=357
+OLD=358
+X509=359
+ISSUER=360
+SUBJECT=361
+CACHE=362
+GENERAL=363
+OPTIMIZER_COSTS=364
+SLOW=365
+USER_RESOURCES=366
+EXPORT=367
+RELAY=368
+HOSTS=369
+KILL=370
+FLUSH=371
+RESET=372
+RESTART=373
+UNIX_TIMESTAMP=374
+LOWER=375
+UPPER=376
+ADDDATE=377
+ADDTIME=378
+DATE_ADD=379
+DATE_SUB=380
+DATEDIFF=381
+DATE_FORMAT=382
+DAYNAME=383
+DAYOFMONTH=384
+DAYOFWEEK=385
+DAYOFYEAR=386
+STR_TO_DATE=387
+TIMEDIFF=388
+TIMESTAMPADD=389
+TIMESTAMPDIFF=390
+TIME_FORMAT=391
+TIME_TO_SEC=392
+AES_DECRYPT=393
+AES_ENCRYPT=394
+FROM_BASE64=395
+TO_BASE64=396
+GEOMCOLLECTION=397
+GEOMETRYCOLLECTION=398
+LINESTRING=399
+MULTILINESTRING=400
+MULTIPOINT=401
+MULTIPOLYGON=402
+POINT=403
+POLYGON=404
+ST_AREA=405
+ST_ASBINARY=406
+ST_ASGEOJSON=407
+ST_ASTEXT=408
+ST_ASWKB=409
+ST_ASWKT=410
+ST_BUFFER=411
+ST_BUFFER_STRATEGY=412
+ST_CENTROID=413
+ST_CONTAINS=414
+ST_CONVEXHULL=415
+ST_CROSSES=416
+ST_DIFFERENCE=417
+ST_DIMENSION=418
+ST_DISJOINT=419
+ST_DISTANCE=420
+ST_DISTANCE_SPHERE=421
+ST_ENDPOINT=422
+ST_ENVELOPE=423
+ST_EQUALS=424
+ST_EXTERIORRING=425
+ST_GEOHASH=426
+ST_GEOMCOLLFROMTEXT=427
+ST_GEOMCOLLFROMTXT=428
+ST_GEOMCOLLFROMWKB=429
+ST_GEOMETRYCOLLECTIONFROMTEXT=430
+ST_GEOMETRYCOLLECTIONFROMWKB=431
+ST_GEOMETRYFROMTEXT=432
+ST_GEOMETRYFROMWKB=433
+ST_GEOMETRYN=434
+ST_GEOMETRYTYPE=435
+ST_GEOMFROMGEOJSON=436
+ST_GEOMFROMTEXT=437
+ST_GEOMFROMWKB=438
+ST_INTERIORRINGN=439
+ST_INTERSECTION=440
+ST_INTERSECTS=441
+ST_ISCLOSED=442
+ST_ISEMPTY=443
+ST_ISSIMPLE=444
+ST_ISVALID=445
+ST_LATFROMGEOHASH=446
+ST_LATITUDE=447
+ST_LENGTH=448
+ST_LINEFROMTEXT=449
+ST_LINEFROMWKB=450
+ST_LINESTRINGFROMTEXT=451
+ST_LINESTRINGFROMWKB=452
+ST_LONGFROMGEOHASH=453
+ST_LONGITUDE=454
+ST_MAKEENVELOPE=455
+ST_MLINEFROMTEXT=456
+ST_MLINEFROMWKB=457
+ST_MULTILINESTRINGFROMTEXT=458
+ST_MULTILINESTRINGFROMWKB=459
+ST_MPOINTFROMTEXT=460
+ST_MPOINTFROMWKB=461
+ST_MULTIPOINTFROMTEXT=462
+ST_MULTIPOINTFROMWKB=463
+ST_MPOLYFROMTEXT=464
+ST_MPOLYFROMWKB=465
+ST_MULTIPOLYGONFROMTEXT=466
+ST_MULTIPOLYGONFROMWKB=467
+ST_NUMGEOMETRIES=468
+ST_NUMINTERIORRING=469
+ST_NUMINTERIORRINGS=470
+ST_NUMPOINTS=471
+ST_OVERLAPS=472
+ST_POINTFROMGEOHASH=473
+ST_POINTFROMTEXT=474
+ST_POINTFROMWKB=475
+ST_POINTN=476
+ST_POLYFROMTEXT=477
+ST_POLYFROMWKB=478
+ST_POLYGONFROMTEXT=479
+ST_POLYGONFROMWKB=480
+ST_SIMPLIFY=481
+ST_SRID=482
+ST_STARTPOINT=483
+ST_SWAPXY=484
+ST_SYMDIFFERENCE=485
+ST_TOUCHES=486
+ST_TRANSFORM=487
+ST_UNION=488
+ST_VALIDATE=489
+ST_WITHIN=490
+ST_X=491
+ST_Y=492
+BIT=493
+BOOL=494
+DEC=495
+VARCHAR=496
+VARBINARY=497
+TINYBLOB=498
+TINYTEXT=499
+BLOB=500
+TEXT=501
+MEDIUMBLOB=502
+MEDIUMTEXT=503
+LONGBLOB=504
+LONGTEXT=505
+ENUM=506
+GEOMETRY=507
+JSON=508
+IO_THREAD=509
+SQL_THREAD=510
+SQL_BEFORE_GTIDS=511
+SQL_AFTER_GTIDS=512
+MASTER_LOG_FILE=513
+MASTER_LOG_POS=514
+RELAY_LOG_FILE=515
+RELAY_LOG_POS=516
+SQL_AFTER_MTS_GAPS=517
+UNTIL=518
+DEFAULT_AUTH=519
+PLUGIN_DIR=520
+STOP=521
+FAILED_LOGIN_ATTEMPTS=522
+PASSWORD_LOCK_TIME=523
+ATTRIBUTE=524
+APPLICATION_PASSWORD_ADMIN=525
+BACKUP_ADMIN=526
+BINLOG_ENCRYPTION_ADMIN=527
+CLONE_ADMIN=528
+INNODB_REDO_LOG_ARCHIVE=529
+NDB_STOPED_USER=530
+PERSIST_RO_VARIABLES_ADMIN=531
+REPLICATION_APPLIER=532
+RESOURCE_GROUP_ADMIN=533
+RESOURCE_GROUP_USER=534
+SHOW_ROUTINE=535
+SYSTEM_USER=536
+TABLE_ENCRYPTION_ADMIN=537
+XA_RECOVER_ADMIN=538
+WORK=539
+BACKUP=540
+RESUME=541
+SUSPEND=542
+MIGRATE=543
+PREPARE=544
+ONE=545
+PHASE=546
+RECOVER=547
+SNAPSHOT=548
+PURGE=549
+MASTER_COMPRESSION_ALGORITHMS=550
+MASTER_ZSTD_COMPRESSION_LEVEL=551
+MASTER_SSL=552
+MASTER_SSL_CA=553
+MASTER_SSL_CAPATH=554
+MASTER_SSL_CERT=555
+MASTER_SSL_CRL=556
+MASTER_SSL_CRLPATH=557
+MASTER_SSL_KEY=558
+MASTER_SSL_CIPHER=559
+MASTER_SSL_VERIFY_SERVER_CERT=560
+MASTER_TLS_VERSION=561
+MASTER_TLS_CIPHERSUITES=562
+MASTER_PUBLIC_KEY_PATH=563
+GET_MASTER_PUBLIC_KEY=564
+IGNORE_SERVER_IDS=565
+MASTER_BIND=566
+MASTER_HOST=567
+MASTER_USER=568
+MASTER_PASSWORD=569
+MASTER_PORT=570
+PRIVILEGE_CHECKS_USER=571
+REQUIRE_ROW_FORMAT=572
+MASTER_CONNECT_RETRY=573
+MASTER_RETRY_COUNT=574
+MASTER_DELAY=575
+MASTER_HEARTBEAT_PERIOD=576
+MASTER_AUTO_POSITION=577
+REPLICATE_DO_DB=578
+REPLICATE_IGNORE_DB=579
+REPLICATE_DO_TABLE=580
+REPLICATE_IGNORE_TABLE=581
+REPLICATE_WILD_DO_TABLE=582
+REPLICATE_WILD_IGNORE_TABLE=583
+REPLICATE_REWRITE_DB=584
+GROUP_REPLICATION=585
+FOR_GENERATOR=586
+'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=586