summaryrefslogtreecommitdiff
path: root/storage/innobase/pars
diff options
context:
space:
mode:
authorunknown <aivanov/alexi@mysql.com/mysqld.localdomain>2006-07-26 13:28:51 +0400
committerunknown <aivanov/alexi@mysql.com/mysqld.localdomain>2006-07-26 13:28:51 +0400
commitd36f94791a5443b64d6ed9469dfbdd28b70fd687 (patch)
tree01e121069675cd78a8509890964b58b5f8f5d5b8 /storage/innobase/pars
parent3a409d4a2afd9febb1c7be2e18a727b4e9ad9b05 (diff)
downloadmariadb-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.c686
-rw-r--r--storage/innobase/pars/pars0grm.c1324
-rw-r--r--storage/innobase/pars/pars0grm.h208
-rw-r--r--storage/innobase/pars/pars0grm.y18
-rw-r--r--storage/innobase/pars/pars0lex.l16
-rw-r--r--storage/innobase/pars/pars0pars.c27
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;