From 43eae2618e644724f4c0ccb98ca8ebd0a699cc06 Mon Sep 17 00:00:00 2001 From: Ansgar Becker Date: Sat, 9 Oct 2021 18:18:58 +0200 Subject: [PATCH] Issue #1458: Update MySQL function names for highlighting, with functions from MySQL 8.0.26 --- .../synedit/Source/SynHighlighterSQL.pas | 142 +++++++++++------- 1 file changed, 86 insertions(+), 56 deletions(-) diff --git a/components/synedit/Source/SynHighlighterSQL.pas b/components/synedit/Source/SynHighlighterSQL.pas index 4fb96d8c..abec193d 100644 --- a/components/synedit/Source/SynHighlighterSQL.pas +++ b/components/synedit/Source/SynHighlighterSQL.pas @@ -1097,36 +1097,56 @@ const // functions // Taken from MariaDB 10.5.5 help tables MySQLFunctions: UnicodeString = - 'ABS,ACOS,ADDDATE,ADDTIME,AES_DECRYPT,AES_ENCRYPT,AREA,ASBINARY,ASCII,' + - 'ASIN,ASTEXT,ASWKB,ASWKT,ATAN,ATAN2,AVG,BENCHMARK,BIN,BINLOG_GTID_POS,' + - 'BIT_AND,BIT_COUNT,BIT_LENGTH,BIT_OR,BIT_XOR,BOUNDARY,BUFFER,CAST,CEIL,' + - 'CEILING,CENTROID,CHARACTER_LENGTH,CHAR_LENGTH,CHR,COALESCE,' + - 'COERCIBILITY,COLUMN_ADD,COLUMN_CHECK,COLUMN_CREATE,COLUMN_DELETE,' + - 'COLUMN_EXISTS,COLUMN_GET,COLUMN_JSON,COLUMN_LIST,COMPRESS,CONCAT,' + - 'CONCAT_WS,CONNECTION_ID,CONV,CONVERT_TZ,CONVEXHULL,COS,COT,COUNT,CRC32,' + - 'CROSSES,CUME_DIST,CURDATE,CURRENT_DATE,CURRENT_ROLE,CURRENT_TIME,' + - 'CURRENT_TIMESTAMP,CURRENT_USER,CURTIME,DATEDIFF,DATE_ADD,DATE_FORMAT,' + - 'DATE_SUB,DAY,DAYNAME,DAYOFMONTH,DAYOFWEEK,DAYOFYEAR,DECODE,' + - 'DECODE_HISTOGRAM,DEGREES,DENSE_RANK,DES_DECRYPT,DES_ENCRYPT,DIMENSION,' + - 'DISJOINT,ELT,ENCODE,ENCRYPT,ENDPOINT,ENVELOPE,EQUALS,EXP,EXPORT_SET,' + - 'EXTERIORRING,EXTRACT,EXTRACTVALUE,FIELD,FIND_IN_SET,FIRST_VALUE,FLOOR,' + - 'FORMAT,FOUND_ROWS,FROM_BASE64,FROM_DAYS,FROM_UNIXTIME,GEOMCOLLFROMTEXT,' + - 'GEOMCOLLFROMWKB,GEOMETRYCOLLECTIONFROMTEXT,GEOMETRYCOLLECTIONFROMWKB,' + - 'GEOMETRYFROMTEXT,GEOMETRYFROMWKB,GEOMETRYN,GEOMETRYTYPE,GEOMFROMTEXT,' + - 'GEOMFROMWKB,GET_FORMAT,GET_LOCK,GLENGTH,GREATEST,GROUP_CONCAT,' + - 'HELP_DATE,HEX,HOUR,IFNULL,INET6_ATON,INET6_NTOA,INET_ATON,INET_NTOA,' + - 'INSTR,INTERIORRINGN,INTERSECTS,INTERVAL,ISCLOSED,ISEMPTY,ISNULL,ISRING,' + - 'ISSIMPLE,IS_FREE_LOCK,IS_IPV4,IS_IPV4_COMPAT,IS_IPV4_MAPPED,IS_IPV6,' + - 'IS_USED_LOCK,JSON_ARRAY,JSON_ARRAY_APPEND,JSON_ARRAY_INSERT,' + - 'JSON_COMPACT,JSON_CONTAINS,JSON_CONTAINS_PATH,JSON_DEPTH,JSON_DETAILED,' + - 'JSON_EXISTS,JSON_EXTRACT,JSON_INSERT,JSON_KEYS,JSON_LENGTH,JSON_LOOSE,' + - 'JSON_MERGE,JSON_OBJECT,JSON_QUERY,JSON_QUOTE,JSON_REMOVE,JSON_REPLACE,' + - 'JSON_SEARCH,JSON_SET,JSON_TYPE,JSON_UNQUOTE,JSON_VALID,JSON_VALUE,' + - 'LABELS,LAG,LASTVAL,LAST_DAY,LAST_INSERT_ID,LAST_VALUE,LCASE,LEAST,LEFT,' + - 'LENGTH,LENGTHB,LINEFROMTEXT,LINEFROMWKB,LINESTRINGFROMTEXT,' + - 'LINESTRINGFROMWKB,LN,LOAD_FILE,LOCALTIME,LOCALTIMESTAMP,LOCATE,LOG,' + - 'LOG10,LOG2,LOWER,LPAD,LTRIM,MAKEDATE,MAKETIME,MAKE_SET,' + - 'MASTER_GTID_WAIT,MASTER_POS_WAIT,MAX,MBRCONTAINS,MBRDISJOINT,MBREQUAL,' + + 'ABS,ACOS,ADDDATE,ADDTIME,AES_DECRYPT,AES_ENCRYPT,ANY_VALUE,AREA,' + + 'ASBINARY,ASCII,ASIN,ASTEXT,ASWKB,ASWKT,ASYMMETRIC_DECRYPT,' + + 'ASYMMETRIC_DERIVE,ASYMMETRIC_ENCRYPT,ASYMMETRIC_SIGN,ASYMMETRIC_VERIFY,' + + 'ATAN,ATAN2,AVG,BENCHMARK,BIN,BINLOG_GTID_POS,BIN_TO_UUID,BIT_AND,' + + 'BIT_COUNT,BIT_LENGTH,BIT_OR,BIT_XOR,BOUNDARY,BUFFER,CAN_ACCESS_COLUMN,' + + 'CAN_ACCESS_DATABASE,CAN_ACCESS_TABLE,CAN_ACCESS_USER,CAN_ACCESS_VIEW,' + + 'CAST,CEIL,CEILING,CENTROID,CHARACTER_LENGTH,CHAR_LENGTH,CHR,CLONE,' + + 'COALESCE,COERCIBILITY,COLUMN_ADD,COLUMN_CHECK,COLUMN_CREATE,' + + 'COLUMN_DELETE,COLUMN_EXISTS,COLUMN_GET,COLUMN_JSON,COLUMN_LIST,' + + 'COMPRESS,CONCAT,CONCAT_WS,CONNECTION_ID,CONV,CONVERT_TZ,CONVEXHULL,COS,' + + 'COT,COUNT,CRC32,CREATE_ASYMMETRIC_PRIV_KEY,CREATE_ASYMMETRIC_PUB_KEY,' + + 'CREATE_DH_PARAMETERS,CREATE_DIGEST,CROSSES,CUME_DIST,CURDATE,' + + 'CURRENT_DATE,CURRENT_ROLE,CURRENT_TIME,CURRENT_TIMESTAMP,CURRENT_USER,' + + 'CURTIME,DATEDIFF,DATE_ADD,DATE_FORMAT,DATE_SUB,DAY,DAYNAME,DAYOFMONTH,' + + 'DAYOFWEEK,DAYOFYEAR,DECODE,DECODE_HISTOGRAM,DEGREES,DENSE_RANK,' + + 'DES_DECRYPT,DES_ENCRYPT,DIMENSION,DISJOINT,ELT,ENCODE,ENCRYPT,ENDPOINT,' + + 'ENVELOPE,EQUALS,EXP,EXPORT_SET,EXTERIORRING,EXTRACT,EXTRACTVALUE,FIELD,' + + 'FIND_IN_SET,FIRST_VALUE,FLOOR,FORMAT,FORMAT_BYTES,FORMAT_PICO_TIME,' + + 'FOUND_ROWS,FROM_BASE64,FROM_DAYS,FROM_UNIXTIME,GEOMCOLLECTION,' + + 'GEOMCOLLFROMTEXT,GEOMCOLLFROMWKB,GEOMETRYCOLLECTIONFROMTEXT,' + + 'GEOMETRYCOLLECTIONFROMWKB,GEOMETRYFROMTEXT,GEOMETRYFROMWKB,GEOMETRYN,' + + 'GEOMETRYTYPE,GEOMFROMTEXT,GEOMFROMWKB,GET_DD_COLUMN_PRIVILEGES,' + + 'GET_DD_CREATE_OPTIONS,GET_DD_INDEX_SUB_PART_LENGTH,GET_FORMAT,GET_LOCK,' + + 'GLENGTH,GREATEST,GROUPING,GROUP_CONCAT,GTID_SUBSET,GTID_SUBTRACT,' + + 'HELP_DATE,HELP_VERSION,HEX,HOUR,ICU_VERSION,IFNULL,INET6_ATON,' + + 'INET6_NTOA,INET_ATON,INET_NTOA,INSTR,INTERIORRINGN,' + + 'INTERNAL_AUTO_INCREMENT,INTERNAL_AVG_ROW_LENGTH,INTERNAL_CHECKSUM,' + + 'INTERNAL_CHECK_TIME,INTERNAL_DATA_FREE,INTERNAL_DATA_LENGTH,' + + 'INTERNAL_DD_CHAR_LENGTH,INTERNAL_GET_COMMENT_OR_ERROR,' + + 'INTERNAL_GET_ENABLED_ROLE_JSON,INTERNAL_GET_HOSTNAME,' + + 'INTERNAL_GET_USERNAME,INTERNAL_GET_VIEW_WARNING_OR_ERROR,' + + 'INTERNAL_INDEX_COLUMN_CARDINALITY,INTERNAL_INDEX_LENGTH,' + + 'INTERNAL_IS_ENABLED_ROLE,INTERNAL_IS_MANDATORY_ROLE,' + + 'INTERNAL_KEYS_DISABLED,INTERNAL_MAX_DATA_LENGTH,INTERNAL_TABLE_ROWS,' + + 'INTERNAL_UPDATE_TIME,INTERSECTS,INTERVAL,ISCLOSED,ISEMPTY,ISNULL,' + + 'ISRING,ISSIMPLE,IS_FREE_LOCK,IS_IPV4,IS_IPV4_COMPAT,IS_IPV4_MAPPED,' + + 'IS_IPV6,IS_USED_LOCK,IS_UUID,IS_VISIBLE_DD_OBJECT,JSON_ARRAY,' + + 'JSON_ARRAYAGG,JSON_ARRAY_APPEND,JSON_ARRAY_INSERT,JSON_COMPACT,' + + 'JSON_CONTAINS,JSON_CONTAINS_PATH,JSON_DEPTH,JSON_DETAILED,JSON_EXISTS,' + + 'JSON_EXTRACT,JSON_INSERT,JSON_KEYS,JSON_LENGTH,JSON_LOOSE,JSON_MERGE,' + + 'JSON_MERGE_PATCH(),JSON_MERGE_PRESERVE(),JSON_OBJECT,JSON_OBJECTAGG,' + + 'JSON_OVERLAPS,JSON_PRETTY,JSON_QUERY,JSON_QUOTE,JSON_REMOVE,' + + 'JSON_REPLACE,JSON_SCHEMA_VALID,JSON_SCHEMA_VALIDATION_REPORT,' + + 'JSON_SEARCH,JSON_SET,JSON_STORAGE_FREE,JSON_STORAGE_SIZE,JSON_TABLE,' + + 'JSON_TYPE,JSON_UNQUOTE,JSON_VALID,JSON_VALUE,LABELS,LAG,LASTVAL,' + + 'LAST_DAY,LAST_INSERT_ID,LAST_VALUE,LCASE,LEAD,LEAST,LEFT,LENGTH,' + + 'LENGTHB,LINEFROMTEXT,LINEFROMWKB,LINESTRINGFROMTEXT,LINESTRINGFROMWKB,' + + 'LN,LOAD_FILE,LOCALTIME,LOCALTIMESTAMP,LOCATE,LOG,LOG10,LOG2,LOWER,LPAD,' + + 'LTRIM,MAKEDATE,MAKETIME,MAKE_SET,MASTER_GTID_WAIT,MASTER_POS_WAIT,MAX,' + + 'MBRCONTAINS,MBRCOVEREDBY,MBRCOVERS,MBRDISJOINT,MBREQUAL,MBREQUALS,' + 'MBRINTERSECTS,MBROVERLAPS,MBRTOUCHES,MBRWITHIN,MD5,MEDIAN,MICROSECOND,' + 'MID,MIN,MINUTE,MLINEFROMTEXT,MLINEFROMWKB,MONTH,MONTHNAME,' + 'MPOINTFROMTEXT,MPOINTFROMWKB,MPOLYFROMTEXT,MPOLYFROMWKB,' + @@ -1137,32 +1157,42 @@ const 'PASSWORD,PERCENTILE_CONT,PERCENTILE_DISC,PERCENT_RANK,PERIOD_ADD,' + 'PERIOD_DIFF,PI,POINTFROMTEXT,POINTFROMWKB,POINTN,POINTONSURFACE,' + 'POLYFROMTEXT,POLYFROMWKB,POLYGONFROMTEXT,POLYGONFROMWKB,POSITION,POW,' + - 'POWER,QUARTER,QUOTE,RADIANS,RAND,RANK,REGEXP_INSTR,REGEXP_REPLACE,' + - 'REGEXP_SUBSTR,RELEASE_LOCK,REVERSE,RIGHT,ROUND,ROW_COUNT,ROW_NUMBER,' + - 'RPAD,RTRIM,SECOND,SEC_TO_TIME,SESSION_USER,SETVAL(),SHA1,SHA2,SIGN,SIN,' + - 'SLEEP,SOUNDEX,SPACE,SPIDER_BG_DIRECT_SQL,SPIDER_COPY_TABLES,' + - 'SPIDER_DIRECT_SQL,SPIDER_FLUSH_TABLE_MON_CACHE,SQRT,SRID,STARTPOINT,' + - 'STD,STDDEV,STDDEV_POP,STDDEV_SAMP,STRCMP,STR_TO_DATE,ST_AREA,' + - 'ST_ASBINARY,ST_ASTEXT,ST_ASWKB,ST_ASWKT,ST_BOUNDARY,ST_BUFFER,' + - 'ST_CENTROID,ST_CONTAINS,ST_CONVEXHULL,ST_CROSSES,ST_DIFFERENCE,' + - 'ST_DIMENSION,ST_DISJOINT,ST_DISTANCE,ST_ENDPOINT,ST_ENVELOPE,ST_EQUALS,' + - 'ST_EXTERIORRING,ST_GEOMCOLLFROMTEXT,ST_GEOMCOLLFROMWKB,' + - 'ST_GEOMETRYCOLLECTIONFROMTEXT,ST_GEOMETRYCOLLECTIONFROMWKB,' + - 'ST_GEOMETRYFROMTEXT,ST_GEOMETRYFROMWKB,ST_GEOMETRYN,ST_GEOMETRYTYPE,' + - 'ST_GEOMFROMTEXT,ST_GEOMFROMWKB,ST_INTERIORRINGN,ST_INTERSECTION,' + - 'ST_INTERSECTS,ST_ISCLOSED,ST_ISEMPTY,ST_ISRING,ST_ISSIMPLE,ST_LENGTH,' + - 'ST_LINEFROMTEXT,ST_LINEFROMWKB,ST_LINESTRINGFROMTEXT,' + - 'ST_LINESTRINGFROMWKB,ST_NUMGEOMETRIES,ST_NUMINTERIORRINGS,ST_NUMPOINTS,' + - 'ST_OVERLAPS,ST_POINTFROMTEXT,ST_POINTFROMWKB,ST_POINTN,' + - 'ST_POINTONSURFACE,ST_POLYFROMTEXT,ST_POLYFROMWKB,ST_POLYGONFROMTEXT,' + - 'ST_POLYGONFROMWKB,ST_RELATE,ST_SRID,ST_SYMDIFFERENCE,ST_TOUCHES,' + - 'ST_UNION,ST_WITHIN,ST_X,ST_Y,SUBDATE,SUBSTR,SUBSTRING,SUBSTRING_INDEX,' + - 'SUBTIME,SUM,SYSDATE,SYSTEM_USER,TAN,TIMEDIFF,TIMESTAMPADD,' + - 'TIMESTAMPDIFF,TIME_FORMAT,TIME_TO_SEC,TOUCHES,TO_BASE64,TO_DAYS,' + - 'TO_SECONDS,TRIM,TRUNCATE,UCASE,UNCOMPRESS,UNCOMPRESSED_LENGTH,UNHEX,' + - 'UNIX_TIMESTAMP,UPDATEXML,UPPER,USER,UTC_DATE,UTC_TIME,UTC_TIMESTAMP,' + - 'UUID,UUID_SHORT,VARIANCE,VAR_POP,VAR_SAMP,VERSION,WEEK,WEEKDAY,' + - 'WEEKOFYEAR,WEIGHT_STRING,WITHIN,X,Y,YEARWEEK'; + 'POWER,PS_CURRENT_THREAD_ID,PS_THREAD_ID,QUARTER,QUOTE,RADIANS,RAND,' + + 'RANDOM_BYTES,RANK,REGEXP_INSTR,REGEXP_LIKE,REGEXP_REPLACE,' + + 'REGEXP_SUBSTR,RELEASE_ALL_LOCKS,RELEASE_LOCK,REVERSE,RIGHT,' + + 'ROLES_GRAPHML,ROUND,ROW_COUNT,ROW_NUMBER,RPAD,RTRIM,SECOND,SEC_TO_TIME,' + + 'SESSION_USER,SETVAL(),SHA1,SHA2,SIGN,SIN,SLEEP,SOUNDEX,SPACE,' + + 'SPIDER_BG_DIRECT_SQL,SPIDER_COPY_TABLES,SPIDER_DIRECT_SQL,' + + 'SPIDER_FLUSH_TABLE_MON_CACHE,SQRT,SRID,STARTPOINT,STATEMENT_DIGEST,' + + 'STATEMENT_DIGEST_TEXT,STD,STDDEV,STDDEV_POP,STDDEV_SAMP,STRCMP,' + + 'STR_TO_DATE,ST_AREA,ST_ASBINARY,ST_ASGEOJSON,ST_ASTEXT,ST_ASWKB,' + + 'ST_ASWKT,ST_BOUNDARY,ST_BUFFER,ST_BUFFER_STRATEGY,ST_CENTROID,' + + 'ST_COLLECT,ST_CONTAINS,ST_CONVEXHULL,ST_CROSSES,ST_DIFFERENCE,' + + 'ST_DIMENSION,ST_DISJOINT,ST_DISTANCE,ST_DISTANCE_SPHERE,ST_ENDPOINT,' + + 'ST_ENVELOPE,ST_EQUALS,ST_EXTERIORRING,ST_FRECHETDISTANCE,ST_GEOHASH,' + + 'ST_GEOMCOLLFROMTEXT,ST_GEOMCOLLFROMWKB,ST_GEOMETRYCOLLECTIONFROMTEXT,' + + 'ST_GEOMETRYCOLLECTIONFROMWKB,ST_GEOMETRYFROMTEXT,ST_GEOMETRYFROMWKB,' + + 'ST_GEOMETRYN,ST_GEOMETRYTYPE,ST_GEOMFROMGEOJSON,ST_GEOMFROMTEXT,' + + 'ST_GEOMFROMWKB,ST_HAUSDORFFDISTANCE,ST_INTERIORRINGN,ST_INTERSECTION,' + + 'ST_INTERSECTS,ST_ISCLOSED,ST_ISEMPTY,ST_ISRING,ST_ISSIMPLE,ST_ISVALID,' + + 'ST_LATFROMGEOHASH,ST_LATITUDE,ST_LENGTH,ST_LINEFROMTEXT,ST_LINEFROMWKB,' + + 'ST_LINEINTERPOLATEPOINT,ST_LINEINTERPOLATEPOINTS,ST_LINESTRINGFROMTEXT,' + + 'ST_LINESTRINGFROMWKB,ST_LONGFROMGEOHASH,ST_LONGITUDE,ST_MAKEENVELOPE,' + + 'ST_MLINEFROMTEXT,ST_MLINEFROMWKB,ST_MPOINTFROMTEXT,ST_MPOINTFROMWKB,' + + 'ST_MPOLYFROMTEXT,ST_MPOLYFROMWKB,ST_NUMGEOMETRIES,ST_NUMINTERIORRINGS,' + + 'ST_NUMPOINTS,ST_OVERLAPS,ST_POINTATDISTANCE,ST_POINTFROMGEOHASH,' + + 'ST_POINTFROMTEXT,ST_POINTFROMWKB,ST_POINTN,ST_POINTONSURFACE,' + + 'ST_POLYFROMTEXT,ST_POLYFROMWKB,ST_POLYGONFROMTEXT,ST_POLYGONFROMWKB,' + + 'ST_RELATE,ST_SIMPLIFY,ST_SRID,ST_STARTPOINT,ST_SWAPXY,ST_SYMDIFFERENCE,' + + 'ST_TOUCHES,ST_TRANSFORM,ST_UNION,ST_VALIDATE,ST_WITHIN,ST_X,ST_Y,' + + 'SUBDATE,SUBSTR,SUBSTRING,SUBSTRING_INDEX,SUBTIME,SUM,SYSDATE,' + + 'SYSTEM_USER,TAN,TIMEDIFF,TIMESTAMPADD,TIMESTAMPDIFF,TIME_FORMAT,' + + 'TIME_TO_SEC,TOUCHES,TO_BASE64,TO_DAYS,TO_SECONDS,TRIM,TRUNCATE,UCASE,' + + 'UNCOMPRESS,UNCOMPRESSED_LENGTH,UNHEX,UNIX_TIMESTAMP,UPDATEXML,UPPER,' + + 'USER,UTC_DATE,UTC_TIME,UTC_TIMESTAMP,UUID,UUID_SHORT,UUID_TO_BIN,' + + 'VALIDATE_PASSWORD_STRENGTH,VARIANCE,VAR_POP,VAR_SAMP,VERSION,' + + 'WAIT_FOR_EXECUTED_GTID_SET,WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS,WEEK,' + + 'WEEKDAY,WEEKOFYEAR,WEIGHT_STRING,WITHIN,X,Y,YEARWEEK'; //---Ingres--------------------------------------------------------------------- // keywords