diff options
author | unknown <aivanov/alexi@mysql.com/mysqld.localdomain> | 2006-07-26 13:28:51 +0400 |
---|---|---|
committer | unknown <aivanov/alexi@mysql.com/mysqld.localdomain> | 2006-07-26 13:28:51 +0400 |
commit | d36f94791a5443b64d6ed9469dfbdd28b70fd687 (patch) | |
tree | 01e121069675cd78a8509890964b58b5f8f5d5b8 /storage/innobase/pars | |
parent | 3a409d4a2afd9febb1c7be2e18a727b4e9ad9b05 (diff) | |
download | mariadb-git-d36f94791a5443b64d6ed9469dfbdd28b70fd687.tar.gz |
Applied innodb-5.1-ss660 snapshot.
Changes in SQL parser:
* Change default mode of SELECT from "lock in share mode"
to "consistent read".
* Remove support from SELECT for specifying "consistent read".
* Add support in SELECT for specifying "lock in share mode".
* Change all uses of SQL parser to specify "lock in share mode".
* Modify syntax so that the only valid top-level statement is
a procedure definition, since it's the only one that actually
works.
* Add support for lock waits.
sql/ha_innodb.cc:
Applied innodb-5.1-ss660 snapshot.
Document better the "bool table_id" flag.
storage/innobase/btr/btr0cur.c:
Applied innodb-5.1-ss660 snapshot.
btr_cur_search_to_nth_level(): Reacquire btr_search_latch after
inserting to the insert buffer. This was noticed while analysing
Bug#19801, but this should not fix this bug since, according to
Heikki, btr_search_latch is not reserved during an insert.
storage/innobase/configure.in:
Applied innodb-5.1-ss660 snapshot.
Add -Wpointer-arith to CFLAGS when using GCC.
storage/innobase/data/data0type.c:
Applied innodb-5.1-ss660 snapshot.
storage/innobase/dict/dict0crea.c:
Applied innodb-5.1-ss660 snapshot.
storage/innobase/dict/dict0dict.c:
Applied innodb-5.1-ss660 snapshot.
Make dict_remove_db_name() non-static.
storage/innobase/ibuf/ibuf0ibuf.c:
Applied innodb-5.1-ss660 snapshot.
ibuf_fixed_addr_page(): Add parameter space. As the insert buffer
B-tree is only located in the system tablespace (space 0),
IBUF_TREE_ROOT_PAGE_NO is only special in space 0.
storage/innobase/include/data0type.h:
Applied innodb-5.1-ss660 snapshot.
storage/innobase/include/dict0dict.h:
Applied innodb-5.1-ss660 snapshot.
Make dict_remove_db_name() non-static.
storage/innobase/include/pars0grm.h:
Applied innodb-5.1-ss660 snapshot.
storage/innobase/include/pars0pars.h:
Applied innodb-5.1-ss660 snapshot.
storage/innobase/include/que0que.h:
Applied innodb-5.1-ss660 snapshot.
storage/innobase/include/sync0rw.ic:
Applied innodb-5.1-ss660 snapshot.
rw_lock_s_unlock_func(): Change a debug assertion to a
production assertion in order to track down Bug#19081.
storage/innobase/include/trx0trx.h:
Applied innodb-5.1-ss660 snapshot.
trx_sig_send() always succeeds or asserts.
storage/innobase/include/ut0ut.h:
Applied innodb-5.1-ss660 snapshot.
Document better the "bool table_id" flags.
storage/innobase/mem/mem0mem.c:
Applied innodb-5.1-ss660 snapshot.
storage/innobase/pars/lexyy.c:
Applied innodb-5.1-ss660 snapshot.
storage/innobase/pars/pars0grm.c:
Applied innodb-5.1-ss660 snapshot.
storage/innobase/pars/pars0grm.h:
Applied innodb-5.1-ss660 snapshot.
storage/innobase/pars/pars0grm.y:
Applied innodb-5.1-ss660 snapshot.
storage/innobase/pars/pars0lex.l:
Applied innodb-5.1-ss660 snapshot.
storage/innobase/pars/pars0pars.c:
Applied innodb-5.1-ss660 snapshot.
storage/innobase/que/que0que.c:
Applied innodb-5.1-ss660 snapshot.
storage/innobase/row/row0mysql.c:
Applied innodb-5.1-ss660 snapshot.
storage/innobase/row/row0sel.c:
Applied innodb-5.1-ss660 snapshot.
* Disable prefetch and adaptive hash index for tables
with rows over 1024 bytes in InnoDB's SQL parser.
* row_sel_try_search_shortcut(): Do not return SEL_FOUND
when the record was not found. This bug was introduced
in MySQL/InnoDB 5.0.3, but luckily it should never
manifest itself, given that existing InnoDB SQL code
never makes use of consistent reads.
* Don't take unnecesary locks on supremum records when the
srv_locks_unsafe_for_binlog option is enabled. Fixes an
assertion failure in the innodb_unsafe_binlog testcase
when compiled with UNIV_DEBUG.
storage/innobase/row/row0upd.c:
Applied innodb-5.1-ss660 snapshot.
storage/innobase/trx/trx0roll.c:
Applied innodb-5.1-ss660 snapshot.
trx_sig_send() always succeeds or asserts.
storage/innobase/trx/trx0trx.c:
Applied innodb-5.1-ss660 snapshot.
trx_sig_send() always succeeds or asserts.
storage/innobase/ut/ut0ut.c:
Applied innodb-5.1-ss660 snapshot.
Document better the "bool table_id" flags.
Diffstat (limited to 'storage/innobase/pars')
-rw-r--r-- | storage/innobase/pars/lexyy.c | 686 | ||||
-rw-r--r-- | storage/innobase/pars/pars0grm.c | 1324 | ||||
-rw-r--r-- | storage/innobase/pars/pars0grm.h | 208 | ||||
-rw-r--r-- | storage/innobase/pars/pars0grm.y | 18 | ||||
-rw-r--r-- | storage/innobase/pars/pars0lex.l | 16 | ||||
-rw-r--r-- | storage/innobase/pars/pars0pars.c | 27 |
6 files changed, 1161 insertions, 1118 deletions
diff --git a/storage/innobase/pars/lexyy.c b/storage/innobase/pars/lexyy.c index 6d4e692e86b..70daf261186 100644 --- a/storage/innobase/pars/lexyy.c +++ b/storage/innobase/pars/lexyy.c @@ -356,8 +356,8 @@ static void yy_fatal_error (yyconst char msg[] ); *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; -#define YY_NUM_RULES 117 -#define YY_END_OF_BUFFER 118 +#define YY_NUM_RULES 119 +#define YY_END_OF_BUFFER 120 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -365,51 +365,51 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[396] = +static yyconst flex_int16_t yy_accept[399] = { 0, - 0, 0, 112, 112, 0, 0, 0, 0, 118, 116, - 115, 115, 8, 116, 107, 5, 96, 102, 105, 103, - 100, 104, 116, 106, 1, 116, 101, 99, 97, 98, - 110, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 108, - 109, 112, 113, 6, 7, 9, 10, 115, 4, 91, - 111, 2, 1, 3, 92, 93, 95, 94, 90, 90, - 90, 90, 90, 90, 45, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 28, 17, 25, 90, 90, 90, 90, 55, 62, - - 90, 14, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 112, - 113, 113, 114, 6, 7, 9, 10, 2, 13, 46, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 27, 90, - 90, 90, 41, 90, 90, 90, 90, 21, 90, 90, - 15, 90, 90, 90, 18, 90, 90, 90, 90, 90, - 81, 90, 90, 90, 52, 12, 90, 36, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 20, 24, 90, 90, 90, 90, 90, 90, - - 90, 90, 90, 90, 90, 47, 90, 90, 30, 90, - 88, 90, 90, 39, 90, 90, 90, 90, 90, 49, - 90, 32, 90, 11, 65, 90, 90, 90, 43, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 29, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 86, 90, - 26, 90, 67, 90, 90, 90, 90, 37, 90, 90, - 90, 90, 90, 90, 90, 31, 66, 23, 90, 58, - 90, 76, 90, 90, 90, 44, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 57, 90, 90, 90, - 90, 90, 90, 90, 40, 33, 80, 19, 90, 84, - - 75, 90, 56, 90, 64, 90, 53, 90, 90, 90, - 48, 90, 77, 90, 79, 90, 90, 34, 90, 90, - 90, 35, 73, 90, 90, 90, 90, 59, 90, 51, - 50, 90, 90, 90, 54, 63, 90, 90, 90, 22, - 90, 90, 74, 82, 90, 90, 78, 90, 69, 90, - 90, 90, 90, 90, 38, 90, 89, 68, 90, 85, - 90, 90, 90, 87, 90, 60, 90, 90, 16, 90, - 71, 70, 90, 42, 90, 83, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 72, 90, 90, 90, - 90, 90, 90, 61, 0 + 0, 0, 114, 114, 0, 0, 0, 0, 120, 118, + 117, 117, 8, 118, 109, 5, 98, 104, 107, 105, + 102, 106, 118, 108, 1, 118, 103, 101, 99, 100, + 112, 92, 92, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, + 110, 111, 114, 115, 6, 7, 9, 10, 117, 4, + 93, 113, 2, 1, 3, 94, 95, 97, 96, 92, + 92, 92, 92, 92, 92, 44, 92, 92, 92, 92, + 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 28, 17, 25, 92, 92, 92, 92, 92, + + 54, 61, 92, 14, 92, 92, 92, 92, 92, 92, + 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 114, 115, 115, 116, 6, 7, 9, 10, + 2, 13, 45, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, + 92, 27, 92, 92, 92, 41, 92, 92, 92, 92, + 21, 92, 92, 92, 92, 15, 92, 92, 92, 18, + 92, 92, 92, 92, 92, 80, 92, 92, 92, 51, + 92, 12, 92, 36, 92, 92, 92, 92, 92, 92, + 92, 92, 92, 92, 92, 92, 92, 92, 20, 24, + + 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, + 46, 92, 92, 30, 92, 87, 92, 92, 39, 92, + 92, 92, 92, 92, 48, 92, 89, 32, 91, 92, + 11, 64, 92, 92, 92, 42, 92, 92, 92, 92, + 92, 92, 92, 92, 92, 92, 29, 92, 92, 92, + 92, 92, 92, 92, 92, 92, 85, 92, 26, 92, + 66, 92, 92, 92, 37, 92, 92, 92, 92, 92, + 92, 92, 31, 65, 23, 92, 57, 92, 75, 92, + 92, 92, 43, 92, 92, 92, 92, 92, 92, 92, + 92, 90, 92, 92, 56, 92, 92, 92, 92, 92, + + 92, 92, 40, 33, 79, 19, 92, 83, 74, 55, + 92, 63, 92, 52, 92, 92, 92, 47, 92, 76, + 92, 78, 92, 92, 34, 92, 92, 92, 35, 72, + 92, 92, 92, 92, 58, 92, 50, 49, 92, 92, + 53, 62, 92, 92, 92, 22, 92, 92, 73, 81, + 92, 92, 77, 92, 68, 92, 92, 92, 92, 38, + 92, 88, 67, 92, 84, 92, 92, 92, 86, 92, + 59, 92, 16, 92, 70, 69, 92, 92, 82, 92, + 92, 92, 92, 92, 92, 92, 92, 92, 92, 71, + 92, 92, 92, 92, 92, 92, 60, 0 } ; @@ -454,164 +454,164 @@ static yyconst flex_int32_t yy_meta[51] = 5, 5, 5, 5, 5, 5, 5, 5, 1, 1 } ; -static yyconst flex_int16_t yy_base[406] = +static yyconst flex_int16_t yy_base[409] = { 0, - 0, 0, 435, 434, 436, 435, 437, 436, 439, 446, - 49, 51, 446, 0, 446, 446, 446, 446, 446, 446, - 446, 446, 424, 427, 41, 416, 446, 38, 446, 415, - 446, 20, 33, 32, 46, 40, 44, 0, 54, 52, - 48, 60, 394, 65, 66, 74, 27, 410, 69, 446, - 446, 0, 97, 0, 425, 0, 427, 112, 0, 446, - 446, 414, 54, 409, 446, 446, 446, 446, 0, 402, - 69, 398, 390, 388, 0, 401, 79, 82, 396, 382, - 94, 380, 393, 378, 392, 386, 374, 378, 374, 376, - 376, 0, 82, 0, 375, 373, 367, 374, 0, 0, - - 380, 380, 363, 89, 98, 378, 93, 95, 369, 106, - 361, 377, 373, 351, 101, 372, 363, 112, 356, 0, - 134, 135, 446, 0, 388, 0, 390, 377, 0, 0, - 365, 360, 367, 365, 348, 346, 345, 350, 106, 348, - 360, 93, 348, 354, 355, 337, 337, 121, 0, 335, - 351, 352, 0, 339, 348, 345, 119, 126, 342, 332, - 341, 334, 331, 339, 0, 329, 339, 337, 328, 318, - 312, 325, 310, 330, 0, 0, 315, 0, 329, 320, - 317, 130, 313, 320, 327, 306, 308, 313, 313, 305, - 308, 303, 0, 0, 315, 299, 309, 316, 307, 295, - - 294, 308, 297, 310, 290, 0, 300, 282, 0, 301, - 0, 298, 285, 0, 284, 279, 284, 283, 293, 0, - 279, 0, 283, 0, 0, 279, 276, 290, 0, 275, - 275, 273, 289, 274, 286, 268, 286, 281, 0, 276, - 276, 262, 261, 274, 260, 274, 273, 272, 0, 256, - 0, 250, 0, 269, 253, 252, 252, 0, 265, 255, - 250, 249, 261, 251, 250, 0, 0, 0, 254, 0, - 242, 0, 256, 252, 238, 0, 252, 253, 236, 241, - 234, 252, 234, 231, 232, 229, 0, 234, 246, 233, - 240, 230, 238, 223, 0, 0, 0, 215, 222, 0, - - 0, 219, 0, 218, 0, 232, 0, 233, 220, 219, - 0, 215, 0, 218, 0, 210, 212, 0, 211, 225, - 218, 0, 0, 221, 224, 206, 221, 0, 217, 0, - 0, 201, 215, 214, 0, 0, 198, 197, 202, 0, - 211, 196, 0, 0, 202, 198, 0, 193, 0, 205, - 205, 193, 203, 192, 0, 179, 0, 0, 199, 0, - 183, 177, 183, 0, 174, 0, 179, 192, 0, 191, - 0, 0, 182, 0, 186, 0, 173, 173, 179, 165, - 188, 180, 179, 165, 150, 117, 0, 129, 135, 125, - 122, 118, 110, 0, 446, 166, 172, 178, 151, 180, - - 146, 186, 192, 198, 204 + 0, 0, 437, 436, 438, 437, 439, 438, 441, 448, + 49, 51, 448, 0, 448, 448, 448, 448, 448, 448, + 448, 448, 426, 429, 41, 418, 448, 38, 448, 417, + 448, 20, 33, 32, 46, 40, 44, 0, 54, 52, + 399, 48, 60, 395, 65, 67, 81, 27, 411, 75, + 448, 448, 0, 98, 0, 426, 0, 428, 113, 0, + 448, 448, 415, 54, 410, 448, 448, 448, 448, 0, + 403, 68, 399, 391, 389, 0, 402, 80, 84, 397, + 383, 96, 381, 394, 379, 393, 387, 375, 379, 375, + 377, 377, 0, 98, 0, 376, 97, 385, 368, 375, + + 0, 0, 381, 381, 364, 94, 103, 379, 98, 65, + 381, 369, 109, 361, 377, 373, 351, 97, 372, 363, + 115, 356, 0, 137, 138, 448, 0, 388, 0, 390, + 377, 0, 0, 365, 360, 367, 365, 348, 346, 345, + 350, 359, 347, 359, 95, 347, 353, 354, 336, 336, + 123, 0, 334, 350, 351, 0, 338, 347, 344, 122, + 124, 341, 336, 330, 340, 338, 331, 328, 336, 0, + 326, 336, 334, 325, 315, 309, 322, 307, 327, 0, + 313, 0, 311, 0, 325, 316, 313, 131, 309, 316, + 323, 302, 304, 309, 309, 301, 304, 299, 0, 0, + + 311, 295, 305, 312, 292, 291, 305, 294, 307, 287, + 0, 297, 279, 0, 298, 0, 295, 282, 0, 281, + 276, 281, 280, 290, 0, 276, 0, 0, 0, 280, + 0, 0, 276, 273, 287, 0, 272, 272, 270, 286, + 271, 283, 280, 264, 282, 277, 0, 272, 272, 258, + 257, 270, 256, 270, 269, 268, 0, 252, 0, 246, + 0, 265, 249, 248, 0, 262, 252, 247, 246, 258, + 248, 247, 0, 0, 0, 251, 0, 239, 0, 253, + 249, 235, 0, 249, 250, 233, 238, 231, 249, 231, + 228, 0, 229, 226, 0, 231, 243, 230, 237, 227, + + 235, 220, 0, 0, 0, 212, 219, 0, 0, 0, + 216, 0, 230, 0, 231, 218, 217, 0, 213, 0, + 216, 0, 208, 210, 0, 209, 223, 216, 0, 0, + 219, 222, 204, 219, 0, 215, 0, 0, 199, 213, + 0, 0, 197, 196, 201, 0, 210, 195, 0, 0, + 201, 197, 0, 192, 0, 204, 204, 192, 202, 0, + 179, 0, 0, 199, 0, 183, 177, 183, 0, 174, + 0, 193, 0, 192, 0, 0, 183, 187, 0, 174, + 174, 180, 166, 189, 181, 180, 166, 151, 118, 0, + 130, 136, 127, 123, 119, 111, 0, 448, 167, 173, + + 179, 152, 181, 124, 187, 193, 199, 205 } ; -static yyconst flex_int16_t yy_def[406] = +static yyconst flex_int16_t yy_def[409] = { 0, - 395, 1, 396, 396, 397, 397, 398, 398, 395, 395, - 395, 395, 395, 399, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 400, 395, 395, 395, 395, - 395, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 395, - 395, 402, 403, 404, 395, 405, 395, 395, 399, 395, - 395, 395, 395, 400, 395, 395, 395, 395, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 402, - 403, 403, 395, 404, 395, 405, 395, 395, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 0, 395, 395, 395, 395, 395, - - 395, 395, 395, 395, 395 + 398, 1, 399, 399, 400, 400, 401, 401, 398, 398, + 398, 398, 398, 402, 398, 398, 398, 398, 398, 398, + 398, 398, 398, 398, 398, 403, 398, 398, 398, 398, + 398, 404, 404, 404, 404, 404, 404, 404, 404, 404, + 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, + 398, 398, 405, 406, 407, 398, 408, 398, 398, 402, + 398, 398, 398, 398, 403, 398, 398, 398, 398, 404, + 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, + 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, + 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, + + 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, + 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, + 404, 404, 405, 406, 406, 398, 407, 398, 408, 398, + 398, 404, 404, 404, 404, 404, 404, 404, 404, 404, + 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, + 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, + 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, + 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, + 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, + 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, + + 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, + 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, + 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, + 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, + 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, + 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, + 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, + 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, + 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, + 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, + + 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, + 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, + 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, + 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, + 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, + 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, + 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, + 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, + 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, + 404, 404, 404, 404, 404, 404, 404, 0, 398, 398, + + 398, 398, 398, 398, 398, 398, 398, 398 } ; -static yyconst flex_int16_t yy_nxt[497] = +static yyconst flex_int16_t yy_nxt[499] = { 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 38, - 39, 38, 38, 40, 38, 41, 42, 43, 38, 44, - 45, 46, 47, 48, 49, 38, 38, 38, 50, 51, - 58, 58, 58, 58, 62, 70, 63, 66, 67, 72, - 71, 76, 115, 73, 116, 77, 74, 62, 78, 63, - 87, 79, 81, 84, 80, 85, 82, 88, 95, 75, - 89, 92, 83, 90, 97, 86, 91, 99, 96, 93, - 98, 105, 108, 130, 94, 100, 112, 101, 118, 102, - - 106, 107, 103, 113, 109, 119, 122, 156, 110, 131, - 114, 123, 111, 58, 58, 136, 138, 139, 143, 166, - 168, 137, 157, 158, 140, 167, 172, 144, 174, 177, - 198, 183, 202, 203, 145, 169, 175, 173, 187, 170, - 178, 184, 188, 395, 122, 217, 199, 209, 395, 123, - 69, 210, 219, 240, 241, 59, 394, 393, 392, 391, - 218, 390, 220, 389, 388, 242, 52, 52, 52, 52, - 52, 52, 54, 54, 54, 54, 54, 54, 56, 56, - 56, 56, 56, 56, 64, 64, 120, 120, 120, 387, - 120, 120, 121, 121, 121, 121, 121, 121, 124, 124, - - 386, 124, 124, 124, 126, 385, 126, 126, 126, 126, - 384, 383, 382, 381, 380, 379, 378, 377, 376, 375, - 374, 373, 372, 371, 370, 369, 368, 367, 366, 365, - 364, 363, 362, 361, 360, 359, 358, 357, 356, 355, - 354, 353, 352, 351, 350, 349, 348, 347, 346, 345, - 344, 343, 342, 341, 340, 339, 338, 337, 336, 335, - 334, 333, 332, 331, 330, 329, 328, 327, 326, 325, - 324, 323, 322, 321, 320, 319, 318, 317, 316, 315, - 314, 313, 312, 311, 310, 309, 308, 307, 306, 305, - 304, 303, 302, 301, 300, 299, 298, 297, 296, 295, - - 294, 293, 292, 291, 290, 289, 288, 287, 286, 285, - 284, 283, 282, 281, 280, 279, 278, 277, 276, 275, - 274, 273, 272, 271, 270, 269, 268, 267, 266, 265, - 264, 263, 262, 261, 260, 259, 258, 257, 256, 255, - 254, 253, 252, 251, 250, 249, 248, 247, 246, 245, - 244, 243, 239, 238, 237, 236, 235, 234, 233, 232, - 231, 230, 229, 228, 227, 226, 225, 224, 223, 222, - 221, 216, 215, 214, 213, 212, 211, 208, 207, 206, - 205, 204, 201, 200, 197, 196, 195, 194, 193, 192, - 191, 190, 128, 127, 125, 189, 186, 185, 182, 181, - - 180, 179, 176, 171, 165, 164, 163, 162, 161, 160, - 159, 155, 154, 153, 152, 151, 150, 149, 148, 147, - 146, 142, 141, 135, 134, 133, 132, 129, 395, 128, - 127, 125, 117, 104, 68, 65, 61, 60, 395, 57, - 57, 55, 55, 53, 53, 9, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395 + 39, 38, 38, 40, 41, 42, 43, 44, 38, 45, + 46, 47, 48, 49, 50, 38, 38, 38, 51, 52, + 59, 59, 59, 59, 63, 71, 64, 67, 68, 73, + 72, 77, 118, 74, 119, 78, 75, 63, 79, 64, + 88, 80, 82, 85, 81, 86, 83, 89, 96, 76, + 90, 93, 84, 91, 99, 87, 92, 101, 97, 94, + 100, 107, 133, 110, 95, 102, 111, 103, 179, 104, + + 108, 109, 105, 115, 121, 112, 180, 125, 134, 113, + 116, 122, 126, 114, 59, 59, 139, 117, 141, 142, + 146, 163, 140, 159, 171, 173, 143, 189, 70, 147, + 172, 177, 183, 164, 207, 208, 148, 190, 160, 161, + 174, 193, 178, 184, 175, 194, 398, 125, 222, 214, + 224, 398, 126, 215, 248, 249, 60, 397, 396, 395, + 225, 394, 393, 223, 392, 391, 250, 53, 53, 53, + 53, 53, 53, 55, 55, 55, 55, 55, 55, 57, + 57, 57, 57, 57, 57, 65, 65, 123, 123, 123, + 390, 123, 123, 124, 124, 124, 124, 124, 124, 127, + + 127, 389, 127, 127, 127, 129, 388, 129, 129, 129, + 129, 387, 386, 385, 384, 383, 382, 381, 380, 379, + 378, 377, 376, 375, 374, 373, 372, 371, 370, 369, + 368, 367, 366, 365, 364, 363, 362, 361, 360, 359, + 358, 357, 356, 355, 354, 353, 352, 351, 350, 349, + 348, 347, 346, 345, 344, 343, 342, 341, 340, 339, + 338, 337, 336, 335, 334, 333, 332, 331, 330, 329, + 328, 327, 326, 325, 324, 323, 322, 321, 320, 319, + 318, 317, 316, 315, 314, 313, 312, 311, 310, 309, + 308, 307, 306, 305, 304, 303, 302, 301, 300, 299, + + 298, 297, 296, 295, 294, 293, 292, 291, 290, 289, + 288, 287, 286, 285, 284, 283, 282, 281, 280, 279, + 278, 277, 276, 275, 274, 273, 272, 271, 270, 269, + 268, 267, 266, 265, 264, 263, 262, 261, 260, 259, + 258, 257, 256, 255, 254, 253, 252, 251, 247, 246, + 245, 244, 243, 242, 241, 240, 239, 238, 237, 236, + 235, 234, 233, 232, 231, 230, 229, 228, 227, 226, + 221, 220, 219, 218, 217, 216, 213, 212, 211, 210, + 209, 206, 205, 204, 203, 202, 201, 200, 199, 198, + 197, 196, 131, 130, 128, 195, 192, 191, 188, 187, + + 186, 185, 182, 181, 176, 170, 169, 168, 167, 166, + 165, 162, 158, 157, 156, 155, 154, 153, 152, 151, + 150, 149, 145, 144, 138, 137, 136, 135, 132, 398, + 131, 130, 128, 120, 106, 98, 69, 66, 62, 61, + 398, 58, 58, 56, 56, 54, 54, 9, 398, 398, + 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, + 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, + 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, + 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, + 398, 398, 398, 398, 398, 398, 398, 398 } ; -static yyconst flex_int16_t yy_chk[497] = +static yyconst flex_int16_t yy_chk[499] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -619,54 +619,54 @@ static yyconst flex_int16_t yy_chk[497] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 11, 11, 12, 12, 25, 32, 25, 28, 28, 33, - 32, 34, 47, 33, 47, 34, 33, 63, 34, 63, + 32, 34, 48, 33, 48, 34, 33, 64, 34, 64, 37, 34, 35, 36, 34, 36, 35, 37, 40, 33, - 37, 39, 35, 37, 41, 36, 37, 42, 40, 39, - 41, 44, 45, 71, 39, 42, 46, 42, 49, 42, - - 44, 44, 42, 46, 45, 49, 53, 93, 45, 71, - 46, 53, 45, 58, 58, 77, 78, 78, 81, 104, - 105, 77, 93, 93, 78, 104, 107, 81, 108, 110, - 139, 115, 142, 142, 81, 105, 108, 107, 118, 105, - 110, 115, 118, 121, 122, 157, 139, 148, 121, 122, - 401, 148, 158, 182, 182, 399, 393, 392, 391, 390, - 157, 389, 158, 388, 386, 182, 396, 396, 396, 396, - 396, 396, 397, 397, 397, 397, 397, 397, 398, 398, - 398, 398, 398, 398, 400, 400, 402, 402, 402, 385, - 402, 402, 403, 403, 403, 403, 403, 403, 404, 404, - - 384, 404, 404, 404, 405, 383, 405, 405, 405, 405, - 382, 381, 380, 379, 378, 377, 375, 373, 370, 368, - 367, 365, 363, 362, 361, 359, 356, 354, 353, 352, - 351, 350, 348, 346, 345, 342, 341, 339, 338, 337, - 334, 333, 332, 329, 327, 326, 325, 324, 321, 320, - 319, 317, 316, 314, 312, 310, 309, 308, 306, 304, - 302, 299, 298, 294, 293, 292, 291, 290, 289, 288, - 286, 285, 284, 283, 282, 281, 280, 279, 278, 277, - 275, 274, 273, 271, 269, 265, 264, 263, 262, 261, - 260, 259, 257, 256, 255, 254, 252, 250, 248, 247, - - 246, 245, 244, 243, 242, 241, 240, 238, 237, 236, - 235, 234, 233, 232, 231, 230, 228, 227, 226, 223, - 221, 219, 218, 217, 216, 215, 213, 212, 210, 208, - 207, 205, 204, 203, 202, 201, 200, 199, 198, 197, - 196, 195, 192, 191, 190, 189, 188, 187, 186, 185, - 184, 183, 181, 180, 179, 177, 174, 173, 172, 171, - 170, 169, 168, 167, 166, 164, 163, 162, 161, 160, - 159, 156, 155, 154, 152, 151, 150, 147, 146, 145, - 144, 143, 141, 140, 138, 137, 136, 135, 134, 133, - 132, 131, 128, 127, 125, 119, 117, 116, 114, 113, - - 112, 111, 109, 106, 103, 102, 101, 98, 97, 96, - 95, 91, 90, 89, 88, 87, 86, 85, 84, 83, - 82, 80, 79, 76, 74, 73, 72, 70, 64, 62, - 57, 55, 48, 43, 30, 26, 24, 23, 9, 8, - 7, 6, 5, 4, 3, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395 + 37, 39, 35, 37, 42, 36, 37, 43, 40, 39, + 42, 45, 72, 46, 39, 43, 46, 43, 110, 43, + + 45, 45, 43, 47, 50, 46, 110, 54, 72, 46, + 47, 50, 54, 46, 59, 59, 78, 47, 79, 79, + 82, 97, 78, 94, 106, 107, 79, 118, 404, 82, + 106, 109, 113, 97, 145, 145, 82, 118, 94, 94, + 107, 121, 109, 113, 107, 121, 124, 125, 160, 151, + 161, 124, 125, 151, 188, 188, 402, 396, 395, 394, + 161, 393, 392, 160, 391, 389, 188, 399, 399, 399, + 399, 399, 399, 400, 400, 400, 400, 400, 400, 401, + 401, 401, 401, 401, 401, 403, 403, 405, 405, 405, + 388, 405, 405, 406, 406, 406, 406, 406, 406, 407, + + 407, 387, 407, 407, 407, 408, 386, 408, 408, 408, + 408, 385, 384, 383, 382, 381, 380, 378, 377, 374, + 372, 370, 368, 367, 366, 364, 361, 359, 358, 357, + 356, 354, 352, 351, 348, 347, 345, 344, 343, 340, + 339, 336, 334, 333, 332, 331, 328, 327, 326, 324, + 323, 321, 319, 317, 316, 315, 313, 311, 307, 306, + 302, 301, 300, 299, 298, 297, 296, 294, 293, 291, + 290, 289, 288, 287, 286, 285, 284, 282, 281, 280, + 278, 276, 272, 271, 270, 269, 268, 267, 266, 264, + 263, 262, 260, 258, 256, 255, 254, 253, 252, 251, + + 250, 249, 248, 246, 245, 244, 243, 242, 241, 240, + 239, 238, 237, 235, 234, 233, 230, 226, 224, 223, + 222, 221, 220, 218, 217, 215, 213, 212, 210, 209, + 208, 207, 206, 205, 204, 203, 202, 201, 198, 197, + 196, 195, 194, 193, 192, 191, 190, 189, 187, 186, + 185, 183, 181, 179, 178, 177, 176, 175, 174, 173, + 172, 171, 169, 168, 167, 166, 165, 164, 163, 162, + 159, 158, 157, 155, 154, 153, 150, 149, 148, 147, + 146, 144, 143, 142, 141, 140, 139, 138, 137, 136, + 135, 134, 131, 130, 128, 122, 120, 119, 117, 116, + + 115, 114, 112, 111, 108, 105, 104, 103, 100, 99, + 98, 96, 92, 91, 90, 89, 88, 87, 86, 85, + 84, 83, 81, 80, 77, 75, 74, 73, 71, 65, + 63, 58, 56, 49, 44, 41, 30, 26, 24, 23, + 9, 8, 7, 6, 5, 4, 3, 398, 398, 398, + 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, + 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, + 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, + 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, + 398, 398, 398, 398, 398, 398, 398, 398 } ; @@ -964,13 +964,13 @@ yy_match: while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 396 ) + if ( yy_current_state >= 399 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } - while ( yy_current_state != 395 ); + while ( yy_current_state != 398 ); yy_cp = (yy_last_accepting_cpos); yy_current_state = (yy_last_accepting_state); @@ -1357,402 +1357,400 @@ case 42: YY_RULE_SETUP #line 328 "pars0lex.l" { - return(PARS_CONSISTENT_TOKEN); + return(PARS_READ_TOKEN); } YY_BREAK case 43: YY_RULE_SETUP #line 332 "pars0lex.l" { - return(PARS_READ_TOKEN); + return(PARS_ORDER_TOKEN); } YY_BREAK case 44: YY_RULE_SETUP #line 336 "pars0lex.l" { - return(PARS_ORDER_TOKEN); + return(PARS_BY_TOKEN); } YY_BREAK case 45: YY_RULE_SETUP #line 340 "pars0lex.l" { - return(PARS_BY_TOKEN); + return(PARS_ASC_TOKEN); } YY_BREAK case 46: YY_RULE_SETUP #line 344 "pars0lex.l" { - return(PARS_ASC_TOKEN); + return(PARS_DESC_TOKEN); } YY_BREAK case 47: YY_RULE_SETUP #line 348 "pars0lex.l" { - return(PARS_DESC_TOKEN); + return(PARS_INSERT_TOKEN); } YY_BREAK case 48: YY_RULE_SETUP #line 352 "pars0lex.l" { - return(PARS_INSERT_TOKEN); + return(PARS_INTO_TOKEN); } YY_BREAK case 49: YY_RULE_SETUP #line 356 "pars0lex.l" { - return(PARS_INTO_TOKEN); + return(PARS_VALUES_TOKEN); } YY_BREAK case 50: YY_RULE_SETUP #line 360 "pars0lex.l" { - return(PARS_VALUES_TOKEN); + return(PARS_UPDATE_TOKEN); } YY_BREAK case 51: YY_RULE_SETUP #line 364 "pars0lex.l" { - return(PARS_UPDATE_TOKEN); + return(PARS_SET_TOKEN); } YY_BREAK case 52: YY_RULE_SETUP #line 368 "pars0lex.l" { - return(PARS_SET_TOKEN); + return(PARS_DELETE_TOKEN); } YY_BREAK case 53: YY_RULE_SETUP #line 372 "pars0lex.l" { - return(PARS_DELETE_TOKEN); + return(PARS_CURRENT_TOKEN); } YY_BREAK case 54: YY_RULE_SETUP #line 376 "pars0lex.l" { - return(PARS_CURRENT_TOKEN); + return(PARS_OF_TOKEN); } YY_BREAK case 55: YY_RULE_SETUP #line 380 "pars0lex.l" { - return(PARS_OF_TOKEN); + return(PARS_CREATE_TOKEN); } YY_BREAK case 56: YY_RULE_SETUP #line 384 "pars0lex.l" { - return(PARS_CREATE_TOKEN); + return(PARS_TABLE_TOKEN); } YY_BREAK case 57: YY_RULE_SETUP #line 388 "pars0lex.l" { - return(PARS_TABLE_TOKEN); + return(PARS_INDEX_TOKEN); } YY_BREAK case 58: YY_RULE_SETUP #line 392 "pars0lex.l" { - return(PARS_INDEX_TOKEN); + return(PARS_UNIQUE_TOKEN); } YY_BREAK case 59: YY_RULE_SETUP #line 396 "pars0lex.l" { - return(PARS_UNIQUE_TOKEN); + return(PARS_CLUSTERED_TOKEN); } YY_BREAK case 60: YY_RULE_SETUP #line 400 "pars0lex.l" { - return(PARS_CLUSTERED_TOKEN); + return(PARS_DOES_NOT_FIT_IN_MEM_TOKEN); } YY_BREAK case 61: YY_RULE_SETUP #line 404 "pars0lex.l" { - return(PARS_DOES_NOT_FIT_IN_MEM_TOKEN); + return(PARS_ON_TOKEN); } YY_BREAK case 62: YY_RULE_SETUP #line 408 "pars0lex.l" { - return(PARS_ON_TOKEN); + return(PARS_DECLARE_TOKEN); } YY_BREAK case 63: YY_RULE_SETUP #line 412 "pars0lex.l" { - return(PARS_DECLARE_TOKEN); + return(PARS_CURSOR_TOKEN); } YY_BREAK case 64: YY_RULE_SETUP #line 416 "pars0lex.l" { - return(PARS_CURSOR_TOKEN); + return(PARS_OPEN_TOKEN); } YY_BREAK case 65: YY_RULE_SETUP #line 420 "pars0lex.l" { - return(PARS_OPEN_TOKEN); + return(PARS_FETCH_TOKEN); } YY_BREAK case 66: YY_RULE_SETUP #line 424 "pars0lex.l" { - return(PARS_FETCH_TOKEN); + return(PARS_CLOSE_TOKEN); } YY_BREAK case 67: YY_RULE_SETUP #line 428 "pars0lex.l" { - return(PARS_CLOSE_TOKEN); + return(PARS_NOTFOUND_TOKEN); } YY_BREAK case 68: YY_RULE_SETUP #line 432 "pars0lex.l" { - return(PARS_NOTFOUND_TOKEN); + return(PARS_TO_CHAR_TOKEN); } YY_BREAK case 69: YY_RULE_SETUP #line 436 "pars0lex.l" { - return(PARS_TO_CHAR_TOKEN); + return(PARS_TO_NUMBER_TOKEN); } YY_BREAK case 70: YY_RULE_SETUP #line 440 "pars0lex.l" { - return(PARS_TO_NUMBER_TOKEN); + return(PARS_TO_BINARY_TOKEN); } YY_BREAK case 71: YY_RULE_SETUP #line 444 "pars0lex.l" { - return(PARS_TO_BINARY_TOKEN); + return(PARS_BINARY_TO_NUMBER_TOKEN); } YY_BREAK case 72: YY_RULE_SETUP #line 448 "pars0lex.l" { - return(PARS_BINARY_TO_NUMBER_TOKEN); + return(PARS_SUBSTR_TOKEN); } YY_BREAK case 73: YY_RULE_SETUP #line 452 "pars0lex.l" { - return(PARS_SUBSTR_TOKEN); + return(PARS_REPLSTR_TOKEN); } YY_BREAK case 74: YY_RULE_SETUP #line 456 "pars0lex.l" { - return(PARS_REPLSTR_TOKEN); + return(PARS_CONCAT_TOKEN); } YY_BREAK case 75: YY_RULE_SETUP #line 460 "pars0lex.l" { - return(PARS_CONCAT_TOKEN); + return(PARS_INSTR_TOKEN); } YY_BREAK case 76: YY_RULE_SETUP #line 464 "pars0lex.l" { - return(PARS_INSTR_TOKEN); + return(PARS_LENGTH_TOKEN); } YY_BREAK case 77: YY_RULE_SETUP #line 468 "pars0lex.l" { - return(PARS_LENGTH_TOKEN); + return(PARS_SYSDATE_TOKEN); } YY_BREAK case 78: YY_RULE_SETUP #line 472 "pars0lex.l" { - return(PARS_SYSDATE_TOKEN); + return(PARS_PRINTF_TOKEN); } YY_BREAK case 79: YY_RULE_SETUP #line 476 "pars0lex.l" { - return(PARS_PRINTF_TOKEN); + return(PARS_ASSERT_TOKEN); } YY_BREAK case 80: YY_RULE_SETUP #line 480 "pars0lex.l" { - return(PARS_ASSERT_TOKEN); + return(PARS_RND_TOKEN); } YY_BREAK case 81: YY_RULE_SETUP #line 484 "pars0lex.l" { - return(PARS_RND_TOKEN); + return(PARS_RND_STR_TOKEN); } YY_BREAK case 82: YY_RULE_SETUP #line 488 "pars0lex.l" { - return(PARS_RND_STR_TOKEN); + return(PARS_ROW_PRINTF_TOKEN); } YY_BREAK case 83: YY_RULE_SETUP #line 492 "pars0lex.l" { - return(PARS_ROW_PRINTF_TOKEN); + return(PARS_COMMIT_TOKEN); } YY_BREAK case 84: YY_RULE_SETUP #line 496 "pars0lex.l" { - return(PARS_COMMIT_TOKEN); + return(PARS_ROLLBACK_TOKEN); } YY_BREAK case 85: YY_RULE_SETUP #line 500 "pars0lex.l" { - return(PARS_ROLLBACK_TOKEN); + return(PARS_WORK_TOKEN); } YY_BREAK case 86: YY_RULE_SETUP #line 504 "pars0lex.l" { - return(PARS_WORK_TOKEN); + return(PARS_UNSIGNED_TOKEN); } YY_BREAK case 87: YY_RULE_SETUP #line 508 "pars0lex.l" { - return(PARS_UNSIGNED_TOKEN); + return(PARS_EXIT_TOKEN); } YY_BREAK case 88: YY_RULE_SETUP #line 512 "pars0lex.l" { - return(PARS_EXIT_TOKEN); + return(PARS_FUNCTION_TOKEN); } YY_BREAK case 89: YY_RULE_SETUP #line 516 "pars0lex.l" { - return(PARS_FUNCTION_TOKEN); + return(PARS_LOCK_TOKEN); } YY_BREAK case 90: YY_RULE_SETUP #line 520 "pars0lex.l" { - yylval = sym_tab_add_id(pars_sym_tab_global, - (byte*)yytext, - ut_strlen(yytext)); - return(PARS_ID_TOKEN); + return(PARS_SHARE_TOKEN); } YY_BREAK case 91: YY_RULE_SETUP -#line 527 "pars0lex.l" +#line 524 "pars0lex.l" { - return(PARS_DDOT_TOKEN); + return(PARS_MODE_TOKEN); } YY_BREAK case 92: YY_RULE_SETUP -#line 531 "pars0lex.l" +#line 528 "pars0lex.l" { - return(PARS_ASSIGN_TOKEN); + yylval = sym_tab_add_id(pars_sym_tab_global, + (byte*)yytext, + ut_strlen(yytext)); + return(PARS_ID_TOKEN); } YY_BREAK case 93: YY_RULE_SETUP #line 535 "pars0lex.l" { - return(PARS_LE_TOKEN); + return(PARS_DDOT_TOKEN); } YY_BREAK case 94: YY_RULE_SETUP #line 539 "pars0lex.l" { - return(PARS_GE_TOKEN); + return(PARS_ASSIGN_TOKEN); } YY_BREAK case 95: YY_RULE_SETUP #line 543 "pars0lex.l" { - return(PARS_NE_TOKEN); + return(PARS_LE_TOKEN); } YY_BREAK case 96: YY_RULE_SETUP #line 547 "pars0lex.l" { - - return((int)(*yytext)); + return(PARS_GE_TOKEN); } YY_BREAK case 97: YY_RULE_SETUP -#line 552 "pars0lex.l" +#line 551 "pars0lex.l" { - - return((int)(*yytext)); + return(PARS_NE_TOKEN); } YY_BREAK case 98: YY_RULE_SETUP -#line 557 "pars0lex.l" +#line 555 "pars0lex.l" { return((int)(*yytext)); @@ -1760,7 +1758,7 @@ YY_RULE_SETUP YY_BREAK case 99: YY_RULE_SETUP -#line 562 "pars0lex.l" +#line 560 "pars0lex.l" { return((int)(*yytext)); @@ -1768,7 +1766,7 @@ YY_RULE_SETUP YY_BREAK case 100: YY_RULE_SETUP -#line 567 "pars0lex.l" +#line 565 "pars0lex.l" { return((int)(*yytext)); @@ -1776,7 +1774,7 @@ YY_RULE_SETUP YY_BREAK case 101: YY_RULE_SETUP -#line 572 "pars0lex.l" +#line 570 "pars0lex.l" { return((int)(*yytext)); @@ -1784,7 +1782,7 @@ YY_RULE_SETUP YY_BREAK case 102: YY_RULE_SETUP -#line 577 "pars0lex.l" +#line 575 "pars0lex.l" { return((int)(*yytext)); @@ -1792,7 +1790,7 @@ YY_RULE_SETUP YY_BREAK case 103: YY_RULE_SETUP -#line 582 "pars0lex.l" +#line 580 "pars0lex.l" { return((int)(*yytext)); @@ -1800,7 +1798,7 @@ YY_RULE_SETUP YY_BREAK case 104: YY_RULE_SETUP -#line 587 "pars0lex.l" +#line 585 "pars0lex.l" { return((int)(*yytext)); @@ -1808,7 +1806,7 @@ YY_RULE_SETUP YY_BREAK case 105: YY_RULE_SETUP -#line 592 "pars0lex.l" +#line 590 "pars0lex.l" { return((int)(*yytext)); @@ -1816,7 +1814,7 @@ YY_RULE_SETUP YY_BREAK case 106: YY_RULE_SETUP -#line 597 "pars0lex.l" +#line 595 "pars0lex.l" { return((int)(*yytext)); @@ -1824,7 +1822,7 @@ YY_RULE_SETUP YY_BREAK case 107: YY_RULE_SETUP -#line 602 "pars0lex.l" +#line 600 "pars0lex.l" { return((int)(*yytext)); @@ -1832,7 +1830,7 @@ YY_RULE_SETUP YY_BREAK case 108: YY_RULE_SETUP -#line 607 "pars0lex.l" +#line 605 "pars0lex.l" { return((int)(*yytext)); @@ -1840,7 +1838,7 @@ YY_RULE_SETUP YY_BREAK case 109: YY_RULE_SETUP -#line 612 "pars0lex.l" +#line 610 "pars0lex.l" { return((int)(*yytext)); @@ -1848,7 +1846,7 @@ YY_RULE_SETUP YY_BREAK case 110: YY_RULE_SETUP -#line 617 "pars0lex.l" +#line 615 "pars0lex.l" { return((int)(*yytext)); @@ -1856,35 +1854,51 @@ YY_RULE_SETUP YY_BREAK case 111: YY_RULE_SETUP -#line 622 "pars0lex.l" -BEGIN(comment); /* eat up comment */ +#line 620 "pars0lex.l" +{ + + return((int)(*yytext)); +} YY_BREAK case 112: -/* rule 112 can match eol */ YY_RULE_SETUP -#line 624 "pars0lex.l" +#line 625 "pars0lex.l" +{ + return((int)(*yytext)); +} YY_BREAK case 113: -/* rule 113 can match eol */ YY_RULE_SETUP -#line 625 "pars0lex.l" - +#line 630 "pars0lex.l" +BEGIN(comment); /* eat up comment */ YY_BREAK case 114: +/* rule 114 can match eol */ YY_RULE_SETUP -#line 626 "pars0lex.l" -BEGIN(INITIAL); +#line 632 "pars0lex.l" + YY_BREAK case 115: /* rule 115 can match eol */ YY_RULE_SETUP -#line 628 "pars0lex.l" -/* eat up whitespace */ +#line 633 "pars0lex.l" + YY_BREAK case 116: YY_RULE_SETUP -#line 631 "pars0lex.l" +#line 634 "pars0lex.l" +BEGIN(INITIAL); + YY_BREAK +case 117: +/* rule 117 can match eol */ +YY_RULE_SETUP +#line 636 "pars0lex.l" +/* eat up whitespace */ + YY_BREAK +case 118: +YY_RULE_SETUP +#line 639 "pars0lex.l" { fprintf(stderr,"Unrecognized character: %02x\n", *yytext); @@ -1894,12 +1908,12 @@ YY_RULE_SETUP return(0); } YY_BREAK -case 117: +case 119: YY_RULE_SETUP -#line 640 "pars0lex.l" +#line 648 "pars0lex.l" YY_FATAL_ERROR( "flex scanner jammed" ); YY_BREAK -#line 1902 "_flex_tmp.c" +#line 1916 "_flex_tmp.c" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(comment): case YY_STATE_EOF(quoted): @@ -2187,7 +2201,7 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 396 ) + if ( yy_current_state >= 399 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -2215,11 +2229,11 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 396 ) + if ( yy_current_state >= 399 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 395); + yy_is_jam = (yy_current_state == 398); return yy_is_jam ? 0 : yy_current_state; } @@ -2742,7 +2756,7 @@ void yyfree (void * ptr ) #undef YY_DECL_IS_OURS #undef YY_DECL #endif -#line 640 "pars0lex.l" +#line 648 "pars0lex.l" diff --git a/storage/innobase/pars/pars0grm.c b/storage/innobase/pars/pars0grm.c index 2cce7cb1c8b..2e39b05bada 100644 --- a/storage/innobase/pars/pars0grm.c +++ b/storage/innobase/pars/pars0grm.c @@ -93,57 +93,59 @@ PARS_WHERE_TOKEN = 295, PARS_FOR_TOKEN = 296, PARS_DDOT_TOKEN = 297, - PARS_CONSISTENT_TOKEN = 298, - PARS_READ_TOKEN = 299, - PARS_ORDER_TOKEN = 300, - PARS_BY_TOKEN = 301, - PARS_ASC_TOKEN = 302, - PARS_DESC_TOKEN = 303, - PARS_INSERT_TOKEN = 304, - PARS_INTO_TOKEN = 305, - PARS_VALUES_TOKEN = 306, - PARS_UPDATE_TOKEN = 307, - PARS_SET_TOKEN = 308, - PARS_DELETE_TOKEN = 309, - PARS_CURRENT_TOKEN = 310, - PARS_OF_TOKEN = 311, - PARS_CREATE_TOKEN = 312, - PARS_TABLE_TOKEN = 313, - PARS_INDEX_TOKEN = 314, - PARS_UNIQUE_TOKEN = 315, - PARS_CLUSTERED_TOKEN = 316, - PARS_DOES_NOT_FIT_IN_MEM_TOKEN = 317, - PARS_ON_TOKEN = 318, - PARS_ASSIGN_TOKEN = 319, - PARS_DECLARE_TOKEN = 320, - PARS_CURSOR_TOKEN = 321, - PARS_SQL_TOKEN = 322, - PARS_OPEN_TOKEN = 323, - PARS_FETCH_TOKEN = 324, - PARS_CLOSE_TOKEN = 325, - PARS_NOTFOUND_TOKEN = 326, - PARS_TO_CHAR_TOKEN = 327, - PARS_TO_NUMBER_TOKEN = 328, - PARS_TO_BINARY_TOKEN = 329, - PARS_BINARY_TO_NUMBER_TOKEN = 330, - PARS_SUBSTR_TOKEN = 331, - PARS_REPLSTR_TOKEN = 332, - PARS_CONCAT_TOKEN = 333, - PARS_INSTR_TOKEN = 334, - PARS_LENGTH_TOKEN = 335, - PARS_SYSDATE_TOKEN = 336, - PARS_PRINTF_TOKEN = 337, - PARS_ASSERT_TOKEN = 338, - PARS_RND_TOKEN = 339, - PARS_RND_STR_TOKEN = 340, - PARS_ROW_PRINTF_TOKEN = 341, - PARS_COMMIT_TOKEN = 342, - PARS_ROLLBACK_TOKEN = 343, - PARS_WORK_TOKEN = 344, - PARS_UNSIGNED_TOKEN = 345, - PARS_EXIT_TOKEN = 346, - PARS_FUNCTION_TOKEN = 347, - NEG = 348 + 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_CHAR_TOKEN = 326, + PARS_TO_NUMBER_TOKEN = 327, + PARS_TO_BINARY_TOKEN = 328, + PARS_BINARY_TO_NUMBER_TOKEN = 329, + PARS_SUBSTR_TOKEN = 330, + PARS_REPLSTR_TOKEN = 331, + PARS_CONCAT_TOKEN = 332, + PARS_INSTR_TOKEN = 333, + PARS_LENGTH_TOKEN = 334, + PARS_SYSDATE_TOKEN = 335, + PARS_PRINTF_TOKEN = 336, + PARS_ASSERT_TOKEN = 337, + PARS_RND_TOKEN = 338, + PARS_RND_STR_TOKEN = 339, + PARS_ROW_PRINTF_TOKEN = 340, + PARS_COMMIT_TOKEN = 341, + PARS_ROLLBACK_TOKEN = 342, + PARS_WORK_TOKEN = 343, + PARS_UNSIGNED_TOKEN = 344, + PARS_EXIT_TOKEN = 345, + PARS_FUNCTION_TOKEN = 346, + PARS_LOCK_TOKEN = 347, + PARS_SHARE_TOKEN = 348, + PARS_MODE_TOKEN = 349, + NEG = 350 }; #endif #define PARS_INT_LIT 258 @@ -186,57 +188,59 @@ #define PARS_WHERE_TOKEN 295 #define PARS_FOR_TOKEN 296 #define PARS_DDOT_TOKEN 297 -#define PARS_CONSISTENT_TOKEN 298 -#define PARS_READ_TOKEN 299 -#define PARS_ORDER_TOKEN 300 -#define PARS_BY_TOKEN 301 -#define PARS_ASC_TOKEN 302 -#define PARS_DESC_TOKEN 303 -#define PARS_INSERT_TOKEN 304 -#define PARS_INTO_TOKEN 305 -#define PARS_VALUES_TOKEN 306 -#define PARS_UPDATE_TOKEN 307 -#define PARS_SET_TOKEN 308 -#define PARS_DELETE_TOKEN 309 -#define PARS_CURRENT_TOKEN 310 -#define PARS_OF_TOKEN 311 -#define PARS_CREATE_TOKEN 312 -#define PARS_TABLE_TOKEN 313 -#define PARS_INDEX_TOKEN 314 -#define PARS_UNIQUE_TOKEN 315 -#define PARS_CLUSTERED_TOKEN 316 -#define PARS_DOES_NOT_FIT_IN_MEM_TOKEN 317 -#define PARS_ON_TOKEN 318 -#define PARS_ASSIGN_TOKEN 319 -#define PARS_DECLARE_TOKEN 320 -#define PARS_CURSOR_TOKEN 321 -#define PARS_SQL_TOKEN 322 -#define PARS_OPEN_TOKEN 323 -#define PARS_FETCH_TOKEN 324 -#define PARS_CLOSE_TOKEN 325 -#define PARS_NOTFOUND_TOKEN 326 -#define PARS_TO_CHAR_TOKEN 327 -#define PARS_TO_NUMBER_TOKEN 328 -#define PARS_TO_BINARY_TOKEN 329 -#define PARS_BINARY_TO_NUMBER_TOKEN 330 -#define PARS_SUBSTR_TOKEN 331 -#define PARS_REPLSTR_TOKEN 332 -#define PARS_CONCAT_TOKEN 333 -#define PARS_INSTR_TOKEN 334 -#define PARS_LENGTH_TOKEN 335 -#define PARS_SYSDATE_TOKEN 336 -#define PARS_PRINTF_TOKEN 337 -#define PARS_ASSERT_TOKEN 338 -#define PARS_RND_TOKEN 339 -#define PARS_RND_STR_TOKEN 340 -#define PARS_ROW_PRINTF_TOKEN 341 -#define PARS_COMMIT_TOKEN 342 -#define PARS_ROLLBACK_TOKEN 343 -#define PARS_WORK_TOKEN 344 -#define PARS_UNSIGNED_TOKEN 345 -#define PARS_EXIT_TOKEN 346 -#define PARS_FUNCTION_TOKEN 347 -#define NEG 348 +#define PARS_READ_TOKEN 298 +#define PARS_ORDER_TOKEN 299 +#define PARS_BY_TOKEN 300 +#define PARS_ASC_TOKEN 301 +#define PARS_DESC_TOKEN 302 +#define PARS_INSERT_TOKEN 303 +#define PARS_INTO_TOKEN 304 +#define PARS_VALUES_TOKEN 305 +#define PARS_UPDATE_TOKEN 306 +#define PARS_SET_TOKEN 307 +#define PARS_DELETE_TOKEN 308 +#define PARS_CURRENT_TOKEN 309 +#define PARS_OF_TOKEN 310 +#define PARS_CREATE_TOKEN 311 +#define PARS_TABLE_TOKEN 312 +#define PARS_INDEX_TOKEN 313 +#define PARS_UNIQUE_TOKEN 314 +#define PARS_CLUSTERED_TOKEN 315 +#define PARS_DOES_NOT_FIT_IN_MEM_TOKEN 316 +#define PARS_ON_TOKEN 317 +#define PARS_ASSIGN_TOKEN 318 +#define PARS_DECLARE_TOKEN 319 +#define PARS_CURSOR_TOKEN 320 +#define PARS_SQL_TOKEN 321 +#define PARS_OPEN_TOKEN 322 +#define PARS_FETCH_TOKEN 323 +#define PARS_CLOSE_TOKEN 324 +#define PARS_NOTFOUND_TOKEN 325 +#define PARS_TO_CHAR_TOKEN 326 +#define PARS_TO_NUMBER_TOKEN 327 +#define PARS_TO_BINARY_TOKEN 328 +#define PARS_BINARY_TO_NUMBER_TOKEN 329 +#define PARS_SUBSTR_TOKEN 330 +#define PARS_REPLSTR_TOKEN 331 +#define PARS_CONCAT_TOKEN 332 +#define PARS_INSTR_TOKEN 333 +#define PARS_LENGTH_TOKEN 334 +#define PARS_SYSDATE_TOKEN 335 +#define PARS_PRINTF_TOKEN 336 +#define PARS_ASSERT_TOKEN 337 +#define PARS_RND_TOKEN 338 +#define PARS_RND_STR_TOKEN 339 +#define PARS_ROW_PRINTF_TOKEN 340 +#define PARS_COMMIT_TOKEN 341 +#define PARS_ROLLBACK_TOKEN 342 +#define PARS_WORK_TOKEN 343 +#define PARS_UNSIGNED_TOKEN 344 +#define PARS_EXIT_TOKEN 345 +#define PARS_FUNCTION_TOKEN 346 +#define PARS_LOCK_TOKEN 347 +#define PARS_SHARE_TOKEN 348 +#define PARS_MODE_TOKEN 349 +#define NEG 350 @@ -289,7 +293,7 @@ typedef int YYSTYPE; /* Line 214 of yacc.c. */ -#line 293 "pars0grm.tab.c" +#line 297 "pars0grm.tab.c" #if ! defined (yyoverflow) || YYERROR_VERBOSE @@ -393,22 +397,22 @@ union yyalloc #endif /* YYFINAL -- State number of the termination state. */ -#define YYFINAL 99 +#define YYFINAL 5 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 756 +#define YYLAST 752 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 109 +#define YYNTOKENS 111 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 69 +#define YYNNTS 70 /* YYNRULES -- Number of rules. */ #define YYNRULES 175 /* YYNRULES -- Number of states. */ -#define YYNSTATES 337 +#define YYNSTATES 339 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 348 +#define YYMAXUTOK 350 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -419,16 +423,16 @@ static const unsigned char yytranslate[] = 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, 101, 2, 2, - 103, 104, 98, 97, 106, 96, 2, 99, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 102, - 94, 93, 95, 105, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 103, 2, 2, + 105, 106, 100, 99, 108, 98, 2, 101, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 104, + 96, 95, 97, 107, 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, 107, 2, 108, 2, 2, 2, 2, + 2, 2, 2, 109, 2, 110, 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, @@ -450,7 +454,8 @@ static const unsigned char yytranslate[] = 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 91, 92, 100 + 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, + 102 }; #if YYDEBUG @@ -467,98 +472,99 @@ static const unsigned short int yyprhs[] = 177, 179, 181, 183, 185, 186, 188, 192, 199, 204, 206, 208, 210, 214, 216, 220, 221, 223, 227, 228, 230, 234, 236, 241, 247, 252, 253, 255, 259, 261, - 265, 267, 268, 271, 272, 275, 276, 279, 280, 282, - 284, 285, 290, 299, 303, 309, 312, 316, 318, 322, - 327, 332, 335, 338, 342, 345, 348, 351, 355, 360, - 362, 365, 366, 369, 371, 379, 386, 397, 399, 401, - 404, 407, 412, 417, 423, 425, 429, 430, 434, 435, - 437, 438, 441, 442, 444, 452, 454, 458, 459, 461, - 462, 464, 475, 478, 481, 483, 485, 487, 489, 491, - 495, 499, 500, 502, 506, 510, 511, 513, 516, 523, - 528, 530, 532, 533, 535, 538 + 265, 267, 268, 271, 272, 275, 276, 281, 282, 284, + 286, 287, 292, 301, 305, 311, 314, 318, 320, 324, + 329, 334, 337, 340, 344, 347, 350, 353, 357, 362, + 364, 367, 368, 371, 373, 381, 388, 399, 401, 403, + 406, 409, 414, 419, 425, 427, 431, 432, 436, 437, + 439, 440, 443, 444, 446, 454, 456, 460, 461, 463, + 464, 466, 477, 480, 483, 485, 487, 489, 491, 493, + 497, 501, 502, 504, 508, 512, 513, 515, 518, 525, + 530, 532, 534, 535, 537, 540 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const short int yyrhs[] = { - 110, 0, -1, 177, 102, -1, 115, -1, 116, 102, - -1, 148, 102, -1, 149, 102, -1, 150, 102, -1, - 147, 102, -1, 151, 102, -1, 143, 102, -1, 130, - 102, -1, 132, 102, -1, 142, 102, -1, 140, 102, - -1, 141, 102, -1, 137, 102, -1, 138, 102, -1, - 152, 102, -1, 154, 102, -1, 153, 102, -1, 166, - 102, -1, 167, 102, -1, 161, 102, -1, 165, 102, - -1, 110, -1, 111, 110, -1, 9, -1, 113, 103, - 121, 104, -1, 3, -1, 4, -1, 5, -1, 6, - -1, 7, -1, 8, -1, 67, -1, 112, 97, 112, - -1, 112, 96, 112, -1, 112, 98, 112, -1, 112, - 99, 112, -1, 96, 112, -1, 103, 112, 104, -1, - 112, 93, 112, -1, 112, 94, 112, -1, 112, 95, - 112, -1, 112, 13, 112, -1, 112, 14, 112, -1, - 112, 15, 112, -1, 112, 10, 112, -1, 112, 11, - 112, -1, 12, 112, -1, 9, 101, 71, -1, 67, - 101, 71, -1, 72, -1, 73, -1, 74, -1, 75, - -1, 76, -1, 78, -1, 79, -1, 80, -1, 81, - -1, 84, -1, 85, -1, -1, 105, -1, 114, 106, - 105, -1, 107, 9, 103, 114, 104, 108, -1, 117, - 103, 121, 104, -1, 77, -1, 82, -1, 83, -1, - 9, 103, 104, -1, 9, -1, 119, 106, 9, -1, - -1, 9, -1, 120, 106, 9, -1, -1, 112, -1, - 121, 106, 112, -1, 112, -1, 37, 103, 98, 104, - -1, 37, 103, 38, 9, 104, -1, 36, 103, 112, - 104, -1, -1, 122, -1, 123, 106, 122, -1, 98, - -1, 123, 50, 120, -1, 123, -1, -1, 40, 112, - -1, -1, 41, 52, -1, -1, 43, 44, -1, -1, - 47, -1, 48, -1, -1, 45, 46, 9, 128, -1, - 35, 124, 39, 119, 125, 126, 127, 129, -1, 49, - 50, 9, -1, 131, 51, 103, 121, 104, -1, 131, - 130, -1, 9, 93, 112, -1, 133, -1, 134, 106, - 133, -1, 40, 55, 56, 9, -1, 52, 9, 53, - 134, -1, 136, 125, -1, 136, 135, -1, 54, 39, - 9, -1, 139, 125, -1, 139, 135, -1, 86, 130, - -1, 9, 64, 112, -1, 31, 112, 29, 111, -1, - 144, -1, 145, 144, -1, -1, 30, 111, -1, 145, - -1, 28, 112, 29, 111, 146, 27, 28, -1, 33, - 112, 32, 111, 27, 32, -1, 41, 9, 17, 112, - 42, 112, 32, 111, 27, 32, -1, 91, -1, 34, - -1, 68, 9, -1, 70, 9, -1, 69, 9, 50, - 120, -1, 69, 9, 50, 118, -1, 9, 168, 157, - 158, 159, -1, 155, -1, 156, 106, 155, -1, -1, - 103, 3, 104, -1, -1, 90, -1, -1, 12, 8, - -1, -1, 62, -1, 57, 58, 9, 103, 156, 104, - 160, -1, 9, -1, 162, 106, 9, -1, -1, 60, - -1, -1, 61, -1, 57, 163, 164, 59, 9, 63, - 9, 103, 162, 104, -1, 87, 89, -1, 88, 89, - -1, 21, -1, 22, -1, 24, -1, 19, -1, 20, - -1, 9, 17, 168, -1, 9, 18, 168, -1, -1, - 169, -1, 170, 106, 169, -1, 9, 168, 102, -1, - -1, 171, -1, 172, 171, -1, 65, 66, 9, 25, - 130, 102, -1, 65, 92, 9, 102, -1, 173, -1, - 174, -1, -1, 175, -1, 176, 175, -1, 16, 9, - 103, 170, 104, 25, 172, 176, 26, 111, 27, -1 + 112, 0, -1, 180, 104, -1, 118, -1, 119, 104, + -1, 151, 104, -1, 152, 104, -1, 153, 104, -1, + 150, 104, -1, 154, 104, -1, 146, 104, -1, 133, + 104, -1, 135, 104, -1, 145, 104, -1, 143, 104, + -1, 144, 104, -1, 140, 104, -1, 141, 104, -1, + 155, 104, -1, 157, 104, -1, 156, 104, -1, 169, + 104, -1, 170, 104, -1, 164, 104, -1, 168, 104, + -1, 113, -1, 114, 113, -1, 9, -1, 116, 105, + 124, 106, -1, 3, -1, 4, -1, 5, -1, 6, + -1, 7, -1, 8, -1, 66, -1, 115, 99, 115, + -1, 115, 98, 115, -1, 115, 100, 115, -1, 115, + 101, 115, -1, 98, 115, -1, 105, 115, 106, -1, + 115, 95, 115, -1, 115, 96, 115, -1, 115, 97, + 115, -1, 115, 13, 115, -1, 115, 14, 115, -1, + 115, 15, 115, -1, 115, 10, 115, -1, 115, 11, + 115, -1, 12, 115, -1, 9, 103, 70, -1, 66, + 103, 70, -1, 71, -1, 72, -1, 73, -1, 74, + -1, 75, -1, 77, -1, 78, -1, 79, -1, 80, + -1, 83, -1, 84, -1, -1, 107, -1, 117, 108, + 107, -1, 109, 9, 105, 117, 106, 110, -1, 120, + 105, 124, 106, -1, 76, -1, 81, -1, 82, -1, + 9, 105, 106, -1, 9, -1, 122, 108, 9, -1, + -1, 9, -1, 123, 108, 9, -1, -1, 115, -1, + 124, 108, 115, -1, 115, -1, 37, 105, 100, 106, + -1, 37, 105, 38, 9, 106, -1, 36, 105, 115, + 106, -1, -1, 125, -1, 126, 108, 125, -1, 100, + -1, 126, 49, 123, -1, 126, -1, -1, 40, 115, + -1, -1, 41, 51, -1, -1, 92, 17, 93, 94, + -1, -1, 46, -1, 47, -1, -1, 44, 45, 9, + 131, -1, 35, 127, 39, 122, 128, 129, 130, 132, + -1, 48, 49, 9, -1, 134, 50, 105, 124, 106, + -1, 134, 133, -1, 9, 95, 115, -1, 136, -1, + 137, 108, 136, -1, 40, 54, 55, 9, -1, 51, + 9, 52, 137, -1, 139, 128, -1, 139, 138, -1, + 53, 39, 9, -1, 142, 128, -1, 142, 138, -1, + 85, 133, -1, 9, 63, 115, -1, 31, 115, 29, + 114, -1, 147, -1, 148, 147, -1, -1, 30, 114, + -1, 148, -1, 28, 115, 29, 114, 149, 27, 28, + -1, 33, 115, 32, 114, 27, 32, -1, 41, 9, + 17, 115, 42, 115, 32, 114, 27, 32, -1, 90, + -1, 34, -1, 67, 9, -1, 69, 9, -1, 68, + 9, 49, 123, -1, 68, 9, 49, 121, -1, 9, + 171, 160, 161, 162, -1, 158, -1, 159, 108, 158, + -1, -1, 105, 3, 106, -1, -1, 89, -1, -1, + 12, 8, -1, -1, 61, -1, 56, 57, 9, 105, + 159, 106, 163, -1, 9, -1, 165, 108, 9, -1, + -1, 59, -1, -1, 60, -1, 56, 166, 167, 58, + 9, 62, 9, 105, 165, 106, -1, 86, 88, -1, + 87, 88, -1, 21, -1, 22, -1, 24, -1, 19, + -1, 20, -1, 9, 17, 171, -1, 9, 18, 171, + -1, -1, 172, -1, 173, 108, 172, -1, 9, 171, + 104, -1, -1, 174, -1, 175, 174, -1, 64, 65, + 9, 25, 133, 104, -1, 64, 91, 9, 104, -1, + 176, -1, 177, -1, -1, 178, -1, 179, 178, -1, + 16, 9, 105, 173, 106, 25, 175, 179, 26, 114, + 27, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const unsigned short int yyrline[] = { - 0, 136, 136, 137, 138, 139, 140, 141, 142, 143, - 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, - 154, 155, 156, 157, 158, 162, 163, 168, 169, 171, - 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, - 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, - 192, 193, 195, 200, 201, 202, 203, 205, 206, 207, - 208, 209, 210, 211, 214, 216, 217, 221, 226, 231, - 232, 233, 237, 241, 242, 247, 248, 249, 254, 255, - 256, 260, 261, 266, 272, 279, 280, 281, 286, 288, - 290, 294, 295, 299, 300, 305, 306, 311, 312, 313, - 317, 318, 323, 333, 338, 340, 345, 349, 350, 355, - 361, 368, 373, 378, 384, 389, 394, 399, 404, 410, - 411, 416, 417, 419, 423, 430, 436, 444, 448, 452, - 458, 464, 466, 471, 476, 477, 482, 483, 488, 489, - 495, 496, 502, 503, 509, 515, 516, 521, 522, 526, - 527, 531, 539, 544, 549, 550, 551, 552, 553, 557, - 560, 566, 567, 568, 573, 577, 579, 580, 584, 590, - 595, 596, 599, 601, 602, 606 + 0, 138, 138, 141, 142, 143, 144, 145, 146, 147, + 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, + 158, 159, 160, 161, 162, 166, 167, 172, 173, 175, + 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, + 196, 197, 199, 204, 205, 206, 207, 209, 210, 211, + 212, 213, 214, 215, 218, 220, 221, 225, 230, 235, + 236, 237, 241, 245, 246, 251, 252, 253, 258, 259, + 260, 264, 265, 270, 276, 283, 284, 285, 290, 292, + 294, 298, 299, 303, 304, 309, 310, 315, 316, 317, + 321, 322, 327, 337, 342, 344, 349, 353, 354, 359, + 365, 372, 377, 382, 388, 393, 398, 403, 408, 414, + 415, 420, 421, 423, 427, 434, 440, 448, 452, 456, + 462, 468, 470, 475, 480, 481, 486, 487, 492, 493, + 499, 500, 506, 507, 513, 519, 520, 525, 526, 530, + 531, 535, 543, 548, 553, 554, 555, 556, 557, 561, + 564, 570, 571, 572, 577, 581, 583, 584, 588, 594, + 599, 600, 603, 605, 606, 610 }; #endif @@ -579,48 +585,49 @@ static const char *const yytname[] = "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_CONSISTENT_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_CHAR_TOKEN", "PARS_TO_NUMBER_TOKEN", - "PARS_TO_BINARY_TOKEN", "PARS_BINARY_TO_NUMBER_TOKEN", - "PARS_SUBSTR_TOKEN", "PARS_REPLSTR_TOKEN", "PARS_CONCAT_TOKEN", - "PARS_INSTR_TOKEN", "PARS_LENGTH_TOKEN", "PARS_SYSDATE_TOKEN", - "PARS_PRINTF_TOKEN", "PARS_ASSERT_TOKEN", "PARS_RND_TOKEN", - "PARS_RND_STR_TOKEN", "PARS_ROW_PRINTF_TOKEN", "PARS_COMMIT_TOKEN", - "PARS_ROLLBACK_TOKEN", "PARS_WORK_TOKEN", "PARS_UNSIGNED_TOKEN", - "PARS_EXIT_TOKEN", "PARS_FUNCTION_TOKEN", "'='", "'<'", "'>'", "'-'", - "'+'", "'*'", "'/'", "NEG", "'%'", "';'", "'('", "')'", "'?'", "','", - "'{'", "'}'", "$accept", "statement", "statement_list", "exp", - "function_name", "question_mark_list", "stored_procedure_call", - "predefined_procedure_call", "predefined_procedure_name", - "user_function_call", "table_list", "variable_list", "exp_list", - "select_item", "select_item_list", "select_list", "search_condition", - "for_update_clause", "consistent_read_clause", "order_direction", - "order_by_clause", "select_statement", "insert_statement_start", - "insert_statement", "column_assignment", "column_assignment_list", - "cursor_positioned", "update_statement_start", - "update_statement_searched", "update_statement_positioned", - "delete_statement_start", "delete_statement_searched", - "delete_statement_positioned", "row_printf_statement", - "assignment_statement", "elsif_element", "elsif_list", "else_part", - "if_statement", "while_statement", "for_statement", "exit_statement", - "return_statement", "open_cursor_statement", "close_cursor_statement", - "fetch_statement", "column_def", "column_def_list", "opt_column_len", - "opt_unsigned", "opt_not_null", "not_fit_in_memory", "create_table", - "column_list", "unique_def", "clustered_def", "create_index", - "commit_statement", "rollback_statement", "type_name", - "parameter_declaration", "parameter_declaration_list", - "variable_declaration", "variable_declaration_list", - "cursor_declaration", "function_declaration", "declaration", - "declaration_list", "procedure_definition", 0 + "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_CHAR_TOKEN", "PARS_TO_NUMBER_TOKEN", "PARS_TO_BINARY_TOKEN", + "PARS_BINARY_TO_NUMBER_TOKEN", "PARS_SUBSTR_TOKEN", "PARS_REPLSTR_TOKEN", + "PARS_CONCAT_TOKEN", "PARS_INSTR_TOKEN", "PARS_LENGTH_TOKEN", + "PARS_SYSDATE_TOKEN", "PARS_PRINTF_TOKEN", "PARS_ASSERT_TOKEN", + "PARS_RND_TOKEN", "PARS_RND_STR_TOKEN", "PARS_ROW_PRINTF_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", "'='", "'<'", + "'>'", "'-'", "'+'", "'*'", "'/'", "NEG", "'%'", "';'", "'('", "')'", + "'?'", "','", "'{'", "'}'", "$accept", "top_statement", "statement", + "statement_list", "exp", "function_name", "question_mark_list", + "stored_procedure_call", "predefined_procedure_call", + "predefined_procedure_name", "user_function_call", "table_list", + "variable_list", "exp_list", "select_item", "select_item_list", + "select_list", "search_condition", "for_update_clause", + "lock_shared_clause", "order_direction", "order_by_clause", + "select_statement", "insert_statement_start", "insert_statement", + "column_assignment", "column_assignment_list", "cursor_positioned", + "update_statement_start", "update_statement_searched", + "update_statement_positioned", "delete_statement_start", + "delete_statement_searched", "delete_statement_positioned", + "row_printf_statement", "assignment_statement", "elsif_element", + "elsif_list", "else_part", "if_statement", "while_statement", + "for_statement", "exit_statement", "return_statement", + "open_cursor_statement", "close_cursor_statement", "fetch_statement", + "column_def", "column_def_list", "opt_column_len", "opt_unsigned", + "opt_not_null", "not_fit_in_memory", "create_table", "column_list", + "unique_def", "clustered_def", "create_index", "commit_statement", + "rollback_statement", "type_name", "parameter_declaration", + "parameter_declaration_list", "variable_declaration", + "variable_declaration_list", "cursor_declaration", + "function_declaration", "declaration", "declaration_list", + "procedure_definition", 0 }; #endif @@ -638,32 +645,33 @@ static const unsigned short int yytoknum[] = 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, - 345, 346, 347, 61, 60, 62, 45, 43, 42, 47, - 348, 37, 59, 40, 41, 63, 44, 123, 125 + 345, 346, 347, 348, 349, 61, 60, 62, 45, 43, + 42, 47, 350, 37, 59, 40, 41, 63, 44, 123, + 125 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const unsigned char yyr1[] = { - 0, 109, 110, 110, 110, 110, 110, 110, 110, 110, - 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 110, 110, 110, 110, 110, 111, 111, 112, 112, 112, - 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, - 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, - 112, 112, 112, 113, 113, 113, 113, 113, 113, 113, - 113, 113, 113, 113, 114, 114, 114, 115, 116, 117, - 117, 117, 118, 119, 119, 120, 120, 120, 121, 121, - 121, 122, 122, 122, 122, 123, 123, 123, 124, 124, - 124, 125, 125, 126, 126, 127, 127, 128, 128, 128, - 129, 129, 130, 131, 132, 132, 133, 134, 134, 135, - 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, - 145, 146, 146, 146, 147, 148, 149, 150, 151, 152, - 153, 154, 154, 155, 156, 156, 157, 157, 158, 158, - 159, 159, 160, 160, 161, 162, 162, 163, 163, 164, - 164, 165, 166, 167, 168, 168, 168, 168, 168, 169, - 169, 170, 170, 170, 171, 172, 172, 172, 173, 174, - 175, 175, 176, 176, 176, 177 + 0, 111, 112, 113, 113, 113, 113, 113, 113, 113, + 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, + 113, 113, 113, 113, 113, 114, 114, 115, 115, 115, + 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, + 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, + 115, 115, 115, 116, 116, 116, 116, 116, 116, 116, + 116, 116, 116, 116, 117, 117, 117, 118, 119, 120, + 120, 120, 121, 122, 122, 123, 123, 123, 124, 124, + 124, 125, 125, 125, 125, 126, 126, 126, 127, 127, + 127, 128, 128, 129, 129, 130, 130, 131, 131, 131, + 132, 132, 133, 134, 135, 135, 136, 137, 137, 138, + 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, + 148, 149, 149, 149, 150, 151, 152, 153, 154, 155, + 156, 157, 157, 158, 159, 159, 160, 160, 161, 161, + 162, 162, 163, 163, 164, 165, 165, 166, 166, 167, + 167, 168, 169, 170, 171, 171, 171, 171, 171, 172, + 172, 173, 173, 173, 174, 175, 175, 175, 176, 177, + 178, 178, 179, 179, 179, 180 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -678,7 +686,7 @@ static const unsigned char yyr2[] = 1, 1, 1, 1, 0, 1, 3, 6, 4, 1, 1, 1, 3, 1, 3, 0, 1, 3, 0, 1, 3, 1, 4, 5, 4, 0, 1, 3, 1, 3, - 1, 0, 2, 0, 2, 0, 2, 0, 1, 1, + 1, 0, 2, 0, 2, 0, 4, 0, 1, 1, 0, 4, 8, 3, 5, 2, 3, 1, 3, 4, 4, 2, 2, 3, 2, 2, 2, 3, 4, 1, 2, 0, 2, 1, 7, 6, 10, 1, 1, 2, @@ -694,105 +702,105 @@ static const unsigned char yyr2[] = means the default is an error. */ static const unsigned char yydefact[] = { - 0, 0, 0, 0, 0, 128, 85, 0, 0, 0, - 0, 147, 0, 0, 0, 69, 70, 71, 0, 0, - 0, 127, 0, 0, 3, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 161, 0, 162, + 0, 0, 0, 0, 0, 157, 158, 154, 155, 156, + 159, 160, 165, 163, 0, 166, 172, 0, 0, 167, + 170, 171, 173, 0, 164, 0, 0, 0, 174, 0, + 0, 0, 0, 0, 128, 85, 0, 0, 0, 0, + 147, 0, 0, 0, 69, 70, 71, 0, 0, 0, + 127, 0, 25, 0, 3, 0, 0, 0, 0, 0, 91, 0, 0, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 29, 30, 31, 32, 33, 34, 27, + 0, 169, 0, 29, 30, 31, 32, 33, 34, 27, 0, 35, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 0, 0, 0, 0, 0, 0, 0, 88, 81, 86, 90, 0, 0, 0, 0, 0, 0, - 148, 149, 129, 0, 130, 116, 152, 153, 0, 1, - 4, 78, 11, 0, 105, 12, 0, 111, 112, 16, - 17, 114, 115, 14, 15, 13, 10, 8, 5, 6, - 7, 9, 18, 20, 19, 23, 24, 21, 22, 2, - 117, 161, 0, 50, 0, 40, 0, 0, 0, 0, + 148, 149, 129, 0, 130, 116, 152, 153, 0, 175, + 26, 4, 78, 11, 0, 105, 12, 0, 111, 112, + 16, 17, 114, 115, 14, 15, 13, 10, 8, 5, + 6, 7, 9, 18, 20, 19, 23, 24, 21, 22, + 0, 117, 0, 50, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 0, 0, 0, 75, 0, 0, 0, 103, 0, 113, 0, 150, 0, 75, 64, 79, 0, 78, 0, - 92, 0, 162, 0, 51, 52, 41, 48, 49, 45, - 46, 47, 25, 121, 42, 43, 44, 37, 36, 38, - 39, 0, 0, 0, 0, 0, 76, 89, 87, 73, - 91, 0, 0, 107, 110, 0, 0, 76, 132, 131, - 65, 0, 68, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 26, 119, 123, 0, 28, 0, 84, 0, - 82, 0, 0, 0, 93, 0, 0, 0, 0, 134, - 0, 0, 0, 0, 0, 80, 104, 109, 157, 158, - 154, 155, 156, 159, 160, 165, 163, 122, 0, 120, - 0, 125, 83, 77, 74, 0, 95, 0, 106, 108, - 136, 142, 0, 0, 72, 67, 66, 0, 166, 172, + 92, 168, 51, 52, 41, 48, 49, 45, 46, 47, + 121, 42, 43, 44, 37, 36, 38, 39, 0, 0, + 0, 0, 0, 76, 89, 87, 73, 91, 0, 0, + 107, 110, 0, 0, 76, 132, 131, 65, 0, 68, + 0, 0, 0, 0, 0, 119, 123, 0, 28, 0, + 84, 0, 82, 0, 0, 0, 93, 0, 0, 0, + 0, 134, 0, 0, 0, 0, 0, 80, 104, 109, + 122, 0, 120, 0, 125, 83, 77, 74, 0, 95, + 0, 106, 108, 136, 142, 0, 0, 72, 67, 66, 0, 124, 94, 0, 100, 0, 0, 138, 143, 144, - 135, 0, 0, 0, 167, 170, 171, 173, 0, 118, - 96, 0, 102, 0, 0, 139, 140, 0, 164, 0, - 0, 0, 174, 0, 0, 137, 0, 133, 145, 0, - 0, 0, 0, 97, 126, 141, 151, 0, 0, 169, - 175, 98, 99, 101, 146, 0, 168 + 135, 0, 118, 0, 0, 102, 0, 0, 139, 140, + 0, 0, 0, 0, 137, 0, 133, 145, 0, 96, + 97, 126, 141, 151, 0, 98, 99, 101, 146 }; /* YYDEFGOTO[NTERM-NUM]. */ static const short int yydefgoto[] = { - -1, 182, 183, 166, 76, 211, 24, 25, 26, 208, - 200, 197, 167, 82, 83, 84, 107, 266, 284, 333, - 302, 27, 28, 29, 203, 204, 108, 30, 31, 32, - 33, 34, 35, 36, 37, 223, 224, 225, 38, 39, - 40, 41, 42, 43, 44, 45, 239, 240, 287, 306, - 317, 289, 46, 319, 91, 163, 47, 48, 49, 253, - 172, 173, 278, 279, 295, 296, 297, 298, 50 + -1, 2, 62, 63, 206, 116, 248, 64, 65, 66, + 245, 237, 234, 207, 122, 123, 124, 148, 289, 304, + 337, 315, 67, 68, 69, 240, 241, 149, 70, 71, + 72, 73, 74, 75, 76, 77, 255, 256, 257, 78, + 79, 80, 81, 82, 83, 84, 85, 271, 272, 307, + 319, 326, 309, 86, 328, 131, 203, 87, 88, 89, + 20, 9, 10, 25, 26, 30, 31, 32, 33, 3 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -209 +#define YYPACT_NINF -177 static const short int yypact[] = { - 578, -30, 40, 256, 256, -209, 19, 44, 7, 55, - 26, -16, 62, 69, 73, -209, -209, -209, 48, -5, - -4, -209, 78, 75, -209, -13, -15, -6, -18, 4, - 67, 6, 12, 67, 17, 18, 21, 29, 30, 32, - 33, 39, 47, 50, 51, 64, 65, 70, 82, 83, - 84, 256, 13, -209, -209, -209, -209, -209, -209, 8, - 256, 20, -209, -209, -209, -209, -209, -209, -209, -209, - -209, -209, -209, 256, 256, 295, 15, 421, 77, 86, - -209, 657, -209, -44, 129, 152, 178, 137, 182, 189, - -209, 142, -209, 154, -209, -209, -209, -209, 104, -209, - -209, 256, -209, 105, -209, -209, 170, -209, -209, -209, - -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, - -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, - 657, 200, 139, 582, 140, 198, 66, 256, 256, 256, - 256, 256, 578, 256, 256, 256, 256, 256, 256, 256, - 256, 578, 256, -31, 205, 121, 206, 256, -209, 207, - -209, 115, -209, 160, 212, 117, 657, -63, 256, 167, - 657, -2, -209, -59, -209, -209, -209, 582, 582, 14, - 14, 657, -209, 330, 14, 14, 14, 3, 3, 198, - 198, -58, 392, 279, 217, 123, -209, 122, -209, -209, - -32, 607, 136, -209, 124, 223, 224, 133, -209, 122, - -209, -52, -209, 256, -46, 229, 16, 16, 214, 200, - 578, 256, -209, -209, 209, 220, -209, 221, -209, 148, - -209, 232, 256, 247, 226, 256, 256, 207, 16, -209, - -43, 195, 165, 162, 166, 657, -209, -209, -209, -209, - -209, -209, -209, -209, -209, 263, -209, 578, 483, -209, - 246, -209, -209, -209, -209, 225, 233, 626, 657, -209, - 172, 216, 223, 270, -209, -209, -209, 16, -209, 1, - 578, -209, -209, 236, 237, 578, 278, 193, -209, -209, - -209, 181, 183, -53, -209, -209, -209, -209, -14, 578, - -209, 240, -209, 454, 184, -209, 275, 282, -209, 286, - 287, 578, -209, 288, 266, -209, 292, -209, -209, -36, - 276, 202, 516, -28, -209, -209, -209, 293, 48, -209, - -209, -209, -209, -209, -209, 210, -209 + 28, 38, 54, -46, -29, -177, -177, 56, 50, -177, + -75, 8, 8, 46, 56, -177, -177, -177, -177, -177, + -177, -177, 63, -177, 8, -177, 2, -26, -51, -177, + -177, -177, -177, -13, -177, 71, 72, 587, -177, 57, + -21, 26, 272, 272, -177, 13, 91, 55, 96, 67, + -22, 99, 100, 103, -177, -177, -177, 75, 29, 35, + -177, 116, -177, 396, -177, 22, 23, 27, -9, 30, + 87, 31, 32, 87, 47, 49, 52, 58, 59, 60, + 61, 62, 65, 66, 74, 77, 78, 86, 89, 102, + 75, -177, 272, -177, -177, -177, -177, -177, -177, 39, + 272, 51, -177, -177, -177, -177, -177, -177, -177, -177, + -177, -177, -177, 272, 272, 361, 25, 489, 45, 90, + -177, 651, -177, -39, 93, 142, 124, 108, 152, 170, + -177, 131, -177, 143, -177, -177, -177, -177, 98, -177, + -177, -177, 272, -177, 110, -177, -177, 256, -177, -177, + -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, + -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, + 112, 651, 137, 101, 147, 204, 88, 272, 272, 272, + 272, 272, 587, 272, 272, 272, 272, 272, 272, 272, + 272, 587, 272, -30, 211, 168, 212, 272, -177, 213, + -177, 118, -177, 167, 217, 122, 651, -63, 272, 175, + 651, -177, -177, -177, -177, 101, 101, 21, 21, 651, + 332, 21, 21, 21, -6, -6, 204, 204, -60, 460, + 198, 222, 126, -177, 125, -177, -177, -33, 584, 140, + -177, 128, 228, 229, 139, -177, 125, -177, -53, -177, + 272, -49, 240, 587, 272, -177, 224, 226, -177, 225, + -177, 150, -177, 258, 272, 260, 230, 272, 272, 213, + 8, -177, -45, 208, 166, 164, 176, 651, -177, -177, + 587, 631, -177, 254, -177, -177, -177, -177, 234, 194, + 638, 651, -177, 182, 227, 228, 280, -177, -177, -177, + 587, -177, -177, 273, 247, 587, 289, 214, -177, -177, + -177, 195, 587, 209, 261, -177, 524, 199, -177, 295, + 292, 215, 299, 279, -177, 304, -177, -177, -44, -177, + -8, -177, -177, -177, 305, -177, -177, -177, -177 }; /* YYPGOTO[NTERM-NUM]. */ static const short int yypgoto[] = { - -209, 0, -130, -1, -209, -209, -209, -209, -209, -209, - -209, 143, -136, 158, -209, -209, -29, -209, -209, -209, - -209, -17, -209, -209, 79, -209, 281, -209, -209, -209, - -209, -209, -209, -209, -209, 91, -209, -209, -209, -209, - -209, -209, -209, -209, -209, -209, 45, -209, -209, -209, - -209, -209, -209, -209, -209, -209, -209, -209, -209, -208, - 99, -209, 41, -209, -209, -209, 23, -209, -209 + -177, -177, -62, -176, -40, -177, -177, -177, -177, -177, + -177, -177, 109, -166, 120, -177, -177, -69, -177, -177, + -177, -177, -34, -177, -177, 48, -177, 243, -177, -177, + -177, -177, -177, -177, -177, -177, 64, -177, -177, -177, + -177, -177, -177, -177, -177, -177, -177, 24, -177, -177, + -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, + -12, 307, -177, 297, -177, -177, -177, 285, -177, -177 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -802,202 +810,202 @@ static const short int yypgoto[] = #define YYTABLE_NINF -1 static const unsigned short int yytable[] = { - 23, 95, 75, 77, 111, 81, 154, 194, 232, 254, - 277, 104, 311, 309, 191, 216, 217, 6, 141, 331, - 332, 192, 53, 54, 55, 56, 57, 58, 59, 141, - 270, 60, 214, 103, 51, 248, 249, 250, 251, 310, - 252, 212, 89, 213, 90, 218, 226, 219, 213, 52, - 130, 293, 243, 85, 244, 78, 79, 86, 246, 133, - 213, 271, 155, 272, 87, 88, 293, 195, 326, 292, - 327, 92, 135, 136, 233, 99, 137, 138, 93, 139, - 140, 141, 94, 6, 96, 97, 61, 98, 101, 100, - 257, 62, 63, 64, 65, 66, 102, 67, 68, 69, - 70, 148, 149, 71, 72, 170, 105, 106, 109, 132, - 146, 147, 148, 149, 110, 73, 131, 80, 150, 113, - 114, 134, 74, 115, 53, 54, 55, 56, 57, 58, - 59, 116, 117, 60, 118, 119, 177, 178, 179, 180, - 181, 120, 184, 185, 186, 187, 188, 189, 190, 121, - 299, 193, 122, 123, 81, 303, 201, 78, 79, 143, - 144, 145, 146, 147, 148, 149, 124, 125, 156, 157, - 176, 234, 126, 53, 54, 55, 56, 57, 58, 59, - 152, 322, 60, 222, 127, 128, 129, 158, 61, 153, - 159, 160, 222, 62, 63, 64, 65, 66, 161, 67, - 68, 69, 70, 162, 164, 71, 72, 165, 168, 171, - 174, 175, 245, 141, 196, 199, 202, 73, 205, 206, - 258, 207, 210, 215, 74, 169, 229, 230, 231, 236, - 237, 170, 238, 241, 267, 268, 242, 61, 247, 255, - 221, 263, 62, 63, 64, 65, 66, 260, 67, 68, - 69, 70, 262, 261, 71, 72, 264, 222, 273, 53, - 54, 55, 56, 57, 58, 59, 73, 265, 60, 274, - 275, 276, 277, 74, 281, 286, 283, 282, 288, 291, - 300, 304, 301, 305, 307, 308, 313, 316, 315, 137, - 138, 318, 139, 140, 141, 320, 321, 323, 324, 222, - 325, 328, 334, 222, 329, 137, 138, 209, 139, 140, - 141, 335, 336, 198, 112, 259, 269, 290, 256, 0, - 294, 312, 222, 61, 142, 0, 0, 0, 62, 63, - 64, 65, 66, 0, 67, 68, 69, 70, 0, 1, - 71, 72, 0, 0, 0, 0, 2, 0, 0, 0, - 0, 0, 73, 0, 0, 0, 0, 0, 3, 74, - 220, 221, 0, 4, 5, 6, 0, 0, 0, 0, - 0, 7, 143, 144, 145, 146, 147, 148, 149, 8, - 0, 0, 9, 228, 10, 0, 0, 11, 143, 144, - 145, 146, 147, 148, 149, 0, 0, 0, 12, 13, - 14, 1, 0, 0, 0, 0, 0, 15, 2, 0, - 0, 0, 16, 17, 0, 0, 18, 19, 20, 227, - 3, 21, 0, 0, 0, 4, 5, 6, 0, 0, - 0, 137, 138, 7, 139, 140, 141, 22, 0, 0, - 0, 8, 0, 0, 9, 0, 10, 0, 0, 11, - 0, 0, 0, 151, 0, 0, 0, 0, 0, 0, - 12, 13, 14, 1, 0, 0, 0, 0, 0, 15, - 2, 0, 0, 0, 16, 17, 0, 0, 18, 19, - 20, 314, 3, 21, 0, 0, 0, 4, 5, 6, - 0, 0, 0, 137, 138, 7, 139, 140, 141, 22, - 0, 0, 0, 8, 0, 0, 9, 0, 10, 0, - 0, 11, 280, 0, 143, 144, 145, 146, 147, 148, - 149, 0, 12, 13, 14, 1, 0, 0, 0, 0, - 0, 15, 2, 0, 0, 0, 16, 17, 0, 0, - 18, 19, 20, 330, 3, 21, 0, 0, 0, 4, - 5, 6, 0, 0, 0, 0, 0, 7, 0, 0, - 0, 22, 0, 0, 0, 8, 0, 0, 9, 0, - 10, 0, 0, 11, 0, 0, 143, 144, 145, 146, - 147, 148, 149, 0, 12, 13, 14, 1, 0, 0, - 0, 0, 0, 15, 2, 139, 140, 141, 16, 17, - 0, 0, 18, 19, 20, 0, 3, 21, 0, 0, - 0, 4, 5, 6, 0, 0, 0, 137, 138, 7, - 139, 140, 141, 22, 0, 0, 0, 8, 0, 0, - 9, 0, 10, 0, 0, 11, 137, 138, 0, 139, - 140, 141, 0, 0, 0, 0, 12, 13, 14, 235, - 0, 0, 0, 0, 0, 15, 0, 0, 285, 0, - 16, 17, 0, 0, 18, 19, 20, 137, 138, 21, - 139, 140, 141, 0, 0, 143, 144, 145, 146, 147, - 148, 149, 0, 0, 0, 22, 0, 0, 0, 0, + 21, 140, 115, 117, 152, 121, 220, 264, 231, 181, + 194, 24, 27, 37, 35, 229, 93, 94, 95, 96, + 97, 98, 99, 135, 228, 100, 45, 15, 16, 17, + 18, 13, 19, 14, 145, 129, 181, 130, 335, 336, + 36, 144, 251, 249, 1, 250, 258, 4, 250, 118, + 119, 28, 171, 275, 5, 276, 170, 278, 6, 250, + 173, 294, 333, 295, 334, 8, 28, 11, 12, 195, + 232, 22, 24, 175, 176, 265, 7, 280, 34, 101, + 39, 40, 90, 91, 102, 103, 104, 105, 106, 92, + 107, 108, 109, 110, 188, 189, 111, 112, 177, 178, + 125, 179, 180, 181, 126, 127, 128, 210, 132, 133, + 45, 113, 134, 120, 179, 180, 181, 136, 114, 186, + 187, 188, 189, 137, 312, 138, 141, 147, 142, 316, + 190, 143, 196, 198, 146, 150, 151, 215, 216, 217, + 218, 219, 172, 221, 222, 223, 224, 225, 226, 227, + 192, 154, 230, 155, 174, 121, 156, 238, 140, 197, + 199, 200, 157, 158, 159, 160, 161, 140, 266, 162, + 163, 93, 94, 95, 96, 97, 98, 99, 164, 201, + 100, 165, 166, 183, 184, 185, 186, 187, 188, 189, + 167, 202, 204, 168, 214, 193, 183, 184, 185, 186, + 187, 188, 189, 205, 118, 119, 169, 212, 177, 178, + 277, 179, 180, 181, 281, 208, 211, 213, 140, 181, + 233, 236, 239, 242, 210, 243, 244, 290, 291, 247, + 252, 261, 262, 263, 101, 268, 269, 270, 273, 102, + 103, 104, 105, 106, 274, 107, 108, 109, 110, 279, + 140, 111, 112, 283, 140, 254, 285, 284, 293, 93, + 94, 95, 96, 97, 98, 99, 113, 286, 100, 287, + 296, 288, 297, 114, 298, 93, 94, 95, 96, 97, + 98, 99, 301, 299, 100, 302, 303, 306, 308, 311, + 313, 314, 317, 183, 184, 185, 186, 187, 188, 189, + 320, 327, 321, 318, 260, 324, 322, 325, 330, 329, + 209, 331, 332, 246, 338, 235, 153, 292, 38, 310, + 282, 23, 101, 29, 0, 0, 0, 102, 103, 104, + 105, 106, 0, 107, 108, 109, 110, 0, 101, 111, + 112, 41, 0, 102, 103, 104, 105, 106, 0, 107, + 108, 109, 110, 0, 113, 111, 112, 0, 0, 0, + 42, 114, 253, 254, 0, 43, 44, 45, 0, 0, + 113, 177, 178, 46, 179, 180, 181, 114, 0, 0, + 47, 0, 0, 48, 0, 49, 0, 0, 50, 0, + 182, 0, 0, 0, 0, 0, 0, 0, 0, 51, + 52, 53, 0, 0, 0, 41, 0, 0, 54, 0, + 0, 0, 0, 55, 56, 0, 0, 57, 58, 59, + 0, 0, 60, 139, 42, 0, 0, 0, 0, 43, + 44, 45, 0, 0, 0, 0, 0, 46, 0, 0, + 0, 61, 0, 0, 47, 0, 0, 48, 0, 49, + 0, 0, 50, 0, 0, 0, 183, 184, 185, 186, + 187, 188, 189, 51, 52, 53, 0, 0, 0, 41, + 0, 0, 54, 0, 0, 0, 0, 55, 56, 0, + 0, 57, 58, 59, 0, 0, 60, 259, 42, 0, + 0, 0, 0, 43, 44, 45, 0, 0, 0, 177, + 178, 46, 179, 180, 181, 61, 0, 0, 47, 0, + 0, 48, 0, 49, 0, 0, 50, 0, 0, 0, + 0, 191, 0, 0, 0, 0, 0, 51, 52, 53, + 0, 0, 0, 41, 0, 0, 54, 0, 0, 0, + 0, 55, 56, 0, 0, 57, 58, 59, 0, 0, + 60, 323, 42, 0, 0, 0, 0, 43, 44, 45, + 0, 0, 0, 0, 0, 46, 0, 0, 0, 61, + 0, 0, 47, 0, 0, 48, 0, 49, 0, 0, + 50, 0, 0, 0, 183, 184, 185, 186, 187, 188, + 189, 51, 52, 53, 177, 178, 41, 179, 180, 181, + 54, 0, 0, 0, 0, 55, 56, 0, 0, 57, + 58, 59, 0, 0, 60, 42, 0, 0, 0, 0, + 43, 44, 45, 0, 0, 0, 267, 0, 46, 0, + 0, 0, 0, 61, 0, 47, 0, 0, 48, 0, + 49, 177, 178, 50, 179, 180, 181, 0, 177, 178, + 0, 179, 180, 181, 51, 52, 53, 0, 0, 0, + 300, 177, 178, 54, 179, 180, 181, 0, 55, 56, + 305, 0, 57, 58, 59, 0, 0, 60, 0, 183, + 184, 185, 186, 187, 188, 189, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 143, 144, 145, 146, 147, 148, 149, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, - 144, 145, 146, 147, 148, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 143, 144, 145, 146, 147, 148, 149 + 0, 0, 0, 0, 0, 0, 183, 184, 185, 186, + 187, 188, 189, 183, 184, 185, 186, 187, 188, 189, + 0, 0, 0, 0, 0, 0, 183, 184, 185, 186, + 187, 188, 189 }; static const short int yycheck[] = { - 0, 18, 3, 4, 33, 6, 50, 38, 40, 217, - 9, 28, 26, 66, 150, 17, 18, 35, 15, 47, - 48, 151, 3, 4, 5, 6, 7, 8, 9, 15, - 238, 12, 168, 51, 64, 19, 20, 21, 22, 92, - 24, 104, 58, 106, 60, 104, 104, 106, 106, 9, - 51, 65, 104, 9, 106, 36, 37, 50, 104, 60, - 106, 104, 106, 106, 9, 39, 65, 98, 104, 277, - 106, 9, 73, 74, 106, 0, 10, 11, 9, 13, - 14, 15, 9, 35, 89, 89, 67, 9, 103, 102, - 220, 72, 73, 74, 75, 76, 102, 78, 79, 80, - 81, 98, 99, 84, 85, 106, 102, 40, 102, 101, - 96, 97, 98, 99, 102, 96, 103, 98, 103, 102, - 102, 101, 103, 102, 3, 4, 5, 6, 7, 8, - 9, 102, 102, 12, 102, 102, 137, 138, 139, 140, - 141, 102, 143, 144, 145, 146, 147, 148, 149, 102, - 280, 152, 102, 102, 155, 285, 157, 36, 37, 93, - 94, 95, 96, 97, 98, 99, 102, 102, 39, 17, - 104, 200, 102, 3, 4, 5, 6, 7, 8, 9, - 103, 311, 12, 183, 102, 102, 102, 9, 67, 103, - 53, 9, 192, 72, 73, 74, 75, 76, 9, 78, - 79, 80, 81, 61, 50, 84, 85, 103, 103, 9, - 71, 71, 213, 15, 9, 9, 9, 96, 103, 59, - 221, 9, 105, 56, 103, 55, 9, 104, 106, 93, - 106, 232, 9, 9, 235, 236, 103, 67, 9, 25, - 31, 9, 72, 73, 74, 75, 76, 27, 78, 79, - 80, 81, 104, 32, 84, 85, 9, 257, 63, 3, - 4, 5, 6, 7, 8, 9, 96, 41, 12, 104, - 108, 105, 9, 103, 28, 103, 43, 52, 62, 9, - 44, 3, 45, 90, 103, 102, 46, 12, 104, 10, - 11, 9, 13, 14, 15, 9, 9, 9, 32, 299, - 8, 25, 9, 303, 102, 10, 11, 164, 13, 14, - 15, 328, 102, 155, 33, 224, 237, 272, 219, -1, - 279, 298, 322, 67, 29, -1, -1, -1, 72, 73, - 74, 75, 76, -1, 78, 79, 80, 81, -1, 9, - 84, 85, -1, -1, -1, -1, 16, -1, -1, -1, - -1, -1, 96, -1, -1, -1, -1, -1, 28, 103, - 30, 31, -1, 33, 34, 35, -1, -1, -1, -1, - -1, 41, 93, 94, 95, 96, 97, 98, 99, 49, - -1, -1, 52, 104, 54, -1, -1, 57, 93, 94, - 95, 96, 97, 98, 99, -1, -1, -1, 68, 69, - 70, 9, -1, -1, -1, -1, -1, 77, 16, -1, - -1, -1, 82, 83, -1, -1, 86, 87, 88, 27, - 28, 91, -1, -1, -1, 33, 34, 35, -1, -1, - -1, 10, 11, 41, 13, 14, 15, 107, -1, -1, - -1, 49, -1, -1, 52, -1, 54, -1, -1, 57, - -1, -1, -1, 32, -1, -1, -1, -1, -1, -1, - 68, 69, 70, 9, -1, -1, -1, -1, -1, 77, - 16, -1, -1, -1, 82, 83, -1, -1, 86, 87, - 88, 27, 28, 91, -1, -1, -1, 33, 34, 35, - -1, -1, -1, 10, 11, 41, 13, 14, 15, 107, - -1, -1, -1, 49, -1, -1, 52, -1, 54, -1, - -1, 57, 29, -1, 93, 94, 95, 96, 97, 98, - 99, -1, 68, 69, 70, 9, -1, -1, -1, -1, - -1, 77, 16, -1, -1, -1, 82, 83, -1, -1, - 86, 87, 88, 27, 28, 91, -1, -1, -1, 33, + 12, 63, 42, 43, 73, 45, 182, 40, 38, 15, + 49, 9, 24, 26, 65, 191, 3, 4, 5, 6, + 7, 8, 9, 57, 190, 12, 35, 19, 20, 21, + 22, 106, 24, 108, 68, 57, 15, 59, 46, 47, + 91, 50, 208, 106, 16, 108, 106, 9, 108, 36, + 37, 64, 92, 106, 0, 108, 90, 106, 104, 108, + 100, 106, 106, 108, 108, 9, 64, 17, 18, 108, + 100, 25, 9, 113, 114, 108, 105, 253, 104, 66, + 9, 9, 25, 104, 71, 72, 73, 74, 75, 63, + 77, 78, 79, 80, 100, 101, 83, 84, 10, 11, + 9, 13, 14, 15, 49, 9, 39, 147, 9, 9, + 35, 98, 9, 100, 13, 14, 15, 88, 105, 98, + 99, 100, 101, 88, 300, 9, 104, 40, 105, 305, + 105, 104, 39, 9, 104, 104, 104, 177, 178, 179, + 180, 181, 103, 183, 184, 185, 186, 187, 188, 189, + 105, 104, 192, 104, 103, 195, 104, 197, 220, 17, + 52, 9, 104, 104, 104, 104, 104, 229, 237, 104, + 104, 3, 4, 5, 6, 7, 8, 9, 104, 9, + 12, 104, 104, 95, 96, 97, 98, 99, 100, 101, + 104, 60, 49, 104, 106, 105, 95, 96, 97, 98, + 99, 100, 101, 105, 36, 37, 104, 70, 10, 11, + 250, 13, 14, 15, 254, 105, 104, 70, 280, 15, + 9, 9, 9, 105, 264, 58, 9, 267, 268, 107, + 55, 9, 106, 108, 66, 95, 108, 9, 9, 71, + 72, 73, 74, 75, 105, 77, 78, 79, 80, 9, + 312, 83, 84, 27, 316, 31, 106, 32, 270, 3, + 4, 5, 6, 7, 8, 9, 98, 9, 12, 9, + 62, 41, 106, 105, 110, 3, 4, 5, 6, 7, + 8, 9, 28, 107, 12, 51, 92, 105, 61, 9, + 17, 44, 3, 95, 96, 97, 98, 99, 100, 101, + 105, 9, 93, 89, 106, 106, 45, 12, 9, 94, + 54, 32, 8, 204, 9, 195, 73, 269, 33, 295, + 256, 14, 66, 26, -1, -1, -1, 71, 72, 73, + 74, 75, -1, 77, 78, 79, 80, -1, 66, 83, + 84, 9, -1, 71, 72, 73, 74, 75, -1, 77, + 78, 79, 80, -1, 98, 83, 84, -1, -1, -1, + 28, 105, 30, 31, -1, 33, 34, 35, -1, -1, + 98, 10, 11, 41, 13, 14, 15, 105, -1, -1, + 48, -1, -1, 51, -1, 53, -1, -1, 56, -1, + 29, -1, -1, -1, -1, -1, -1, -1, -1, 67, + 68, 69, -1, -1, -1, 9, -1, -1, 76, -1, + -1, -1, -1, 81, 82, -1, -1, 85, 86, 87, + -1, -1, 90, 27, 28, -1, -1, -1, -1, 33, 34, 35, -1, -1, -1, -1, -1, 41, -1, -1, - -1, 107, -1, -1, -1, 49, -1, -1, 52, -1, - 54, -1, -1, 57, -1, -1, 93, 94, 95, 96, - 97, 98, 99, -1, 68, 69, 70, 9, -1, -1, - -1, -1, -1, 77, 16, 13, 14, 15, 82, 83, - -1, -1, 86, 87, 88, -1, 28, 91, -1, -1, - -1, 33, 34, 35, -1, -1, -1, 10, 11, 41, - 13, 14, 15, 107, -1, -1, -1, 49, -1, -1, - 52, -1, 54, -1, -1, 57, 10, 11, -1, 13, - 14, 15, -1, -1, -1, -1, 68, 69, 70, 42, - -1, -1, -1, -1, -1, 77, -1, -1, 32, -1, - 82, 83, -1, -1, 86, 87, 88, 10, 11, 91, - 13, 14, 15, -1, -1, 93, 94, 95, 96, 97, - 98, 99, -1, -1, -1, 107, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 93, 94, 95, 96, 97, 98, 99, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 93, - 94, 95, 96, 97, 98, 99, -1, -1, -1, -1, + -1, 109, -1, -1, 48, -1, -1, 51, -1, 53, + -1, -1, 56, -1, -1, -1, 95, 96, 97, 98, + 99, 100, 101, 67, 68, 69, -1, -1, -1, 9, + -1, -1, 76, -1, -1, -1, -1, 81, 82, -1, + -1, 85, 86, 87, -1, -1, 90, 27, 28, -1, + -1, -1, -1, 33, 34, 35, -1, -1, -1, 10, + 11, 41, 13, 14, 15, 109, -1, -1, 48, -1, + -1, 51, -1, 53, -1, -1, 56, -1, -1, -1, + -1, 32, -1, -1, -1, -1, -1, 67, 68, 69, + -1, -1, -1, 9, -1, -1, 76, -1, -1, -1, + -1, 81, 82, -1, -1, 85, 86, 87, -1, -1, + 90, 27, 28, -1, -1, -1, -1, 33, 34, 35, + -1, -1, -1, -1, -1, 41, -1, -1, -1, 109, + -1, -1, 48, -1, -1, 51, -1, 53, -1, -1, + 56, -1, -1, -1, 95, 96, 97, 98, 99, 100, + 101, 67, 68, 69, 10, 11, 9, 13, 14, 15, + 76, -1, -1, -1, -1, 81, 82, -1, -1, 85, + 86, 87, -1, -1, 90, 28, -1, -1, -1, -1, + 33, 34, 35, -1, -1, -1, 42, -1, 41, -1, + -1, -1, -1, 109, -1, 48, -1, -1, 51, -1, + 53, 10, 11, 56, 13, 14, 15, -1, 10, 11, + -1, 13, 14, 15, 67, 68, 69, -1, -1, -1, + 29, 10, 11, 76, 13, 14, 15, -1, 81, 82, + 32, -1, 85, 86, 87, -1, -1, 90, -1, 95, + 96, 97, 98, 99, 100, 101, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 109, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 93, 94, 95, 96, 97, 98, 99 + -1, -1, -1, -1, -1, -1, 95, 96, 97, 98, + 99, 100, 101, 95, 96, 97, 98, 99, 100, 101, + -1, -1, -1, -1, -1, -1, 95, 96, 97, 98, + 99, 100, 101 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const unsigned char yystos[] = { - 0, 9, 16, 28, 33, 34, 35, 41, 49, 52, - 54, 57, 68, 69, 70, 77, 82, 83, 86, 87, - 88, 91, 107, 110, 115, 116, 117, 130, 131, 132, - 136, 137, 138, 139, 140, 141, 142, 143, 147, 148, - 149, 150, 151, 152, 153, 154, 161, 165, 166, 167, - 177, 64, 9, 3, 4, 5, 6, 7, 8, 9, - 12, 67, 72, 73, 74, 75, 76, 78, 79, 80, - 81, 84, 85, 96, 103, 112, 113, 112, 36, 37, - 98, 112, 122, 123, 124, 9, 50, 9, 39, 58, - 60, 163, 9, 9, 9, 130, 89, 89, 9, 0, - 102, 103, 102, 51, 130, 102, 40, 125, 135, 102, - 102, 125, 135, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 112, 103, 101, 112, 101, 112, 112, 10, 11, 13, - 14, 15, 29, 93, 94, 95, 96, 97, 98, 99, - 103, 32, 103, 103, 50, 106, 39, 17, 9, 53, - 9, 9, 61, 164, 50, 103, 112, 121, 103, 55, - 112, 9, 169, 170, 71, 71, 104, 112, 112, 112, - 112, 112, 110, 111, 112, 112, 112, 112, 112, 112, - 112, 121, 111, 112, 38, 98, 9, 120, 122, 9, - 119, 112, 9, 133, 134, 103, 59, 9, 118, 120, - 105, 114, 104, 106, 121, 56, 17, 18, 104, 106, - 30, 31, 110, 144, 145, 146, 104, 27, 104, 9, - 104, 106, 40, 106, 125, 42, 93, 106, 9, 155, - 156, 9, 103, 104, 106, 112, 104, 9, 19, 20, - 21, 22, 24, 168, 168, 25, 169, 111, 112, 144, - 27, 32, 104, 9, 9, 41, 126, 112, 112, 133, - 168, 104, 106, 63, 104, 108, 105, 9, 171, 172, - 29, 28, 52, 43, 127, 32, 103, 157, 62, 160, - 155, 9, 168, 65, 171, 173, 174, 175, 176, 111, - 44, 45, 129, 111, 3, 90, 158, 103, 102, 66, - 92, 26, 175, 46, 27, 104, 12, 159, 9, 162, - 9, 9, 111, 9, 32, 8, 104, 106, 25, 102, - 27, 47, 48, 128, 9, 130, 102 + 0, 16, 112, 180, 9, 0, 104, 105, 9, 172, + 173, 17, 18, 106, 108, 19, 20, 21, 22, 24, + 171, 171, 25, 172, 9, 174, 175, 171, 64, 174, + 176, 177, 178, 179, 104, 65, 91, 26, 178, 9, + 9, 9, 28, 33, 34, 35, 41, 48, 51, 53, + 56, 67, 68, 69, 76, 81, 82, 85, 86, 87, + 90, 109, 113, 114, 118, 119, 120, 133, 134, 135, + 139, 140, 141, 142, 143, 144, 145, 146, 150, 151, + 152, 153, 154, 155, 156, 157, 164, 168, 169, 170, + 25, 104, 63, 3, 4, 5, 6, 7, 8, 9, + 12, 66, 71, 72, 73, 74, 75, 77, 78, 79, + 80, 83, 84, 98, 105, 115, 116, 115, 36, 37, + 100, 115, 125, 126, 127, 9, 49, 9, 39, 57, + 59, 166, 9, 9, 9, 133, 88, 88, 9, 27, + 113, 104, 105, 104, 50, 133, 104, 40, 128, 138, + 104, 104, 128, 138, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 133, 115, 103, 115, 103, 115, 115, 10, 11, 13, + 14, 15, 29, 95, 96, 97, 98, 99, 100, 101, + 105, 32, 105, 105, 49, 108, 39, 17, 9, 52, + 9, 9, 60, 167, 49, 105, 115, 124, 105, 54, + 115, 104, 70, 70, 106, 115, 115, 115, 115, 115, + 114, 115, 115, 115, 115, 115, 115, 115, 124, 114, + 115, 38, 100, 9, 123, 125, 9, 122, 115, 9, + 136, 137, 105, 58, 9, 121, 123, 107, 117, 106, + 108, 124, 55, 30, 31, 147, 148, 149, 106, 27, + 106, 9, 106, 108, 40, 108, 128, 42, 95, 108, + 9, 158, 159, 9, 105, 106, 108, 115, 106, 9, + 114, 115, 147, 27, 32, 106, 9, 9, 41, 129, + 115, 115, 136, 171, 106, 108, 62, 106, 110, 107, + 29, 28, 51, 92, 130, 32, 105, 160, 61, 163, + 158, 9, 114, 17, 44, 132, 114, 3, 89, 161, + 105, 93, 45, 27, 106, 12, 162, 9, 165, 94, + 9, 32, 8, 106, 108, 46, 47, 131, 9 }; #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) @@ -1609,277 +1617,277 @@ yyreduce: switch (yyn) { case 25: -#line 162 "pars0grm.y" +#line 166 "pars0grm.y" { yyval = que_node_list_add_last(NULL, yyvsp[0]); ;} break; case 26: -#line 164 "pars0grm.y" +#line 168 "pars0grm.y" { yyval = que_node_list_add_last(yyvsp[-1], yyvsp[0]); ;} break; case 27: -#line 168 "pars0grm.y" +#line 172 "pars0grm.y" { yyval = yyvsp[0];;} break; case 28: -#line 170 "pars0grm.y" +#line 174 "pars0grm.y" { yyval = pars_func(yyvsp[-3], yyvsp[-1]); ;} break; case 29: -#line 171 "pars0grm.y" +#line 175 "pars0grm.y" { yyval = yyvsp[0];;} break; case 30: -#line 172 "pars0grm.y" +#line 176 "pars0grm.y" { yyval = yyvsp[0];;} break; case 31: -#line 173 "pars0grm.y" +#line 177 "pars0grm.y" { yyval = yyvsp[0];;} break; case 32: -#line 174 "pars0grm.y" +#line 178 "pars0grm.y" { yyval = yyvsp[0];;} break; case 33: -#line 175 "pars0grm.y" +#line 179 "pars0grm.y" { yyval = yyvsp[0];;} break; case 34: -#line 176 "pars0grm.y" +#line 180 "pars0grm.y" { yyval = yyvsp[0];;} break; case 35: -#line 177 "pars0grm.y" +#line 181 "pars0grm.y" { yyval = yyvsp[0];;} break; case 36: -#line 178 "pars0grm.y" +#line 182 "pars0grm.y" { yyval = pars_op('+', yyvsp[-2], yyvsp[0]); ;} break; case 37: -#line 179 "pars0grm.y" +#line 183 "pars0grm.y" { yyval = pars_op('-', yyvsp[-2], yyvsp[0]); ;} break; case 38: -#line 180 "pars0grm.y" +#line 184 "pars0grm.y" { yyval = pars_op('*', yyvsp[-2], yyvsp[0]); ;} break; case 39: -#line 181 "pars0grm.y" +#line 185 "pars0grm.y" { yyval = pars_op('/', yyvsp[-2], yyvsp[0]); ;} break; case 40: -#line 182 "pars0grm.y" +#line 186 "pars0grm.y" { yyval = pars_op('-', yyvsp[0], NULL); ;} break; case 41: -#line 183 "pars0grm.y" +#line 187 "pars0grm.y" { yyval = yyvsp[-1]; ;} break; case 42: -#line 184 "pars0grm.y" +#line 188 "pars0grm.y" { yyval = pars_op('=', yyvsp[-2], yyvsp[0]); ;} break; case 43: -#line 185 "pars0grm.y" +#line 189 "pars0grm.y" { yyval = pars_op('<', yyvsp[-2], yyvsp[0]); ;} break; case 44: -#line 186 "pars0grm.y" +#line 190 "pars0grm.y" { yyval = pars_op('>', yyvsp[-2], yyvsp[0]); ;} break; case 45: -#line 187 "pars0grm.y" +#line 191 "pars0grm.y" { yyval = pars_op(PARS_GE_TOKEN, yyvsp[-2], yyvsp[0]); ;} break; case 46: -#line 188 "pars0grm.y" +#line 192 "pars0grm.y" { yyval = pars_op(PARS_LE_TOKEN, yyvsp[-2], yyvsp[0]); ;} break; case 47: -#line 189 "pars0grm.y" +#line 193 "pars0grm.y" { yyval = pars_op(PARS_NE_TOKEN, yyvsp[-2], yyvsp[0]); ;} break; case 48: -#line 190 "pars0grm.y" +#line 194 "pars0grm.y" { yyval = pars_op(PARS_AND_TOKEN, yyvsp[-2], yyvsp[0]); ;} break; case 49: -#line 191 "pars0grm.y" +#line 195 "pars0grm.y" { yyval = pars_op(PARS_OR_TOKEN, yyvsp[-2], yyvsp[0]); ;} break; case 50: -#line 192 "pars0grm.y" +#line 196 "pars0grm.y" { yyval = pars_op(PARS_NOT_TOKEN, yyvsp[0], NULL); ;} break; case 51: -#line 194 "pars0grm.y" +#line 198 "pars0grm.y" { yyval = pars_op(PARS_NOTFOUND_TOKEN, yyvsp[-2], NULL); ;} break; case 52: -#line 196 "pars0grm.y" +#line 200 "pars0grm.y" { yyval = pars_op(PARS_NOTFOUND_TOKEN, yyvsp[-2], NULL); ;} break; case 53: -#line 200 "pars0grm.y" +#line 204 "pars0grm.y" { yyval = &pars_to_char_token; ;} break; case 54: -#line 201 "pars0grm.y" +#line 205 "pars0grm.y" { yyval = &pars_to_number_token; ;} break; case 55: -#line 202 "pars0grm.y" +#line 206 "pars0grm.y" { yyval = &pars_to_binary_token; ;} break; case 56: -#line 204 "pars0grm.y" +#line 208 "pars0grm.y" { yyval = &pars_binary_to_number_token; ;} break; case 57: -#line 205 "pars0grm.y" +#line 209 "pars0grm.y" { yyval = &pars_substr_token; ;} break; case 58: -#line 206 "pars0grm.y" +#line 210 "pars0grm.y" { yyval = &pars_concat_token; ;} break; case 59: -#line 207 "pars0grm.y" +#line 211 "pars0grm.y" { yyval = &pars_instr_token; ;} break; case 60: -#line 208 "pars0grm.y" +#line 212 "pars0grm.y" { yyval = &pars_length_token; ;} break; case 61: -#line 209 "pars0grm.y" +#line 213 "pars0grm.y" { yyval = &pars_sysdate_token; ;} break; case 62: -#line 210 "pars0grm.y" +#line 214 "pars0grm.y" { yyval = &pars_rnd_token; ;} break; case 63: -#line 211 "pars0grm.y" +#line 215 "pars0grm.y" { yyval = &pars_rnd_str_token; ;} break; case 67: -#line 222 "pars0grm.y" +#line 226 "pars0grm.y" { yyval = pars_stored_procedure_call(yyvsp[-4]); ;} break; case 68: -#line 227 "pars0grm.y" +#line 231 "pars0grm.y" { yyval = pars_procedure_call(yyvsp[-3], yyvsp[-1]); ;} break; case 69: -#line 231 "pars0grm.y" +#line 235 "pars0grm.y" { yyval = &pars_replstr_token; ;} break; case 70: -#line 232 "pars0grm.y" +#line 236 "pars0grm.y" { yyval = &pars_printf_token; ;} break; case 71: -#line 233 "pars0grm.y" +#line 237 "pars0grm.y" { yyval = &pars_assert_token; ;} break; case 72: -#line 237 "pars0grm.y" +#line 241 "pars0grm.y" { yyval = yyvsp[-2]; ;} break; case 73: -#line 241 "pars0grm.y" +#line 245 "pars0grm.y" { yyval = que_node_list_add_last(NULL, yyvsp[0]); ;} break; case 74: -#line 243 "pars0grm.y" +#line 247 "pars0grm.y" { yyval = que_node_list_add_last(yyvsp[-2], yyvsp[0]); ;} break; case 75: -#line 247 "pars0grm.y" +#line 251 "pars0grm.y" { yyval = NULL; ;} break; case 76: -#line 248 "pars0grm.y" +#line 252 "pars0grm.y" { yyval = que_node_list_add_last(NULL, yyvsp[0]); ;} break; case 77: -#line 250 "pars0grm.y" +#line 254 "pars0grm.y" { yyval = que_node_list_add_last(yyvsp[-2], yyvsp[0]); ;} break; case 78: -#line 254 "pars0grm.y" +#line 258 "pars0grm.y" { yyval = NULL; ;} break; case 79: -#line 255 "pars0grm.y" +#line 259 "pars0grm.y" { yyval = que_node_list_add_last(NULL, yyvsp[0]);;} break; case 80: -#line 256 "pars0grm.y" +#line 260 "pars0grm.y" { yyval = que_node_list_add_last(yyvsp[-2], yyvsp[0]); ;} break; case 81: -#line 260 "pars0grm.y" +#line 264 "pars0grm.y" { yyval = yyvsp[0]; ;} break; case 82: -#line 262 "pars0grm.y" +#line 266 "pars0grm.y" { yyval = pars_func(&pars_count_token, que_node_list_add_last(NULL, sym_tab_add_int_lit( @@ -1887,7 +1895,7 @@ yyreduce: break; case 83: -#line 267 "pars0grm.y" +#line 271 "pars0grm.y" { yyval = pars_func(&pars_count_token, que_node_list_add_last(NULL, pars_func(&pars_distinct_token, @@ -1896,435 +1904,435 @@ yyreduce: break; case 84: -#line 273 "pars0grm.y" +#line 277 "pars0grm.y" { yyval = pars_func(&pars_sum_token, que_node_list_add_last(NULL, yyvsp[-1])); ;} break; case 85: -#line 279 "pars0grm.y" +#line 283 "pars0grm.y" { yyval = NULL; ;} break; case 86: -#line 280 "pars0grm.y" +#line 284 "pars0grm.y" { yyval = que_node_list_add_last(NULL, yyvsp[0]); ;} break; case 87: -#line 282 "pars0grm.y" +#line 286 "pars0grm.y" { yyval = que_node_list_add_last(yyvsp[-2], yyvsp[0]); ;} break; case 88: -#line 286 "pars0grm.y" +#line 290 "pars0grm.y" { yyval = pars_select_list(&pars_star_denoter, NULL); ;} break; case 89: -#line 289 "pars0grm.y" +#line 293 "pars0grm.y" { yyval = pars_select_list(yyvsp[-2], yyvsp[0]); ;} break; case 90: -#line 290 "pars0grm.y" +#line 294 "pars0grm.y" { yyval = pars_select_list(yyvsp[0], NULL); ;} break; case 91: -#line 294 "pars0grm.y" +#line 298 "pars0grm.y" { yyval = NULL; ;} break; case 92: -#line 295 "pars0grm.y" +#line 299 "pars0grm.y" { yyval = yyvsp[0]; ;} break; case 93: -#line 299 "pars0grm.y" +#line 303 "pars0grm.y" { yyval = NULL; ;} break; case 94: -#line 301 "pars0grm.y" +#line 305 "pars0grm.y" { yyval = &pars_update_token; ;} break; case 95: -#line 305 "pars0grm.y" +#line 309 "pars0grm.y" { yyval = NULL; ;} break; case 96: -#line 307 "pars0grm.y" - { yyval = &pars_consistent_token; ;} +#line 311 "pars0grm.y" + { yyval = &pars_share_token; ;} break; case 97: -#line 311 "pars0grm.y" +#line 315 "pars0grm.y" { yyval = &pars_asc_token; ;} break; case 98: -#line 312 "pars0grm.y" +#line 316 "pars0grm.y" { yyval = &pars_asc_token; ;} break; case 99: -#line 313 "pars0grm.y" +#line 317 "pars0grm.y" { yyval = &pars_desc_token; ;} break; case 100: -#line 317 "pars0grm.y" +#line 321 "pars0grm.y" { yyval = NULL; ;} break; case 101: -#line 319 "pars0grm.y" +#line 323 "pars0grm.y" { yyval = pars_order_by(yyvsp[-1], yyvsp[0]); ;} break; case 102: -#line 328 "pars0grm.y" +#line 332 "pars0grm.y" { yyval = pars_select_statement(yyvsp[-6], yyvsp[-4], yyvsp[-3], yyvsp[-2], yyvsp[-1], yyvsp[0]); ;} break; case 103: -#line 334 "pars0grm.y" +#line 338 "pars0grm.y" { yyval = yyvsp[0]; ;} break; case 104: -#line 339 "pars0grm.y" +#line 343 "pars0grm.y" { yyval = pars_insert_statement(yyvsp[-4], yyvsp[-1], NULL); ;} break; case 105: -#line 341 "pars0grm.y" +#line 345 "pars0grm.y" { yyval = pars_insert_statement(yyvsp[-1], NULL, yyvsp[0]); ;} break; case 106: -#line 345 "pars0grm.y" +#line 349 "pars0grm.y" { yyval = pars_column_assignment(yyvsp[-2], yyvsp[0]); ;} break; case 107: -#line 349 "pars0grm.y" +#line 353 "pars0grm.y" { yyval = que_node_list_add_last(NULL, yyvsp[0]); ;} break; case 108: -#line 351 "pars0grm.y" +#line 355 "pars0grm.y" { yyval = que_node_list_add_last(yyvsp[-2], yyvsp[0]); ;} break; case 109: -#line 357 "pars0grm.y" +#line 361 "pars0grm.y" { yyval = yyvsp[0]; ;} break; case 110: -#line 363 "pars0grm.y" +#line 367 "pars0grm.y" { yyval = pars_update_statement_start(FALSE, yyvsp[-2], yyvsp[0]); ;} break; case 111: -#line 369 "pars0grm.y" +#line 373 "pars0grm.y" { yyval = pars_update_statement(yyvsp[-1], NULL, yyvsp[0]); ;} break; case 112: -#line 374 "pars0grm.y" +#line 378 "pars0grm.y" { yyval = pars_update_statement(yyvsp[-1], yyvsp[0], NULL); ;} break; case 113: -#line 379 "pars0grm.y" +#line 383 "pars0grm.y" { yyval = pars_update_statement_start(TRUE, yyvsp[0], NULL); ;} break; case 114: -#line 385 "pars0grm.y" +#line 389 "pars0grm.y" { yyval = pars_update_statement(yyvsp[-1], NULL, yyvsp[0]); ;} break; case 115: -#line 390 "pars0grm.y" +#line 394 "pars0grm.y" { yyval = pars_update_statement(yyvsp[-1], yyvsp[0], NULL); ;} break; case 116: -#line 395 "pars0grm.y" +#line 399 "pars0grm.y" { yyval = pars_row_printf_statement(yyvsp[0]); ;} break; case 117: -#line 400 "pars0grm.y" +#line 404 "pars0grm.y" { yyval = pars_assignment_statement(yyvsp[-2], yyvsp[0]); ;} break; case 118: -#line 406 "pars0grm.y" +#line 410 "pars0grm.y" { yyval = pars_elsif_element(yyvsp[-2], yyvsp[0]); ;} break; case 119: -#line 410 "pars0grm.y" +#line 414 "pars0grm.y" { yyval = que_node_list_add_last(NULL, yyvsp[0]); ;} break; case 120: -#line 412 "pars0grm.y" +#line 416 "pars0grm.y" { yyval = que_node_list_add_last(yyvsp[-1], yyvsp[0]); ;} break; case 121: -#line 416 "pars0grm.y" +#line 420 "pars0grm.y" { yyval = NULL; ;} break; case 122: -#line 418 "pars0grm.y" +#line 422 "pars0grm.y" { yyval = yyvsp[0]; ;} break; case 123: -#line 419 "pars0grm.y" +#line 423 "pars0grm.y" { yyval = yyvsp[0]; ;} break; case 124: -#line 426 "pars0grm.y" +#line 430 "pars0grm.y" { yyval = pars_if_statement(yyvsp[-5], yyvsp[-3], yyvsp[-2]); ;} break; case 125: -#line 432 "pars0grm.y" +#line 436 "pars0grm.y" { yyval = pars_while_statement(yyvsp[-4], yyvsp[-2]); ;} break; case 126: -#line 440 "pars0grm.y" +#line 444 "pars0grm.y" { yyval = pars_for_statement(yyvsp[-8], yyvsp[-6], yyvsp[-4], yyvsp[-2]); ;} break; case 127: -#line 444 "pars0grm.y" +#line 448 "pars0grm.y" { yyval = pars_exit_statement(); ;} break; case 128: -#line 448 "pars0grm.y" +#line 452 "pars0grm.y" { yyval = pars_return_statement(); ;} break; case 129: -#line 453 "pars0grm.y" +#line 457 "pars0grm.y" { yyval = pars_open_statement( ROW_SEL_OPEN_CURSOR, yyvsp[0]); ;} break; case 130: -#line 459 "pars0grm.y" +#line 463 "pars0grm.y" { yyval = pars_open_statement( ROW_SEL_CLOSE_CURSOR, yyvsp[0]); ;} break; case 131: -#line 465 "pars0grm.y" +#line 469 "pars0grm.y" { yyval = pars_fetch_statement(yyvsp[-2], yyvsp[0], NULL); ;} break; case 132: -#line 467 "pars0grm.y" +#line 471 "pars0grm.y" { yyval = pars_fetch_statement(yyvsp[-2], NULL, yyvsp[0]); ;} break; case 133: -#line 472 "pars0grm.y" +#line 476 "pars0grm.y" { yyval = pars_column_def(yyvsp[-4], yyvsp[-3], yyvsp[-2], yyvsp[-1], yyvsp[0]); ;} break; case 134: -#line 476 "pars0grm.y" +#line 480 "pars0grm.y" { yyval = que_node_list_add_last(NULL, yyvsp[0]); ;} break; case 135: -#line 478 "pars0grm.y" +#line 482 "pars0grm.y" { yyval = que_node_list_add_last(yyvsp[-2], yyvsp[0]); ;} break; case 136: -#line 482 "pars0grm.y" +#line 486 "pars0grm.y" { yyval = NULL; ;} break; case 137: -#line 484 "pars0grm.y" +#line 488 "pars0grm.y" { yyval = yyvsp[-1]; ;} break; case 138: -#line 488 "pars0grm.y" +#line 492 "pars0grm.y" { yyval = NULL; ;} break; case 139: -#line 490 "pars0grm.y" +#line 494 "pars0grm.y" { yyval = &pars_int_token; /* pass any non-NULL pointer */ ;} break; case 140: -#line 495 "pars0grm.y" +#line 499 "pars0grm.y" { yyval = NULL; ;} break; case 141: -#line 497 "pars0grm.y" +#line 501 "pars0grm.y" { yyval = &pars_int_token; /* pass any non-NULL pointer */ ;} break; case 142: -#line 502 "pars0grm.y" +#line 506 "pars0grm.y" { yyval = NULL; ;} break; case 143: -#line 504 "pars0grm.y" +#line 508 "pars0grm.y" { yyval = &pars_int_token; /* pass any non-NULL pointer */ ;} break; case 144: -#line 511 "pars0grm.y" +#line 515 "pars0grm.y" { yyval = pars_create_table(yyvsp[-4], yyvsp[-2], yyvsp[0]); ;} break; case 145: -#line 515 "pars0grm.y" +#line 519 "pars0grm.y" { yyval = que_node_list_add_last(NULL, yyvsp[0]); ;} break; case 146: -#line 517 "pars0grm.y" +#line 521 "pars0grm.y" { yyval = que_node_list_add_last(yyvsp[-2], yyvsp[0]); ;} break; case 147: -#line 521 "pars0grm.y" +#line 525 "pars0grm.y" { yyval = NULL; ;} break; case 148: -#line 522 "pars0grm.y" +#line 526 "pars0grm.y" { yyval = &pars_unique_token; ;} break; case 149: -#line 526 "pars0grm.y" +#line 530 "pars0grm.y" { yyval = NULL; ;} break; case 150: -#line 527 "pars0grm.y" +#line 531 "pars0grm.y" { yyval = &pars_clustered_token; ;} break; case 151: -#line 535 "pars0grm.y" +#line 539 "pars0grm.y" { yyval = pars_create_index(yyvsp[-8], yyvsp[-7], yyvsp[-5], yyvsp[-3], yyvsp[-1]); ;} break; case 152: -#line 540 "pars0grm.y" +#line 544 "pars0grm.y" { yyval = pars_commit_statement(); ;} break; case 153: -#line 545 "pars0grm.y" +#line 549 "pars0grm.y" { yyval = pars_rollback_statement(); ;} break; case 154: -#line 549 "pars0grm.y" +#line 553 "pars0grm.y" { yyval = &pars_int_token; ;} break; case 155: -#line 550 "pars0grm.y" +#line 554 "pars0grm.y" { yyval = &pars_int_token; ;} break; case 156: -#line 551 "pars0grm.y" +#line 555 "pars0grm.y" { yyval = &pars_char_token; ;} break; case 157: -#line 552 "pars0grm.y" +#line 556 "pars0grm.y" { yyval = &pars_binary_token; ;} break; case 158: -#line 553 "pars0grm.y" +#line 557 "pars0grm.y" { yyval = &pars_blob_token; ;} break; case 159: -#line 558 "pars0grm.y" +#line 562 "pars0grm.y" { yyval = pars_parameter_declaration(yyvsp[-2], PARS_INPUT, yyvsp[0]); ;} break; case 160: -#line 561 "pars0grm.y" +#line 565 "pars0grm.y" { yyval = pars_parameter_declaration(yyvsp[-2], PARS_OUTPUT, yyvsp[0]); ;} break; case 161: -#line 566 "pars0grm.y" +#line 570 "pars0grm.y" { yyval = NULL; ;} break; case 162: -#line 567 "pars0grm.y" +#line 571 "pars0grm.y" { yyval = que_node_list_add_last(NULL, yyvsp[0]); ;} break; case 163: -#line 569 "pars0grm.y" +#line 573 "pars0grm.y" { yyval = que_node_list_add_last(yyvsp[-2], yyvsp[0]); ;} break; case 164: -#line 574 "pars0grm.y" +#line 578 "pars0grm.y" { yyval = pars_variable_declaration(yyvsp[-2], yyvsp[-1]); ;} break; case 168: -#line 586 "pars0grm.y" +#line 590 "pars0grm.y" { yyval = pars_cursor_declaration(yyvsp[-3], yyvsp[-1]); ;} break; case 169: -#line 591 "pars0grm.y" +#line 595 "pars0grm.y" { yyval = pars_function_declaration(yyvsp[-1]); ;} break; case 175: -#line 612 "pars0grm.y" +#line 616 "pars0grm.y" { yyval = pars_procedure_definition(yyvsp[-9], yyvsp[-7], yyvsp[-1]); ;} break; @@ -2333,7 +2341,7 @@ yyreduce: } /* Line 1010 of yacc.c. */ -#line 2337 "pars0grm.tab.c" +#line 2345 "pars0grm.tab.c" yyvsp -= yylen; yyssp -= yylen; @@ -2558,6 +2566,6 @@ yyreturn: } -#line 616 "pars0grm.y" +#line 620 "pars0grm.y" diff --git a/storage/innobase/pars/pars0grm.h b/storage/innobase/pars/pars0grm.h index 996fc37f13b..0062b8314ee 100644 --- a/storage/innobase/pars/pars0grm.h +++ b/storage/innobase/pars/pars0grm.h @@ -69,57 +69,59 @@ PARS_WHERE_TOKEN = 295, PARS_FOR_TOKEN = 296, PARS_DDOT_TOKEN = 297, - PARS_CONSISTENT_TOKEN = 298, - PARS_READ_TOKEN = 299, - PARS_ORDER_TOKEN = 300, - PARS_BY_TOKEN = 301, - PARS_ASC_TOKEN = 302, - PARS_DESC_TOKEN = 303, - PARS_INSERT_TOKEN = 304, - PARS_INTO_TOKEN = 305, - PARS_VALUES_TOKEN = 306, - PARS_UPDATE_TOKEN = 307, - PARS_SET_TOKEN = 308, - PARS_DELETE_TOKEN = 309, - PARS_CURRENT_TOKEN = 310, - PARS_OF_TOKEN = 311, - PARS_CREATE_TOKEN = 312, - PARS_TABLE_TOKEN = 313, - PARS_INDEX_TOKEN = 314, - PARS_UNIQUE_TOKEN = 315, - PARS_CLUSTERED_TOKEN = 316, - PARS_DOES_NOT_FIT_IN_MEM_TOKEN = 317, - PARS_ON_TOKEN = 318, - PARS_ASSIGN_TOKEN = 319, - PARS_DECLARE_TOKEN = 320, - PARS_CURSOR_TOKEN = 321, - PARS_SQL_TOKEN = 322, - PARS_OPEN_TOKEN = 323, - PARS_FETCH_TOKEN = 324, - PARS_CLOSE_TOKEN = 325, - PARS_NOTFOUND_TOKEN = 326, - PARS_TO_CHAR_TOKEN = 327, - PARS_TO_NUMBER_TOKEN = 328, - PARS_TO_BINARY_TOKEN = 329, - PARS_BINARY_TO_NUMBER_TOKEN = 330, - PARS_SUBSTR_TOKEN = 331, - PARS_REPLSTR_TOKEN = 332, - PARS_CONCAT_TOKEN = 333, - PARS_INSTR_TOKEN = 334, - PARS_LENGTH_TOKEN = 335, - PARS_SYSDATE_TOKEN = 336, - PARS_PRINTF_TOKEN = 337, - PARS_ASSERT_TOKEN = 338, - PARS_RND_TOKEN = 339, - PARS_RND_STR_TOKEN = 340, - PARS_ROW_PRINTF_TOKEN = 341, - PARS_COMMIT_TOKEN = 342, - PARS_ROLLBACK_TOKEN = 343, - PARS_WORK_TOKEN = 344, - PARS_UNSIGNED_TOKEN = 345, - PARS_EXIT_TOKEN = 346, - PARS_FUNCTION_TOKEN = 347, - NEG = 348 + 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_CHAR_TOKEN = 326, + PARS_TO_NUMBER_TOKEN = 327, + PARS_TO_BINARY_TOKEN = 328, + PARS_BINARY_TO_NUMBER_TOKEN = 329, + PARS_SUBSTR_TOKEN = 330, + PARS_REPLSTR_TOKEN = 331, + PARS_CONCAT_TOKEN = 332, + PARS_INSTR_TOKEN = 333, + PARS_LENGTH_TOKEN = 334, + PARS_SYSDATE_TOKEN = 335, + PARS_PRINTF_TOKEN = 336, + PARS_ASSERT_TOKEN = 337, + PARS_RND_TOKEN = 338, + PARS_RND_STR_TOKEN = 339, + PARS_ROW_PRINTF_TOKEN = 340, + PARS_COMMIT_TOKEN = 341, + PARS_ROLLBACK_TOKEN = 342, + PARS_WORK_TOKEN = 343, + PARS_UNSIGNED_TOKEN = 344, + PARS_EXIT_TOKEN = 345, + PARS_FUNCTION_TOKEN = 346, + PARS_LOCK_TOKEN = 347, + PARS_SHARE_TOKEN = 348, + PARS_MODE_TOKEN = 349, + NEG = 350 }; #endif #define PARS_INT_LIT 258 @@ -162,57 +164,59 @@ #define PARS_WHERE_TOKEN 295 #define PARS_FOR_TOKEN 296 #define PARS_DDOT_TOKEN 297 -#define PARS_CONSISTENT_TOKEN 298 -#define PARS_READ_TOKEN 299 -#define PARS_ORDER_TOKEN 300 -#define PARS_BY_TOKEN 301 -#define PARS_ASC_TOKEN 302 -#define PARS_DESC_TOKEN 303 -#define PARS_INSERT_TOKEN 304 -#define PARS_INTO_TOKEN 305 -#define PARS_VALUES_TOKEN 306 -#define PARS_UPDATE_TOKEN 307 -#define PARS_SET_TOKEN 308 -#define PARS_DELETE_TOKEN 309 -#define PARS_CURRENT_TOKEN 310 -#define PARS_OF_TOKEN 311 -#define PARS_CREATE_TOKEN 312 -#define PARS_TABLE_TOKEN 313 -#define PARS_INDEX_TOKEN 314 -#define PARS_UNIQUE_TOKEN 315 -#define PARS_CLUSTERED_TOKEN 316 -#define PARS_DOES_NOT_FIT_IN_MEM_TOKEN 317 -#define PARS_ON_TOKEN 318 -#define PARS_ASSIGN_TOKEN 319 -#define PARS_DECLARE_TOKEN 320 -#define PARS_CURSOR_TOKEN 321 -#define PARS_SQL_TOKEN 322 -#define PARS_OPEN_TOKEN 323 -#define PARS_FETCH_TOKEN 324 -#define PARS_CLOSE_TOKEN 325 -#define PARS_NOTFOUND_TOKEN 326 -#define PARS_TO_CHAR_TOKEN 327 -#define PARS_TO_NUMBER_TOKEN 328 -#define PARS_TO_BINARY_TOKEN 329 -#define PARS_BINARY_TO_NUMBER_TOKEN 330 -#define PARS_SUBSTR_TOKEN 331 -#define PARS_REPLSTR_TOKEN 332 -#define PARS_CONCAT_TOKEN 333 -#define PARS_INSTR_TOKEN 334 -#define PARS_LENGTH_TOKEN 335 -#define PARS_SYSDATE_TOKEN 336 -#define PARS_PRINTF_TOKEN 337 -#define PARS_ASSERT_TOKEN 338 -#define PARS_RND_TOKEN 339 -#define PARS_RND_STR_TOKEN 340 -#define PARS_ROW_PRINTF_TOKEN 341 -#define PARS_COMMIT_TOKEN 342 -#define PARS_ROLLBACK_TOKEN 343 -#define PARS_WORK_TOKEN 344 -#define PARS_UNSIGNED_TOKEN 345 -#define PARS_EXIT_TOKEN 346 -#define PARS_FUNCTION_TOKEN 347 -#define NEG 348 +#define PARS_READ_TOKEN 298 +#define PARS_ORDER_TOKEN 299 +#define PARS_BY_TOKEN 300 +#define PARS_ASC_TOKEN 301 +#define PARS_DESC_TOKEN 302 +#define PARS_INSERT_TOKEN 303 +#define PARS_INTO_TOKEN 304 +#define PARS_VALUES_TOKEN 305 +#define PARS_UPDATE_TOKEN 306 +#define PARS_SET_TOKEN 307 +#define PARS_DELETE_TOKEN 308 +#define PARS_CURRENT_TOKEN 309 +#define PARS_OF_TOKEN 310 +#define PARS_CREATE_TOKEN 311 +#define PARS_TABLE_TOKEN 312 +#define PARS_INDEX_TOKEN 313 +#define PARS_UNIQUE_TOKEN 314 +#define PARS_CLUSTERED_TOKEN 315 +#define PARS_DOES_NOT_FIT_IN_MEM_TOKEN 316 +#define PARS_ON_TOKEN 317 +#define PARS_ASSIGN_TOKEN 318 +#define PARS_DECLARE_TOKEN 319 +#define PARS_CURSOR_TOKEN 320 +#define PARS_SQL_TOKEN 321 +#define PARS_OPEN_TOKEN 322 +#define PARS_FETCH_TOKEN 323 +#define PARS_CLOSE_TOKEN 324 +#define PARS_NOTFOUND_TOKEN 325 +#define PARS_TO_CHAR_TOKEN 326 +#define PARS_TO_NUMBER_TOKEN 327 +#define PARS_TO_BINARY_TOKEN 328 +#define PARS_BINARY_TO_NUMBER_TOKEN 329 +#define PARS_SUBSTR_TOKEN 330 +#define PARS_REPLSTR_TOKEN 331 +#define PARS_CONCAT_TOKEN 332 +#define PARS_INSTR_TOKEN 333 +#define PARS_LENGTH_TOKEN 334 +#define PARS_SYSDATE_TOKEN 335 +#define PARS_PRINTF_TOKEN 336 +#define PARS_ASSERT_TOKEN 337 +#define PARS_RND_TOKEN 338 +#define PARS_RND_STR_TOKEN 339 +#define PARS_ROW_PRINTF_TOKEN 340 +#define PARS_COMMIT_TOKEN 341 +#define PARS_ROLLBACK_TOKEN 342 +#define PARS_WORK_TOKEN 343 +#define PARS_UNSIGNED_TOKEN 344 +#define PARS_EXIT_TOKEN 345 +#define PARS_FUNCTION_TOKEN 346 +#define PARS_LOCK_TOKEN 347 +#define PARS_SHARE_TOKEN 348 +#define PARS_MODE_TOKEN 349 +#define NEG 350 diff --git a/storage/innobase/pars/pars0grm.y b/storage/innobase/pars/pars0grm.y index 7f13312fc6e..a07be9975a1 100644 --- a/storage/innobase/pars/pars0grm.y +++ b/storage/innobase/pars/pars0grm.y @@ -70,7 +70,6 @@ yylex(void); %token PARS_WHERE_TOKEN %token PARS_FOR_TOKEN %token PARS_DDOT_TOKEN -%token PARS_CONSISTENT_TOKEN %token PARS_READ_TOKEN %token PARS_ORDER_TOKEN %token PARS_BY_TOKEN @@ -120,6 +119,9 @@ yylex(void); %token PARS_UNSIGNED_TOKEN %token PARS_EXIT_TOKEN %token PARS_FUNCTION_TOKEN +%token PARS_LOCK_TOKEN +%token PARS_SHARE_TOKEN +%token PARS_MODE_TOKEN %left PARS_AND_TOKEN PARS_OR_TOKEN %left PARS_NOT_TOKEN @@ -132,9 +134,11 @@ yylex(void); /* Grammar follows */ %% +top_statement: + procedure_definition ';' + statement: - procedure_definition ';' - | stored_procedure_call + stored_procedure_call | predefined_procedure_call ';' | while_statement ';' | for_statement ';' @@ -301,10 +305,10 @@ for_update_clause: { $$ = &pars_update_token; } ; -consistent_read_clause: +lock_shared_clause: /* Nothing */ { $$ = NULL; } - | PARS_CONSISTENT_TOKEN PARS_READ_TOKEN - { $$ = &pars_consistent_token; } + | PARS_LOCK_TOKEN PARS_IN_TOKEN PARS_SHARE_TOKEN PARS_MODE_TOKEN + { $$ = &pars_share_token; } ; order_direction: @@ -324,7 +328,7 @@ select_statement: PARS_FROM_TOKEN table_list search_condition for_update_clause - consistent_read_clause + lock_shared_clause order_by_clause { $$ = pars_select_statement($2, $4, $5, $6, $7, $8); } ; diff --git a/storage/innobase/pars/pars0lex.l b/storage/innobase/pars/pars0lex.l index 8f6a8d39a36..71ac4c98267 100644 --- a/storage/innobase/pars/pars0lex.l +++ b/storage/innobase/pars/pars0lex.l @@ -325,10 +325,6 @@ In the state 'id', only two actions are possible (defined below). */ return(PARS_FOR_TOKEN); } -"CONSISTENT" { - return(PARS_CONSISTENT_TOKEN); -} - "READ" { return(PARS_READ_TOKEN); } @@ -517,6 +513,18 @@ In the state 'id', only two actions are possible (defined below). */ return(PARS_FUNCTION_TOKEN); } +"LOCK" { + return(PARS_LOCK_TOKEN); +} + +"SHARE" { + return(PARS_SHARE_TOKEN); +} + +"MODE" { + return(PARS_MODE_TOKEN); +} + {ID} { yylval = sym_tab_add_id(pars_sym_tab_global, (byte*)yytext, diff --git a/storage/innobase/pars/pars0pars.c b/storage/innobase/pars/pars0pars.c index def26e62d29..1ba28fa4fe3 100644 --- a/storage/innobase/pars/pars0pars.c +++ b/storage/innobase/pars/pars0pars.c @@ -72,7 +72,7 @@ pars_res_word_t pars_asc_token = {PARS_ASC_TOKEN}; pars_res_word_t pars_desc_token = {PARS_DESC_TOKEN}; pars_res_word_t pars_open_token = {PARS_OPEN_TOKEN}; pars_res_word_t pars_close_token = {PARS_CLOSE_TOKEN}; -pars_res_word_t pars_consistent_token = {PARS_CONSISTENT_TOKEN}; +pars_res_word_t pars_share_token = {PARS_SHARE_TOKEN}; pars_res_word_t pars_unique_token = {PARS_UNIQUE_TOKEN}; pars_res_word_t pars_clustered_token = {PARS_CLUSTERED_TOKEN}; @@ -699,8 +699,7 @@ pars_select_statement( sym_node_t* table_list, /* in: table list */ que_node_t* search_cond, /* in: search condition or NULL */ pars_res_word_t* for_update, /* in: NULL or &pars_update_token */ - pars_res_word_t* consistent_read,/* in: NULL or - &pars_consistent_token */ + pars_res_word_t* lock_shared, /* in: NULL or &pars_share_token */ order_node_t* order_by) /* in: NULL or an order-by node */ { select_node->state = SEL_NODE_OPEN; @@ -734,19 +733,24 @@ pars_select_statement( } if (for_update) { - ut_a(!consistent_read); + ut_a(!lock_shared); + select_node->set_x_locks = TRUE; select_node->row_lock_mode = LOCK_X; - } else { + + select_node->consistent_read = FALSE; + select_node->read_view = NULL; + } else if (lock_shared){ select_node->set_x_locks = FALSE; select_node->row_lock_mode = LOCK_S; - } - if (consistent_read) { - select_node->consistent_read = TRUE; - } else { select_node->consistent_read = FALSE; select_node->read_view = NULL; + } else { + select_node->set_x_locks = FALSE; + select_node->row_lock_mode = LOCK_S; + + select_node->consistent_read = TRUE; } select_node->order_by = order_by; @@ -976,7 +980,7 @@ pars_update_statement( sel_node = pars_select_list(NULL, NULL); pars_select_statement(sel_node, table_sym, search_cond, NULL, - NULL, NULL); + &pars_share_token, NULL); node->searched_update = TRUE; sel_node->common.parent = node; } @@ -1857,8 +1861,9 @@ pars_sql( #endif /* UNIV_SYNC_DEBUG */ pars_sym_tab_global = sym_tab_create(heap); - pars_sym_tab_global->sql_string = mem_heap_strdup(heap, str); pars_sym_tab_global->string_len = strlen(str); + pars_sym_tab_global->sql_string = mem_heap_dup(heap, str, + pars_sym_tab_global->string_len + 1); pars_sym_tab_global->next_char_pos = 0; pars_sym_tab_global->info = info; |