MySQL  8.0.20
Source Code Documentation
fts0pars.cc File Reference
#include "ha_prototypes.h"
#include "mem0mem.h"
#include "fts0ast.h"
#include "fts0blex.h"
#include "fts0tlex.h"
#include "fts0pars.h"
#include <my_sys.h>
#include <stddef.h>
#include <stdlib.h>

Classes

struct  fts_lexer_t
 
union  YYSTYPE
 
union  yyalloc
 

Macros

#define YYBISON   1
 
#define YYBISON_VERSION   "2.5"
 
#define YYSKELETON_NAME   "yacc.c"
 
#define YYPURE   1
 
#define YYPUSH   0
 
#define YYPULL   1
 
#define YYLSP_NEEDED   0
 
#define yyparse   ftsparse
 
#define yylex   ftslex
 
#define yyerror   ftserror
 
#define yylval   ftslval
 
#define yychar   ftschar
 
#define yydebug   ftsdebug
 
#define yynerrs   ftsnerrs
 
#define ftslex   fts_lexer
 
#define YYERROR_VERBOSE
 
#define YYPARSE_PARAM   state
 
#define YYLEX_PARAM   ((fts_ast_state_t*) state)->lexer
 
#define YYTOKENFREE(token)   fts_ast_string_free((token))
 
#define YYDEBUG   0
 
#define YYERROR_VERBOSE   1
 
#define YYTOKEN_TABLE   0
 
#define YYTOKENTYPE
 
#define YYSTYPE_IS_TRIVIAL   1
 
#define yystype   YYSTYPE /* obsolescent; will be withdrawn */
 
#define YYSTYPE_IS_DECLARED   1
 
#define YYSIZE_T   size_t
 
#define YYSIZE_MAXIMUM   ((YYSIZE_T) -1)
 
#define YY_(msgid)   msgid
 
#define YYUSE(e)   ((void) (e))
 
#define YYID(n)   (n)
 
#define YYSTACK_ALLOC   YYMALLOC
 
#define YYSTACK_FREE   YYFREE
 
#define YYSTACK_ALLOC_MAXIMUM   YYSIZE_MAXIMUM
 
#define EXIT_SUCCESS   0
 
#define YYMALLOC   malloc
 
#define YYFREE   free
 
#define YYSTACK_GAP_MAXIMUM   (sizeof (union yyalloc) - 1)
 
#define YYSTACK_BYTES(N)
 
#define YYCOPY_NEEDED   1
 
#define YYSTACK_RELOCATE(Stack_alloc, Stack)
 
#define YYCOPY(To, From, Count)
 
#define YYFINAL   3
 
#define YYLAST   52
 
#define YYNTOKENS   16
 
#define YYNNTS   8
 
#define YYNRULES   24
 
#define YYNSTATES   33
 
#define YYUNDEFTOK   2
 
#define YYMAXUTOK   261
 
#define YYTRANSLATE(YYX)   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
 
#define YYPACT_NINF   -5
 
#define YYTABLE_NINF   -1
 
#define yypact_value_is_default(yystate)   ((yystate) == (-5))
 
#define yytable_value_is_error(yytable_value)   YYID (0)
 
#define yyerrok   (yyerrstatus = 0)
 
#define yyclearin   (yychar = YYEMPTY)
 
#define YYEMPTY   (-2)
 
#define YYEOF   0
 
#define YYACCEPT   goto yyacceptlab
 
#define YYABORT   goto yyabortlab
 
#define YYERROR   goto yyerrorlab
 
#define YYFAIL   goto yyerrlab
 
#define YYRECOVERING()   (!!yyerrstatus)
 
#define YYBACKUP(Token, Value)
 
#define YYTERROR   1
 
#define YYERRCODE   256
 
#define YYERRCLEANUP
 
#define YYRHSLOC(Rhs, K)   ((Rhs)[K])
 
#define YYLLOC_DEFAULT(Current, Rhs, N)
 
#define YY_LOCATION_PRINT(File, Loc)   ((void) 0)
 
#define YYLEX   yylex (&yylval, YYLEX_PARAM)
 
#define YYDPRINTF(Args)
 
#define YY_SYMBOL_PRINT(Title, Type, Value, Location)
 
#define YY_STACK_PRINT(Bottom, Top)
 
#define YY_REDUCE_PRINT(Rule)
 
#define YYINITDEPTH   200
 
#define YYMAXDEPTH   10000
 
#define YYCASE_(N, S)
 
#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
 
#define YYSYNTAX_ERROR
 

Typedefs

typedef int(* fts_scan) ()
 
typedef int(* fts_scanner_alt) (YYSTYPE *val, yyscan_t yyscanner)
 
typedef int(* fts_scanner) ()
 
typedef union YYSTYPE YYSTYPE
 
typedef unsigned char yytype_uint8
 
typedef signed char yytype_int8
 
typedef unsigned short int yytype_uint16
 
typedef short int yytype_int16
 

Enumerations

enum  yytokentype {
  MAX_EXECUTION_TIME_HINT = 1000, RESOURCE_GROUP_HINT = 1001, BKA_HINT = 1002, BNL_HINT = 1003,
  DUPSWEEDOUT_HINT = 1004, FIRSTMATCH_HINT = 1005, INTOEXISTS_HINT = 1006, LOOSESCAN_HINT = 1007,
  MATERIALIZATION_HINT = 1008, NO_BKA_HINT = 1009, NO_BNL_HINT = 1010, NO_ICP_HINT = 1011,
  NO_MRR_HINT = 1012, NO_RANGE_OPTIMIZATION_HINT = 1013, NO_SEMIJOIN_HINT = 1014, MRR_HINT = 1015,
  QB_NAME_HINT = 1016, SEMIJOIN_HINT = 1017, SUBQUERY_HINT = 1018, DERIVED_MERGE_HINT = 1019,
  NO_DERIVED_MERGE_HINT = 1020, JOIN_PREFIX_HINT = 1021, JOIN_SUFFIX_HINT = 1022, JOIN_ORDER_HINT = 1023,
  JOIN_FIXED_ORDER_HINT = 1024, INDEX_MERGE_HINT = 1025, NO_INDEX_MERGE_HINT = 1026, SET_VAR_HINT = 1027,
  SKIP_SCAN_HINT = 1028, NO_SKIP_SCAN_HINT = 1029, HASH_JOIN_HINT = 1030, NO_HASH_JOIN_HINT = 1031,
  HINT_ARG_NUMBER = 1032, HINT_ARG_IDENT = 1033, HINT_ARG_QB_NAME = 1034, HINT_ARG_TEXT = 1035,
  HINT_IDENT_OR_NUMBER_WITH_SCALE = 1036, HINT_CLOSE = 1037, HINT_ERROR = 1038, INDEX_HINT = 1039,
  NO_INDEX_HINT = 1040, JOIN_INDEX_HINT = 1041, NO_JOIN_INDEX_HINT = 1042, GROUP_INDEX_HINT = 1043,
  NO_GROUP_INDEX_HINT = 1044, ORDER_INDEX_HINT = 1045, NO_ORDER_INDEX_HINT = 1046, ABORT_SYM = 258,
  ACCESSIBLE_SYM = 259, ACCOUNT_SYM = 260, ACTION = 261, ADD = 262,
  ADDDATE_SYM = 263, AFTER_SYM = 264, AGAINST = 265, AGGREGATE_SYM = 266,
  ALGORITHM_SYM = 267, ALL = 268, ALTER = 269, ALWAYS_SYM = 270,
  OBSOLETE_TOKEN_271 = 271, ANALYZE_SYM = 272, AND_AND_SYM = 273, AND_SYM = 274,
  ANY_SYM = 275, AS = 276, ASC = 277, ASCII_SYM = 278,
  ASENSITIVE_SYM = 279, AT_SYM = 280, AUTOEXTEND_SIZE_SYM = 281, AUTO_INC = 282,
  AVG_ROW_LENGTH = 283, AVG_SYM = 284, BACKUP_SYM = 285, BEFORE_SYM = 286,
  BEGIN_SYM = 287, BETWEEN_SYM = 288, BIGINT_SYM = 289, BINARY_SYM = 290,
  BINLOG_SYM = 291, BIN_NUM = 292, BIT_AND_SYM = 293, BIT_OR_SYM = 294,
  BIT_SYM = 295, BIT_XOR_SYM = 296, BLOB_SYM = 297, BLOCK_SYM = 298,
  BOOLEAN_SYM = 299, BOOL_SYM = 300, BOTH = 301, BTREE_SYM = 302,
  BY = 303, BYTE_SYM = 304, CACHE_SYM = 305, CALL_SYM = 306,
  CASCADE = 307, CASCADED = 308, CASE_SYM = 309, CAST_SYM = 310,
  CATALOG_NAME_SYM = 311, CHAIN_SYM = 312, CHANGE = 313, CHANGED = 314,
  CHANNEL_SYM = 315, CHARSET = 316, CHAR_SYM = 317, CHECKSUM_SYM = 318,
  CHECK_SYM = 319, CIPHER_SYM = 320, CLASS_ORIGIN_SYM = 321, CLIENT_SYM = 322,
  CLOSE_SYM = 323, COALESCE = 324, CODE_SYM = 325, COLLATE_SYM = 326,
  COLLATION_SYM = 327, COLUMNS = 328, COLUMN_SYM = 329, COLUMN_FORMAT_SYM = 330,
  COLUMN_NAME_SYM = 331, COMMENT_SYM = 332, COMMITTED_SYM = 333, COMMIT_SYM = 334,
  COMPACT_SYM = 335, COMPLETION_SYM = 336, COMPRESSED_SYM = 337, COMPRESSION_SYM = 338,
  ENCRYPTION_SYM = 339, CONCURRENT = 340, CONDITION_SYM = 341, CONNECTION_SYM = 342,
  CONSISTENT_SYM = 343, CONSTRAINT = 344, CONSTRAINT_CATALOG_SYM = 345, CONSTRAINT_NAME_SYM = 346,
  CONSTRAINT_SCHEMA_SYM = 347, CONTAINS_SYM = 348, CONTEXT_SYM = 349, CONTINUE_SYM = 350,
  CONVERT_SYM = 351, COUNT_SYM = 352, CPU_SYM = 353, CREATE = 354,
  CROSS = 355, CUBE_SYM = 356, CURDATE = 357, CURRENT_SYM = 358,
  CURRENT_USER = 359, CURSOR_SYM = 360, CURSOR_NAME_SYM = 361, CURTIME = 362,
  DATABASE = 363, DATABASES = 364, DATAFILE_SYM = 365, DATA_SYM = 366,
  DATETIME_SYM = 367, DATE_ADD_INTERVAL = 368, DATE_SUB_INTERVAL = 369, DATE_SYM = 370,
  DAY_HOUR_SYM = 371, DAY_MICROSECOND_SYM = 372, DAY_MINUTE_SYM = 373, DAY_SECOND_SYM = 374,
  DAY_SYM = 375, DEALLOCATE_SYM = 376, DECIMAL_NUM = 377, DECIMAL_SYM = 378,
  DECLARE_SYM = 379, DEFAULT_SYM = 380, DEFAULT_AUTH_SYM = 381, DEFINER_SYM = 382,
  DELAYED_SYM = 383, DELAY_KEY_WRITE_SYM = 384, DELETE_SYM = 385, DESC = 386,
  DESCRIBE = 387, OBSOLETE_TOKEN_388 = 388, DETERMINISTIC_SYM = 389, DIAGNOSTICS_SYM = 390,
  DIRECTORY_SYM = 391, DISABLE_SYM = 392, DISCARD_SYM = 393, DISK_SYM = 394,
  DISTINCT = 395, DIV_SYM = 396, DOUBLE_SYM = 397, DO_SYM = 398,
  DROP = 399, DUAL_SYM = 400, DUMPFILE = 401, DUPLICATE_SYM = 402,
  DYNAMIC_SYM = 403, EACH_SYM = 404, ELSE = 405, ELSEIF_SYM = 406,
  ENABLE_SYM = 407, ENCLOSED = 408, END = 409, ENDS_SYM = 410,
  END_OF_INPUT = 411, ENGINES_SYM = 412, ENGINE_SYM = 413, ENUM_SYM = 414,
  EQ = 415, EQUAL_SYM = 416, ERROR_SYM = 417, ERRORS = 418,
  ESCAPED = 419, ESCAPE_SYM = 420, EVENTS_SYM = 421, EVENT_SYM = 422,
  EVERY_SYM = 423, EXCHANGE_SYM = 424, EXECUTE_SYM = 425, EXISTS = 426,
  EXIT_SYM = 427, EXPANSION_SYM = 428, EXPIRE_SYM = 429, EXPORT_SYM = 430,
  EXTENDED_SYM = 431, EXTENT_SIZE_SYM = 432, EXTRACT_SYM = 433, FALSE_SYM = 434,
  FAST_SYM = 435, FAULTS_SYM = 436, FETCH_SYM = 437, FILE_SYM = 438,
  FILE_BLOCK_SIZE_SYM = 439, FILTER_SYM = 440, FIRST_SYM = 441, FIXED_SYM = 442,
  FLOAT_NUM = 443, FLOAT_SYM = 444, FLUSH_SYM = 445, FOLLOWS_SYM = 446,
  FORCE_SYM = 447, FOREIGN = 448, FOR_SYM = 449, FORMAT_SYM = 450,
  FOUND_SYM = 451, FROM = 452, FULL = 453, FULLTEXT_SYM = 454,
  FUNCTION_SYM = 455, GE = 456, GENERAL = 457, GENERATED = 458,
  GROUP_REPLICATION = 459, GEOMETRYCOLLECTION_SYM = 460, GEOMETRY_SYM = 461, GET_FORMAT = 462,
  GET_SYM = 463, GLOBAL_SYM = 464, GRANT = 465, GRANTS = 466,
  GROUP_SYM = 467, GROUP_CONCAT_SYM = 468, GT_SYM = 469, HANDLER_SYM = 470,
  HASH_SYM = 471, HAVING = 472, HELP_SYM = 473, HEX_NUM = 474,
  HIGH_PRIORITY = 475, HOST_SYM = 476, HOSTS_SYM = 477, HOUR_MICROSECOND_SYM = 478,
  HOUR_MINUTE_SYM = 479, HOUR_SECOND_SYM = 480, HOUR_SYM = 481, IDENT = 482,
  IDENTIFIED_SYM = 483, IDENT_QUOTED = 484, IF = 485, IGNORE_SYM = 486,
  IGNORE_SERVER_IDS_SYM = 487, IMPORT = 488, INDEXES = 489, INDEX_SYM = 490,
  INFILE = 491, INITIAL_SIZE_SYM = 492, INNER_SYM = 493, INOUT_SYM = 494,
  INSENSITIVE_SYM = 495, INSERT_SYM = 496, INSERT_METHOD = 497, INSTANCE_SYM = 498,
  INSTALL_SYM = 499, INTERVAL_SYM = 500, INTO = 501, INT_SYM = 502,
  INVOKER_SYM = 503, IN_SYM = 504, IO_AFTER_GTIDS = 505, IO_BEFORE_GTIDS = 506,
  IO_SYM = 507, IPC_SYM = 508, IS = 509, ISOLATION = 510,
  ISSUER_SYM = 511, ITERATE_SYM = 512, JOIN_SYM = 513, JSON_SEPARATOR_SYM = 514,
  JSON_SYM = 515, KEYS = 516, KEY_BLOCK_SIZE = 517, KEY_SYM = 518,
  KILL_SYM = 519, LANGUAGE_SYM = 520, LAST_SYM = 521, LE = 522,
  LEADING = 523, LEAVES = 524, LEAVE_SYM = 525, LEFT = 526,
  LESS_SYM = 527, LEVEL_SYM = 528, LEX_HOSTNAME = 529, LIKE = 530,
  LIMIT = 531, LINEAR_SYM = 532, LINES = 533, LINESTRING_SYM = 534,
  LIST_SYM = 535, LOAD = 536, LOCAL_SYM = 537, OBSOLETE_TOKEN_538 = 538,
  LOCKS_SYM = 539, LOCK_SYM = 540, LOGFILE_SYM = 541, LOGS_SYM = 542,
  LONGBLOB_SYM = 543, LONGTEXT_SYM = 544, LONG_NUM = 545, LONG_SYM = 546,
  LOOP_SYM = 547, LOW_PRIORITY = 548, LT = 549, MASTER_AUTO_POSITION_SYM = 550,
  MASTER_BIND_SYM = 551, MASTER_CONNECT_RETRY_SYM = 552, MASTER_DELAY_SYM = 553, MASTER_HOST_SYM = 554,
  MASTER_LOG_FILE_SYM = 555, MASTER_LOG_POS_SYM = 556, MASTER_PASSWORD_SYM = 557, MASTER_PORT_SYM = 558,
  MASTER_RETRY_COUNT_SYM = 559, MASTER_SERVER_ID_SYM = 560, MASTER_SSL_CAPATH_SYM = 561, MASTER_TLS_VERSION_SYM = 562,
  MASTER_SSL_CA_SYM = 563, MASTER_SSL_CERT_SYM = 564, MASTER_SSL_CIPHER_SYM = 565, MASTER_SSL_CRL_SYM = 566,
  MASTER_SSL_CRLPATH_SYM = 567, MASTER_SSL_KEY_SYM = 568, MASTER_SSL_SYM = 569, MASTER_SSL_VERIFY_SERVER_CERT_SYM = 570,
  MASTER_SYM = 571, MASTER_USER_SYM = 572, MASTER_HEARTBEAT_PERIOD_SYM = 573, MATCH = 574,
  MAX_CONNECTIONS_PER_HOUR = 575, MAX_QUERIES_PER_HOUR = 576, MAX_ROWS = 577, MAX_SIZE_SYM = 578,
  MAX_SYM = 579, MAX_UPDATES_PER_HOUR = 580, MAX_USER_CONNECTIONS_SYM = 581, MAX_VALUE_SYM = 582,
  MEDIUMBLOB_SYM = 583, MEDIUMINT_SYM = 584, MEDIUMTEXT_SYM = 585, MEDIUM_SYM = 586,
  MEMORY_SYM = 587, MERGE_SYM = 588, MESSAGE_TEXT_SYM = 589, MICROSECOND_SYM = 590,
  MIGRATE_SYM = 591, MINUTE_MICROSECOND_SYM = 592, MINUTE_SECOND_SYM = 593, MINUTE_SYM = 594,
  MIN_ROWS = 595, MIN_SYM = 596, MODE_SYM = 597, MODIFIES_SYM = 598,
  MODIFY_SYM = 599, MOD_SYM = 600, MONTH_SYM = 601, MULTILINESTRING_SYM = 602,
  MULTIPOINT_SYM = 603, MULTIPOLYGON_SYM = 604, MUTEX_SYM = 605, MYSQL_ERRNO_SYM = 606,
  NAMES_SYM = 607, NAME_SYM = 608, NATIONAL_SYM = 609, NATURAL = 610,
  NCHAR_STRING = 611, NCHAR_SYM = 612, NDBCLUSTER_SYM = 613, NE = 614,
  NEG = 615, NEVER_SYM = 616, NEW_SYM = 617, NEXT_SYM = 618,
  NODEGROUP_SYM = 619, NONE_SYM = 620, NOT2_SYM = 621, NOT_SYM = 622,
  NOW_SYM = 623, NO_SYM = 624, NO_WAIT_SYM = 625, NO_WRITE_TO_BINLOG = 626,
  NULL_SYM = 627, NUM = 628, NUMBER_SYM = 629, NUMERIC_SYM = 630,
  NVARCHAR_SYM = 631, OFFSET_SYM = 632, ON_SYM = 633, ONE_SYM = 634,
  ONLY_SYM = 635, OPEN_SYM = 636, OPTIMIZE = 637, OPTIMIZER_COSTS_SYM = 638,
  OPTIONS_SYM = 639, OPTION = 640, OPTIONALLY = 641, OR2_SYM = 642,
  ORDER_SYM = 643, OR_OR_SYM = 644, OR_SYM = 645, OUTER_SYM = 646,
  OUTFILE = 647, OUT_SYM = 648, OWNER_SYM = 649, PACK_KEYS_SYM = 650,
  PAGE_SYM = 651, PARAM_MARKER = 652, PARSER_SYM = 653, OBSOLETE_TOKEN_654 = 654,
  PARTIAL = 655, PARTITION_SYM = 656, PARTITIONS_SYM = 657, PARTITIONING_SYM = 658,
  PASSWORD = 659, PHASE_SYM = 660, PLUGIN_DIR_SYM = 661, PLUGIN_SYM = 662,
  PLUGINS_SYM = 663, POINT_SYM = 664, POLYGON_SYM = 665, PORT_SYM = 666,
  POSITION_SYM = 667, PRECEDES_SYM = 668, PRECISION = 669, PREPARE_SYM = 670,
  PRESERVE_SYM = 671, PREV_SYM = 672, PRIMARY_SYM = 673, PRIVILEGES = 674,
  PROCEDURE_SYM = 675, PROCESS = 676, PROCESSLIST_SYM = 677, PROFILE_SYM = 678,
  PROFILES_SYM = 679, PROXY_SYM = 680, PURGE = 681, QUARTER_SYM = 682,
  QUERY_SYM = 683, QUICK = 684, RANGE_SYM = 685, READS_SYM = 686,
  READ_ONLY_SYM = 687, READ_SYM = 688, READ_WRITE_SYM = 689, REAL_SYM = 690,
  REBUILD_SYM = 691, RECOVER_SYM = 692, OBSOLETE_TOKEN_693 = 693, REDO_BUFFER_SIZE_SYM = 694,
  REDUNDANT_SYM = 695, REFERENCES = 696, REGEXP = 697, RELAY = 698,
  RELAYLOG_SYM = 699, RELAY_LOG_FILE_SYM = 700, RELAY_LOG_POS_SYM = 701, RELAY_THREAD = 702,
  RELEASE_SYM = 703, RELOAD = 704, REMOVE_SYM = 705, RENAME = 706,
  REORGANIZE_SYM = 707, REPAIR = 708, REPEATABLE_SYM = 709, REPEAT_SYM = 710,
  REPLACE_SYM = 711, REPLICATION = 712, REPLICATE_DO_DB = 713, REPLICATE_IGNORE_DB = 714,
  REPLICATE_DO_TABLE = 715, REPLICATE_IGNORE_TABLE = 716, REPLICATE_WILD_DO_TABLE = 717, REPLICATE_WILD_IGNORE_TABLE = 718,
  REPLICATE_REWRITE_DB = 719, REQUIRE_SYM = 720, RESET_SYM = 721, RESIGNAL_SYM = 722,
  RESOURCES = 723, RESTORE_SYM = 724, RESTRICT = 725, RESUME_SYM = 726,
  RETURNED_SQLSTATE_SYM = 727, RETURNS_SYM = 728, RETURN_SYM = 729, REVERSE_SYM = 730,
  REVOKE = 731, RIGHT = 732, ROLLBACK_SYM = 733, ROLLUP_SYM = 734,
  ROTATE_SYM = 735, ROUTINE_SYM = 736, ROWS_SYM = 737, ROW_FORMAT_SYM = 738,
  ROW_SYM = 739, ROW_COUNT_SYM = 740, RTREE_SYM = 741, SAVEPOINT_SYM = 742,
  SCHEDULE_SYM = 743, SCHEMA_NAME_SYM = 744, SECOND_MICROSECOND_SYM = 745, SECOND_SYM = 746,
  SECURITY_SYM = 747, SELECT_SYM = 748, SENSITIVE_SYM = 749, SEPARATOR_SYM = 750,
  SERIALIZABLE_SYM = 751, SERIAL_SYM = 752, SESSION_SYM = 753, SERVER_SYM = 754,
  OBSOLETE_TOKEN_755 = 755, SET_SYM = 756, SET_VAR = 757, SHARE_SYM = 758,
  SHIFT_LEFT = 759, SHIFT_RIGHT = 760, SHOW = 761, SHUTDOWN = 762,
  SIGNAL_SYM = 763, SIGNED_SYM = 764, SIMPLE_SYM = 765, SLAVE = 766,
  SLOW = 767, SMALLINT_SYM = 768, SNAPSHOT_SYM = 769, SOCKET_SYM = 770,
  SONAME_SYM = 771, SOUNDS_SYM = 772, SOURCE_SYM = 773, SPATIAL_SYM = 774,
  SPECIFIC_SYM = 775, SQLEXCEPTION_SYM = 776, SQLSTATE_SYM = 777, SQLWARNING_SYM = 778,
  SQL_AFTER_GTIDS = 779, SQL_AFTER_MTS_GAPS = 780, SQL_BEFORE_GTIDS = 781, SQL_BIG_RESULT = 782,
  SQL_BUFFER_RESULT = 783, OBSOLETE_TOKEN_784 = 784, SQL_CALC_FOUND_ROWS = 785, SQL_NO_CACHE_SYM = 786,
  SQL_SMALL_RESULT = 787, SQL_SYM = 788, SQL_THREAD = 789, SSL_SYM = 790,
  STACKED_SYM = 791, STARTING = 792, STARTS_SYM = 793, START_SYM = 794,
  STATS_AUTO_RECALC_SYM = 795, STATS_PERSISTENT_SYM = 796, STATS_SAMPLE_PAGES_SYM = 797, STATUS_SYM = 798,
  STDDEV_SAMP_SYM = 799, STD_SYM = 800, STOP_SYM = 801, STORAGE_SYM = 802,
  STORED_SYM = 803, STRAIGHT_JOIN = 804, STRING_SYM = 805, SUBCLASS_ORIGIN_SYM = 806,
  SUBDATE_SYM = 807, SUBJECT_SYM = 808, SUBPARTITIONS_SYM = 809, SUBPARTITION_SYM = 810,
  SUBSTRING = 811, SUM_SYM = 812, SUPER_SYM = 813, SUSPEND_SYM = 814,
  SWAPS_SYM = 815, SWITCHES_SYM = 816, SYSDATE = 817, TABLES = 818,
  TABLESPACE_SYM = 819, OBSOLETE_TOKEN_820 = 820, TABLE_SYM = 821, TABLE_CHECKSUM_SYM = 822,
  TABLE_NAME_SYM = 823, TEMPORARY = 824, TEMPTABLE_SYM = 825, TERMINATED = 826,
  TEXT_STRING = 827, TEXT_SYM = 828, THAN_SYM = 829, THEN_SYM = 830,
  TIMESTAMP_SYM = 831, TIMESTAMP_ADD = 832, TIMESTAMP_DIFF = 833, TIME_SYM = 834,
  TINYBLOB_SYM = 835, TINYINT_SYM = 836, TINYTEXT_SYN = 837, TO_SYM = 838,
  TRAILING = 839, TRANSACTION_SYM = 840, TRIGGERS_SYM = 841, TRIGGER_SYM = 842,
  TRIM = 843, TRUE_SYM = 844, TRUNCATE_SYM = 845, TYPES_SYM = 846,
  TYPE_SYM = 847, OBSOLETE_TOKEN_848 = 848, ULONGLONG_NUM = 849, UNCOMMITTED_SYM = 850,
  UNDEFINED_SYM = 851, UNDERSCORE_CHARSET = 852, UNDOFILE_SYM = 853, UNDO_BUFFER_SIZE_SYM = 854,
  UNDO_SYM = 855, UNICODE_SYM = 856, UNINSTALL_SYM = 857, UNION_SYM = 858,
  UNIQUE_SYM = 859, UNKNOWN_SYM = 860, UNLOCK_SYM = 861, UNSIGNED_SYM = 862,
  UNTIL_SYM = 863, UPDATE_SYM = 864, UPGRADE_SYM = 865, USAGE = 866,
  USER = 867, USE_FRM = 868, USE_SYM = 869, USING = 870,
  UTC_DATE_SYM = 871, UTC_TIMESTAMP_SYM = 872, UTC_TIME_SYM = 873, VALIDATION_SYM = 874,
  VALUES = 875, VALUE_SYM = 876, VARBINARY_SYM = 877, VARCHAR_SYM = 878,
  VARIABLES = 879, VARIANCE_SYM = 880, VARYING = 881, VAR_SAMP_SYM = 882,
  VIEW_SYM = 883, VIRTUAL_SYM = 884, WAIT_SYM = 885, WARNINGS = 886,
  WEEK_SYM = 887, WEIGHT_STRING_SYM = 888, WHEN_SYM = 889, WHERE = 890,
  WHILE_SYM = 891, WITH = 892, OBSOLETE_TOKEN_893 = 893, WITH_ROLLUP_SYM = 894,
  WITHOUT_SYM = 895, WORK_SYM = 896, WRAPPER_SYM = 897, WRITE_SYM = 898,
  X509_SYM = 899, XA_SYM = 900, XID_SYM = 901, XML_SYM = 902,
  XOR = 903, YEAR_MONTH_SYM = 904, YEAR_SYM = 905, ZEROFILL_SYM = 906,
  JSON_UNQUOTED_SEPARATOR_SYM = 907, PERSIST_SYM = 908, ROLE_SYM = 909, ADMIN_SYM = 910,
  INVISIBLE_SYM = 911, VISIBLE_SYM = 912, EXCEPT_SYM = 913, COMPONENT_SYM = 914,
  RECURSIVE_SYM = 915, GRAMMAR_SELECTOR_EXPR = 916, GRAMMAR_SELECTOR_GCOL = 917, GRAMMAR_SELECTOR_PART = 918,
  GRAMMAR_SELECTOR_CTE = 919, JSON_OBJECTAGG = 920, JSON_ARRAYAGG = 921, OF_SYM = 922,
  SKIP_SYM = 923, LOCKED_SYM = 924, NOWAIT_SYM = 925, GROUPING_SYM = 926,
  PERSIST_ONLY_SYM = 927, HISTOGRAM_SYM = 928, BUCKETS_SYM = 929, OBSOLETE_TOKEN_930 = 930,
  CLONE_SYM = 931, CUME_DIST_SYM = 932, DENSE_RANK_SYM = 933, EXCLUDE_SYM = 934,
  FIRST_VALUE_SYM = 935, FOLLOWING_SYM = 936, GROUPS_SYM = 937, LAG_SYM = 938,
  LAST_VALUE_SYM = 939, LEAD_SYM = 940, NTH_VALUE_SYM = 941, NTILE_SYM = 942,
  NULLS_SYM = 943, OTHERS_SYM = 944, OVER_SYM = 945, PERCENT_RANK_SYM = 946,
  PRECEDING_SYM = 947, RANK_SYM = 948, RESPECT_SYM = 949, ROW_NUMBER_SYM = 950,
  TIES_SYM = 951, UNBOUNDED_SYM = 952, WINDOW_SYM = 953, EMPTY_SYM = 954,
  JSON_TABLE_SYM = 955, NESTED_SYM = 956, ORDINALITY_SYM = 957, PATH_SYM = 958,
  HISTORY_SYM = 959, REUSE_SYM = 960, SRID_SYM = 961, THREAD_PRIORITY_SYM = 962,
  RESOURCE_SYM = 963, SYSTEM_SYM = 964, VCPU_SYM = 965, MASTER_PUBLIC_KEY_PATH_SYM = 966,
  GET_MASTER_PUBLIC_KEY_SYM = 967, RESTART_SYM = 968, DEFINITION_SYM = 969, DESCRIPTION_SYM = 970,
  ORGANIZATION_SYM = 971, REFERENCE_SYM = 972, ACTIVE_SYM = 973, INACTIVE_SYM = 974,
  LATERAL_SYM = 975, ARRAY_SYM = 976, MEMBER_SYM = 977, OPTIONAL_SYM = 978,
  SECONDARY_SYM = 979, SECONDARY_ENGINE_SYM = 980, SECONDARY_LOAD_SYM = 981, SECONDARY_UNLOAD_SYM = 982,
  RETAIN_SYM = 983, OLD_SYM = 984, ENFORCED_SYM = 985, OJ_SYM = 986,
  NETWORK_NAMESPACE_SYM = 987, RANDOM_SYM = 988, MASTER_COMPRESSION_ALGORITHM_SYM = 989, MASTER_ZSTD_COMPRESSION_LEVEL_SYM = 990,
  PRIVILEGE_CHECKS_USER_SYM = 991, MASTER_TLS_CIPHERSUITES_SYM = 992, REQUIRE_ROW_FORMAT_SYM = 993, PASSWORD_LOCK_TIME_SYM = 994,
  FAILED_LOGIN_ATTEMPTS_SYM = 995, REQUIRE_TABLE_PRIMARY_KEY_CHECK_SYM = 996, STREAM_SYM = 997, OFF_SYM = 998,
  NOT_A_TOKEN_SYM = 1150, KEYWORD_USED_AS_IDENT = 1152, KEYWORD_USED_AS_KEYWORD = 1153, CONDITIONLESS_JOIN = 1154,
  SUBQUERY_AS_EXPR = 1155, EMPTY_FROM_CLAUSE = 1156, FTS_OPER = 258, FTS_TEXT = 259,
  FTS_TERM = 260, FTS_NUMB = 261, FTS_OPER = 258, FTS_TEXT = 259,
  FTS_TERM = 260, FTS_NUMB = 261, PARS_INT_LIT = 258, PARS_FLOAT_LIT = 259,
  PARS_STR_LIT = 260, PARS_FIXBINARY_LIT = 261, PARS_BLOB_LIT = 262, PARS_NULL_LIT = 263,
  PARS_ID_TOKEN = 264, PARS_AND_TOKEN = 265, PARS_OR_TOKEN = 266, PARS_NOT_TOKEN = 267,
  PARS_GE_TOKEN = 268, PARS_LE_TOKEN = 269, PARS_NE_TOKEN = 270, PARS_PROCEDURE_TOKEN = 271,
  PARS_IN_TOKEN = 272, PARS_OUT_TOKEN = 273, PARS_BINARY_TOKEN = 274, PARS_BLOB_TOKEN = 275,
  PARS_INT_TOKEN = 276, PARS_INTEGER_TOKEN = 277, PARS_FLOAT_TOKEN = 278, PARS_CHAR_TOKEN = 279,
  PARS_IS_TOKEN = 280, PARS_BEGIN_TOKEN = 281, PARS_END_TOKEN = 282, PARS_IF_TOKEN = 283,
  PARS_THEN_TOKEN = 284, PARS_ELSE_TOKEN = 285, PARS_ELSIF_TOKEN = 286, PARS_LOOP_TOKEN = 287,
  PARS_WHILE_TOKEN = 288, PARS_RETURN_TOKEN = 289, PARS_SELECT_TOKEN = 290, PARS_SUM_TOKEN = 291,
  PARS_COUNT_TOKEN = 292, PARS_DISTINCT_TOKEN = 293, PARS_FROM_TOKEN = 294, PARS_WHERE_TOKEN = 295,
  PARS_FOR_TOKEN = 296, PARS_DDOT_TOKEN = 297, PARS_READ_TOKEN = 298, PARS_ORDER_TOKEN = 299,
  PARS_BY_TOKEN = 300, PARS_ASC_TOKEN = 301, PARS_DESC_TOKEN = 302, PARS_INSERT_TOKEN = 303,
  PARS_INTO_TOKEN = 304, PARS_VALUES_TOKEN = 305, PARS_UPDATE_TOKEN = 306, PARS_SET_TOKEN = 307,
  PARS_DELETE_TOKEN = 308, PARS_CURRENT_TOKEN = 309, PARS_OF_TOKEN = 310, PARS_CREATE_TOKEN = 311,
  PARS_TABLE_TOKEN = 312, PARS_INDEX_TOKEN = 313, PARS_UNIQUE_TOKEN = 314, PARS_CLUSTERED_TOKEN = 315,
  PARS_DOES_NOT_FIT_IN_MEM_TOKEN = 316, PARS_ON_TOKEN = 317, PARS_ASSIGN_TOKEN = 318, PARS_DECLARE_TOKEN = 319,
  PARS_CURSOR_TOKEN = 320, PARS_SQL_TOKEN = 321, PARS_OPEN_TOKEN = 322, PARS_FETCH_TOKEN = 323,
  PARS_CLOSE_TOKEN = 324, PARS_NOTFOUND_TOKEN = 325, PARS_TO_BINARY_TOKEN = 326, PARS_SUBSTR_TOKEN = 327,
  PARS_CONCAT_TOKEN = 328, PARS_INSTR_TOKEN = 329, PARS_LENGTH_TOKEN = 330, PARS_COMMIT_TOKEN = 331,
  PARS_ROLLBACK_TOKEN = 332, PARS_WORK_TOKEN = 333, PARS_UNSIGNED_TOKEN = 334, PARS_EXIT_TOKEN = 335,
  PARS_FUNCTION_TOKEN = 336, PARS_LOCK_TOKEN = 337, PARS_SHARE_TOKEN = 338, PARS_MODE_TOKEN = 339,
  PARS_LIKE_TOKEN = 340, PARS_LIKE_TOKEN_EXACT = 341, PARS_LIKE_TOKEN_PREFIX = 342, PARS_LIKE_TOKEN_SUFFIX = 343,
  PARS_LIKE_TOKEN_SUBSTR = 344, PARS_TABLE_NAME_TOKEN = 345, PARS_COMPACT_TOKEN = 346, PARS_BLOCK_SIZE_TOKEN = 347,
  PARS_BIGINT_TOKEN = 348, NEG = 349, PARS_INT_LIT = 258, PARS_FLOAT_LIT = 259,
  PARS_STR_LIT = 260, PARS_FIXBINARY_LIT = 261, PARS_BLOB_LIT = 262, PARS_NULL_LIT = 263,
  PARS_ID_TOKEN = 264, PARS_AND_TOKEN = 265, PARS_OR_TOKEN = 266, PARS_NOT_TOKEN = 267,
  PARS_GE_TOKEN = 268, PARS_LE_TOKEN = 269, PARS_NE_TOKEN = 270, PARS_PROCEDURE_TOKEN = 271,
  PARS_IN_TOKEN = 272, PARS_OUT_TOKEN = 273, PARS_BINARY_TOKEN = 274, PARS_BLOB_TOKEN = 275,
  PARS_INT_TOKEN = 276, PARS_INTEGER_TOKEN = 277, PARS_FLOAT_TOKEN = 278, PARS_CHAR_TOKEN = 279,
  PARS_IS_TOKEN = 280, PARS_BEGIN_TOKEN = 281, PARS_END_TOKEN = 282, PARS_IF_TOKEN = 283,
  PARS_THEN_TOKEN = 284, PARS_ELSE_TOKEN = 285, PARS_ELSIF_TOKEN = 286, PARS_LOOP_TOKEN = 287,
  PARS_WHILE_TOKEN = 288, PARS_RETURN_TOKEN = 289, PARS_SELECT_TOKEN = 290, PARS_SUM_TOKEN = 291,
  PARS_COUNT_TOKEN = 292, PARS_DISTINCT_TOKEN = 293, PARS_FROM_TOKEN = 294, PARS_WHERE_TOKEN = 295,
  PARS_FOR_TOKEN = 296, PARS_DDOT_TOKEN = 297, PARS_READ_TOKEN = 298, PARS_ORDER_TOKEN = 299,
  PARS_BY_TOKEN = 300, PARS_ASC_TOKEN = 301, PARS_DESC_TOKEN = 302, PARS_INSERT_TOKEN = 303,
  PARS_INTO_TOKEN = 304, PARS_VALUES_TOKEN = 305, PARS_UPDATE_TOKEN = 306, PARS_SET_TOKEN = 307,
  PARS_DELETE_TOKEN = 308, PARS_CURRENT_TOKEN = 309, PARS_OF_TOKEN = 310, PARS_CREATE_TOKEN = 311,
  PARS_TABLE_TOKEN = 312, PARS_INDEX_TOKEN = 313, PARS_UNIQUE_TOKEN = 314, PARS_CLUSTERED_TOKEN = 315,
  PARS_DOES_NOT_FIT_IN_MEM_TOKEN = 316, PARS_ON_TOKEN = 317, PARS_ASSIGN_TOKEN = 318, PARS_DECLARE_TOKEN = 319,
  PARS_CURSOR_TOKEN = 320, PARS_SQL_TOKEN = 321, PARS_OPEN_TOKEN = 322, PARS_FETCH_TOKEN = 323,
  PARS_CLOSE_TOKEN = 324, PARS_NOTFOUND_TOKEN = 325, PARS_TO_BINARY_TOKEN = 326, PARS_SUBSTR_TOKEN = 327,
  PARS_CONCAT_TOKEN = 328, PARS_INSTR_TOKEN = 329, PARS_LENGTH_TOKEN = 330, PARS_COMMIT_TOKEN = 331,
  PARS_ROLLBACK_TOKEN = 332, PARS_WORK_TOKEN = 333, PARS_UNSIGNED_TOKEN = 334, PARS_EXIT_TOKEN = 335,
  PARS_FUNCTION_TOKEN = 336, PARS_LOCK_TOKEN = 337, PARS_SHARE_TOKEN = 338, PARS_MODE_TOKEN = 339,
  PARS_LIKE_TOKEN = 340, PARS_LIKE_TOKEN_EXACT = 341, PARS_LIKE_TOKEN_PREFIX = 342, PARS_LIKE_TOKEN_SUFFIX = 343,
  PARS_LIKE_TOKEN_SUBSTR = 344, PARS_TABLE_NAME_TOKEN = 345, PARS_COMPACT_TOKEN = 346, PARS_BLOCK_SIZE_TOKEN = 347,
  PARS_BIGINT_TOKEN = 348, NEG = 349
}
 

Functions

int fts_lexer (YYSTYPE *, fts_lexer_t *)
 
int fts_blexer (YYSTYPE *, yyscan_t)
 
int fts_tlexer (YYSTYPE *, yyscan_t)
 
int ftserror (const char *p)
 
static YYSIZE_T yystrlen (const char *yystr)
 
static char * yystpcpy (char *yydest, const char *yysrc)
 
static YYSIZE_T yytnamerr (char *yyres, const char *yystr)
 
static int yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, yytype_int16 *yyssp, int yytoken)
 
static void yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
 
int yyparse (void *YYPARSE_PARAM)
 
fts_lexer_tfts_lexer_create (ibool boolean_mode, const byte *query, ulint query_len)
 
void fts_lexer_free (fts_lexer_t *fts_lexer)
 in: lexer instance to free More...
 
int fts_parse (fts_ast_state_t *state)
 in: ast state instance. More...
 

Variables

static const yytype_uint8 yytranslate []
 
static const char *const yytname []
 
static const yytype_uint8 yyr1 []
 
static const yytype_uint8 yyr2 []
 
static const yytype_uint8 yydefact []
 
static const yytype_int8 yydefgoto []
 
static const yytype_int8 yypact []
 
static const yytype_int8 yypgoto []
 
static const yytype_uint8 yytable []
 
static const yytype_int8 yycheck []
 
static const yytype_uint8 yystos []
 

Macro Definition Documentation

◆ EXIT_SUCCESS

#define EXIT_SUCCESS   0

◆ ftslex

#define ftslex   fts_lexer

◆ YY_

#define YY_ (   msgid)    msgid

◆ YY_LOCATION_PRINT

#define YY_LOCATION_PRINT (   File,
  Loc 
)    ((void) 0)

◆ YY_REDUCE_PRINT

#define YY_REDUCE_PRINT (   Rule)

◆ YY_STACK_PRINT

#define YY_STACK_PRINT (   Bottom,
  Top 
)

◆ YY_SYMBOL_PRINT

#define YY_SYMBOL_PRINT (   Title,
  Type,
  Value,
  Location 
)

◆ YYABORT

#define YYABORT   goto yyabortlab

◆ YYACCEPT

#define YYACCEPT   goto yyacceptlab

◆ YYBACKUP

#define YYBACKUP (   Token,
  Value 
)
Value:
if (yychar == YYEMPTY && yylen == 1) \
{ \
yychar = (Token); \
yylval = (Value); \
YYPOPSTACK (1); \
goto yybackup; \
} \
else \
{ \
yyerror (YY_("syntax error: cannot back up")); \
YYERROR; \
} \
while (YYID (0))
#define YYID(n)
Definition: fts0pars.cc:249
#define YY_(msgid)
Definition: fts0pars.cc:236
#define yychar
Definition: fts0pars.cc:69
if(!(yy_init))
Definition: lexyy.cc:1144
#define YYEMPTY
Definition: fts0pars.cc:590

◆ YYBISON

#define YYBISON   1

◆ YYBISON_VERSION

#define YYBISON_VERSION   "2.5"

◆ YYCASE_

#define YYCASE_ (   N,
 
)
Value:
case N: \
yyformat = S; \
break
std::atomic< Type > N
Definition: ut0counter.h:230

◆ yychar

#define yychar   ftschar

◆ yyclearin

#define yyclearin   (yychar = YYEMPTY)

◆ YYCOPY

#define YYCOPY (   To,
  From,
  Count 
)
Value:
do \
{ \
YYSIZE_T yyi; \
for (yyi = 0; yyi < (Count); yyi++) \
(To)[yyi] = (From)[yyi]; \
} \
while (YYID (0))
#define YYID(n)
Definition: fts0pars.cc:249

◆ YYCOPY_NEEDED

#define YYCOPY_NEEDED   1

◆ yydebug

#define yydebug   ftsdebug

◆ YYDEBUG

#define YYDEBUG   0

◆ YYDPRINTF

#define YYDPRINTF (   Args)

◆ YYEMPTY

#define YYEMPTY   (-2)

◆ YYEOF

#define YYEOF   0

◆ YYERRCLEANUP

#define YYERRCLEANUP
Value:
do \
switch (yylastchar) \
{ \
case FTS_NUMB: \
case FTS_TEXT: \
case FTS_TERM: \
YYTOKENFREE(yylval.token); \
break; \
default: \
break; \
} \
while (YYID (0))
#define YYID(n)
Definition: fts0pars.cc:249
Definition: fts0pars.cc:146
Definition: fts0pars.cc:147
Definition: fts0pars.cc:145
#define yylval
Definition: fts0pars.cc:68

◆ YYERRCODE

#define YYERRCODE   256

◆ yyerrok

#define yyerrok   (yyerrstatus = 0)

◆ yyerror

#define yyerror   ftserror

◆ YYERROR

#define YYERROR   goto yyerrorlab

◆ YYERROR_VERBOSE [1/2]

#define YYERROR_VERBOSE

◆ YYERROR_VERBOSE [2/2]

#define YYERROR_VERBOSE   1

◆ YYFAIL

#define YYFAIL   goto yyerrlab

◆ YYFINAL

#define YYFINAL   3

◆ YYFREE

#define YYFREE   free

◆ YYID

#define YYID (   n)    (n)

◆ YYINITDEPTH

#define YYINITDEPTH   200

◆ YYLAST

#define YYLAST   52

◆ yylex

#define yylex   ftslex

◆ YYLEX

#define YYLEX   yylex (&yylval, YYLEX_PARAM)

◆ YYLEX_PARAM

#define YYLEX_PARAM   ((fts_ast_state_t*) state)->lexer

◆ YYLLOC_DEFAULT

#define YYLLOC_DEFAULT (   Current,
  Rhs,
 
)
Value:
if (YYID (N)) \
{ \
(Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
(Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
(Current).last_line = YYRHSLOC (Rhs, N).last_line; \
(Current).last_column = YYRHSLOC (Rhs, N).last_column; \
} \
else \
{ \
(Current).first_line = (Current).last_line = \
YYRHSLOC (Rhs, 0).last_line; \
(Current).first_column = (Current).last_column = \
YYRHSLOC (Rhs, 0).last_column; \
} \
while (YYID (0))
#define YYID(n)
Definition: fts0pars.cc:249
#define YYRHSLOC(Rhs, K)
Definition: fts0pars.cc:653
std::atomic< Type > N
Definition: ut0counter.h:230
if(!(yy_init))
Definition: lexyy.cc:1144

◆ YYLSP_NEEDED

#define YYLSP_NEEDED   0

◆ yylval

YYSTYPE yylval   ftslval

◆ YYMALLOC

#define YYMALLOC   malloc

◆ YYMAXDEPTH

#define YYMAXDEPTH   10000

◆ YYMAXUTOK

#define YYMAXUTOK   261

◆ yynerrs

#define yynerrs   ftsnerrs

◆ YYNNTS

#define YYNNTS   8

◆ YYNRULES

#define YYNRULES   24

◆ YYNSTATES

#define YYNSTATES   33

◆ YYNTOKENS

#define YYNTOKENS   16

◆ YYPACT_NINF

#define YYPACT_NINF   -5

◆ yypact_value_is_default

#define yypact_value_is_default (   yystate)    ((yystate) == (-5))

◆ yyparse

#define yyparse   ftsparse

◆ YYPARSE_PARAM

#define YYPARSE_PARAM   state

◆ YYPOPSTACK

#define YYPOPSTACK (   N)    (yyvsp -= (N), yyssp -= (N))

◆ YYPULL

#define YYPULL   1

◆ YYPURE

#define YYPURE   1

◆ YYPUSH

#define YYPUSH   0

◆ YYRECOVERING

#define YYRECOVERING ( )    (!!yyerrstatus)

◆ YYRHSLOC

#define YYRHSLOC (   Rhs,
 
)    ((Rhs)[K])

◆ YYSIZE_MAXIMUM

#define YYSIZE_MAXIMUM   ((YYSIZE_T) -1)

◆ YYSIZE_T

#define YYSIZE_T   size_t

◆ YYSKELETON_NAME

#define YYSKELETON_NAME   "yacc.c"

◆ YYSTACK_ALLOC

#define YYSTACK_ALLOC   YYMALLOC

◆ YYSTACK_ALLOC_MAXIMUM

#define YYSTACK_ALLOC_MAXIMUM   YYSIZE_MAXIMUM

◆ YYSTACK_BYTES

#define YYSTACK_BYTES (   N)
Value:
((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
#define YYSTACK_GAP_MAXIMUM
Definition: fts0pars.cc:345
union YYSTYPE YYSTYPE
std::atomic< Type > N
Definition: ut0counter.h:230
short int yytype_int16
Definition: sql_hints.yy.cc:264

◆ YYSTACK_FREE

#define YYSTACK_FREE   YYFREE

◆ YYSTACK_GAP_MAXIMUM

#define YYSTACK_GAP_MAXIMUM   (sizeof (union yyalloc) - 1)

◆ YYSTACK_RELOCATE

#define YYSTACK_RELOCATE (   Stack_alloc,
  Stack 
)
Value:
do \
{ \
YYSIZE_T yynewbytes; \
YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
Stack = &yyptr->Stack_alloc; \
yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
yyptr += yynewbytes / sizeof (*yyptr); \
} \
while (YYID (0))
#define YYID(n)
Definition: fts0pars.cc:249
#define YYSTACK_GAP_MAXIMUM
Definition: fts0pars.cc:345

◆ yystype

#define yystype   YYSTYPE /* obsolescent; will be withdrawn */

◆ YYSTYPE_IS_DECLARED

#define YYSTYPE_IS_DECLARED   1

◆ YYSTYPE_IS_TRIVIAL

#define YYSTYPE_IS_TRIVIAL   1

◆ YYSYNTAX_ERROR

#define YYSYNTAX_ERROR
Value:
yysyntax_error (&yymsg_alloc, &yymsg, \
yyssp, yytoken)
static int yysyntax_error(YYSIZE_T *yymsg_alloc, char **yymsg, yytype_int16 *yyssp, int yytoken)
Definition: fts0pars.cc:981

◆ YYTABLE_NINF

#define YYTABLE_NINF   -1

◆ yytable_value_is_error

#define yytable_value_is_error (   yytable_value)    YYID (0)

◆ YYTERROR

#define YYTERROR   1

◆ YYTOKEN_TABLE

#define YYTOKEN_TABLE   0

◆ YYTOKENFREE

#define YYTOKENFREE (   token)    fts_ast_string_free((token))

◆ YYTOKENTYPE

#define YYTOKENTYPE

◆ YYTRANSLATE

#define YYTRANSLATE (   YYX)    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)

◆ YYUNDEFTOK

#define YYUNDEFTOK   2

◆ YYUSE

#define YYUSE (   e)    ((void) (e))

Typedef Documentation

◆ fts_scan

typedef int(* fts_scan) ()

◆ fts_scanner

typedef int(* fts_scanner) ()

◆ fts_scanner_alt

typedef int(* fts_scanner_alt) (YYSTYPE *val, yyscan_t yyscanner)

◆ YYSTYPE

typedef union YYSTYPE YYSTYPE

◆ yytype_int16

typedef short int yytype_int16

◆ yytype_int8

typedef signed char yytype_int8

◆ yytype_uint16

typedef unsigned short int yytype_uint16

◆ yytype_uint8

typedef unsigned char yytype_uint8

Enumeration Type Documentation

◆ yytokentype

Enumerator
MAX_EXECUTION_TIME_HINT 
RESOURCE_GROUP_HINT 
BKA_HINT 
BNL_HINT 
DUPSWEEDOUT_HINT 
FIRSTMATCH_HINT 
INTOEXISTS_HINT 
LOOSESCAN_HINT 
MATERIALIZATION_HINT 
NO_BKA_HINT 
NO_BNL_HINT 
NO_ICP_HINT 
NO_MRR_HINT 
NO_RANGE_OPTIMIZATION_HINT 
NO_SEMIJOIN_HINT 
MRR_HINT 
QB_NAME_HINT 
SEMIJOIN_HINT 
SUBQUERY_HINT 
DERIVED_MERGE_HINT 
NO_DERIVED_MERGE_HINT 
JOIN_PREFIX_HINT 
JOIN_SUFFIX_HINT 
JOIN_ORDER_HINT 
JOIN_FIXED_ORDER_HINT 
INDEX_MERGE_HINT 
NO_INDEX_MERGE_HINT 
SET_VAR_HINT 
SKIP_SCAN_HINT 
NO_SKIP_SCAN_HINT 
HASH_JOIN_HINT 
NO_HASH_JOIN_HINT 
HINT_ARG_NUMBER 
HINT_ARG_IDENT 
HINT_ARG_QB_NAME 
HINT_ARG_TEXT 
HINT_IDENT_OR_NUMBER_WITH_SCALE 
HINT_CLOSE 
HINT_ERROR 
INDEX_HINT 
NO_INDEX_HINT 
JOIN_INDEX_HINT 
NO_JOIN_INDEX_HINT 
GROUP_INDEX_HINT 
NO_GROUP_INDEX_HINT 
ORDER_INDEX_HINT 
NO_ORDER_INDEX_HINT 
ABORT_SYM 
ACCESSIBLE_SYM 
ACCOUNT_SYM 
ACTION 
ADD 
ADDDATE_SYM 
AFTER_SYM 
AGAINST 
AGGREGATE_SYM 
ALGORITHM_SYM 
ALL 
ALTER 
ALWAYS_SYM 
OBSOLETE_TOKEN_271 
ANALYZE_SYM 
AND_AND_SYM 
AND_SYM 
ANY_SYM 
AS 
ASC 
ASCII_SYM 
ASENSITIVE_SYM 
AT_SYM 
AUTOEXTEND_SIZE_SYM 
AUTO_INC 
AVG_ROW_LENGTH 
AVG_SYM 
BACKUP_SYM 
BEFORE_SYM 
BEGIN_SYM 
BETWEEN_SYM 
BIGINT_SYM 
BINARY_SYM 
BINLOG_SYM 
BIN_NUM 
BIT_AND_SYM 
BIT_OR_SYM 
BIT_SYM 
BIT_XOR_SYM 
BLOB_SYM 
BLOCK_SYM 
BOOLEAN_SYM 
BOOL_SYM 
BOTH 
BTREE_SYM 
BY 
BYTE_SYM 
CACHE_SYM 
CALL_SYM 
CASCADE 
CASCADED 
CASE_SYM 
CAST_SYM 
CATALOG_NAME_SYM 
CHAIN_SYM 
CHANGE 
CHANGED 
CHANNEL_SYM 
CHARSET 
CHAR_SYM 
CHECKSUM_SYM 
CHECK_SYM 
CIPHER_SYM 
CLASS_ORIGIN_SYM 
CLIENT_SYM 
CLOSE_SYM 
COALESCE 
CODE_SYM 
COLLATE_SYM 
COLLATION_SYM 
COLUMNS 
COLUMN_SYM 
COLUMN_FORMAT_SYM 
COLUMN_NAME_SYM 
COMMENT_SYM 
COMMITTED_SYM 
COMMIT_SYM 
COMPACT_SYM 
COMPLETION_SYM 
COMPRESSED_SYM 
COMPRESSION_SYM 
ENCRYPTION_SYM 
CONCURRENT 
CONDITION_SYM 
CONNECTION_SYM 
CONSISTENT_SYM 
CONSTRAINT 
CONSTRAINT_CATALOG_SYM 
CONSTRAINT_NAME_SYM 
CONSTRAINT_SCHEMA_SYM 
CONTAINS_SYM 
CONTEXT_SYM 
CONTINUE_SYM 
CONVERT_SYM 
COUNT_SYM 
CPU_SYM 
CREATE 
CROSS 
CUBE_SYM 
CURDATE 
CURRENT_SYM 
CURRENT_USER 
CURSOR_SYM 
CURSOR_NAME_SYM 
CURTIME 
DATABASE 
DATABASES 
DATAFILE_SYM 
DATA_SYM 
DATETIME_SYM 
DATE_ADD_INTERVAL 
DATE_SUB_INTERVAL 
DATE_SYM 
DAY_HOUR_SYM 
DAY_MICROSECOND_SYM 
DAY_MINUTE_SYM 
DAY_SECOND_SYM 
DAY_SYM 
DEALLOCATE_SYM 
DECIMAL_NUM 
DECIMAL_SYM 
DECLARE_SYM 
DEFAULT_SYM 
DEFAULT_AUTH_SYM 
DEFINER_SYM 
DELAYED_SYM 
DELAY_KEY_WRITE_SYM 
DELETE_SYM 
DESC 
DESCRIBE 
OBSOLETE_TOKEN_388 
DETERMINISTIC_SYM 
DIAGNOSTICS_SYM 
DIRECTORY_SYM 
DISABLE_SYM 
DISCARD_SYM 
DISK_SYM 
DISTINCT 
DIV_SYM 
DOUBLE_SYM 
DO_SYM 
DROP 
DUAL_SYM 
DUMPFILE 
DUPLICATE_SYM 
DYNAMIC_SYM 
EACH_SYM 
ELSE 
ELSEIF_SYM 
ENABLE_SYM 
ENCLOSED 
END 
ENDS_SYM 
END_OF_INPUT 
ENGINES_SYM 
ENGINE_SYM 
ENUM_SYM 
EQ 
EQUAL_SYM 
ERROR_SYM 
ERRORS 
ESCAPED 
ESCAPE_SYM 
EVENTS_SYM 
EVENT_SYM 
EVERY_SYM 
EXCHANGE_SYM 
EXECUTE_SYM 
EXISTS 
EXIT_SYM 
EXPANSION_SYM 
EXPIRE_SYM 
EXPORT_SYM 
EXTENDED_SYM 
EXTENT_SIZE_SYM 
EXTRACT_SYM 
FALSE_SYM 
FAST_SYM 
FAULTS_SYM 
FETCH_SYM 
FILE_SYM 
FILE_BLOCK_SIZE_SYM 
FILTER_SYM 
FIRST_SYM 
FIXED_SYM 
FLOAT_NUM 
FLOAT_SYM 
FLUSH_SYM 
FOLLOWS_SYM 
FORCE_SYM 
FOREIGN 
FOR_SYM 
FORMAT_SYM 
FOUND_SYM 
FROM 
FULL 
FULLTEXT_SYM 
FUNCTION_SYM 
GE 
GENERAL 
GENERATED 
GROUP_REPLICATION 
GEOMETRYCOLLECTION_SYM 
GEOMETRY_SYM 
GET_FORMAT 
GET_SYM 
GLOBAL_SYM 
GRANT 
GRANTS 
GROUP_SYM 
GROUP_CONCAT_SYM 
GT_SYM 
HANDLER_SYM 
HASH_SYM 
HAVING 
HELP_SYM 
HEX_NUM 
HIGH_PRIORITY 
HOST_SYM 
HOSTS_SYM 
HOUR_MICROSECOND_SYM 
HOUR_MINUTE_SYM 
HOUR_SECOND_SYM 
HOUR_SYM 
IDENT 
IDENTIFIED_SYM 
IDENT_QUOTED 
IF 
IGNORE_SYM 
IGNORE_SERVER_IDS_SYM 
IMPORT 
INDEXES 
INDEX_SYM 
INFILE 
INITIAL_SIZE_SYM 
INNER_SYM 
INOUT_SYM 
INSENSITIVE_SYM 
INSERT_SYM 
INSERT_METHOD 
INSTANCE_SYM 
INSTALL_SYM 
INTERVAL_SYM 
INTO 
INT_SYM 
INVOKER_SYM 
IN_SYM 
IO_AFTER_GTIDS 
IO_BEFORE_GTIDS 
IO_SYM 
IPC_SYM 
IS 
ISOLATION 
ISSUER_SYM 
ITERATE_SYM 
JOIN_SYM 
JSON_SEPARATOR_SYM 
JSON_SYM 
KEYS 
KEY_BLOCK_SIZE 
KEY_SYM 
KILL_SYM 
LANGUAGE_SYM 
LAST_SYM 
LE 
LEADING 
LEAVES 
LEAVE_SYM 
LEFT 
LESS_SYM 
LEVEL_SYM 
LEX_HOSTNAME 
LIKE 
LIMIT 
LINEAR_SYM 
LINES 
LINESTRING_SYM 
LIST_SYM 
LOAD 
LOCAL_SYM 
OBSOLETE_TOKEN_538 
LOCKS_SYM 
LOCK_SYM 
LOGFILE_SYM 
LOGS_SYM 
LONGBLOB_SYM 
LONGTEXT_SYM 
LONG_NUM 
LONG_SYM 
LOOP_SYM 
LOW_PRIORITY 
LT 
MASTER_AUTO_POSITION_SYM 
MASTER_BIND_SYM 
MASTER_CONNECT_RETRY_SYM 
MASTER_DELAY_SYM 
MASTER_HOST_SYM 
MASTER_LOG_FILE_SYM 
MASTER_LOG_POS_SYM 
MASTER_PASSWORD_SYM 
MASTER_PORT_SYM 
MASTER_RETRY_COUNT_SYM 
MASTER_SERVER_ID_SYM 
MASTER_SSL_CAPATH_SYM 
MASTER_TLS_VERSION_SYM 
MASTER_SSL_CA_SYM 
MASTER_SSL_CERT_SYM 
MASTER_SSL_CIPHER_SYM 
MASTER_SSL_CRL_SYM 
MASTER_SSL_CRLPATH_SYM 
MASTER_SSL_KEY_SYM 
MASTER_SSL_SYM 
MASTER_SSL_VERIFY_SERVER_CERT_SYM 
MASTER_SYM 
MASTER_USER_SYM 
MASTER_HEARTBEAT_PERIOD_SYM 
MATCH 
MAX_CONNECTIONS_PER_HOUR 
MAX_QUERIES_PER_HOUR 
MAX_ROWS 
MAX_SIZE_SYM 
MAX_SYM 
MAX_UPDATES_PER_HOUR 
MAX_USER_CONNECTIONS_SYM 
MAX_VALUE_SYM 
MEDIUMBLOB_SYM 
MEDIUMINT_SYM 
MEDIUMTEXT_SYM 
MEDIUM_SYM 
MEMORY_SYM 
MERGE_SYM 
MESSAGE_TEXT_SYM 
MICROSECOND_SYM 
MIGRATE_SYM 
MINUTE_MICROSECOND_SYM 
MINUTE_SECOND_SYM 
MINUTE_SYM 
MIN_ROWS 
MIN_SYM 
MODE_SYM 
MODIFIES_SYM 
MODIFY_SYM 
MOD_SYM 
MONTH_SYM 
MULTILINESTRING_SYM 
MULTIPOINT_SYM 
MULTIPOLYGON_SYM 
MUTEX_SYM 
MYSQL_ERRNO_SYM 
NAMES_SYM 
NAME_SYM 
NATIONAL_SYM 
NATURAL 
NCHAR_STRING 
NCHAR_SYM 
NDBCLUSTER_SYM 
NE 
NEG 
NEVER_SYM 
NEW_SYM 
NEXT_SYM 
NODEGROUP_SYM 
NONE_SYM 
NOT2_SYM 
NOT_SYM 
NOW_SYM 
NO_SYM 
NO_WAIT_SYM 
NO_WRITE_TO_BINLOG 
NULL_SYM 
NUM 
NUMBER_SYM 
NUMERIC_SYM 
NVARCHAR_SYM 
OFFSET_SYM 
ON_SYM 
ONE_SYM 
ONLY_SYM 
OPEN_SYM 
OPTIMIZE 
OPTIMIZER_COSTS_SYM 
OPTIONS_SYM 
OPTION 
OPTIONALLY 
OR2_SYM 
ORDER_SYM 
OR_OR_SYM 
OR_SYM 
OUTER_SYM 
OUTFILE 
OUT_SYM 
OWNER_SYM 
PACK_KEYS_SYM 
PAGE_SYM 
PARAM_MARKER 
PARSER_SYM 
OBSOLETE_TOKEN_654 
PARTIAL 
PARTITION_SYM 
PARTITIONS_SYM 
PARTITIONING_SYM 
PASSWORD 
PHASE_SYM 
PLUGIN_DIR_SYM 
PLUGIN_SYM 
PLUGINS_SYM 
POINT_SYM 
POLYGON_SYM 
PORT_SYM 
POSITION_SYM 
PRECEDES_SYM 
PRECISION 
PREPARE_SYM 
PRESERVE_SYM 
PREV_SYM 
PRIMARY_SYM 
PRIVILEGES 
PROCEDURE_SYM 
PROCESS 
PROCESSLIST_SYM 
PROFILE_SYM 
PROFILES_SYM 
PROXY_SYM 
PURGE 
QUARTER_SYM 
QUERY_SYM 
QUICK 
RANGE_SYM 
READS_SYM 
READ_ONLY_SYM 
READ_SYM 
READ_WRITE_SYM 
REAL_SYM 
REBUILD_SYM 
RECOVER_SYM 
OBSOLETE_TOKEN_693 
REDO_BUFFER_SIZE_SYM 
REDUNDANT_SYM 
REFERENCES 
REGEXP 
RELAY 
RELAYLOG_SYM 
RELAY_LOG_FILE_SYM 
RELAY_LOG_POS_SYM 
RELAY_THREAD 
RELEASE_SYM 
RELOAD 
REMOVE_SYM 
RENAME 
REORGANIZE_SYM 
REPAIR 
REPEATABLE_SYM 
REPEAT_SYM 
REPLACE_SYM 
REPLICATION 
REPLICATE_DO_DB 
REPLICATE_IGNORE_DB 
REPLICATE_DO_TABLE 
REPLICATE_IGNORE_TABLE 
REPLICATE_WILD_DO_TABLE 
REPLICATE_WILD_IGNORE_TABLE 
REPLICATE_REWRITE_DB 
REQUIRE_SYM 
RESET_SYM 
RESIGNAL_SYM 
RESOURCES 
RESTORE_SYM 
RESTRICT 
RESUME_SYM 
RETURNED_SQLSTATE_SYM 
RETURNS_SYM 
RETURN_SYM 
REVERSE_SYM 
REVOKE 
RIGHT 
ROLLBACK_SYM 
ROLLUP_SYM 
ROTATE_SYM 
ROUTINE_SYM 
ROWS_SYM 
ROW_FORMAT_SYM 
ROW_SYM 
ROW_COUNT_SYM 
RTREE_SYM 
SAVEPOINT_SYM 
SCHEDULE_SYM 
SCHEMA_NAME_SYM 
SECOND_MICROSECOND_SYM 
SECOND_SYM 
SECURITY_SYM 
SELECT_SYM 
SENSITIVE_SYM 
SEPARATOR_SYM 
SERIALIZABLE_SYM 
SERIAL_SYM 
SESSION_SYM 
SERVER_SYM 
OBSOLETE_TOKEN_755 
SET_SYM 
SET_VAR 
SHARE_SYM 
SHIFT_LEFT 
SHIFT_RIGHT 
SHOW 
SHUTDOWN 
SIGNAL_SYM 
SIGNED_SYM 
SIMPLE_SYM 
SLAVE 
SLOW 
SMALLINT_SYM 
SNAPSHOT_SYM 
SOCKET_SYM 
SONAME_SYM 
SOUNDS_SYM 
SOURCE_SYM 
SPATIAL_SYM 
SPECIFIC_SYM 
SQLEXCEPTION_SYM 
SQLSTATE_SYM 
SQLWARNING_SYM 
SQL_AFTER_GTIDS 
SQL_AFTER_MTS_GAPS 
SQL_BEFORE_GTIDS 
SQL_BIG_RESULT 
SQL_BUFFER_RESULT 
OBSOLETE_TOKEN_784 
SQL_CALC_FOUND_ROWS 
SQL_NO_CACHE_SYM 
SQL_SMALL_RESULT 
SQL_SYM 
SQL_THREAD 
SSL_SYM 
STACKED_SYM 
STARTING 
STARTS_SYM 
START_SYM 
STATS_AUTO_RECALC_SYM 
STATS_PERSISTENT_SYM 
STATS_SAMPLE_PAGES_SYM 
STATUS_SYM 
STDDEV_SAMP_SYM 
STD_SYM 
STOP_SYM 
STORAGE_SYM 
STORED_SYM 
STRAIGHT_JOIN 
STRING_SYM 
SUBCLASS_ORIGIN_SYM 
SUBDATE_SYM 
SUBJECT_SYM 
SUBPARTITIONS_SYM 
SUBPARTITION_SYM 
SUBSTRING 
SUM_SYM 
SUPER_SYM 
SUSPEND_SYM 
SWAPS_SYM 
SWITCHES_SYM 
SYSDATE 
TABLES 
TABLESPACE_SYM 
OBSOLETE_TOKEN_820 
TABLE_SYM 
TABLE_CHECKSUM_SYM 
TABLE_NAME_SYM 
TEMPORARY 
TEMPTABLE_SYM 
TERMINATED 
TEXT_STRING 
TEXT_SYM 
THAN_SYM 
THEN_SYM 
TIMESTAMP_SYM 
TIMESTAMP_ADD 
TIMESTAMP_DIFF 
TIME_SYM 
TINYBLOB_SYM 
TINYINT_SYM 
TINYTEXT_SYN 
TO_SYM 
TRAILING 
TRANSACTION_SYM 
TRIGGERS_SYM 
TRIGGER_SYM 
TRIM 
TRUE_SYM 
TRUNCATE_SYM 
TYPES_SYM 
TYPE_SYM 
OBSOLETE_TOKEN_848 
ULONGLONG_NUM 
UNCOMMITTED_SYM 
UNDEFINED_SYM 
UNDERSCORE_CHARSET 
UNDOFILE_SYM 
UNDO_BUFFER_SIZE_SYM 
UNDO_SYM 
UNICODE_SYM 
UNINSTALL_SYM 
UNION_SYM 
UNIQUE_SYM 
UNKNOWN_SYM 
UNLOCK_SYM 
UNSIGNED_SYM 
UNTIL_SYM 
UPDATE_SYM 
UPGRADE_SYM 
USAGE 
USER 
USE_FRM 
USE_SYM 
USING 
UTC_DATE_SYM 
UTC_TIMESTAMP_SYM 
UTC_TIME_SYM 
VALIDATION_SYM 
VALUES 
VALUE_SYM 
VARBINARY_SYM 
VARCHAR_SYM 
VARIABLES 
VARIANCE_SYM 
VARYING 
VAR_SAMP_SYM 
VIEW_SYM 
VIRTUAL_SYM 
WAIT_SYM 
WARNINGS 
WEEK_SYM 
WEIGHT_STRING_SYM 
WHEN_SYM 
WHERE 
WHILE_SYM 
WITH 
OBSOLETE_TOKEN_893 
WITH_ROLLUP_SYM 
WITHOUT_SYM 
WORK_SYM 
WRAPPER_SYM 
WRITE_SYM 
X509_SYM 
XA_SYM 
XID_SYM 
XML_SYM 
XOR 
YEAR_MONTH_SYM 
YEAR_SYM 
ZEROFILL_SYM 
JSON_UNQUOTED_SEPARATOR_SYM 
PERSIST_SYM 
ROLE_SYM 
ADMIN_SYM 
INVISIBLE_SYM 
VISIBLE_SYM 
EXCEPT_SYM 
COMPONENT_SYM 
RECURSIVE_SYM 
GRAMMAR_SELECTOR_EXPR 
GRAMMAR_SELECTOR_GCOL 
GRAMMAR_SELECTOR_PART 
GRAMMAR_SELECTOR_CTE 
JSON_OBJECTAGG 
JSON_ARRAYAGG 
OF_SYM 
SKIP_SYM 
LOCKED_SYM 
NOWAIT_SYM 
GROUPING_SYM 
PERSIST_ONLY_SYM 
HISTOGRAM_SYM 
BUCKETS_SYM 
OBSOLETE_TOKEN_930 
CLONE_SYM 
CUME_DIST_SYM 
DENSE_RANK_SYM 
EXCLUDE_SYM 
FIRST_VALUE_SYM 
FOLLOWING_SYM 
GROUPS_SYM 
LAG_SYM 
LAST_VALUE_SYM 
LEAD_SYM 
NTH_VALUE_SYM 
NTILE_SYM 
NULLS_SYM 
OTHERS_SYM 
OVER_SYM 
PERCENT_RANK_SYM 
PRECEDING_SYM 
RANK_SYM 
RESPECT_SYM 
ROW_NUMBER_SYM 
TIES_SYM 
UNBOUNDED_SYM 
WINDOW_SYM 
EMPTY_SYM 
JSON_TABLE_SYM 
NESTED_SYM 
ORDINALITY_SYM 
PATH_SYM 
HISTORY_SYM 
REUSE_SYM 
SRID_SYM 
THREAD_PRIORITY_SYM 
RESOURCE_SYM 
SYSTEM_SYM 
VCPU_SYM 
MASTER_PUBLIC_KEY_PATH_SYM 
GET_MASTER_PUBLIC_KEY_SYM 
RESTART_SYM 
DEFINITION_SYM 
DESCRIPTION_SYM 
ORGANIZATION_SYM 
REFERENCE_SYM 
ACTIVE_SYM 
INACTIVE_SYM 
LATERAL_SYM 
ARRAY_SYM 
MEMBER_SYM 
OPTIONAL_SYM 
SECONDARY_SYM 
SECONDARY_ENGINE_SYM 
SECONDARY_LOAD_SYM 
SECONDARY_UNLOAD_SYM 
RETAIN_SYM 
OLD_SYM 
ENFORCED_SYM 
OJ_SYM 
NETWORK_NAMESPACE_SYM 
RANDOM_SYM 
MASTER_COMPRESSION_ALGORITHM_SYM 
MASTER_ZSTD_COMPRESSION_LEVEL_SYM 
PRIVILEGE_CHECKS_USER_SYM 
MASTER_TLS_CIPHERSUITES_SYM 
REQUIRE_ROW_FORMAT_SYM 
PASSWORD_LOCK_TIME_SYM 
FAILED_LOGIN_ATTEMPTS_SYM 
REQUIRE_TABLE_PRIMARY_KEY_CHECK_SYM 
STREAM_SYM 
OFF_SYM 
NOT_A_TOKEN_SYM 
KEYWORD_USED_AS_IDENT 
KEYWORD_USED_AS_KEYWORD 
CONDITIONLESS_JOIN 
SUBQUERY_AS_EXPR 
EMPTY_FROM_CLAUSE 
FTS_OPER 
FTS_TEXT 
FTS_TERM 
FTS_NUMB 
FTS_OPER 
FTS_TEXT 
FTS_TERM 
FTS_NUMB 
PARS_INT_LIT 
PARS_FLOAT_LIT 
PARS_STR_LIT 
PARS_FIXBINARY_LIT 
PARS_BLOB_LIT 
PARS_NULL_LIT 
PARS_ID_TOKEN 
PARS_AND_TOKEN 
PARS_OR_TOKEN 
PARS_NOT_TOKEN 
PARS_GE_TOKEN 
PARS_LE_TOKEN 
PARS_NE_TOKEN 
PARS_PROCEDURE_TOKEN 
PARS_IN_TOKEN 
PARS_OUT_TOKEN 
PARS_BINARY_TOKEN 
PARS_BLOB_TOKEN 
PARS_INT_TOKEN 
PARS_INTEGER_TOKEN 
PARS_FLOAT_TOKEN 
PARS_CHAR_TOKEN 
PARS_IS_TOKEN 
PARS_BEGIN_TOKEN 
PARS_END_TOKEN 
PARS_IF_TOKEN 
PARS_THEN_TOKEN 
PARS_ELSE_TOKEN 
PARS_ELSIF_TOKEN 
PARS_LOOP_TOKEN 
PARS_WHILE_TOKEN 
PARS_RETURN_TOKEN 
PARS_SELECT_TOKEN 
PARS_SUM_TOKEN 
PARS_COUNT_TOKEN 
PARS_DISTINCT_TOKEN 
PARS_FROM_TOKEN 
PARS_WHERE_TOKEN 
PARS_FOR_TOKEN 
PARS_DDOT_TOKEN 
PARS_READ_TOKEN 
PARS_ORDER_TOKEN 
PARS_BY_TOKEN 
PARS_ASC_TOKEN 
PARS_DESC_TOKEN 
PARS_INSERT_TOKEN 
PARS_INTO_TOKEN 
PARS_VALUES_TOKEN 
PARS_UPDATE_TOKEN 
PARS_SET_TOKEN 
PARS_DELETE_TOKEN 
PARS_CURRENT_TOKEN 
PARS_OF_TOKEN 
PARS_CREATE_TOKEN 
PARS_TABLE_TOKEN 
PARS_INDEX_TOKEN 
PARS_UNIQUE_TOKEN 
PARS_CLUSTERED_TOKEN 
PARS_DOES_NOT_FIT_IN_MEM_TOKEN 
PARS_ON_TOKEN 
PARS_ASSIGN_TOKEN 
PARS_DECLARE_TOKEN 
PARS_CURSOR_TOKEN 
PARS_SQL_TOKEN 
PARS_OPEN_TOKEN 
PARS_FETCH_TOKEN 
PARS_CLOSE_TOKEN 
PARS_NOTFOUND_TOKEN 
PARS_TO_BINARY_TOKEN 
PARS_SUBSTR_TOKEN 
PARS_CONCAT_TOKEN 
PARS_INSTR_TOKEN 
PARS_LENGTH_TOKEN 
PARS_COMMIT_TOKEN 
PARS_ROLLBACK_TOKEN 
PARS_WORK_TOKEN 
PARS_UNSIGNED_TOKEN 
PARS_EXIT_TOKEN 
PARS_FUNCTION_TOKEN 
PARS_LOCK_TOKEN 
PARS_SHARE_TOKEN 
PARS_MODE_TOKEN 
PARS_LIKE_TOKEN 
PARS_LIKE_TOKEN_EXACT 
PARS_LIKE_TOKEN_PREFIX 
PARS_LIKE_TOKEN_SUFFIX 
PARS_LIKE_TOKEN_SUBSTR 
PARS_TABLE_NAME_TOKEN 
PARS_COMPACT_TOKEN 
PARS_BLOCK_SIZE_TOKEN 
PARS_BIGINT_TOKEN 
NEG 
PARS_INT_LIT 
PARS_FLOAT_LIT 
PARS_STR_LIT 
PARS_FIXBINARY_LIT 
PARS_BLOB_LIT 
PARS_NULL_LIT 
PARS_ID_TOKEN 
PARS_AND_TOKEN 
PARS_OR_TOKEN 
PARS_NOT_TOKEN 
PARS_GE_TOKEN 
PARS_LE_TOKEN 
PARS_NE_TOKEN 
PARS_PROCEDURE_TOKEN 
PARS_IN_TOKEN 
PARS_OUT_TOKEN 
PARS_BINARY_TOKEN 
PARS_BLOB_TOKEN 
PARS_INT_TOKEN 
PARS_INTEGER_TOKEN 
PARS_FLOAT_TOKEN 
PARS_CHAR_TOKEN 
PARS_IS_TOKEN 
PARS_BEGIN_TOKEN 
PARS_END_TOKEN 
PARS_IF_TOKEN 
PARS_THEN_TOKEN 
PARS_ELSE_TOKEN 
PARS_ELSIF_TOKEN 
PARS_LOOP_TOKEN 
PARS_WHILE_TOKEN 
PARS_RETURN_TOKEN 
PARS_SELECT_TOKEN 
PARS_SUM_TOKEN 
PARS_COUNT_TOKEN 
PARS_DISTINCT_TOKEN 
PARS_FROM_TOKEN 
PARS_WHERE_TOKEN 
PARS_FOR_TOKEN 
PARS_DDOT_TOKEN 
PARS_READ_TOKEN 
PARS_ORDER_TOKEN 
PARS_BY_TOKEN 
PARS_ASC_TOKEN 
PARS_DESC_TOKEN 
PARS_INSERT_TOKEN 
PARS_INTO_TOKEN 
PARS_VALUES_TOKEN 
PARS_UPDATE_TOKEN 
PARS_SET_TOKEN 
PARS_DELETE_TOKEN 
PARS_CURRENT_TOKEN 
PARS_OF_TOKEN 
PARS_CREATE_TOKEN 
PARS_TABLE_TOKEN 
PARS_INDEX_TOKEN 
PARS_UNIQUE_TOKEN 
PARS_CLUSTERED_TOKEN 
PARS_DOES_NOT_FIT_IN_MEM_TOKEN 
PARS_ON_TOKEN 
PARS_ASSIGN_TOKEN 
PARS_DECLARE_TOKEN 
PARS_CURSOR_TOKEN 
PARS_SQL_TOKEN 
PARS_OPEN_TOKEN 
PARS_FETCH_TOKEN 
PARS_CLOSE_TOKEN 
PARS_NOTFOUND_TOKEN 
PARS_TO_BINARY_TOKEN 
PARS_SUBSTR_TOKEN 
PARS_CONCAT_TOKEN 
PARS_INSTR_TOKEN 
PARS_LENGTH_TOKEN 
PARS_COMMIT_TOKEN 
PARS_ROLLBACK_TOKEN 
PARS_WORK_TOKEN 
PARS_UNSIGNED_TOKEN 
PARS_EXIT_TOKEN 
PARS_FUNCTION_TOKEN 
PARS_LOCK_TOKEN 
PARS_SHARE_TOKEN 
PARS_MODE_TOKEN 
PARS_LIKE_TOKEN 
PARS_LIKE_TOKEN_EXACT 
PARS_LIKE_TOKEN_PREFIX 
PARS_LIKE_TOKEN_SUFFIX 
PARS_LIKE_TOKEN_SUBSTR 
PARS_TABLE_NAME_TOKEN 
PARS_COMPACT_TOKEN 
PARS_BLOCK_SIZE_TOKEN 
PARS_BIGINT_TOKEN 
NEG 

Function Documentation

◆ fts_blexer()

int fts_blexer ( YYSTYPE ,
yyscan_t   
)

◆ fts_lexer()

int fts_lexer ( YYSTYPE val,
fts_lexer_t fts_lexer 
)

◆ fts_lexer_create()

fts_lexer_t* fts_lexer_create ( ibool  boolean_mode,
const byte query,
ulint  query_len 
)
Parameters
boolean_modein: query type
queryin: query string
query_lenin: query string len

◆ fts_lexer_free()

void fts_lexer_free ( fts_lexer_t fts_lexer)

in: lexer instance to free

◆ fts_parse()

int fts_parse ( fts_ast_state_t state)

in: ast state instance.

◆ fts_tlexer()

int fts_tlexer ( YYSTYPE ,
yyscan_t   
)

◆ ftserror()

int ftserror ( const char *  p)

◆ yydestruct()

static void yydestruct ( const char *  yymsg,
int  yytype,
YYSTYPE yyvaluep 
)
static

◆ yyparse()

int yyparse ( void *  YYPARSE_PARAM)

◆ yystpcpy()

static char* yystpcpy ( char *  yydest,
const char *  yysrc 
)
static

◆ yystrlen()

static YYSIZE_T yystrlen ( const char *  yystr)
static

◆ yysyntax_error()

static int yysyntax_error ( YYSIZE_T yymsg_alloc,
char **  yymsg,
yytype_int16 yyssp,
int  yytoken 
)
static

◆ yytnamerr()

static YYSIZE_T yytnamerr ( char *  yyres,
const char *  yystr 
)
static

Variable Documentation

◆ yycheck

const yytype_int8 yycheck[]
static
Initial value:
=
{
4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
14, 4, 5, 6, 7, 8, 9, 10, 11, 12,
13, 14, 4, 5, 6, 7, 8, 9, 10, 11,
12, 12, 14, 4, 5, 6, 5, 6, 0, 13,
21, 12, 16, 14, 14, 14, 6, 15, 14, 6,
15, -1, 16
}

◆ yydefact

const yytype_uint8 yydefact[]
static
Initial value:
=
{
3, 0, 2, 1, 24, 21, 22, 17, 16, 18,
19, 20, 3, 0, 5, 4, 0, 8, 9, 0,
23, 3, 13, 15, 10, 0, 6, 0, 12, 0,
11, 7, 14
}

◆ yydefgoto

const yytype_int8 yydefgoto[]
static
Initial value:
=
{
-1, 1, 2, 14, 15, 16, 17, 18
}

◆ yypact

const yytype_int8 yypact[]
static
Initial value:
=
{
-5, 38, 18, -5, -5, -5, -5, -5, -5, -5,
-5, -5, -5, 31, -5, -5, 29, 30, 32, -4,
-5, -5, 34, 35, -5, 40, -5, 7, -5, 43,
-5, -5, -5
}

◆ yypgoto

const yytype_int8 yypgoto[]
static
Initial value:
=
{
-5, -5, 19, -5, -5, -5, 26, 36
}

◆ yyr1

const yytype_uint8 yyr1[]
static
Initial value:
=
{
0, 16, 17, 18, 18, 18, 19, 19, 20, 20,
20, 20, 20, 20, 20, 20, 21, 21, 21, 21,
21, 22, 22, 22, 23
}

◆ yyr2

const yytype_uint8 yyr2[]
static
Initial value:
=
{
0, 2, 1, 0, 2, 2, 3, 4, 1, 1,
2, 3, 3, 2, 4, 2, 1, 1, 1, 1,
1, 1, 1, 2, 1
}

◆ yystos

const yytype_uint8 yystos[]
static
Initial value:
=
{
0, 17, 18, 0, 4, 5, 6, 7, 8, 9,
10, 11, 12, 14, 19, 20, 21, 22, 23, 18,
22, 12, 22, 23, 14, 15, 13, 18, 14, 15,
6, 13, 6
}

◆ yytable

const yytype_uint8 yytable[]
static
Initial value:
=
{
4, 5, 6, 7, 8, 9, 10, 11, 12, 26,
13, 4, 5, 6, 7, 8, 9, 10, 11, 12,
31, 13, 4, 5, 6, 7, 8, 9, 10, 11,
12, 19, 13, 4, 5, 6, 5, 6, 3, 20,
27, 21, 22, 13, 24, 13, 30, 25, 28, 32,
29, 0, 23
}

◆ yytname

const char* const yytname[]
static
Initial value:
= {
"$end", "error", "$undefined", "FTS_OPER", "FTS_TEXT",
"FTS_TERM", "FTS_NUMB", "'+'", "'-'", "'~'",
"'<'", "'>'", "'('", "')'", "'*'",
"'@'", "$accept", "query", "expr_lst", "sub_expr",
"expr", "prefix", "term", "text", nullptr}

◆ yytranslate

const yytype_uint8 yytranslate[]
static
Initial value:
=
{
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
12, 13, 14, 7, 2, 8, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
10, 2, 11, 2, 15, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 9, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
5, 6
}