Commit f752e64d authored by osku's avatar osku

Changes to InnoDB's 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".
parent 651c12c6
...@@ -69,57 +69,59 @@ ...@@ -69,57 +69,59 @@
PARS_WHERE_TOKEN = 295, PARS_WHERE_TOKEN = 295,
PARS_FOR_TOKEN = 296, PARS_FOR_TOKEN = 296,
PARS_DDOT_TOKEN = 297, PARS_DDOT_TOKEN = 297,
PARS_CONSISTENT_TOKEN = 298, PARS_READ_TOKEN = 298,
PARS_READ_TOKEN = 299, PARS_ORDER_TOKEN = 299,
PARS_ORDER_TOKEN = 300, PARS_BY_TOKEN = 300,
PARS_BY_TOKEN = 301, PARS_ASC_TOKEN = 301,
PARS_ASC_TOKEN = 302, PARS_DESC_TOKEN = 302,
PARS_DESC_TOKEN = 303, PARS_INSERT_TOKEN = 303,
PARS_INSERT_TOKEN = 304, PARS_INTO_TOKEN = 304,
PARS_INTO_TOKEN = 305, PARS_VALUES_TOKEN = 305,
PARS_VALUES_TOKEN = 306, PARS_UPDATE_TOKEN = 306,
PARS_UPDATE_TOKEN = 307, PARS_SET_TOKEN = 307,
PARS_SET_TOKEN = 308, PARS_DELETE_TOKEN = 308,
PARS_DELETE_TOKEN = 309, PARS_CURRENT_TOKEN = 309,
PARS_CURRENT_TOKEN = 310, PARS_OF_TOKEN = 310,
PARS_OF_TOKEN = 311, PARS_CREATE_TOKEN = 311,
PARS_CREATE_TOKEN = 312, PARS_TABLE_TOKEN = 312,
PARS_TABLE_TOKEN = 313, PARS_INDEX_TOKEN = 313,
PARS_INDEX_TOKEN = 314, PARS_UNIQUE_TOKEN = 314,
PARS_UNIQUE_TOKEN = 315, PARS_CLUSTERED_TOKEN = 315,
PARS_CLUSTERED_TOKEN = 316, PARS_DOES_NOT_FIT_IN_MEM_TOKEN = 316,
PARS_DOES_NOT_FIT_IN_MEM_TOKEN = 317, PARS_ON_TOKEN = 317,
PARS_ON_TOKEN = 318, PARS_ASSIGN_TOKEN = 318,
PARS_ASSIGN_TOKEN = 319, PARS_DECLARE_TOKEN = 319,
PARS_DECLARE_TOKEN = 320, PARS_CURSOR_TOKEN = 320,
PARS_CURSOR_TOKEN = 321, PARS_SQL_TOKEN = 321,
PARS_SQL_TOKEN = 322, PARS_OPEN_TOKEN = 322,
PARS_OPEN_TOKEN = 323, PARS_FETCH_TOKEN = 323,
PARS_FETCH_TOKEN = 324, PARS_CLOSE_TOKEN = 324,
PARS_CLOSE_TOKEN = 325, PARS_NOTFOUND_TOKEN = 325,
PARS_NOTFOUND_TOKEN = 326, PARS_TO_CHAR_TOKEN = 326,
PARS_TO_CHAR_TOKEN = 327, PARS_TO_NUMBER_TOKEN = 327,
PARS_TO_NUMBER_TOKEN = 328, PARS_TO_BINARY_TOKEN = 328,
PARS_TO_BINARY_TOKEN = 329, PARS_BINARY_TO_NUMBER_TOKEN = 329,
PARS_BINARY_TO_NUMBER_TOKEN = 330, PARS_SUBSTR_TOKEN = 330,
PARS_SUBSTR_TOKEN = 331, PARS_REPLSTR_TOKEN = 331,
PARS_REPLSTR_TOKEN = 332, PARS_CONCAT_TOKEN = 332,
PARS_CONCAT_TOKEN = 333, PARS_INSTR_TOKEN = 333,
PARS_INSTR_TOKEN = 334, PARS_LENGTH_TOKEN = 334,
PARS_LENGTH_TOKEN = 335, PARS_SYSDATE_TOKEN = 335,
PARS_SYSDATE_TOKEN = 336, PARS_PRINTF_TOKEN = 336,
PARS_PRINTF_TOKEN = 337, PARS_ASSERT_TOKEN = 337,
PARS_ASSERT_TOKEN = 338, PARS_RND_TOKEN = 338,
PARS_RND_TOKEN = 339, PARS_RND_STR_TOKEN = 339,
PARS_RND_STR_TOKEN = 340, PARS_ROW_PRINTF_TOKEN = 340,
PARS_ROW_PRINTF_TOKEN = 341, PARS_COMMIT_TOKEN = 341,
PARS_COMMIT_TOKEN = 342, PARS_ROLLBACK_TOKEN = 342,
PARS_ROLLBACK_TOKEN = 343, PARS_WORK_TOKEN = 343,
PARS_WORK_TOKEN = 344, PARS_UNSIGNED_TOKEN = 344,
PARS_UNSIGNED_TOKEN = 345, PARS_EXIT_TOKEN = 345,
PARS_EXIT_TOKEN = 346, PARS_FUNCTION_TOKEN = 346,
PARS_FUNCTION_TOKEN = 347, PARS_LOCK_TOKEN = 347,
NEG = 348 PARS_SHARE_TOKEN = 348,
PARS_MODE_TOKEN = 349,
NEG = 350
}; };
#endif #endif
#define PARS_INT_LIT 258 #define PARS_INT_LIT 258
...@@ -162,57 +164,59 @@ ...@@ -162,57 +164,59 @@
#define PARS_WHERE_TOKEN 295 #define PARS_WHERE_TOKEN 295
#define PARS_FOR_TOKEN 296 #define PARS_FOR_TOKEN 296
#define PARS_DDOT_TOKEN 297 #define PARS_DDOT_TOKEN 297
#define PARS_CONSISTENT_TOKEN 298 #define PARS_READ_TOKEN 298
#define PARS_READ_TOKEN 299 #define PARS_ORDER_TOKEN 299
#define PARS_ORDER_TOKEN 300 #define PARS_BY_TOKEN 300
#define PARS_BY_TOKEN 301 #define PARS_ASC_TOKEN 301
#define PARS_ASC_TOKEN 302 #define PARS_DESC_TOKEN 302
#define PARS_DESC_TOKEN 303 #define PARS_INSERT_TOKEN 303
#define PARS_INSERT_TOKEN 304 #define PARS_INTO_TOKEN 304
#define PARS_INTO_TOKEN 305 #define PARS_VALUES_TOKEN 305
#define PARS_VALUES_TOKEN 306 #define PARS_UPDATE_TOKEN 306
#define PARS_UPDATE_TOKEN 307 #define PARS_SET_TOKEN 307
#define PARS_SET_TOKEN 308 #define PARS_DELETE_TOKEN 308
#define PARS_DELETE_TOKEN 309 #define PARS_CURRENT_TOKEN 309
#define PARS_CURRENT_TOKEN 310 #define PARS_OF_TOKEN 310
#define PARS_OF_TOKEN 311 #define PARS_CREATE_TOKEN 311
#define PARS_CREATE_TOKEN 312 #define PARS_TABLE_TOKEN 312
#define PARS_TABLE_TOKEN 313 #define PARS_INDEX_TOKEN 313
#define PARS_INDEX_TOKEN 314 #define PARS_UNIQUE_TOKEN 314
#define PARS_UNIQUE_TOKEN 315 #define PARS_CLUSTERED_TOKEN 315
#define PARS_CLUSTERED_TOKEN 316 #define PARS_DOES_NOT_FIT_IN_MEM_TOKEN 316
#define PARS_DOES_NOT_FIT_IN_MEM_TOKEN 317 #define PARS_ON_TOKEN 317
#define PARS_ON_TOKEN 318 #define PARS_ASSIGN_TOKEN 318
#define PARS_ASSIGN_TOKEN 319 #define PARS_DECLARE_TOKEN 319
#define PARS_DECLARE_TOKEN 320 #define PARS_CURSOR_TOKEN 320
#define PARS_CURSOR_TOKEN 321 #define PARS_SQL_TOKEN 321
#define PARS_SQL_TOKEN 322 #define PARS_OPEN_TOKEN 322
#define PARS_OPEN_TOKEN 323 #define PARS_FETCH_TOKEN 323
#define PARS_FETCH_TOKEN 324 #define PARS_CLOSE_TOKEN 324
#define PARS_CLOSE_TOKEN 325 #define PARS_NOTFOUND_TOKEN 325
#define PARS_NOTFOUND_TOKEN 326 #define PARS_TO_CHAR_TOKEN 326
#define PARS_TO_CHAR_TOKEN 327 #define PARS_TO_NUMBER_TOKEN 327
#define PARS_TO_NUMBER_TOKEN 328 #define PARS_TO_BINARY_TOKEN 328
#define PARS_TO_BINARY_TOKEN 329 #define PARS_BINARY_TO_NUMBER_TOKEN 329
#define PARS_BINARY_TO_NUMBER_TOKEN 330 #define PARS_SUBSTR_TOKEN 330
#define PARS_SUBSTR_TOKEN 331 #define PARS_REPLSTR_TOKEN 331
#define PARS_REPLSTR_TOKEN 332 #define PARS_CONCAT_TOKEN 332
#define PARS_CONCAT_TOKEN 333 #define PARS_INSTR_TOKEN 333
#define PARS_INSTR_TOKEN 334 #define PARS_LENGTH_TOKEN 334
#define PARS_LENGTH_TOKEN 335 #define PARS_SYSDATE_TOKEN 335
#define PARS_SYSDATE_TOKEN 336 #define PARS_PRINTF_TOKEN 336
#define PARS_PRINTF_TOKEN 337 #define PARS_ASSERT_TOKEN 337
#define PARS_ASSERT_TOKEN 338 #define PARS_RND_TOKEN 338
#define PARS_RND_TOKEN 339 #define PARS_RND_STR_TOKEN 339
#define PARS_RND_STR_TOKEN 340 #define PARS_ROW_PRINTF_TOKEN 340
#define PARS_ROW_PRINTF_TOKEN 341 #define PARS_COMMIT_TOKEN 341
#define PARS_COMMIT_TOKEN 342 #define PARS_ROLLBACK_TOKEN 342
#define PARS_ROLLBACK_TOKEN 343 #define PARS_WORK_TOKEN 343
#define PARS_WORK_TOKEN 344 #define PARS_UNSIGNED_TOKEN 344
#define PARS_UNSIGNED_TOKEN 345 #define PARS_EXIT_TOKEN 345
#define PARS_EXIT_TOKEN 346 #define PARS_FUNCTION_TOKEN 346
#define PARS_FUNCTION_TOKEN 347 #define PARS_LOCK_TOKEN 347
#define NEG 348 #define PARS_SHARE_TOKEN 348
#define PARS_MODE_TOKEN 349
#define NEG 350
......
...@@ -63,7 +63,7 @@ extern pars_res_word_t pars_asc_token; ...@@ -63,7 +63,7 @@ extern pars_res_word_t pars_asc_token;
extern pars_res_word_t pars_desc_token; extern pars_res_word_t pars_desc_token;
extern pars_res_word_t pars_open_token; extern pars_res_word_t pars_open_token;
extern pars_res_word_t pars_close_token; extern pars_res_word_t pars_close_token;
extern pars_res_word_t pars_consistent_token; extern pars_res_word_t pars_share_token;
extern pars_res_word_t pars_unique_token; extern pars_res_word_t pars_unique_token;
extern pars_res_word_t pars_clustered_token; extern pars_res_word_t pars_clustered_token;
......
...@@ -356,8 +356,8 @@ static void yy_fatal_error (yyconst char msg[] ); ...@@ -356,8 +356,8 @@ static void yy_fatal_error (yyconst char msg[] );
*yy_cp = '\0'; \ *yy_cp = '\0'; \
(yy_c_buf_p) = yy_cp; (yy_c_buf_p) = yy_cp;
#define YY_NUM_RULES 117 #define YY_NUM_RULES 119
#define YY_END_OF_BUFFER 118 #define YY_END_OF_BUFFER 120
/* This struct is not used in this scanner, /* This struct is not used in this scanner,
but its presence is necessary. */ but its presence is necessary. */
struct yy_trans_info struct yy_trans_info
...@@ -365,51 +365,51 @@ struct yy_trans_info ...@@ -365,51 +365,51 @@ struct yy_trans_info
flex_int32_t yy_verify; flex_int32_t yy_verify;
flex_int32_t yy_nxt; flex_int32_t yy_nxt;
}; };
static yyconst flex_int16_t yy_accept[396] = static yyconst flex_int16_t yy_accept[399] =
{ 0, { 0,
0, 0, 112, 112, 0, 0, 0, 0, 118, 116, 0, 0, 114, 114, 0, 0, 0, 0, 120, 118,
115, 115, 8, 116, 107, 5, 96, 102, 105, 103, 117, 117, 8, 118, 109, 5, 98, 104, 107, 105,
100, 104, 116, 106, 1, 116, 101, 99, 97, 98, 102, 106, 118, 108, 1, 118, 103, 101, 99, 100,
110, 90, 90, 90, 90, 90, 90, 90, 90, 90, 112, 92, 92, 92, 92, 92, 92, 92, 92, 92,
90, 90, 90, 90, 90, 90, 90, 90, 90, 108, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
109, 112, 113, 6, 7, 9, 10, 115, 4, 91, 110, 111, 114, 115, 6, 7, 9, 10, 117, 4,
111, 2, 1, 3, 92, 93, 95, 94, 90, 90, 93, 113, 2, 1, 3, 94, 95, 97, 96, 92,
90, 90, 90, 90, 45, 90, 90, 90, 90, 90, 92, 92, 92, 92, 92, 44, 92, 92, 92, 92,
90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
90, 28, 17, 25, 90, 90, 90, 90, 55, 62, 92, 92, 28, 17, 25, 92, 92, 92, 92, 92,
90, 14, 90, 90, 90, 90, 90, 90, 90, 90, 54, 61, 92, 14, 92, 92, 92, 92, 92, 92,
90, 90, 90, 90, 90, 90, 90, 90, 90, 112, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
113, 113, 114, 6, 7, 9, 10, 2, 13, 46, 92, 92, 114, 115, 115, 116, 6, 7, 9, 10,
90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 2, 13, 45, 92, 92, 92, 92, 92, 92, 92,
90, 90, 90, 90, 90, 90, 90, 90, 27, 90, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
90, 90, 41, 90, 90, 90, 90, 21, 90, 90, 92, 27, 92, 92, 92, 41, 92, 92, 92, 92,
15, 90, 90, 90, 18, 90, 90, 90, 90, 90, 21, 92, 92, 92, 92, 15, 92, 92, 92, 18,
81, 90, 90, 90, 52, 12, 90, 36, 90, 90, 92, 92, 92, 92, 92, 80, 92, 92, 92, 51,
90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 92, 12, 92, 36, 92, 92, 92, 92, 92, 92,
90, 90, 20, 24, 90, 90, 90, 90, 90, 90, 92, 92, 92, 92, 92, 92, 92, 92, 20, 24,
90, 90, 90, 90, 90, 47, 90, 90, 30, 90, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
88, 90, 90, 39, 90, 90, 90, 90, 90, 49, 46, 92, 92, 30, 92, 87, 92, 92, 39, 92,
90, 32, 90, 11, 65, 90, 90, 90, 43, 90, 92, 92, 92, 92, 48, 92, 89, 32, 91, 92,
90, 90, 90, 90, 90, 90, 90, 90, 29, 90, 11, 64, 92, 92, 92, 42, 92, 92, 92, 92,
90, 90, 90, 90, 90, 90, 90, 90, 86, 90, 92, 92, 92, 92, 92, 92, 29, 92, 92, 92,
26, 90, 67, 90, 90, 90, 90, 37, 90, 90, 92, 92, 92, 92, 92, 92, 85, 92, 26, 92,
90, 90, 90, 90, 90, 31, 66, 23, 90, 58, 66, 92, 92, 92, 37, 92, 92, 92, 92, 92,
90, 76, 90, 90, 90, 44, 90, 90, 90, 90, 92, 92, 31, 65, 23, 92, 57, 92, 75, 92,
90, 90, 90, 90, 90, 90, 57, 90, 90, 90, 92, 92, 43, 92, 92, 92, 92, 92, 92, 92,
90, 90, 90, 90, 40, 33, 80, 19, 90, 84, 92, 90, 92, 92, 56, 92, 92, 92, 92, 92,
75, 90, 56, 90, 64, 90, 53, 90, 90, 90, 92, 92, 40, 33, 79, 19, 92, 83, 74, 55,
48, 90, 77, 90, 79, 90, 90, 34, 90, 90, 92, 63, 92, 52, 92, 92, 92, 47, 92, 76,
90, 35, 73, 90, 90, 90, 90, 59, 90, 51, 92, 78, 92, 92, 34, 92, 92, 92, 35, 72,
50, 90, 90, 90, 54, 63, 90, 90, 90, 22, 92, 92, 92, 92, 58, 92, 50, 49, 92, 92,
90, 90, 74, 82, 90, 90, 78, 90, 69, 90, 53, 62, 92, 92, 92, 22, 92, 92, 73, 81,
90, 90, 90, 90, 38, 90, 89, 68, 90, 85, 92, 92, 77, 92, 68, 92, 92, 92, 92, 38,
90, 90, 90, 87, 90, 60, 90, 90, 16, 90, 92, 88, 67, 92, 84, 92, 92, 92, 86, 92,
71, 70, 90, 42, 90, 83, 90, 90, 90, 90, 59, 92, 16, 92, 70, 69, 92, 92, 82, 92,
90, 90, 90, 90, 90, 90, 72, 90, 90, 90, 92, 92, 92, 92, 92, 92, 92, 92, 92, 71,
90, 90, 90, 61, 0 92, 92, 92, 92, 92, 92, 60, 0
} ; } ;
...@@ -454,164 +454,164 @@ static yyconst flex_int32_t yy_meta[51] = ...@@ -454,164 +454,164 @@ static yyconst flex_int32_t yy_meta[51] =
5, 5, 5, 5, 5, 5, 5, 5, 1, 1 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, 0, 435, 434, 436, 435, 437, 436, 439, 446, 0, 0, 437, 436, 438, 437, 439, 438, 441, 448,
49, 51, 446, 0, 446, 446, 446, 446, 446, 446, 49, 51, 448, 0, 448, 448, 448, 448, 448, 448,
446, 446, 424, 427, 41, 416, 446, 38, 446, 415, 448, 448, 426, 429, 41, 418, 448, 38, 448, 417,
446, 20, 33, 32, 46, 40, 44, 0, 54, 52, 448, 20, 33, 32, 46, 40, 44, 0, 54, 52,
48, 60, 394, 65, 66, 74, 27, 410, 69, 446, 399, 48, 60, 395, 65, 67, 81, 27, 411, 75,
446, 0, 97, 0, 425, 0, 427, 112, 0, 446, 448, 448, 0, 98, 0, 426, 0, 428, 113, 0,
446, 414, 54, 409, 446, 446, 446, 446, 0, 402, 448, 448, 415, 54, 410, 448, 448, 448, 448, 0,
69, 398, 390, 388, 0, 401, 79, 82, 396, 382, 403, 68, 399, 391, 389, 0, 402, 80, 84, 397,
94, 380, 393, 378, 392, 386, 374, 378, 374, 376, 383, 96, 381, 394, 379, 393, 387, 375, 379, 375,
376, 0, 82, 0, 375, 373, 367, 374, 0, 0, 377, 377, 0, 98, 0, 376, 97, 385, 368, 375,
380, 380, 363, 89, 98, 378, 93, 95, 369, 106, 0, 0, 381, 381, 364, 94, 103, 379, 98, 65,
361, 377, 373, 351, 101, 372, 363, 112, 356, 0, 381, 369, 109, 361, 377, 373, 351, 97, 372, 363,
134, 135, 446, 0, 388, 0, 390, 377, 0, 0, 115, 356, 0, 137, 138, 448, 0, 388, 0, 390,
365, 360, 367, 365, 348, 346, 345, 350, 106, 348, 377, 0, 0, 365, 360, 367, 365, 348, 346, 345,
360, 93, 348, 354, 355, 337, 337, 121, 0, 335, 350, 359, 347, 359, 95, 347, 353, 354, 336, 336,
351, 352, 0, 339, 348, 345, 119, 126, 342, 332, 123, 0, 334, 350, 351, 0, 338, 347, 344, 122,
341, 334, 331, 339, 0, 329, 339, 337, 328, 318, 124, 341, 336, 330, 340, 338, 331, 328, 336, 0,
312, 325, 310, 330, 0, 0, 315, 0, 329, 320, 326, 336, 334, 325, 315, 309, 322, 307, 327, 0,
317, 130, 313, 320, 327, 306, 308, 313, 313, 305, 313, 0, 311, 0, 325, 316, 313, 131, 309, 316,
308, 303, 0, 0, 315, 299, 309, 316, 307, 295, 323, 302, 304, 309, 309, 301, 304, 299, 0, 0,
294, 308, 297, 310, 290, 0, 300, 282, 0, 301, 311, 295, 305, 312, 292, 291, 305, 294, 307, 287,
0, 298, 285, 0, 284, 279, 284, 283, 293, 0, 0, 297, 279, 0, 298, 0, 295, 282, 0, 281,
279, 0, 283, 0, 0, 279, 276, 290, 0, 275, 276, 281, 280, 290, 0, 276, 0, 0, 0, 280,
275, 273, 289, 274, 286, 268, 286, 281, 0, 276, 0, 0, 276, 273, 287, 0, 272, 272, 270, 286,
276, 262, 261, 274, 260, 274, 273, 272, 0, 256, 271, 283, 280, 264, 282, 277, 0, 272, 272, 258,
0, 250, 0, 269, 253, 252, 252, 0, 265, 255, 257, 270, 256, 270, 269, 268, 0, 252, 0, 246,
250, 249, 261, 251, 250, 0, 0, 0, 254, 0, 0, 265, 249, 248, 0, 262, 252, 247, 246, 258,
242, 0, 256, 252, 238, 0, 252, 253, 236, 241, 248, 247, 0, 0, 0, 251, 0, 239, 0, 253,
234, 252, 234, 231, 232, 229, 0, 234, 246, 233, 249, 235, 0, 249, 250, 233, 238, 231, 249, 231,
240, 230, 238, 223, 0, 0, 0, 215, 222, 0, 228, 0, 229, 226, 0, 231, 243, 230, 237, 227,
0, 219, 0, 218, 0, 232, 0, 233, 220, 219, 235, 220, 0, 0, 0, 212, 219, 0, 0, 0,
0, 215, 0, 218, 0, 210, 212, 0, 211, 225, 216, 0, 230, 0, 231, 218, 217, 0, 213, 0,
218, 0, 0, 221, 224, 206, 221, 0, 217, 0, 216, 0, 208, 210, 0, 209, 223, 216, 0, 0,
0, 201, 215, 214, 0, 0, 198, 197, 202, 0, 219, 222, 204, 219, 0, 215, 0, 0, 199, 213,
211, 196, 0, 0, 202, 198, 0, 193, 0, 205, 0, 0, 197, 196, 201, 0, 210, 195, 0, 0,
205, 193, 203, 192, 0, 179, 0, 0, 199, 0, 201, 197, 0, 192, 0, 204, 204, 192, 202, 0,
183, 177, 183, 0, 174, 0, 179, 192, 0, 191, 179, 0, 0, 199, 0, 183, 177, 183, 0, 174,
0, 0, 182, 0, 186, 0, 173, 173, 179, 165, 0, 193, 0, 192, 0, 0, 183, 187, 0, 174,
188, 180, 179, 165, 150, 117, 0, 129, 135, 125, 174, 180, 166, 189, 181, 180, 166, 151, 118, 0,
122, 118, 110, 0, 446, 166, 172, 178, 151, 180, 130, 136, 127, 123, 119, 111, 0, 448, 167, 173,
146, 186, 192, 198, 204 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, { 0,
395, 1, 396, 396, 397, 397, 398, 398, 395, 395, 398, 1, 399, 399, 400, 400, 401, 401, 398, 398,
395, 395, 395, 399, 395, 395, 395, 395, 395, 395, 398, 398, 398, 402, 398, 398, 398, 398, 398, 398,
395, 395, 395, 395, 395, 400, 395, 395, 395, 395, 398, 398, 398, 398, 398, 403, 398, 398, 398, 398,
395, 401, 401, 401, 401, 401, 401, 401, 401, 401, 398, 404, 404, 404, 404, 404, 404, 404, 404, 404,
401, 401, 401, 401, 401, 401, 401, 401, 401, 395, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
395, 402, 403, 404, 395, 405, 395, 395, 399, 395, 398, 398, 405, 406, 407, 398, 408, 398, 398, 402,
395, 395, 395, 400, 395, 395, 395, 395, 401, 401, 398, 398, 398, 398, 403, 398, 398, 398, 398, 404,
401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
401, 401, 401, 401, 401, 401, 401, 401, 401, 402, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
403, 403, 395, 404, 395, 405, 395, 395, 401, 401, 404, 404, 405, 406, 406, 398, 407, 398, 408, 398,
401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 398, 404, 404, 404, 404, 404, 404, 404, 404, 404,
401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
401, 401, 401, 401, 0, 395, 395, 395, 395, 395, 404, 404, 404, 404, 404, 404, 404, 0, 398, 398,
395, 395, 395, 395, 395 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, { 0,
10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
30, 31, 32, 33, 34, 35, 36, 37, 38, 38, 30, 31, 32, 33, 34, 35, 36, 37, 38, 38,
39, 38, 38, 40, 38, 41, 42, 43, 38, 44, 39, 38, 38, 40, 41, 42, 43, 44, 38, 45,
45, 46, 47, 48, 49, 38, 38, 38, 50, 51, 46, 47, 48, 49, 50, 38, 38, 38, 51, 52,
58, 58, 58, 58, 62, 70, 63, 66, 67, 72, 59, 59, 59, 59, 63, 71, 64, 67, 68, 73,
71, 76, 115, 73, 116, 77, 74, 62, 78, 63, 72, 77, 118, 74, 119, 78, 75, 63, 79, 64,
87, 79, 81, 84, 80, 85, 82, 88, 95, 75, 88, 80, 82, 85, 81, 86, 83, 89, 96, 76,
89, 92, 83, 90, 97, 86, 91, 99, 96, 93, 90, 93, 84, 91, 99, 87, 92, 101, 97, 94,
98, 105, 108, 130, 94, 100, 112, 101, 118, 102, 100, 107, 133, 110, 95, 102, 111, 103, 179, 104,
106, 107, 103, 113, 109, 119, 122, 156, 110, 131, 108, 109, 105, 115, 121, 112, 180, 125, 134, 113,
114, 123, 111, 58, 58, 136, 138, 139, 143, 166, 116, 122, 126, 114, 59, 59, 139, 117, 141, 142,
168, 137, 157, 158, 140, 167, 172, 144, 174, 177, 146, 163, 140, 159, 171, 173, 143, 189, 70, 147,
198, 183, 202, 203, 145, 169, 175, 173, 187, 170, 172, 177, 183, 164, 207, 208, 148, 190, 160, 161,
178, 184, 188, 395, 122, 217, 199, 209, 395, 123, 174, 193, 178, 184, 175, 194, 398, 125, 222, 214,
69, 210, 219, 240, 241, 59, 394, 393, 392, 391, 224, 398, 126, 215, 248, 249, 60, 397, 396, 395,
218, 390, 220, 389, 388, 242, 52, 52, 52, 52, 225, 394, 393, 223, 392, 391, 250, 53, 53, 53,
52, 52, 54, 54, 54, 54, 54, 54, 56, 56, 53, 53, 53, 55, 55, 55, 55, 55, 55, 57,
56, 56, 56, 56, 64, 64, 120, 120, 120, 387, 57, 57, 57, 57, 57, 65, 65, 123, 123, 123,
120, 120, 121, 121, 121, 121, 121, 121, 124, 124, 390, 123, 123, 124, 124, 124, 124, 124, 124, 127,
386, 124, 124, 124, 126, 385, 126, 126, 126, 126, 127, 389, 127, 127, 127, 129, 388, 129, 129, 129,
384, 383, 382, 381, 380, 379, 378, 377, 376, 375, 129, 387, 386, 385, 384, 383, 382, 381, 380, 379,
374, 373, 372, 371, 370, 369, 368, 367, 366, 365, 378, 377, 376, 375, 374, 373, 372, 371, 370, 369,
364, 363, 362, 361, 360, 359, 358, 357, 356, 355, 368, 367, 366, 365, 364, 363, 362, 361, 360, 359,
354, 353, 352, 351, 350, 349, 348, 347, 346, 345, 358, 357, 356, 355, 354, 353, 352, 351, 350, 349,
344, 343, 342, 341, 340, 339, 338, 337, 336, 335, 348, 347, 346, 345, 344, 343, 342, 341, 340, 339,
334, 333, 332, 331, 330, 329, 328, 327, 326, 325, 338, 337, 336, 335, 334, 333, 332, 331, 330, 329,
324, 323, 322, 321, 320, 319, 318, 317, 316, 315, 328, 327, 326, 325, 324, 323, 322, 321, 320, 319,
314, 313, 312, 311, 310, 309, 308, 307, 306, 305, 318, 317, 316, 315, 314, 313, 312, 311, 310, 309,
304, 303, 302, 301, 300, 299, 298, 297, 296, 295, 308, 307, 306, 305, 304, 303, 302, 301, 300, 299,
294, 293, 292, 291, 290, 289, 288, 287, 286, 285, 298, 297, 296, 295, 294, 293, 292, 291, 290, 289,
284, 283, 282, 281, 280, 279, 278, 277, 276, 275, 288, 287, 286, 285, 284, 283, 282, 281, 280, 279,
274, 273, 272, 271, 270, 269, 268, 267, 266, 265, 278, 277, 276, 275, 274, 273, 272, 271, 270, 269,
264, 263, 262, 261, 260, 259, 258, 257, 256, 255, 268, 267, 266, 265, 264, 263, 262, 261, 260, 259,
254, 253, 252, 251, 250, 249, 248, 247, 246, 245, 258, 257, 256, 255, 254, 253, 252, 251, 247, 246,
244, 243, 239, 238, 237, 236, 235, 234, 233, 232, 245, 244, 243, 242, 241, 240, 239, 238, 237, 236,
231, 230, 229, 228, 227, 226, 225, 224, 223, 222, 235, 234, 233, 232, 231, 230, 229, 228, 227, 226,
221, 216, 215, 214, 213, 212, 211, 208, 207, 206, 221, 220, 219, 218, 217, 216, 213, 212, 211, 210,
205, 204, 201, 200, 197, 196, 195, 194, 193, 192, 209, 206, 205, 204, 203, 202, 201, 200, 199, 198,
191, 190, 128, 127, 125, 189, 186, 185, 182, 181, 197, 196, 131, 130, 128, 195, 192, 191, 188, 187,
180, 179, 176, 171, 165, 164, 163, 162, 161, 160, 186, 185, 182, 181, 176, 170, 169, 168, 167, 166,
159, 155, 154, 153, 152, 151, 150, 149, 148, 147, 165, 162, 158, 157, 156, 155, 154, 153, 152, 151,
146, 142, 141, 135, 134, 133, 132, 129, 395, 128, 150, 149, 145, 144, 138, 137, 136, 135, 132, 398,
127, 125, 117, 104, 68, 65, 61, 60, 395, 57, 131, 130, 128, 120, 106, 98, 69, 66, 62, 61,
57, 55, 55, 53, 53, 9, 395, 395, 395, 395, 398, 58, 58, 56, 56, 54, 54, 9, 398, 398,
395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
395, 395, 395, 395, 395, 395 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, { 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
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] = ...@@ -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,
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, 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, 34, 35, 36, 34, 36, 35, 37, 40, 33,
37, 39, 35, 37, 41, 36, 37, 42, 40, 39, 37, 39, 35, 37, 42, 36, 37, 43, 40, 39,
41, 44, 45, 71, 39, 42, 46, 42, 49, 42, 42, 45, 72, 46, 39, 43, 46, 43, 110, 43,
44, 44, 42, 46, 45, 49, 53, 93, 45, 71, 45, 45, 43, 47, 50, 46, 110, 54, 72, 46,
46, 53, 45, 58, 58, 77, 78, 78, 81, 104, 47, 50, 54, 46, 59, 59, 78, 47, 79, 79,
105, 77, 93, 93, 78, 104, 107, 81, 108, 110, 82, 97, 78, 94, 106, 107, 79, 118, 404, 82,
139, 115, 142, 142, 81, 105, 108, 107, 118, 105, 106, 109, 113, 97, 145, 145, 82, 118, 94, 94,
110, 115, 118, 121, 122, 157, 139, 148, 121, 122, 107, 121, 109, 113, 107, 121, 124, 125, 160, 151,
401, 148, 158, 182, 182, 399, 393, 392, 391, 390, 161, 124, 125, 151, 188, 188, 402, 396, 395, 394,
157, 389, 158, 388, 386, 182, 396, 396, 396, 396, 161, 393, 392, 160, 391, 389, 188, 399, 399, 399,
396, 396, 397, 397, 397, 397, 397, 397, 398, 398, 399, 399, 399, 400, 400, 400, 400, 400, 400, 401,
398, 398, 398, 398, 400, 400, 402, 402, 402, 385, 401, 401, 401, 401, 401, 403, 403, 405, 405, 405,
402, 402, 403, 403, 403, 403, 403, 403, 404, 404, 388, 405, 405, 406, 406, 406, 406, 406, 406, 407,
384, 404, 404, 404, 405, 383, 405, 405, 405, 405, 407, 387, 407, 407, 407, 408, 386, 408, 408, 408,
382, 381, 380, 379, 378, 377, 375, 373, 370, 368, 408, 385, 384, 383, 382, 381, 380, 378, 377, 374,
367, 365, 363, 362, 361, 359, 356, 354, 353, 352, 372, 370, 368, 367, 366, 364, 361, 359, 358, 357,
351, 350, 348, 346, 345, 342, 341, 339, 338, 337, 356, 354, 352, 351, 348, 347, 345, 344, 343, 340,
334, 333, 332, 329, 327, 326, 325, 324, 321, 320, 339, 336, 334, 333, 332, 331, 328, 327, 326, 324,
319, 317, 316, 314, 312, 310, 309, 308, 306, 304, 323, 321, 319, 317, 316, 315, 313, 311, 307, 306,
302, 299, 298, 294, 293, 292, 291, 290, 289, 288, 302, 301, 300, 299, 298, 297, 296, 294, 293, 291,
286, 285, 284, 283, 282, 281, 280, 279, 278, 277, 290, 289, 288, 287, 286, 285, 284, 282, 281, 280,
275, 274, 273, 271, 269, 265, 264, 263, 262, 261, 278, 276, 272, 271, 270, 269, 268, 267, 266, 264,
260, 259, 257, 256, 255, 254, 252, 250, 248, 247, 263, 262, 260, 258, 256, 255, 254, 253, 252, 251,
246, 245, 244, 243, 242, 241, 240, 238, 237, 236, 250, 249, 248, 246, 245, 244, 243, 242, 241, 240,
235, 234, 233, 232, 231, 230, 228, 227, 226, 223, 239, 238, 237, 235, 234, 233, 230, 226, 224, 223,
221, 219, 218, 217, 216, 215, 213, 212, 210, 208, 222, 221, 220, 218, 217, 215, 213, 212, 210, 209,
207, 205, 204, 203, 202, 201, 200, 199, 198, 197, 208, 207, 206, 205, 204, 203, 202, 201, 198, 197,
196, 195, 192, 191, 190, 189, 188, 187, 186, 185, 196, 195, 194, 193, 192, 191, 190, 189, 187, 186,
184, 183, 181, 180, 179, 177, 174, 173, 172, 171, 185, 183, 181, 179, 178, 177, 176, 175, 174, 173,
170, 169, 168, 167, 166, 164, 163, 162, 161, 160, 172, 171, 169, 168, 167, 166, 165, 164, 163, 162,
159, 156, 155, 154, 152, 151, 150, 147, 146, 145, 159, 158, 157, 155, 154, 153, 150, 149, 148, 147,
144, 143, 141, 140, 138, 137, 136, 135, 134, 133, 146, 144, 143, 142, 141, 140, 139, 138, 137, 136,
132, 131, 128, 127, 125, 119, 117, 116, 114, 113, 135, 134, 131, 130, 128, 122, 120, 119, 117, 116,
112, 111, 109, 106, 103, 102, 101, 98, 97, 96, 115, 114, 112, 111, 108, 105, 104, 103, 100, 99,
95, 91, 90, 89, 88, 87, 86, 85, 84, 83, 98, 96, 92, 91, 90, 89, 88, 87, 86, 85,
82, 80, 79, 76, 74, 73, 72, 70, 64, 62, 84, 83, 81, 80, 77, 75, 74, 73, 71, 65,
57, 55, 48, 43, 30, 26, 24, 23, 9, 8, 63, 58, 56, 49, 44, 41, 30, 26, 24, 23,
7, 6, 5, 4, 3, 395, 395, 395, 395, 395, 9, 8, 7, 6, 5, 4, 3, 398, 398, 398,
395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
395, 395, 395, 395, 395, 395 398, 398, 398, 398, 398, 398, 398, 398
} ; } ;
...@@ -964,13 +964,13 @@ yy_match: ...@@ -964,13 +964,13 @@ yy_match:
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{ {
yy_current_state = (int) yy_def[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_c = yy_meta[(unsigned int) yy_c];
} }
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
++yy_cp; ++yy_cp;
} }
while ( yy_current_state != 395 ); while ( yy_current_state != 398 );
yy_cp = (yy_last_accepting_cpos); yy_cp = (yy_last_accepting_cpos);
yy_current_state = (yy_last_accepting_state); yy_current_state = (yy_last_accepting_state);
...@@ -1357,402 +1357,400 @@ case 42: ...@@ -1357,402 +1357,400 @@ case 42:
YY_RULE_SETUP YY_RULE_SETUP
#line 328 "pars0lex.l" #line 328 "pars0lex.l"
{ {
return(PARS_CONSISTENT_TOKEN); return(PARS_READ_TOKEN);
} }
YY_BREAK YY_BREAK
case 43: case 43:
YY_RULE_SETUP YY_RULE_SETUP
#line 332 "pars0lex.l" #line 332 "pars0lex.l"
{ {
return(PARS_READ_TOKEN); return(PARS_ORDER_TOKEN);
} }
YY_BREAK YY_BREAK
case 44: case 44:
YY_RULE_SETUP YY_RULE_SETUP
#line 336 "pars0lex.l" #line 336 "pars0lex.l"
{ {
return(PARS_ORDER_TOKEN); return(PARS_BY_TOKEN);
} }
YY_BREAK YY_BREAK
case 45: case 45:
YY_RULE_SETUP YY_RULE_SETUP
#line 340 "pars0lex.l" #line 340 "pars0lex.l"
{ {
return(PARS_BY_TOKEN); return(PARS_ASC_TOKEN);
} }
YY_BREAK YY_BREAK
case 46: case 46:
YY_RULE_SETUP YY_RULE_SETUP
#line 344 "pars0lex.l" #line 344 "pars0lex.l"
{ {
return(PARS_ASC_TOKEN); return(PARS_DESC_TOKEN);
} }
YY_BREAK YY_BREAK
case 47: case 47:
YY_RULE_SETUP YY_RULE_SETUP
#line 348 "pars0lex.l" #line 348 "pars0lex.l"
{ {
return(PARS_DESC_TOKEN); return(PARS_INSERT_TOKEN);
} }
YY_BREAK YY_BREAK
case 48: case 48:
YY_RULE_SETUP YY_RULE_SETUP
#line 352 "pars0lex.l" #line 352 "pars0lex.l"
{ {
return(PARS_INSERT_TOKEN); return(PARS_INTO_TOKEN);
} }
YY_BREAK YY_BREAK
case 49: case 49:
YY_RULE_SETUP YY_RULE_SETUP
#line 356 "pars0lex.l" #line 356 "pars0lex.l"
{ {
return(PARS_INTO_TOKEN); return(PARS_VALUES_TOKEN);
} }
YY_BREAK YY_BREAK
case 50: case 50:
YY_RULE_SETUP YY_RULE_SETUP
#line 360 "pars0lex.l" #line 360 "pars0lex.l"
{ {
return(PARS_VALUES_TOKEN); return(PARS_UPDATE_TOKEN);
} }
YY_BREAK YY_BREAK
case 51: case 51:
YY_RULE_SETUP YY_RULE_SETUP
#line 364 "pars0lex.l" #line 364 "pars0lex.l"
{ {
return(PARS_UPDATE_TOKEN); return(PARS_SET_TOKEN);
} }
YY_BREAK YY_BREAK
case 52: case 52:
YY_RULE_SETUP YY_RULE_SETUP
#line 368 "pars0lex.l" #line 368 "pars0lex.l"
{ {
return(PARS_SET_TOKEN); return(PARS_DELETE_TOKEN);
} }
YY_BREAK YY_BREAK
case 53: case 53:
YY_RULE_SETUP YY_RULE_SETUP
#line 372 "pars0lex.l" #line 372 "pars0lex.l"
{ {
return(PARS_DELETE_TOKEN); return(PARS_CURRENT_TOKEN);
} }
YY_BREAK YY_BREAK
case 54: case 54:
YY_RULE_SETUP YY_RULE_SETUP
#line 376 "pars0lex.l" #line 376 "pars0lex.l"
{ {
return(PARS_CURRENT_TOKEN); return(PARS_OF_TOKEN);
} }
YY_BREAK YY_BREAK
case 55: case 55:
YY_RULE_SETUP YY_RULE_SETUP
#line 380 "pars0lex.l" #line 380 "pars0lex.l"
{ {
return(PARS_OF_TOKEN); return(PARS_CREATE_TOKEN);
} }
YY_BREAK YY_BREAK
case 56: case 56:
YY_RULE_SETUP YY_RULE_SETUP
#line 384 "pars0lex.l" #line 384 "pars0lex.l"
{ {
return(PARS_CREATE_TOKEN); return(PARS_TABLE_TOKEN);
} }
YY_BREAK YY_BREAK
case 57: case 57:
YY_RULE_SETUP YY_RULE_SETUP
#line 388 "pars0lex.l" #line 388 "pars0lex.l"
{ {
return(PARS_TABLE_TOKEN); return(PARS_INDEX_TOKEN);
} }
YY_BREAK YY_BREAK
case 58: case 58:
YY_RULE_SETUP YY_RULE_SETUP
#line 392 "pars0lex.l" #line 392 "pars0lex.l"
{ {
return(PARS_INDEX_TOKEN); return(PARS_UNIQUE_TOKEN);
} }
YY_BREAK YY_BREAK
case 59: case 59:
YY_RULE_SETUP YY_RULE_SETUP
#line 396 "pars0lex.l" #line 396 "pars0lex.l"
{ {
return(PARS_UNIQUE_TOKEN); return(PARS_CLUSTERED_TOKEN);
} }
YY_BREAK YY_BREAK
case 60: case 60:
YY_RULE_SETUP YY_RULE_SETUP
#line 400 "pars0lex.l" #line 400 "pars0lex.l"
{ {
return(PARS_CLUSTERED_TOKEN); return(PARS_DOES_NOT_FIT_IN_MEM_TOKEN);
} }
YY_BREAK YY_BREAK
case 61: case 61:
YY_RULE_SETUP YY_RULE_SETUP
#line 404 "pars0lex.l" #line 404 "pars0lex.l"
{ {
return(PARS_DOES_NOT_FIT_IN_MEM_TOKEN); return(PARS_ON_TOKEN);
} }
YY_BREAK YY_BREAK
case 62: case 62:
YY_RULE_SETUP YY_RULE_SETUP
#line 408 "pars0lex.l" #line 408 "pars0lex.l"
{ {
return(PARS_ON_TOKEN); return(PARS_DECLARE_TOKEN);
} }
YY_BREAK YY_BREAK
case 63: case 63:
YY_RULE_SETUP YY_RULE_SETUP
#line 412 "pars0lex.l" #line 412 "pars0lex.l"
{ {
return(PARS_DECLARE_TOKEN); return(PARS_CURSOR_TOKEN);
} }
YY_BREAK YY_BREAK
case 64: case 64:
YY_RULE_SETUP YY_RULE_SETUP
#line 416 "pars0lex.l" #line 416 "pars0lex.l"
{ {
return(PARS_CURSOR_TOKEN); return(PARS_OPEN_TOKEN);
} }
YY_BREAK YY_BREAK
case 65: case 65:
YY_RULE_SETUP YY_RULE_SETUP
#line 420 "pars0lex.l" #line 420 "pars0lex.l"
{ {
return(PARS_OPEN_TOKEN); return(PARS_FETCH_TOKEN);
} }
YY_BREAK YY_BREAK
case 66: case 66:
YY_RULE_SETUP YY_RULE_SETUP
#line 424 "pars0lex.l" #line 424 "pars0lex.l"
{ {
return(PARS_FETCH_TOKEN); return(PARS_CLOSE_TOKEN);
} }
YY_BREAK YY_BREAK
case 67: case 67:
YY_RULE_SETUP YY_RULE_SETUP
#line 428 "pars0lex.l" #line 428 "pars0lex.l"
{ {
return(PARS_CLOSE_TOKEN); return(PARS_NOTFOUND_TOKEN);
} }
YY_BREAK YY_BREAK
case 68: case 68:
YY_RULE_SETUP YY_RULE_SETUP
#line 432 "pars0lex.l" #line 432 "pars0lex.l"
{ {
return(PARS_NOTFOUND_TOKEN); return(PARS_TO_CHAR_TOKEN);
} }
YY_BREAK YY_BREAK
case 69: case 69:
YY_RULE_SETUP YY_RULE_SETUP
#line 436 "pars0lex.l" #line 436 "pars0lex.l"
{ {
return(PARS_TO_CHAR_TOKEN); return(PARS_TO_NUMBER_TOKEN);
} }
YY_BREAK YY_BREAK
case 70: case 70:
YY_RULE_SETUP YY_RULE_SETUP
#line 440 "pars0lex.l" #line 440 "pars0lex.l"
{ {
return(PARS_TO_NUMBER_TOKEN); return(PARS_TO_BINARY_TOKEN);
} }
YY_BREAK YY_BREAK
case 71: case 71:
YY_RULE_SETUP YY_RULE_SETUP
#line 444 "pars0lex.l" #line 444 "pars0lex.l"
{ {
return(PARS_TO_BINARY_TOKEN); return(PARS_BINARY_TO_NUMBER_TOKEN);
} }
YY_BREAK YY_BREAK
case 72: case 72:
YY_RULE_SETUP YY_RULE_SETUP
#line 448 "pars0lex.l" #line 448 "pars0lex.l"
{ {
return(PARS_BINARY_TO_NUMBER_TOKEN); return(PARS_SUBSTR_TOKEN);
} }
YY_BREAK YY_BREAK
case 73: case 73:
YY_RULE_SETUP YY_RULE_SETUP
#line 452 "pars0lex.l" #line 452 "pars0lex.l"
{ {
return(PARS_SUBSTR_TOKEN); return(PARS_REPLSTR_TOKEN);
} }
YY_BREAK YY_BREAK
case 74: case 74:
YY_RULE_SETUP YY_RULE_SETUP
#line 456 "pars0lex.l" #line 456 "pars0lex.l"
{ {
return(PARS_REPLSTR_TOKEN); return(PARS_CONCAT_TOKEN);
} }
YY_BREAK YY_BREAK
case 75: case 75:
YY_RULE_SETUP YY_RULE_SETUP
#line 460 "pars0lex.l" #line 460 "pars0lex.l"
{ {
return(PARS_CONCAT_TOKEN); return(PARS_INSTR_TOKEN);
} }
YY_BREAK YY_BREAK
case 76: case 76:
YY_RULE_SETUP YY_RULE_SETUP
#line 464 "pars0lex.l" #line 464 "pars0lex.l"
{ {
return(PARS_INSTR_TOKEN); return(PARS_LENGTH_TOKEN);
} }
YY_BREAK YY_BREAK
case 77: case 77:
YY_RULE_SETUP YY_RULE_SETUP
#line 468 "pars0lex.l" #line 468 "pars0lex.l"
{ {
return(PARS_LENGTH_TOKEN); return(PARS_SYSDATE_TOKEN);
} }
YY_BREAK YY_BREAK
case 78: case 78:
YY_RULE_SETUP YY_RULE_SETUP
#line 472 "pars0lex.l" #line 472 "pars0lex.l"
{ {
return(PARS_SYSDATE_TOKEN); return(PARS_PRINTF_TOKEN);
} }
YY_BREAK YY_BREAK
case 79: case 79:
YY_RULE_SETUP YY_RULE_SETUP
#line 476 "pars0lex.l" #line 476 "pars0lex.l"
{ {
return(PARS_PRINTF_TOKEN); return(PARS_ASSERT_TOKEN);
} }
YY_BREAK YY_BREAK
case 80: case 80:
YY_RULE_SETUP YY_RULE_SETUP
#line 480 "pars0lex.l" #line 480 "pars0lex.l"
{ {
return(PARS_ASSERT_TOKEN); return(PARS_RND_TOKEN);
} }
YY_BREAK YY_BREAK
case 81: case 81:
YY_RULE_SETUP YY_RULE_SETUP
#line 484 "pars0lex.l" #line 484 "pars0lex.l"
{ {
return(PARS_RND_TOKEN); return(PARS_RND_STR_TOKEN);
} }
YY_BREAK YY_BREAK
case 82: case 82:
YY_RULE_SETUP YY_RULE_SETUP
#line 488 "pars0lex.l" #line 488 "pars0lex.l"
{ {
return(PARS_RND_STR_TOKEN); return(PARS_ROW_PRINTF_TOKEN);
} }
YY_BREAK YY_BREAK
case 83: case 83:
YY_RULE_SETUP YY_RULE_SETUP
#line 492 "pars0lex.l" #line 492 "pars0lex.l"
{ {
return(PARS_ROW_PRINTF_TOKEN); return(PARS_COMMIT_TOKEN);
} }
YY_BREAK YY_BREAK
case 84: case 84:
YY_RULE_SETUP YY_RULE_SETUP
#line 496 "pars0lex.l" #line 496 "pars0lex.l"
{ {
return(PARS_COMMIT_TOKEN); return(PARS_ROLLBACK_TOKEN);
} }
YY_BREAK YY_BREAK
case 85: case 85:
YY_RULE_SETUP YY_RULE_SETUP
#line 500 "pars0lex.l" #line 500 "pars0lex.l"
{ {
return(PARS_ROLLBACK_TOKEN); return(PARS_WORK_TOKEN);
} }
YY_BREAK YY_BREAK
case 86: case 86:
YY_RULE_SETUP YY_RULE_SETUP
#line 504 "pars0lex.l" #line 504 "pars0lex.l"
{ {
return(PARS_WORK_TOKEN); return(PARS_UNSIGNED_TOKEN);
} }
YY_BREAK YY_BREAK
case 87: case 87:
YY_RULE_SETUP YY_RULE_SETUP
#line 508 "pars0lex.l" #line 508 "pars0lex.l"
{ {
return(PARS_UNSIGNED_TOKEN); return(PARS_EXIT_TOKEN);
} }
YY_BREAK YY_BREAK
case 88: case 88:
YY_RULE_SETUP YY_RULE_SETUP
#line 512 "pars0lex.l" #line 512 "pars0lex.l"
{ {
return(PARS_EXIT_TOKEN); return(PARS_FUNCTION_TOKEN);
} }
YY_BREAK YY_BREAK
case 89: case 89:
YY_RULE_SETUP YY_RULE_SETUP
#line 516 "pars0lex.l" #line 516 "pars0lex.l"
{ {
return(PARS_FUNCTION_TOKEN); return(PARS_LOCK_TOKEN);
} }
YY_BREAK YY_BREAK
case 90: case 90:
YY_RULE_SETUP YY_RULE_SETUP
#line 520 "pars0lex.l" #line 520 "pars0lex.l"
{ {
yylval = sym_tab_add_id(pars_sym_tab_global, return(PARS_SHARE_TOKEN);
(byte*)yytext,
ut_strlen(yytext));
return(PARS_ID_TOKEN);
} }
YY_BREAK YY_BREAK
case 91: case 91:
YY_RULE_SETUP YY_RULE_SETUP
#line 527 "pars0lex.l" #line 524 "pars0lex.l"
{ {
return(PARS_DDOT_TOKEN); return(PARS_MODE_TOKEN);
} }
YY_BREAK YY_BREAK
case 92: case 92:
YY_RULE_SETUP 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 YY_BREAK
case 93: case 93:
YY_RULE_SETUP YY_RULE_SETUP
#line 535 "pars0lex.l" #line 535 "pars0lex.l"
{ {
return(PARS_LE_TOKEN); return(PARS_DDOT_TOKEN);
} }
YY_BREAK YY_BREAK
case 94: case 94:
YY_RULE_SETUP YY_RULE_SETUP
#line 539 "pars0lex.l" #line 539 "pars0lex.l"
{ {
return(PARS_GE_TOKEN); return(PARS_ASSIGN_TOKEN);
} }
YY_BREAK YY_BREAK
case 95: case 95:
YY_RULE_SETUP YY_RULE_SETUP
#line 543 "pars0lex.l" #line 543 "pars0lex.l"
{ {
return(PARS_NE_TOKEN); return(PARS_LE_TOKEN);
} }
YY_BREAK YY_BREAK
case 96: case 96:
YY_RULE_SETUP YY_RULE_SETUP
#line 547 "pars0lex.l" #line 547 "pars0lex.l"
{ {
return(PARS_GE_TOKEN);
return((int)(*yytext));
} }
YY_BREAK YY_BREAK
case 97: case 97:
YY_RULE_SETUP YY_RULE_SETUP
#line 552 "pars0lex.l" #line 551 "pars0lex.l"
{ {
return(PARS_NE_TOKEN);
return((int)(*yytext));
} }
YY_BREAK YY_BREAK
case 98: case 98:
YY_RULE_SETUP YY_RULE_SETUP
#line 557 "pars0lex.l" #line 555 "pars0lex.l"
{ {
return((int)(*yytext)); return((int)(*yytext));
...@@ -1760,7 +1758,7 @@ YY_RULE_SETUP ...@@ -1760,7 +1758,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 99: case 99:
YY_RULE_SETUP YY_RULE_SETUP
#line 562 "pars0lex.l" #line 560 "pars0lex.l"
{ {
return((int)(*yytext)); return((int)(*yytext));
...@@ -1768,7 +1766,7 @@ YY_RULE_SETUP ...@@ -1768,7 +1766,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 100: case 100:
YY_RULE_SETUP YY_RULE_SETUP
#line 567 "pars0lex.l" #line 565 "pars0lex.l"
{ {
return((int)(*yytext)); return((int)(*yytext));
...@@ -1776,7 +1774,7 @@ YY_RULE_SETUP ...@@ -1776,7 +1774,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 101: case 101:
YY_RULE_SETUP YY_RULE_SETUP
#line 572 "pars0lex.l" #line 570 "pars0lex.l"
{ {
return((int)(*yytext)); return((int)(*yytext));
...@@ -1784,7 +1782,7 @@ YY_RULE_SETUP ...@@ -1784,7 +1782,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 102: case 102:
YY_RULE_SETUP YY_RULE_SETUP
#line 577 "pars0lex.l" #line 575 "pars0lex.l"
{ {
return((int)(*yytext)); return((int)(*yytext));
...@@ -1792,7 +1790,7 @@ YY_RULE_SETUP ...@@ -1792,7 +1790,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 103: case 103:
YY_RULE_SETUP YY_RULE_SETUP
#line 582 "pars0lex.l" #line 580 "pars0lex.l"
{ {
return((int)(*yytext)); return((int)(*yytext));
...@@ -1800,7 +1798,7 @@ YY_RULE_SETUP ...@@ -1800,7 +1798,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 104: case 104:
YY_RULE_SETUP YY_RULE_SETUP
#line 587 "pars0lex.l" #line 585 "pars0lex.l"
{ {
return((int)(*yytext)); return((int)(*yytext));
...@@ -1808,7 +1806,7 @@ YY_RULE_SETUP ...@@ -1808,7 +1806,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 105: case 105:
YY_RULE_SETUP YY_RULE_SETUP
#line 592 "pars0lex.l" #line 590 "pars0lex.l"
{ {
return((int)(*yytext)); return((int)(*yytext));
...@@ -1816,7 +1814,7 @@ YY_RULE_SETUP ...@@ -1816,7 +1814,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 106: case 106:
YY_RULE_SETUP YY_RULE_SETUP
#line 597 "pars0lex.l" #line 595 "pars0lex.l"
{ {
return((int)(*yytext)); return((int)(*yytext));
...@@ -1824,7 +1822,7 @@ YY_RULE_SETUP ...@@ -1824,7 +1822,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 107: case 107:
YY_RULE_SETUP YY_RULE_SETUP
#line 602 "pars0lex.l" #line 600 "pars0lex.l"
{ {
return((int)(*yytext)); return((int)(*yytext));
...@@ -1832,7 +1830,7 @@ YY_RULE_SETUP ...@@ -1832,7 +1830,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 108: case 108:
YY_RULE_SETUP YY_RULE_SETUP
#line 607 "pars0lex.l" #line 605 "pars0lex.l"
{ {
return((int)(*yytext)); return((int)(*yytext));
...@@ -1840,7 +1838,7 @@ YY_RULE_SETUP ...@@ -1840,7 +1838,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 109: case 109:
YY_RULE_SETUP YY_RULE_SETUP
#line 612 "pars0lex.l" #line 610 "pars0lex.l"
{ {
return((int)(*yytext)); return((int)(*yytext));
...@@ -1848,7 +1846,7 @@ YY_RULE_SETUP ...@@ -1848,7 +1846,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 110: case 110:
YY_RULE_SETUP YY_RULE_SETUP
#line 617 "pars0lex.l" #line 615 "pars0lex.l"
{ {
return((int)(*yytext)); return((int)(*yytext));
...@@ -1856,35 +1854,51 @@ YY_RULE_SETUP ...@@ -1856,35 +1854,51 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 111: case 111:
YY_RULE_SETUP YY_RULE_SETUP
#line 622 "pars0lex.l" #line 620 "pars0lex.l"
BEGIN(comment); /* eat up comment */ {
return((int)(*yytext));
}
YY_BREAK YY_BREAK
case 112: case 112:
/* rule 112 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 624 "pars0lex.l" #line 625 "pars0lex.l"
{
return((int)(*yytext));
}
YY_BREAK YY_BREAK
case 113: case 113:
/* rule 113 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 625 "pars0lex.l" #line 630 "pars0lex.l"
BEGIN(comment); /* eat up comment */
YY_BREAK YY_BREAK
case 114: case 114:
/* rule 114 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 626 "pars0lex.l" #line 632 "pars0lex.l"
BEGIN(INITIAL);
YY_BREAK YY_BREAK
case 115: case 115:
/* rule 115 can match eol */ /* rule 115 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 628 "pars0lex.l" #line 633 "pars0lex.l"
/* eat up whitespace */
YY_BREAK YY_BREAK
case 116: case 116:
YY_RULE_SETUP 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", fprintf(stderr,"Unrecognized character: %02x\n",
*yytext); *yytext);
...@@ -1894,12 +1908,12 @@ YY_RULE_SETUP ...@@ -1894,12 +1908,12 @@ YY_RULE_SETUP
return(0); return(0);
} }
YY_BREAK YY_BREAK
case 117: case 119:
YY_RULE_SETUP YY_RULE_SETUP
#line 640 "pars0lex.l" #line 648 "pars0lex.l"
YY_FATAL_ERROR( "flex scanner jammed" ); YY_FATAL_ERROR( "flex scanner jammed" );
YY_BREAK YY_BREAK
#line 1902 "_flex_tmp.c" #line 1916 "_flex_tmp.c"
case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(comment): case YY_STATE_EOF(comment):
case YY_STATE_EOF(quoted): case YY_STATE_EOF(quoted):
...@@ -2187,7 +2201,7 @@ static int yy_get_next_buffer (void) ...@@ -2187,7 +2201,7 @@ static int yy_get_next_buffer (void)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{ {
yy_current_state = (int) yy_def[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_c = yy_meta[(unsigned int) yy_c];
} }
yy_current_state = yy_nxt[yy_base[yy_current_state] + (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) ...@@ -2215,11 +2229,11 @@ static int yy_get_next_buffer (void)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{ {
yy_current_state = (int) yy_def[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_c = yy_meta[(unsigned int) yy_c];
} }
yy_current_state = yy_nxt[yy_base[yy_current_state] + (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; return yy_is_jam ? 0 : yy_current_state;
} }
...@@ -2742,7 +2756,7 @@ void yyfree (void * ptr ) ...@@ -2742,7 +2756,7 @@ void yyfree (void * ptr )
#undef YY_DECL_IS_OURS #undef YY_DECL_IS_OURS
#undef YY_DECL #undef YY_DECL
#endif #endif
#line 640 "pars0lex.l" #line 648 "pars0lex.l"
...@@ -93,57 +93,59 @@ ...@@ -93,57 +93,59 @@
PARS_WHERE_TOKEN = 295, PARS_WHERE_TOKEN = 295,
PARS_FOR_TOKEN = 296, PARS_FOR_TOKEN = 296,
PARS_DDOT_TOKEN = 297, PARS_DDOT_TOKEN = 297,
PARS_CONSISTENT_TOKEN = 298, PARS_READ_TOKEN = 298,
PARS_READ_TOKEN = 299, PARS_ORDER_TOKEN = 299,
PARS_ORDER_TOKEN = 300, PARS_BY_TOKEN = 300,
PARS_BY_TOKEN = 301, PARS_ASC_TOKEN = 301,
PARS_ASC_TOKEN = 302, PARS_DESC_TOKEN = 302,
PARS_DESC_TOKEN = 303, PARS_INSERT_TOKEN = 303,
PARS_INSERT_TOKEN = 304, PARS_INTO_TOKEN = 304,
PARS_INTO_TOKEN = 305, PARS_VALUES_TOKEN = 305,
PARS_VALUES_TOKEN = 306, PARS_UPDATE_TOKEN = 306,
PARS_UPDATE_TOKEN = 307, PARS_SET_TOKEN = 307,
PARS_SET_TOKEN = 308, PARS_DELETE_TOKEN = 308,
PARS_DELETE_TOKEN = 309, PARS_CURRENT_TOKEN = 309,
PARS_CURRENT_TOKEN = 310, PARS_OF_TOKEN = 310,
PARS_OF_TOKEN = 311, PARS_CREATE_TOKEN = 311,
PARS_CREATE_TOKEN = 312, PARS_TABLE_TOKEN = 312,
PARS_TABLE_TOKEN = 313, PARS_INDEX_TOKEN = 313,
PARS_INDEX_TOKEN = 314, PARS_UNIQUE_TOKEN = 314,
PARS_UNIQUE_TOKEN = 315, PARS_CLUSTERED_TOKEN = 315,
PARS_CLUSTERED_TOKEN = 316, PARS_DOES_NOT_FIT_IN_MEM_TOKEN = 316,
PARS_DOES_NOT_FIT_IN_MEM_TOKEN = 317, PARS_ON_TOKEN = 317,
PARS_ON_TOKEN = 318, PARS_ASSIGN_TOKEN = 318,
PARS_ASSIGN_TOKEN = 319, PARS_DECLARE_TOKEN = 319,
PARS_DECLARE_TOKEN = 320, PARS_CURSOR_TOKEN = 320,
PARS_CURSOR_TOKEN = 321, PARS_SQL_TOKEN = 321,
PARS_SQL_TOKEN = 322, PARS_OPEN_TOKEN = 322,
PARS_OPEN_TOKEN = 323, PARS_FETCH_TOKEN = 323,
PARS_FETCH_TOKEN = 324, PARS_CLOSE_TOKEN = 324,
PARS_CLOSE_TOKEN = 325, PARS_NOTFOUND_TOKEN = 325,
PARS_NOTFOUND_TOKEN = 326, PARS_TO_CHAR_TOKEN = 326,
PARS_TO_CHAR_TOKEN = 327, PARS_TO_NUMBER_TOKEN = 327,
PARS_TO_NUMBER_TOKEN = 328, PARS_TO_BINARY_TOKEN = 328,
PARS_TO_BINARY_TOKEN = 329, PARS_BINARY_TO_NUMBER_TOKEN = 329,
PARS_BINARY_TO_NUMBER_TOKEN = 330, PARS_SUBSTR_TOKEN = 330,
PARS_SUBSTR_TOKEN = 331, PARS_REPLSTR_TOKEN = 331,
PARS_REPLSTR_TOKEN = 332, PARS_CONCAT_TOKEN = 332,
PARS_CONCAT_TOKEN = 333, PARS_INSTR_TOKEN = 333,
PARS_INSTR_TOKEN = 334, PARS_LENGTH_TOKEN = 334,
PARS_LENGTH_TOKEN = 335, PARS_SYSDATE_TOKEN = 335,
PARS_SYSDATE_TOKEN = 336, PARS_PRINTF_TOKEN = 336,
PARS_PRINTF_TOKEN = 337, PARS_ASSERT_TOKEN = 337,
PARS_ASSERT_TOKEN = 338, PARS_RND_TOKEN = 338,
PARS_RND_TOKEN = 339, PARS_RND_STR_TOKEN = 339,
PARS_RND_STR_TOKEN = 340, PARS_ROW_PRINTF_TOKEN = 340,
PARS_ROW_PRINTF_TOKEN = 341, PARS_COMMIT_TOKEN = 341,
PARS_COMMIT_TOKEN = 342, PARS_ROLLBACK_TOKEN = 342,
PARS_ROLLBACK_TOKEN = 343, PARS_WORK_TOKEN = 343,
PARS_WORK_TOKEN = 344, PARS_UNSIGNED_TOKEN = 344,
PARS_UNSIGNED_TOKEN = 345, PARS_EXIT_TOKEN = 345,
PARS_EXIT_TOKEN = 346, PARS_FUNCTION_TOKEN = 346,
PARS_FUNCTION_TOKEN = 347, PARS_LOCK_TOKEN = 347,
NEG = 348 PARS_SHARE_TOKEN = 348,
PARS_MODE_TOKEN = 349,
NEG = 350
}; };
#endif #endif
#define PARS_INT_LIT 258 #define PARS_INT_LIT 258
...@@ -186,57 +188,59 @@ ...@@ -186,57 +188,59 @@
#define PARS_WHERE_TOKEN 295 #define PARS_WHERE_TOKEN 295
#define PARS_FOR_TOKEN 296 #define PARS_FOR_TOKEN 296
#define PARS_DDOT_TOKEN 297 #define PARS_DDOT_TOKEN 297
#define PARS_CONSISTENT_TOKEN 298 #define PARS_READ_TOKEN 298
#define PARS_READ_TOKEN 299 #define PARS_ORDER_TOKEN 299
#define PARS_ORDER_TOKEN 300 #define PARS_BY_TOKEN 300
#define PARS_BY_TOKEN 301 #define PARS_ASC_TOKEN 301
#define PARS_ASC_TOKEN 302 #define PARS_DESC_TOKEN 302
#define PARS_DESC_TOKEN 303 #define PARS_INSERT_TOKEN 303
#define PARS_INSERT_TOKEN 304 #define PARS_INTO_TOKEN 304
#define PARS_INTO_TOKEN 305 #define PARS_VALUES_TOKEN 305
#define PARS_VALUES_TOKEN 306 #define PARS_UPDATE_TOKEN 306
#define PARS_UPDATE_TOKEN 307 #define PARS_SET_TOKEN 307
#define PARS_SET_TOKEN 308 #define PARS_DELETE_TOKEN 308
#define PARS_DELETE_TOKEN 309 #define PARS_CURRENT_TOKEN 309
#define PARS_CURRENT_TOKEN 310 #define PARS_OF_TOKEN 310
#define PARS_OF_TOKEN 311 #define PARS_CREATE_TOKEN 311
#define PARS_CREATE_TOKEN 312 #define PARS_TABLE_TOKEN 312
#define PARS_TABLE_TOKEN 313 #define PARS_INDEX_TOKEN 313
#define PARS_INDEX_TOKEN 314 #define PARS_UNIQUE_TOKEN 314
#define PARS_UNIQUE_TOKEN 315 #define PARS_CLUSTERED_TOKEN 315
#define PARS_CLUSTERED_TOKEN 316 #define PARS_DOES_NOT_FIT_IN_MEM_TOKEN 316
#define PARS_DOES_NOT_FIT_IN_MEM_TOKEN 317 #define PARS_ON_TOKEN 317
#define PARS_ON_TOKEN 318 #define PARS_ASSIGN_TOKEN 318
#define PARS_ASSIGN_TOKEN 319 #define PARS_DECLARE_TOKEN 319
#define PARS_DECLARE_TOKEN 320 #define PARS_CURSOR_TOKEN 320
#define PARS_CURSOR_TOKEN 321 #define PARS_SQL_TOKEN 321
#define PARS_SQL_TOKEN 322 #define PARS_OPEN_TOKEN 322
#define PARS_OPEN_TOKEN 323 #define PARS_FETCH_TOKEN 323
#define PARS_FETCH_TOKEN 324 #define PARS_CLOSE_TOKEN 324
#define PARS_CLOSE_TOKEN 325 #define PARS_NOTFOUND_TOKEN 325
#define PARS_NOTFOUND_TOKEN 326 #define PARS_TO_CHAR_TOKEN 326
#define PARS_TO_CHAR_TOKEN 327 #define PARS_TO_NUMBER_TOKEN 327
#define PARS_TO_NUMBER_TOKEN 328 #define PARS_TO_BINARY_TOKEN 328
#define PARS_TO_BINARY_TOKEN 329 #define PARS_BINARY_TO_NUMBER_TOKEN 329
#define PARS_BINARY_TO_NUMBER_TOKEN 330 #define PARS_SUBSTR_TOKEN 330
#define PARS_SUBSTR_TOKEN 331 #define PARS_REPLSTR_TOKEN 331
#define PARS_REPLSTR_TOKEN 332 #define PARS_CONCAT_TOKEN 332
#define PARS_CONCAT_TOKEN 333 #define PARS_INSTR_TOKEN 333
#define PARS_INSTR_TOKEN 334 #define PARS_LENGTH_TOKEN 334
#define PARS_LENGTH_TOKEN 335 #define PARS_SYSDATE_TOKEN 335
#define PARS_SYSDATE_TOKEN 336 #define PARS_PRINTF_TOKEN 336
#define PARS_PRINTF_TOKEN 337 #define PARS_ASSERT_TOKEN 337
#define PARS_ASSERT_TOKEN 338 #define PARS_RND_TOKEN 338
#define PARS_RND_TOKEN 339 #define PARS_RND_STR_TOKEN 339
#define PARS_RND_STR_TOKEN 340 #define PARS_ROW_PRINTF_TOKEN 340
#define PARS_ROW_PRINTF_TOKEN 341 #define PARS_COMMIT_TOKEN 341
#define PARS_COMMIT_TOKEN 342 #define PARS_ROLLBACK_TOKEN 342
#define PARS_ROLLBACK_TOKEN 343 #define PARS_WORK_TOKEN 343
#define PARS_WORK_TOKEN 344 #define PARS_UNSIGNED_TOKEN 344
#define PARS_UNSIGNED_TOKEN 345 #define PARS_EXIT_TOKEN 345
#define PARS_EXIT_TOKEN 346 #define PARS_FUNCTION_TOKEN 346
#define PARS_FUNCTION_TOKEN 347 #define PARS_LOCK_TOKEN 347
#define NEG 348 #define PARS_SHARE_TOKEN 348
#define PARS_MODE_TOKEN 349
#define NEG 350
...@@ -289,7 +293,7 @@ typedef int YYSTYPE; ...@@ -289,7 +293,7 @@ typedef int YYSTYPE;
/* Line 214 of yacc.c. */ /* Line 214 of yacc.c. */
#line 293 "pars0grm.tab.c" #line 297 "pars0grm.tab.c"
#if ! defined (yyoverflow) || YYERROR_VERBOSE #if ! defined (yyoverflow) || YYERROR_VERBOSE
...@@ -395,20 +399,20 @@ union yyalloc ...@@ -395,20 +399,20 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */ /* YYFINAL -- State number of the termination state. */
#define YYFINAL 99 #define YYFINAL 99
/* YYLAST -- Last index in YYTABLE. */ /* YYLAST -- Last index in YYTABLE. */
#define YYLAST 756 #define YYLAST 706
/* YYNTOKENS -- Number of terminals. */ /* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 109 #define YYNTOKENS 111
/* YYNNTS -- Number of nonterminals. */ /* YYNNTS -- Number of nonterminals. */
#define YYNNTS 69 #define YYNNTS 69
/* YYNRULES -- Number of rules. */ /* YYNRULES -- Number of rules. */
#define YYNRULES 175 #define YYNRULES 175
/* YYNRULES -- Number of states. */ /* YYNRULES -- Number of states. */
#define YYNSTATES 337 #define YYNSTATES 339
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2 #define YYUNDEFTOK 2
#define YYMAXUTOK 348 #define YYMAXUTOK 350
#define YYTRANSLATE(YYX) \ #define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
...@@ -419,16 +423,16 @@ static const unsigned char yytranslate[] = ...@@ -419,16 +423,16 @@ static const unsigned char yytranslate[] =
0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 101, 2, 2, 2, 2, 2, 2, 2, 2, 2, 103, 2, 2,
103, 104, 98, 97, 106, 96, 2, 99, 2, 2, 105, 106, 100, 99, 108, 98, 2, 101, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 102, 2, 2, 2, 2, 2, 2, 2, 2, 2, 104,
94, 93, 95, 105, 2, 2, 2, 2, 2, 2, 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, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 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, 2, 2, 2, 2, 2, 2, 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[] = ...@@ -450,7 +454,8 @@ static const unsigned char yytranslate[] =
55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 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 #if YYDEBUG
...@@ -467,98 +472,99 @@ static const unsigned short int yyprhs[] = ...@@ -467,98 +472,99 @@ static const unsigned short int yyprhs[] =
177, 179, 181, 183, 185, 186, 188, 192, 199, 204, 177, 179, 181, 183, 185, 186, 188, 192, 199, 204,
206, 208, 210, 214, 216, 220, 221, 223, 227, 228, 206, 208, 210, 214, 216, 220, 221, 223, 227, 228,
230, 234, 236, 241, 247, 252, 253, 255, 259, 261, 230, 234, 236, 241, 247, 252, 253, 255, 259, 261,
265, 267, 268, 271, 272, 275, 276, 279, 280, 282, 265, 267, 268, 271, 272, 275, 276, 281, 282, 284,
284, 285, 290, 299, 303, 309, 312, 316, 318, 322, 286, 287, 292, 301, 305, 311, 314, 318, 320, 324,
327, 332, 335, 338, 342, 345, 348, 351, 355, 360, 329, 334, 337, 340, 344, 347, 350, 353, 357, 362,
362, 365, 366, 369, 371, 379, 386, 397, 399, 401, 364, 367, 368, 371, 373, 381, 388, 399, 401, 403,
404, 407, 412, 417, 423, 425, 429, 430, 434, 435, 406, 409, 414, 419, 425, 427, 431, 432, 436, 437,
437, 438, 441, 442, 444, 452, 454, 458, 459, 461, 439, 440, 443, 444, 446, 454, 456, 460, 461, 463,
462, 464, 475, 478, 481, 483, 485, 487, 489, 491, 464, 466, 477, 480, 483, 485, 487, 489, 491, 493,
495, 499, 500, 502, 506, 510, 511, 513, 516, 523, 497, 501, 502, 504, 508, 512, 513, 515, 518, 525,
528, 530, 532, 533, 535, 538 530, 532, 534, 535, 537, 540
}; };
/* YYRHS -- A `-1'-separated list of the rules' RHS. */ /* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const short int yyrhs[] = static const short int yyrhs[] =
{ {
110, 0, -1, 177, 102, -1, 115, -1, 116, 102, 112, 0, -1, 179, 104, -1, 117, -1, 118, 104,
-1, 148, 102, -1, 149, 102, -1, 150, 102, -1, -1, 150, 104, -1, 151, 104, -1, 152, 104, -1,
147, 102, -1, 151, 102, -1, 143, 102, -1, 130, 149, 104, -1, 153, 104, -1, 145, 104, -1, 132,
102, -1, 132, 102, -1, 142, 102, -1, 140, 102, 104, -1, 134, 104, -1, 144, 104, -1, 142, 104,
-1, 141, 102, -1, 137, 102, -1, 138, 102, -1, -1, 143, 104, -1, 139, 104, -1, 140, 104, -1,
152, 102, -1, 154, 102, -1, 153, 102, -1, 166, 154, 104, -1, 156, 104, -1, 155, 104, -1, 168,
102, -1, 167, 102, -1, 161, 102, -1, 165, 102, 104, -1, 169, 104, -1, 163, 104, -1, 167, 104,
-1, 110, -1, 111, 110, -1, 9, -1, 113, 103, -1, 112, -1, 113, 112, -1, 9, -1, 115, 105,
121, 104, -1, 3, -1, 4, -1, 5, -1, 6, 123, 106, -1, 3, -1, 4, -1, 5, -1, 6,
-1, 7, -1, 8, -1, 67, -1, 112, 97, 112, -1, 7, -1, 8, -1, 66, -1, 114, 99, 114,
-1, 112, 96, 112, -1, 112, 98, 112, -1, 112, -1, 114, 98, 114, -1, 114, 100, 114, -1, 114,
99, 112, -1, 96, 112, -1, 103, 112, 104, -1, 101, 114, -1, 98, 114, -1, 105, 114, 106, -1,
112, 93, 112, -1, 112, 94, 112, -1, 112, 95, 114, 95, 114, -1, 114, 96, 114, -1, 114, 97,
112, -1, 112, 13, 112, -1, 112, 14, 112, -1, 114, -1, 114, 13, 114, -1, 114, 14, 114, -1,
112, 15, 112, -1, 112, 10, 112, -1, 112, 11, 114, 15, 114, -1, 114, 10, 114, -1, 114, 11,
112, -1, 12, 112, -1, 9, 101, 71, -1, 67, 114, -1, 12, 114, -1, 9, 103, 70, -1, 66,
101, 71, -1, 72, -1, 73, -1, 74, -1, 75, 103, 70, -1, 71, -1, 72, -1, 73, -1, 74,
-1, 76, -1, 78, -1, 79, -1, 80, -1, 81, -1, 75, -1, 77, -1, 78, -1, 79, -1, 80,
-1, 84, -1, 85, -1, -1, 105, -1, 114, 106, -1, 83, -1, 84, -1, -1, 107, -1, 116, 108,
105, -1, 107, 9, 103, 114, 104, 108, -1, 117, 107, -1, 109, 9, 105, 116, 106, 110, -1, 119,
103, 121, 104, -1, 77, -1, 82, -1, 83, -1, 105, 123, 106, -1, 76, -1, 81, -1, 82, -1,
9, 103, 104, -1, 9, -1, 119, 106, 9, -1, 9, 105, 106, -1, 9, -1, 121, 108, 9, -1,
-1, 9, -1, 120, 106, 9, -1, -1, 112, -1, -1, 9, -1, 122, 108, 9, -1, -1, 114, -1,
121, 106, 112, -1, 112, -1, 37, 103, 98, 104, 123, 108, 114, -1, 114, -1, 37, 105, 100, 106,
-1, 37, 103, 38, 9, 104, -1, 36, 103, 112, -1, 37, 105, 38, 9, 106, -1, 36, 105, 114,
104, -1, -1, 122, -1, 123, 106, 122, -1, 98, 106, -1, -1, 124, -1, 125, 108, 124, -1, 100,
-1, 123, 50, 120, -1, 123, -1, -1, 40, 112, -1, 125, 49, 122, -1, 125, -1, -1, 40, 114,
-1, -1, 41, 52, -1, -1, 43, 44, -1, -1, -1, -1, 41, 51, -1, -1, 92, 17, 93, 94,
47, -1, 48, -1, -1, 45, 46, 9, 128, -1, -1, -1, 46, -1, 47, -1, -1, 44, 45, 9,
35, 124, 39, 119, 125, 126, 127, 129, -1, 49, 130, -1, 35, 126, 39, 121, 127, 128, 129, 131,
50, 9, -1, 131, 51, 103, 121, 104, -1, 131, -1, 48, 49, 9, -1, 133, 50, 105, 123, 106,
130, -1, 9, 93, 112, -1, 133, -1, 134, 106, -1, 133, 132, -1, 9, 95, 114, -1, 135, -1,
133, -1, 40, 55, 56, 9, -1, 52, 9, 53, 136, 108, 135, -1, 40, 54, 55, 9, -1, 51,
134, -1, 136, 125, -1, 136, 135, -1, 54, 39, 9, 52, 136, -1, 138, 127, -1, 138, 137, -1,
9, -1, 139, 125, -1, 139, 135, -1, 86, 130, 53, 39, 9, -1, 141, 127, -1, 141, 137, -1,
-1, 9, 64, 112, -1, 31, 112, 29, 111, -1, 85, 132, -1, 9, 63, 114, -1, 31, 114, 29,
144, -1, 145, 144, -1, -1, 30, 111, -1, 145, 113, -1, 146, -1, 147, 146, -1, -1, 30, 113,
-1, 28, 112, 29, 111, 146, 27, 28, -1, 33, -1, 147, -1, 28, 114, 29, 113, 148, 27, 28,
112, 32, 111, 27, 32, -1, 41, 9, 17, 112, -1, 33, 114, 32, 113, 27, 32, -1, 41, 9,
42, 112, 32, 111, 27, 32, -1, 91, -1, 34, 17, 114, 42, 114, 32, 113, 27, 32, -1, 90,
-1, 68, 9, -1, 70, 9, -1, 69, 9, 50, -1, 34, -1, 67, 9, -1, 69, 9, -1, 68,
120, -1, 69, 9, 50, 118, -1, 9, 168, 157, 9, 49, 122, -1, 68, 9, 49, 120, -1, 9,
158, 159, -1, 155, -1, 156, 106, 155, -1, -1, 170, 159, 160, 161, -1, 157, -1, 158, 108, 157,
103, 3, 104, -1, -1, 90, -1, -1, 12, 8, -1, -1, 105, 3, 106, -1, -1, 89, -1, -1,
-1, -1, 62, -1, 57, 58, 9, 103, 156, 104, 12, 8, -1, -1, 61, -1, 56, 57, 9, 105,
160, -1, 9, -1, 162, 106, 9, -1, -1, 60, 158, 106, 162, -1, 9, -1, 164, 108, 9, -1,
-1, -1, 61, -1, 57, 163, 164, 59, 9, 63, -1, 59, -1, -1, 60, -1, 56, 165, 166, 58,
9, 103, 162, 104, -1, 87, 89, -1, 88, 89, 9, 62, 9, 105, 164, 106, -1, 86, 88, -1,
-1, 21, -1, 22, -1, 24, -1, 19, -1, 20, 87, 88, -1, 21, -1, 22, -1, 24, -1, 19,
-1, 9, 17, 168, -1, 9, 18, 168, -1, -1, -1, 20, -1, 9, 17, 170, -1, 9, 18, 170,
169, -1, 170, 106, 169, -1, 9, 168, 102, -1, -1, -1, 171, -1, 172, 108, 171, -1, 9, 170,
-1, 171, -1, 172, 171, -1, 65, 66, 9, 25, 104, -1, -1, 173, -1, 174, 173, -1, 64, 65,
130, 102, -1, 65, 92, 9, 102, -1, 173, -1, 9, 25, 132, 104, -1, 64, 91, 9, 104, -1,
174, -1, -1, 175, -1, 176, 175, -1, 16, 9, 175, -1, 176, -1, -1, 177, -1, 178, 177, -1,
103, 170, 104, 25, 172, 176, 26, 111, 27, -1 16, 9, 105, 172, 106, 25, 174, 178, 26, 113,
27, -1
}; };
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const unsigned short int yyrline[] = static const unsigned short int yyrline[] =
{ {
0, 136, 136, 137, 138, 139, 140, 141, 142, 143, 0, 138, 138, 139, 140, 141, 142, 143, 144, 145,
144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
154, 155, 156, 157, 158, 162, 163, 168, 169, 171, 156, 157, 158, 159, 160, 164, 165, 170, 171, 173,
172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
192, 193, 195, 200, 201, 202, 203, 205, 206, 207, 194, 195, 197, 202, 203, 204, 205, 207, 208, 209,
208, 209, 210, 211, 214, 216, 217, 221, 226, 231, 210, 211, 212, 213, 216, 218, 219, 223, 228, 233,
232, 233, 237, 241, 242, 247, 248, 249, 254, 255, 234, 235, 239, 243, 244, 249, 250, 251, 256, 257,
256, 260, 261, 266, 272, 279, 280, 281, 286, 288, 258, 262, 263, 268, 274, 281, 282, 283, 288, 290,
290, 294, 295, 299, 300, 305, 306, 311, 312, 313, 292, 296, 297, 301, 302, 307, 308, 313, 314, 315,
317, 318, 323, 333, 338, 340, 345, 349, 350, 355, 319, 320, 325, 335, 340, 342, 347, 351, 352, 357,
361, 368, 373, 378, 384, 389, 394, 399, 404, 410, 363, 370, 375, 380, 386, 391, 396, 401, 406, 412,
411, 416, 417, 419, 423, 430, 436, 444, 448, 452, 413, 418, 419, 421, 425, 432, 438, 446, 450, 454,
458, 464, 466, 471, 476, 477, 482, 483, 488, 489, 460, 466, 468, 473, 478, 479, 484, 485, 490, 491,
495, 496, 502, 503, 509, 515, 516, 521, 522, 526, 497, 498, 504, 505, 511, 517, 518, 523, 524, 528,
527, 531, 539, 544, 549, 550, 551, 552, 553, 557, 529, 533, 541, 546, 551, 552, 553, 554, 555, 559,
560, 566, 567, 568, 573, 577, 579, 580, 584, 590, 562, 568, 569, 570, 575, 579, 581, 582, 586, 592,
595, 596, 599, 601, 602, 606 597, 598, 601, 603, 604, 608
}; };
#endif #endif
...@@ -579,31 +585,31 @@ static const char *const yytname[] = ...@@ -579,31 +585,31 @@ static const char *const yytname[] =
"PARS_LOOP_TOKEN", "PARS_WHILE_TOKEN", "PARS_RETURN_TOKEN", "PARS_LOOP_TOKEN", "PARS_WHILE_TOKEN", "PARS_RETURN_TOKEN",
"PARS_SELECT_TOKEN", "PARS_SUM_TOKEN", "PARS_COUNT_TOKEN", "PARS_SELECT_TOKEN", "PARS_SUM_TOKEN", "PARS_COUNT_TOKEN",
"PARS_DISTINCT_TOKEN", "PARS_FROM_TOKEN", "PARS_WHERE_TOKEN", "PARS_DISTINCT_TOKEN", "PARS_FROM_TOKEN", "PARS_WHERE_TOKEN",
"PARS_FOR_TOKEN", "PARS_DDOT_TOKEN", "PARS_CONSISTENT_TOKEN", "PARS_FOR_TOKEN", "PARS_DDOT_TOKEN", "PARS_READ_TOKEN",
"PARS_READ_TOKEN", "PARS_ORDER_TOKEN", "PARS_BY_TOKEN", "PARS_ASC_TOKEN", "PARS_ORDER_TOKEN", "PARS_BY_TOKEN", "PARS_ASC_TOKEN", "PARS_DESC_TOKEN",
"PARS_DESC_TOKEN", "PARS_INSERT_TOKEN", "PARS_INTO_TOKEN", "PARS_INSERT_TOKEN", "PARS_INTO_TOKEN", "PARS_VALUES_TOKEN",
"PARS_VALUES_TOKEN", "PARS_UPDATE_TOKEN", "PARS_SET_TOKEN", "PARS_UPDATE_TOKEN", "PARS_SET_TOKEN", "PARS_DELETE_TOKEN",
"PARS_DELETE_TOKEN", "PARS_CURRENT_TOKEN", "PARS_OF_TOKEN", "PARS_CURRENT_TOKEN", "PARS_OF_TOKEN", "PARS_CREATE_TOKEN",
"PARS_CREATE_TOKEN", "PARS_TABLE_TOKEN", "PARS_INDEX_TOKEN", "PARS_TABLE_TOKEN", "PARS_INDEX_TOKEN", "PARS_UNIQUE_TOKEN",
"PARS_UNIQUE_TOKEN", "PARS_CLUSTERED_TOKEN", "PARS_CLUSTERED_TOKEN", "PARS_DOES_NOT_FIT_IN_MEM_TOKEN",
"PARS_DOES_NOT_FIT_IN_MEM_TOKEN", "PARS_ON_TOKEN", "PARS_ASSIGN_TOKEN", "PARS_ON_TOKEN", "PARS_ASSIGN_TOKEN", "PARS_DECLARE_TOKEN",
"PARS_DECLARE_TOKEN", "PARS_CURSOR_TOKEN", "PARS_SQL_TOKEN", "PARS_CURSOR_TOKEN", "PARS_SQL_TOKEN", "PARS_OPEN_TOKEN",
"PARS_OPEN_TOKEN", "PARS_FETCH_TOKEN", "PARS_CLOSE_TOKEN", "PARS_FETCH_TOKEN", "PARS_CLOSE_TOKEN", "PARS_NOTFOUND_TOKEN",
"PARS_NOTFOUND_TOKEN", "PARS_TO_CHAR_TOKEN", "PARS_TO_NUMBER_TOKEN", "PARS_TO_CHAR_TOKEN", "PARS_TO_NUMBER_TOKEN", "PARS_TO_BINARY_TOKEN",
"PARS_TO_BINARY_TOKEN", "PARS_BINARY_TO_NUMBER_TOKEN", "PARS_BINARY_TO_NUMBER_TOKEN", "PARS_SUBSTR_TOKEN", "PARS_REPLSTR_TOKEN",
"PARS_SUBSTR_TOKEN", "PARS_REPLSTR_TOKEN", "PARS_CONCAT_TOKEN", "PARS_CONCAT_TOKEN", "PARS_INSTR_TOKEN", "PARS_LENGTH_TOKEN",
"PARS_INSTR_TOKEN", "PARS_LENGTH_TOKEN", "PARS_SYSDATE_TOKEN", "PARS_SYSDATE_TOKEN", "PARS_PRINTF_TOKEN", "PARS_ASSERT_TOKEN",
"PARS_PRINTF_TOKEN", "PARS_ASSERT_TOKEN", "PARS_RND_TOKEN", "PARS_RND_TOKEN", "PARS_RND_STR_TOKEN", "PARS_ROW_PRINTF_TOKEN",
"PARS_RND_STR_TOKEN", "PARS_ROW_PRINTF_TOKEN", "PARS_COMMIT_TOKEN", "PARS_COMMIT_TOKEN", "PARS_ROLLBACK_TOKEN", "PARS_WORK_TOKEN",
"PARS_ROLLBACK_TOKEN", "PARS_WORK_TOKEN", "PARS_UNSIGNED_TOKEN", "PARS_UNSIGNED_TOKEN", "PARS_EXIT_TOKEN", "PARS_FUNCTION_TOKEN",
"PARS_EXIT_TOKEN", "PARS_FUNCTION_TOKEN", "'='", "'<'", "'>'", "'-'", "PARS_LOCK_TOKEN", "PARS_SHARE_TOKEN", "PARS_MODE_TOKEN", "'='", "'<'",
"'+'", "'*'", "'/'", "NEG", "'%'", "';'", "'('", "')'", "'?'", "','", "'>'", "'-'", "'+'", "'*'", "'/'", "NEG", "'%'", "';'", "'('", "')'",
"'{'", "'}'", "$accept", "statement", "statement_list", "exp", "'?'", "','", "'{'", "'}'", "$accept", "statement", "statement_list",
"function_name", "question_mark_list", "stored_procedure_call", "exp", "function_name", "question_mark_list", "stored_procedure_call",
"predefined_procedure_call", "predefined_procedure_name", "predefined_procedure_call", "predefined_procedure_name",
"user_function_call", "table_list", "variable_list", "exp_list", "user_function_call", "table_list", "variable_list", "exp_list",
"select_item", "select_item_list", "select_list", "search_condition", "select_item", "select_item_list", "select_list", "search_condition",
"for_update_clause", "consistent_read_clause", "order_direction", "for_update_clause", "lock_shared_clause", "order_direction",
"order_by_clause", "select_statement", "insert_statement_start", "order_by_clause", "select_statement", "insert_statement_start",
"insert_statement", "column_assignment", "column_assignment_list", "insert_statement", "column_assignment", "column_assignment_list",
"cursor_positioned", "update_statement_start", "cursor_positioned", "update_statement_start",
...@@ -638,32 +644,33 @@ static const unsigned short int yytoknum[] = ...@@ -638,32 +644,33 @@ static const unsigned short int yytoknum[] =
315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 61, 60, 62, 45, 43, 42, 47, 345, 346, 347, 348, 349, 61, 60, 62, 45, 43,
348, 37, 59, 40, 41, 63, 44, 123, 125 42, 47, 350, 37, 59, 40, 41, 63, 44, 123,
125
}; };
# endif # endif
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const unsigned char yyr1[] = static const unsigned char yyr1[] =
{ {
0, 109, 110, 110, 110, 110, 110, 110, 110, 110, 0, 111, 112, 112, 112, 112, 112, 112, 112, 112,
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, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 113, 113, 114, 114, 114,
112, 112, 112, 113, 113, 113, 113, 113, 113, 113, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
113, 113, 113, 113, 114, 114, 114, 115, 116, 117, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
117, 117, 118, 119, 119, 120, 120, 120, 121, 121, 114, 114, 114, 115, 115, 115, 115, 115, 115, 115,
121, 122, 122, 122, 122, 123, 123, 123, 124, 124, 115, 115, 115, 115, 116, 116, 116, 117, 118, 119,
124, 125, 125, 126, 126, 127, 127, 128, 128, 128, 119, 119, 120, 121, 121, 122, 122, 122, 123, 123,
129, 129, 130, 131, 132, 132, 133, 134, 134, 135, 123, 124, 124, 124, 124, 125, 125, 125, 126, 126,
136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 126, 127, 127, 128, 128, 129, 129, 130, 130, 130,
145, 146, 146, 146, 147, 148, 149, 150, 151, 152, 131, 131, 132, 133, 134, 134, 135, 136, 136, 137,
153, 154, 154, 155, 156, 156, 157, 157, 158, 158, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
159, 159, 160, 160, 161, 162, 162, 163, 163, 164, 147, 148, 148, 148, 149, 150, 151, 152, 153, 154,
164, 165, 166, 167, 168, 168, 168, 168, 168, 169, 155, 156, 156, 157, 158, 158, 159, 159, 160, 160,
169, 170, 170, 170, 171, 172, 172, 172, 173, 174, 161, 161, 162, 162, 163, 164, 164, 165, 165, 166,
175, 175, 176, 176, 176, 177 166, 167, 168, 169, 170, 170, 170, 170, 170, 171,
171, 172, 172, 172, 173, 174, 174, 174, 175, 176,
177, 177, 178, 178, 178, 179
}; };
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
...@@ -678,7 +685,7 @@ static const unsigned char yyr2[] = ...@@ -678,7 +685,7 @@ static const unsigned char yyr2[] =
1, 1, 1, 1, 0, 1, 3, 6, 4, 1, 1, 1, 1, 1, 0, 1, 3, 6, 4, 1,
1, 1, 3, 1, 3, 0, 1, 3, 0, 1, 1, 1, 3, 1, 3, 0, 1, 3, 0, 1,
3, 1, 4, 5, 4, 0, 1, 3, 1, 3, 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, 0, 4, 8, 3, 5, 2, 3, 1, 3, 4,
4, 2, 2, 3, 2, 2, 2, 3, 4, 1, 4, 2, 2, 3, 2, 2, 2, 3, 4, 1,
2, 0, 2, 1, 7, 6, 10, 1, 1, 2, 2, 0, 2, 1, 7, 6, 10, 1, 1, 2,
...@@ -724,75 +731,75 @@ static const unsigned char yydefact[] = ...@@ -724,75 +731,75 @@ static const unsigned char yydefact[] =
136, 142, 0, 0, 72, 67, 66, 0, 166, 172, 136, 142, 0, 0, 72, 67, 66, 0, 166, 172,
0, 124, 94, 0, 100, 0, 0, 138, 143, 144, 0, 124, 94, 0, 100, 0, 0, 138, 143, 144,
135, 0, 0, 0, 167, 170, 171, 173, 0, 118, 135, 0, 0, 0, 167, 170, 171, 173, 0, 118,
96, 0, 102, 0, 0, 139, 140, 0, 164, 0, 0, 0, 102, 0, 0, 139, 140, 0, 164, 0,
0, 0, 174, 0, 0, 137, 0, 133, 145, 0, 0, 0, 174, 0, 0, 0, 137, 0, 133, 145,
0, 0, 0, 97, 126, 141, 151, 0, 0, 169, 0, 0, 0, 0, 96, 97, 126, 141, 151, 0,
175, 98, 99, 101, 146, 0, 168 0, 169, 175, 98, 99, 101, 146, 0, 168
}; };
/* YYDEFGOTO[NTERM-NUM]. */ /* YYDEFGOTO[NTERM-NUM]. */
static const short int yydefgoto[] = static const short int yydefgoto[] =
{ {
-1, 182, 183, 166, 76, 211, 24, 25, 26, 208, -1, 182, 183, 166, 76, 211, 24, 25, 26, 208,
200, 197, 167, 82, 83, 84, 107, 266, 284, 333, 200, 197, 167, 82, 83, 84, 107, 266, 284, 335,
302, 27, 28, 29, 203, 204, 108, 30, 31, 32, 302, 27, 28, 29, 203, 204, 108, 30, 31, 32,
33, 34, 35, 36, 37, 223, 224, 225, 38, 39, 33, 34, 35, 36, 37, 223, 224, 225, 38, 39,
40, 41, 42, 43, 44, 45, 239, 240, 287, 306, 40, 41, 42, 43, 44, 45, 239, 240, 287, 306,
317, 289, 46, 319, 91, 163, 47, 48, 49, 253, 318, 289, 46, 320, 91, 163, 47, 48, 49, 253,
172, 173, 278, 279, 295, 296, 297, 298, 50 172, 173, 278, 279, 295, 296, 297, 298, 50
}; };
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */ STATE-NUM. */
#define YYPACT_NINF -209 #define YYPACT_NINF -208
static const short int yypact[] = static const short int yypact[] =
{ {
578, -30, 40, 256, 256, -209, 19, 44, 7, 55, 541, -51, 8, 210, 210, -208, 20, 13, 22, 39,
26, -16, 62, 69, 73, -209, -209, -209, 48, -5, 23, -39, 57, 69, 73, -208, -208, -208, 40, -5,
-4, -209, 78, 75, -209, -13, -15, -6, -18, 4, -4, -208, 76, 87, -208, -15, -9, 2, -16, 3,
67, 6, 12, 67, 17, 18, 21, 29, 30, 32, 48, 5, 6, 48, 7, 19, 29, 30, 45, 49,
33, 39, 47, 50, 51, 64, 65, 70, 82, 83, 53, 54, 64, 65, 80, 81, 82, 83, 84, 86,
84, 256, 13, -209, -209, -209, -209, -209, -209, 8, 89, 210, 12, -208, -208, -208, -208, -208, -208, 9,
256, 20, -209, -209, -209, -209, -209, -209, -209, -209, 210, 16, -208, -208, -208, -208, -208, -208, -208, -208,
-209, -209, -209, 256, 256, 295, 15, 421, 77, 86, -208, -208, -208, 210, 210, 315, 36, 443, 47, 75,
-209, 657, -209, -44, 129, 152, 178, 137, 182, 189, -208, 605, -208, -41, 85, 91, 112, 70, 161, 182,
-209, 142, -209, 154, -209, -209, -209, -209, 104, -209, -208, 139, -208, 155, -208, -208, -208, -208, 100, -208,
-209, 256, -209, 105, -209, -209, 170, -209, -209, -209, -208, 210, -208, 103, -208, -208, 170, -208, -208, -208,
-209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208,
-209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208,
657, 200, 139, 582, 140, 198, 66, 256, 256, 256, 605, 200, 140, 557, 141, 208, 66, 210, 210, 210,
256, 256, 578, 256, 256, 256, 256, 256, 256, 256, 210, 210, 541, 210, 210, 210, 210, 210, 210, 210,
256, 578, 256, -31, 205, 121, 206, 256, -209, 207, 210, 541, 210, -31, 216, 123, 217, 210, -208, 218,
-209, 115, -209, 160, 212, 117, 657, -63, 256, 167, -208, 124, -208, 172, 223, 126, 605, -66, 210, 183,
657, -2, -209, -59, -209, -209, -209, 582, 582, 14, 605, 37, -208, -63, -208, -208, -208, 557, 557, 15,
14, 657, -209, 330, 14, 14, 14, 3, 3, 198, 15, 605, -208, 286, 15, 15, 15, 1, 1, 208,
198, -58, 392, 279, 217, 123, -209, 122, -209, -209, 208, -62, 350, 250, 228, 133, -208, 132, -208, -208,
-32, 607, 136, -209, 124, 223, 224, 133, -209, 122, -34, 538, 151, -208, 143, 243, 246, 153, -208, 132,
-209, -52, -209, 256, -46, 229, 16, 16, 214, 200, -208, -59, -208, 210, -55, 247, 17, 17, 234, 200,
578, 256, -209, -209, 209, 220, -209, 221, -209, 148, 541, 210, -208, -208, 231, 239, -208, 235, -208, 163,
-209, 232, 256, 247, 226, 256, 256, 207, 16, -209, -208, 261, 210, 262, 232, 210, 210, 218, 17, -208,
-43, 195, 165, 162, 166, 657, -209, -209, -209, -209, -48, 212, 166, 167, 171, 605, -208, -208, -208, -208,
-209, -209, -209, -209, -209, 263, -209, 578, 483, -209, -208, -208, -208, -208, -208, 270, -208, 541, 585, -208,
246, -209, -209, -209, -209, 225, 233, 626, 657, -209, 252, -208, -208, -208, -208, 240, 194, 592, 605, -208,
172, 216, 223, 270, -209, -209, -209, 16, -209, 1, 187, 236, 243, 287, -208, -208, -208, 17, -208, 4,
578, -209, -209, 236, 237, 578, 278, 193, -209, -209, 541, -208, -208, 281, 256, 541, 298, 215, -208, -208,
-209, 181, 183, -53, -209, -209, -209, -209, -14, 578, -208, 201, 203, -56, -208, -208, -208, -208, -12, 541,
-209, 240, -209, 454, 184, -209, 275, 282, -209, 286, 219, 260, -208, 414, 204, -208, 297, 302, -208, 309,
287, 578, -209, 288, 266, -209, 292, -209, -209, -36, 313, 541, -208, 230, 322, 300, -208, 325, -208, -208,
276, 202, 516, -28, -209, -209, -209, 293, 48, -209, -45, 310, 237, 478, -208, 18, -208, -208, -208, 327,
-209, -209, -209, -209, -209, 210, -209 40, -208, -208, -208, -208, -208, -208, 248, -208
}; };
/* YYPGOTO[NTERM-NUM]. */ /* YYPGOTO[NTERM-NUM]. */
static const short int yypgoto[] = static const short int yypgoto[] =
{ {
-209, 0, -130, -1, -209, -209, -209, -209, -209, -209, -208, 0, -130, -1, -208, -208, -208, -208, -208, -208,
-209, 143, -136, 158, -209, -209, -29, -209, -209, -209, -208, 174, -135, 185, -208, -208, -29, -208, -208, -208,
-209, -17, -209, -209, 79, -209, 281, -209, -209, -209, -208, -17, -208, -208, 106, -208, 324, -208, -208, -208,
-209, -209, -209, -209, -209, 91, -209, -209, -209, -209, -208, -208, -208, -208, -208, 134, -208, -208, -208, -208,
-209, -209, -209, -209, -209, -209, 45, -209, -209, -209, -208, -208, -208, -208, -208, -208, 88, -208, -208, -208,
-209, -209, -209, -209, -209, -209, -209, -209, -209, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -207,
99, -209, 41, -209, -209, -209, 23, -209, -209 142, -208, 90, -208, -208, -208, 67, -208, -208
}; };
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
...@@ -802,202 +809,192 @@ static const short int yypgoto[] = ...@@ -802,202 +809,192 @@ static const short int yypgoto[] =
#define YYTABLE_NINF -1 #define YYTABLE_NINF -1
static const unsigned short int yytable[] = static const unsigned short int yytable[] =
{ {
23, 95, 75, 77, 111, 81, 154, 194, 232, 254, 23, 95, 75, 77, 111, 81, 232, 194, 154, 309,
277, 104, 311, 309, 191, 216, 217, 6, 141, 331, 254, 104, 51, 277, 311, 191, 141, 52, 89, 6,
332, 192, 53, 54, 55, 56, 57, 58, 59, 141, 90, 192, 85, 53, 54, 55, 56, 57, 58, 59,
270, 60, 214, 103, 51, 248, 249, 250, 251, 310, 141, 270, 60, 214, 103, 310, 248, 249, 250, 251,
252, 212, 89, 213, 90, 218, 226, 219, 213, 52, 212, 252, 213, 218, 226, 219, 213, 243, 87, 244,
130, 293, 243, 85, 244, 78, 79, 86, 246, 133, 130, 246, 293, 213, 216, 217, 78, 79, 271, 133,
213, 271, 155, 272, 87, 88, 293, 195, 326, 292, 272, 328, 88, 329, 333, 334, 92, 155, 293, 195,
327, 92, 135, 136, 233, 99, 137, 138, 93, 139, 292, 86, 135, 136, 233, 6, 137, 138, 93, 139,
140, 141, 94, 6, 96, 97, 61, 98, 101, 100, 140, 141, 94, 96, 97, 98, 61, 99, 106, 100,
257, 62, 63, 64, 65, 66, 102, 67, 68, 69, 257, 62, 63, 64, 65, 66, 101, 67, 68, 69,
70, 148, 149, 71, 72, 170, 105, 106, 109, 132, 70, 148, 149, 71, 72, 170, 102, 105, 157, 109,
146, 147, 148, 149, 110, 73, 131, 80, 150, 113, 110, 113, 132, 146, 147, 148, 149, 131, 73, 134,
114, 134, 74, 115, 53, 54, 55, 56, 57, 58, 80, 158, 159, 114, 156, 74, 53, 54, 55, 56,
59, 116, 117, 60, 118, 119, 177, 178, 179, 180, 57, 58, 59, 115, 116, 60, 177, 178, 179, 180,
181, 120, 184, 185, 186, 187, 188, 189, 190, 121, 181, 150, 184, 185, 186, 187, 188, 189, 190, 117,
299, 193, 122, 123, 81, 303, 201, 78, 79, 143, 299, 193, 152, 118, 81, 303, 201, 119, 120, 78,
144, 145, 146, 147, 148, 149, 124, 125, 156, 157, 79, 143, 144, 145, 146, 147, 148, 149, 121, 122,
176, 234, 126, 53, 54, 55, 56, 57, 58, 59, 160, 234, 176, 53, 54, 55, 56, 57, 58, 59,
152, 322, 60, 222, 127, 128, 129, 158, 61, 153, 153, 323, 60, 222, 123, 124, 125, 126, 127, 61,
159, 160, 222, 62, 63, 64, 65, 66, 161, 67, 128, 161, 222, 129, 62, 63, 64, 65, 66, 162,
68, 69, 70, 162, 164, 71, 72, 165, 168, 171, 67, 68, 69, 70, 164, 165, 71, 72, 168, 171,
174, 175, 245, 141, 196, 199, 202, 73, 205, 206, 174, 175, 245, 53, 54, 55, 56, 57, 58, 59,
258, 207, 210, 215, 74, 169, 229, 230, 231, 236, 258, 73, 60, 141, 169, 196, 199, 202, 74, 205,
237, 170, 238, 241, 267, 268, 242, 61, 247, 255, 206, 170, 207, 210, 267, 268, 61, 229, 215, 230,
221, 263, 62, 63, 64, 65, 66, 260, 67, 68, 231, 62, 63, 64, 65, 66, 236, 67, 68, 69,
69, 70, 262, 261, 71, 72, 264, 222, 273, 53, 70, 237, 238, 71, 72, 241, 247, 222, 242, 255,
54, 55, 56, 57, 58, 59, 73, 265, 60, 274, 137, 138, 221, 139, 140, 141, 260, 261, 73, 262,
275, 276, 277, 74, 281, 286, 283, 282, 288, 291, 263, 264, 274, 265, 273, 74, 61, 275, 276, 277,
300, 304, 301, 305, 307, 308, 313, 316, 315, 137, 281, 62, 63, 64, 65, 66, 283, 67, 68, 69,
138, 318, 139, 140, 141, 320, 321, 323, 324, 222, 70, 282, 286, 71, 72, 1, 291, 288, 300, 222,
325, 328, 334, 222, 329, 137, 138, 209, 139, 140, 301, 304, 2, 222, 305, 314, 307, 308, 73, 317,
141, 335, 336, 198, 112, 259, 269, 290, 256, 0, 316, 319, 313, 337, 3, 74, 220, 221, 321, 4,
294, 312, 222, 61, 142, 0, 0, 0, 62, 63, 5, 6, 322, 222, 324, 137, 138, 7, 139, 140,
64, 65, 66, 0, 67, 68, 69, 70, 0, 1, 141, 325, 326, 327, 8, 330, 336, 9, 209, 10,
71, 72, 0, 0, 0, 0, 2, 0, 0, 0, 198, 331, 11, 269, 142, 143, 144, 145, 146, 147,
0, 0, 73, 0, 0, 0, 0, 0, 3, 74, 148, 149, 338, 12, 13, 14, 228, 112, 259, 1,
220, 221, 0, 4, 5, 6, 0, 0, 0, 0, 290, 256, 15, 0, 0, 312, 2, 16, 17, 294,
0, 7, 143, 144, 145, 146, 147, 148, 149, 8, 0, 18, 19, 20, 0, 0, 21, 227, 3, 0,
0, 0, 9, 228, 10, 0, 0, 11, 143, 144, 0, 0, 0, 4, 5, 6, 0, 0, 0, 0,
145, 146, 147, 148, 149, 0, 0, 0, 12, 13, 0, 7, 0, 0, 0, 22, 0, 0, 8, 0,
14, 1, 0, 0, 0, 0, 0, 15, 2, 0, 0, 9, 0, 10, 0, 0, 11, 0, 0, 0,
0, 0, 16, 17, 0, 0, 18, 19, 20, 227, 143, 144, 145, 146, 147, 148, 149, 12, 13, 14,
3, 21, 0, 0, 0, 4, 5, 6, 0, 0, 0, 0, 0, 1, 0, 0, 15, 0, 0, 0,
0, 137, 138, 7, 139, 140, 141, 22, 0, 0, 2, 16, 17, 0, 0, 18, 19, 20, 0, 0,
0, 8, 0, 0, 9, 0, 10, 0, 0, 11, 21, 315, 3, 0, 0, 0, 0, 4, 5, 6,
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, 137, 138, 7, 139, 140, 141, 22,
0, 0, 0, 8, 0, 0, 9, 0, 10, 0, 0, 0, 8, 0, 0, 9, 0, 10, 0, 0,
0, 11, 280, 0, 143, 144, 145, 146, 147, 148, 11, 0, 0, 0, 0, 151, 0, 0, 0, 0,
149, 0, 12, 13, 14, 1, 0, 0, 0, 0, 0, 12, 13, 14, 0, 0, 0, 1, 0, 0,
0, 15, 2, 0, 0, 0, 16, 17, 0, 0, 15, 0, 0, 0, 2, 16, 17, 0, 0, 18,
18, 19, 20, 330, 3, 21, 0, 0, 0, 4, 19, 20, 0, 0, 21, 332, 3, 0, 0, 0,
5, 6, 0, 0, 0, 0, 0, 7, 0, 0, 0, 4, 5, 6, 0, 0, 0, 0, 0, 7,
0, 22, 0, 0, 0, 8, 0, 0, 9, 0, 0, 0, 0, 22, 0, 0, 8, 0, 0, 9,
10, 0, 0, 11, 0, 0, 143, 144, 145, 146, 0, 10, 0, 0, 11, 0, 0, 0, 143, 144,
147, 148, 149, 0, 12, 13, 14, 1, 0, 0, 145, 146, 147, 148, 149, 12, 13, 14, 137, 138,
0, 0, 0, 15, 2, 139, 140, 141, 16, 17, 1, 139, 140, 141, 15, 0, 0, 2, 0, 16,
0, 0, 18, 19, 20, 0, 3, 21, 0, 0, 17, 0, 0, 18, 19, 20, 0, 0, 21, 3,
0, 4, 5, 6, 0, 0, 0, 137, 138, 7, 139, 140, 141, 0, 4, 5, 6, 0, 0, 0,
139, 140, 141, 22, 0, 0, 0, 8, 0, 0, 235, 0, 7, 0, 0, 0, 0, 22, 0, 8,
9, 0, 10, 0, 0, 11, 137, 138, 0, 139, 0, 0, 9, 0, 10, 137, 138, 11, 139, 140,
140, 141, 0, 0, 0, 0, 12, 13, 14, 235, 141, 0, 137, 138, 0, 139, 140, 141, 12, 13,
0, 0, 0, 0, 0, 15, 0, 0, 285, 0, 14, 0, 0, 0, 280, 137, 138, 15, 139, 140,
16, 17, 0, 0, 18, 19, 20, 137, 138, 21, 141, 0, 16, 17, 285, 0, 18, 19, 20, 0,
139, 140, 141, 0, 0, 143, 144, 145, 146, 147, 0, 21, 0, 143, 144, 145, 146, 147, 148, 149,
148, 149, 0, 0, 0, 22, 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, 22, 0, 143, 144, 145, 146, 147, 148, 149, 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,
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, 143, 144, 145,
146, 147, 148, 149, 0, 0, 0, 0, 0, 0,
143, 144, 145, 146, 147, 148, 149 143, 144, 145, 146, 147, 148, 149
}; };
static const short int yycheck[] = static const short int yycheck[] =
{ {
0, 18, 3, 4, 33, 6, 50, 38, 40, 217, 0, 18, 3, 4, 33, 6, 40, 38, 49, 65,
9, 28, 26, 66, 150, 17, 18, 35, 15, 47, 217, 28, 63, 9, 26, 150, 15, 9, 57, 35,
48, 151, 3, 4, 5, 6, 7, 8, 9, 15, 59, 151, 9, 3, 4, 5, 6, 7, 8, 9,
238, 12, 168, 51, 64, 19, 20, 21, 22, 92, 15, 238, 12, 168, 50, 91, 19, 20, 21, 22,
24, 104, 58, 106, 60, 104, 104, 106, 106, 9, 106, 24, 108, 106, 106, 108, 108, 106, 9, 108,
51, 65, 104, 9, 106, 36, 37, 50, 104, 60, 51, 106, 64, 108, 17, 18, 36, 37, 106, 60,
106, 104, 106, 106, 9, 39, 65, 98, 104, 277, 108, 106, 39, 108, 46, 47, 9, 108, 64, 100,
106, 9, 73, 74, 106, 0, 10, 11, 9, 13, 277, 49, 73, 74, 108, 35, 10, 11, 9, 13,
14, 15, 9, 35, 89, 89, 67, 9, 103, 102, 14, 15, 9, 88, 88, 9, 66, 0, 40, 104,
220, 72, 73, 74, 75, 76, 102, 78, 79, 80, 220, 71, 72, 73, 74, 75, 105, 77, 78, 79,
81, 98, 99, 84, 85, 106, 102, 40, 102, 101, 80, 100, 101, 83, 84, 106, 104, 104, 17, 104,
96, 97, 98, 99, 102, 96, 103, 98, 103, 102, 104, 104, 103, 98, 99, 100, 101, 105, 98, 103,
102, 101, 103, 102, 3, 4, 5, 6, 7, 8, 100, 9, 52, 104, 39, 105, 3, 4, 5, 6,
9, 102, 102, 12, 102, 102, 137, 138, 139, 140, 7, 8, 9, 104, 104, 12, 137, 138, 139, 140,
141, 102, 143, 144, 145, 146, 147, 148, 149, 102, 141, 105, 143, 144, 145, 146, 147, 148, 149, 104,
280, 152, 102, 102, 155, 285, 157, 36, 37, 93, 280, 152, 105, 104, 155, 285, 157, 104, 104, 36,
94, 95, 96, 97, 98, 99, 102, 102, 39, 17, 37, 95, 96, 97, 98, 99, 100, 101, 104, 104,
104, 200, 102, 3, 4, 5, 6, 7, 8, 9, 9, 200, 106, 3, 4, 5, 6, 7, 8, 9,
103, 311, 12, 183, 102, 102, 102, 9, 67, 103, 105, 311, 12, 183, 104, 104, 104, 104, 104, 66,
53, 9, 192, 72, 73, 74, 75, 76, 9, 78, 104, 9, 192, 104, 71, 72, 73, 74, 75, 60,
79, 80, 81, 61, 50, 84, 85, 103, 103, 9, 77, 78, 79, 80, 49, 105, 83, 84, 105, 9,
71, 71, 213, 15, 9, 9, 9, 96, 103, 59, 70, 70, 213, 3, 4, 5, 6, 7, 8, 9,
221, 9, 105, 56, 103, 55, 9, 104, 106, 93, 221, 98, 12, 15, 54, 9, 9, 9, 105, 105,
106, 232, 9, 9, 235, 236, 103, 67, 9, 25, 58, 232, 9, 107, 235, 236, 66, 9, 55, 106,
31, 9, 72, 73, 74, 75, 76, 27, 78, 79, 108, 71, 72, 73, 74, 75, 95, 77, 78, 79,
80, 81, 104, 32, 84, 85, 9, 257, 63, 3, 80, 108, 9, 83, 84, 9, 9, 257, 105, 25,
4, 5, 6, 7, 8, 9, 96, 41, 12, 104, 10, 11, 31, 13, 14, 15, 27, 32, 98, 106,
108, 105, 9, 103, 28, 103, 43, 52, 62, 9, 9, 9, 106, 41, 62, 105, 66, 110, 107, 9,
44, 3, 45, 90, 103, 102, 46, 12, 104, 10, 28, 71, 72, 73, 74, 75, 92, 77, 78, 79,
11, 9, 13, 14, 15, 9, 9, 9, 32, 299, 80, 51, 105, 83, 84, 9, 9, 61, 17, 299,
8, 25, 9, 303, 102, 10, 11, 164, 13, 14, 44, 3, 16, 303, 89, 45, 105, 104, 98, 12,
15, 328, 102, 155, 33, 224, 237, 272, 219, -1, 106, 9, 93, 330, 28, 105, 30, 31, 9, 33,
279, 298, 322, 67, 29, -1, -1, -1, 72, 73, 34, 35, 9, 323, 94, 10, 11, 41, 13, 14,
74, 75, 76, -1, 78, 79, 80, 81, -1, 9, 15, 9, 32, 8, 48, 25, 9, 51, 164, 53,
84, 85, -1, -1, -1, -1, 16, -1, -1, -1, 155, 104, 56, 237, 29, 95, 96, 97, 98, 99,
-1, -1, 96, -1, -1, -1, -1, -1, 28, 103, 100, 101, 104, 67, 68, 69, 106, 33, 224, 9,
30, 31, -1, 33, 34, 35, -1, -1, -1, -1, 272, 219, 76, -1, -1, 298, 16, 81, 82, 279,
-1, 41, 93, 94, 95, 96, 97, 98, 99, 49, -1, 85, 86, 87, -1, -1, 90, 27, 28, -1,
-1, -1, 52, 104, 54, -1, -1, 57, 93, 94, -1, -1, -1, 33, 34, 35, -1, -1, -1, -1,
95, 96, 97, 98, 99, -1, -1, -1, 68, 69, -1, 41, -1, -1, -1, 109, -1, -1, 48, -1,
70, 9, -1, -1, -1, -1, -1, 77, 16, -1, -1, 51, -1, 53, -1, -1, 56, -1, -1, -1,
-1, -1, 82, 83, -1, -1, 86, 87, 88, 27, 95, 96, 97, 98, 99, 100, 101, 67, 68, 69,
28, 91, -1, -1, -1, 33, 34, 35, -1, -1, -1, -1, -1, 9, -1, -1, 76, -1, -1, -1,
-1, 10, 11, 41, 13, 14, 15, 107, -1, -1, 16, 81, 82, -1, -1, 85, 86, 87, -1, -1,
-1, 49, -1, -1, 52, -1, 54, -1, -1, 57, 90, 27, 28, -1, -1, -1, -1, 33, 34, 35,
-1, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, 10, 11, 41, 13, 14, 15, 109,
68, 69, 70, 9, -1, -1, -1, -1, -1, 77, -1, -1, 48, -1, -1, 51, -1, 53, -1, -1,
16, -1, -1, -1, 82, 83, -1, -1, 86, 87, 56, -1, -1, -1, -1, 32, -1, -1, -1, -1,
88, 27, 28, 91, -1, -1, -1, 33, 34, 35, -1, 67, 68, 69, -1, -1, -1, 9, -1, -1,
-1, -1, -1, 10, 11, 41, 13, 14, 15, 107, 76, -1, -1, -1, 16, 81, 82, -1, -1, 85,
-1, -1, -1, 49, -1, -1, 52, -1, 54, -1, 86, 87, -1, -1, 90, 27, 28, -1, -1, -1,
-1, 57, 29, -1, 93, 94, 95, 96, 97, 98, -1, 33, 34, 35, -1, -1, -1, -1, -1, 41,
99, -1, 68, 69, 70, 9, -1, -1, -1, -1, -1, -1, -1, 109, -1, -1, 48, -1, -1, 51,
-1, 77, 16, -1, -1, -1, 82, 83, -1, -1, -1, 53, -1, -1, 56, -1, -1, -1, 95, 96,
86, 87, 88, 27, 28, 91, -1, -1, -1, 33, 97, 98, 99, 100, 101, 67, 68, 69, 10, 11,
34, 35, -1, -1, -1, -1, -1, 41, -1, -1, 9, 13, 14, 15, 76, -1, -1, 16, -1, 81,
-1, 107, -1, -1, -1, 49, -1, -1, 52, -1, 82, -1, -1, 85, 86, 87, -1, -1, 90, 28,
54, -1, -1, 57, -1, -1, 93, 94, 95, 96, 13, 14, 15, -1, 33, 34, 35, -1, -1, -1,
97, 98, 99, -1, 68, 69, 70, 9, -1, -1, 42, -1, 41, -1, -1, -1, -1, 109, -1, 48,
-1, -1, -1, 77, 16, 13, 14, 15, 82, 83, -1, -1, 51, -1, 53, 10, 11, 56, 13, 14,
-1, -1, 86, 87, 88, -1, 28, 91, -1, -1, 15, -1, 10, 11, -1, 13, 14, 15, 67, 68,
-1, 33, 34, 35, -1, -1, -1, 10, 11, 41, 69, -1, -1, -1, 29, 10, 11, 76, 13, 14,
13, 14, 15, 107, -1, -1, -1, 49, -1, -1, 15, -1, 81, 82, 32, -1, 85, 86, 87, -1,
52, -1, 54, -1, -1, 57, 10, 11, -1, 13, -1, 90, -1, 95, 96, 97, 98, 99, 100, 101,
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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
93, 94, 95, 96, 97, 98, 99, -1, -1, -1, 109, -1, 95, 96, 97, 98, 99, 100, 101, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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 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 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */ symbol of state STATE-NUM. */
static const unsigned char yystos[] = static const unsigned char yystos[] =
{ {
0, 9, 16, 28, 33, 34, 35, 41, 49, 52, 0, 9, 16, 28, 33, 34, 35, 41, 48, 51,
54, 57, 68, 69, 70, 77, 82, 83, 86, 87, 53, 56, 67, 68, 69, 76, 81, 82, 85, 86,
88, 91, 107, 110, 115, 116, 117, 130, 131, 132, 87, 90, 109, 112, 117, 118, 119, 132, 133, 134,
136, 137, 138, 139, 140, 141, 142, 143, 147, 148, 138, 139, 140, 141, 142, 143, 144, 145, 149, 150,
149, 150, 151, 152, 153, 154, 161, 165, 166, 167, 151, 152, 153, 154, 155, 156, 163, 167, 168, 169,
177, 64, 9, 3, 4, 5, 6, 7, 8, 9, 179, 63, 9, 3, 4, 5, 6, 7, 8, 9,
12, 67, 72, 73, 74, 75, 76, 78, 79, 80, 12, 66, 71, 72, 73, 74, 75, 77, 78, 79,
81, 84, 85, 96, 103, 112, 113, 112, 36, 37, 80, 83, 84, 98, 105, 114, 115, 114, 36, 37,
98, 112, 122, 123, 124, 9, 50, 9, 39, 58, 100, 114, 124, 125, 126, 9, 49, 9, 39, 57,
60, 163, 9, 9, 9, 130, 89, 89, 9, 0, 59, 165, 9, 9, 9, 132, 88, 88, 9, 0,
102, 103, 102, 51, 130, 102, 40, 125, 135, 102, 104, 105, 104, 50, 132, 104, 40, 127, 137, 104,
102, 125, 135, 102, 102, 102, 102, 102, 102, 102, 104, 127, 137, 104, 104, 104, 104, 104, 104, 104,
102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
112, 103, 101, 112, 101, 112, 112, 10, 11, 13, 114, 105, 103, 114, 103, 114, 114, 10, 11, 13,
14, 15, 29, 93, 94, 95, 96, 97, 98, 99, 14, 15, 29, 95, 96, 97, 98, 99, 100, 101,
103, 32, 103, 103, 50, 106, 39, 17, 9, 53, 105, 32, 105, 105, 49, 108, 39, 17, 9, 52,
9, 9, 61, 164, 50, 103, 112, 121, 103, 55, 9, 9, 60, 166, 49, 105, 114, 123, 105, 54,
112, 9, 169, 170, 71, 71, 104, 112, 112, 112, 114, 9, 171, 172, 70, 70, 106, 114, 114, 114,
112, 112, 110, 111, 112, 112, 112, 112, 112, 112, 114, 114, 112, 113, 114, 114, 114, 114, 114, 114,
112, 121, 111, 112, 38, 98, 9, 120, 122, 9, 114, 123, 113, 114, 38, 100, 9, 122, 124, 9,
119, 112, 9, 133, 134, 103, 59, 9, 118, 120, 121, 114, 9, 135, 136, 105, 58, 9, 120, 122,
105, 114, 104, 106, 121, 56, 17, 18, 104, 106, 107, 116, 106, 108, 123, 55, 17, 18, 106, 108,
30, 31, 110, 144, 145, 146, 104, 27, 104, 9, 30, 31, 112, 146, 147, 148, 106, 27, 106, 9,
104, 106, 40, 106, 125, 42, 93, 106, 9, 155, 106, 108, 40, 108, 127, 42, 95, 108, 9, 157,
156, 9, 103, 104, 106, 112, 104, 9, 19, 20, 158, 9, 105, 106, 108, 114, 106, 9, 19, 20,
21, 22, 24, 168, 168, 25, 169, 111, 112, 144, 21, 22, 24, 170, 170, 25, 171, 113, 114, 146,
27, 32, 104, 9, 9, 41, 126, 112, 112, 133, 27, 32, 106, 9, 9, 41, 128, 114, 114, 135,
168, 104, 106, 63, 104, 108, 105, 9, 171, 172, 170, 106, 108, 62, 106, 110, 107, 9, 173, 174,
29, 28, 52, 43, 127, 32, 103, 157, 62, 160, 29, 28, 51, 92, 129, 32, 105, 159, 61, 162,
155, 9, 168, 65, 171, 173, 174, 175, 176, 111, 157, 9, 170, 64, 173, 175, 176, 177, 178, 113,
44, 45, 129, 111, 3, 90, 158, 103, 102, 66, 17, 44, 131, 113, 3, 89, 160, 105, 104, 65,
92, 26, 175, 46, 27, 104, 12, 159, 9, 162, 91, 26, 177, 93, 45, 27, 106, 12, 161, 9,
9, 9, 111, 9, 32, 8, 104, 106, 25, 102, 164, 9, 9, 113, 94, 9, 32, 8, 106, 108,
27, 47, 48, 128, 9, 130, 102 25, 104, 27, 46, 47, 130, 9, 132, 104
}; };
#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
...@@ -1609,277 +1606,277 @@ yyreduce: ...@@ -1609,277 +1606,277 @@ yyreduce:
switch (yyn) switch (yyn)
{ {
case 25: case 25:
#line 162 "pars0grm.y" #line 164 "pars0grm.y"
{ yyval = que_node_list_add_last(NULL, yyvsp[0]); ;} { yyval = que_node_list_add_last(NULL, yyvsp[0]); ;}
break; break;
case 26: case 26:
#line 164 "pars0grm.y" #line 166 "pars0grm.y"
{ yyval = que_node_list_add_last(yyvsp[-1], yyvsp[0]); ;} { yyval = que_node_list_add_last(yyvsp[-1], yyvsp[0]); ;}
break; break;
case 27: case 27:
#line 168 "pars0grm.y" #line 170 "pars0grm.y"
{ yyval = yyvsp[0];;} { yyval = yyvsp[0];;}
break; break;
case 28: case 28:
#line 170 "pars0grm.y" #line 172 "pars0grm.y"
{ yyval = pars_func(yyvsp[-3], yyvsp[-1]); ;} { yyval = pars_func(yyvsp[-3], yyvsp[-1]); ;}
break; break;
case 29: case 29:
#line 171 "pars0grm.y" #line 173 "pars0grm.y"
{ yyval = yyvsp[0];;} { yyval = yyvsp[0];;}
break; break;
case 30: case 30:
#line 172 "pars0grm.y" #line 174 "pars0grm.y"
{ yyval = yyvsp[0];;} { yyval = yyvsp[0];;}
break; break;
case 31: case 31:
#line 173 "pars0grm.y" #line 175 "pars0grm.y"
{ yyval = yyvsp[0];;} { yyval = yyvsp[0];;}
break; break;
case 32: case 32:
#line 174 "pars0grm.y" #line 176 "pars0grm.y"
{ yyval = yyvsp[0];;} { yyval = yyvsp[0];;}
break; break;
case 33: case 33:
#line 175 "pars0grm.y" #line 177 "pars0grm.y"
{ yyval = yyvsp[0];;} { yyval = yyvsp[0];;}
break; break;
case 34: case 34:
#line 176 "pars0grm.y" #line 178 "pars0grm.y"
{ yyval = yyvsp[0];;} { yyval = yyvsp[0];;}
break; break;
case 35: case 35:
#line 177 "pars0grm.y" #line 179 "pars0grm.y"
{ yyval = yyvsp[0];;} { yyval = yyvsp[0];;}
break; break;
case 36: case 36:
#line 178 "pars0grm.y" #line 180 "pars0grm.y"
{ yyval = pars_op('+', yyvsp[-2], yyvsp[0]); ;} { yyval = pars_op('+', yyvsp[-2], yyvsp[0]); ;}
break; break;
case 37: case 37:
#line 179 "pars0grm.y" #line 181 "pars0grm.y"
{ yyval = pars_op('-', yyvsp[-2], yyvsp[0]); ;} { yyval = pars_op('-', yyvsp[-2], yyvsp[0]); ;}
break; break;
case 38: case 38:
#line 180 "pars0grm.y" #line 182 "pars0grm.y"
{ yyval = pars_op('*', yyvsp[-2], yyvsp[0]); ;} { yyval = pars_op('*', yyvsp[-2], yyvsp[0]); ;}
break; break;
case 39: case 39:
#line 181 "pars0grm.y" #line 183 "pars0grm.y"
{ yyval = pars_op('/', yyvsp[-2], yyvsp[0]); ;} { yyval = pars_op('/', yyvsp[-2], yyvsp[0]); ;}
break; break;
case 40: case 40:
#line 182 "pars0grm.y" #line 184 "pars0grm.y"
{ yyval = pars_op('-', yyvsp[0], NULL); ;} { yyval = pars_op('-', yyvsp[0], NULL); ;}
break; break;
case 41: case 41:
#line 183 "pars0grm.y" #line 185 "pars0grm.y"
{ yyval = yyvsp[-1]; ;} { yyval = yyvsp[-1]; ;}
break; break;
case 42: case 42:
#line 184 "pars0grm.y" #line 186 "pars0grm.y"
{ yyval = pars_op('=', yyvsp[-2], yyvsp[0]); ;} { yyval = pars_op('=', yyvsp[-2], yyvsp[0]); ;}
break; break;
case 43: case 43:
#line 185 "pars0grm.y" #line 187 "pars0grm.y"
{ yyval = pars_op('<', yyvsp[-2], yyvsp[0]); ;} { yyval = pars_op('<', yyvsp[-2], yyvsp[0]); ;}
break; break;
case 44: case 44:
#line 186 "pars0grm.y" #line 188 "pars0grm.y"
{ yyval = pars_op('>', yyvsp[-2], yyvsp[0]); ;} { yyval = pars_op('>', yyvsp[-2], yyvsp[0]); ;}
break; break;
case 45: case 45:
#line 187 "pars0grm.y" #line 189 "pars0grm.y"
{ yyval = pars_op(PARS_GE_TOKEN, yyvsp[-2], yyvsp[0]); ;} { yyval = pars_op(PARS_GE_TOKEN, yyvsp[-2], yyvsp[0]); ;}
break; break;
case 46: case 46:
#line 188 "pars0grm.y" #line 190 "pars0grm.y"
{ yyval = pars_op(PARS_LE_TOKEN, yyvsp[-2], yyvsp[0]); ;} { yyval = pars_op(PARS_LE_TOKEN, yyvsp[-2], yyvsp[0]); ;}
break; break;
case 47: case 47:
#line 189 "pars0grm.y" #line 191 "pars0grm.y"
{ yyval = pars_op(PARS_NE_TOKEN, yyvsp[-2], yyvsp[0]); ;} { yyval = pars_op(PARS_NE_TOKEN, yyvsp[-2], yyvsp[0]); ;}
break; break;
case 48: case 48:
#line 190 "pars0grm.y" #line 192 "pars0grm.y"
{ yyval = pars_op(PARS_AND_TOKEN, yyvsp[-2], yyvsp[0]); ;} { yyval = pars_op(PARS_AND_TOKEN, yyvsp[-2], yyvsp[0]); ;}
break; break;
case 49: case 49:
#line 191 "pars0grm.y" #line 193 "pars0grm.y"
{ yyval = pars_op(PARS_OR_TOKEN, yyvsp[-2], yyvsp[0]); ;} { yyval = pars_op(PARS_OR_TOKEN, yyvsp[-2], yyvsp[0]); ;}
break; break;
case 50: case 50:
#line 192 "pars0grm.y" #line 194 "pars0grm.y"
{ yyval = pars_op(PARS_NOT_TOKEN, yyvsp[0], NULL); ;} { yyval = pars_op(PARS_NOT_TOKEN, yyvsp[0], NULL); ;}
break; break;
case 51: case 51:
#line 194 "pars0grm.y" #line 196 "pars0grm.y"
{ yyval = pars_op(PARS_NOTFOUND_TOKEN, yyvsp[-2], NULL); ;} { yyval = pars_op(PARS_NOTFOUND_TOKEN, yyvsp[-2], NULL); ;}
break; break;
case 52: case 52:
#line 196 "pars0grm.y" #line 198 "pars0grm.y"
{ yyval = pars_op(PARS_NOTFOUND_TOKEN, yyvsp[-2], NULL); ;} { yyval = pars_op(PARS_NOTFOUND_TOKEN, yyvsp[-2], NULL); ;}
break; break;
case 53: case 53:
#line 200 "pars0grm.y" #line 202 "pars0grm.y"
{ yyval = &pars_to_char_token; ;} { yyval = &pars_to_char_token; ;}
break; break;
case 54: case 54:
#line 201 "pars0grm.y" #line 203 "pars0grm.y"
{ yyval = &pars_to_number_token; ;} { yyval = &pars_to_number_token; ;}
break; break;
case 55: case 55:
#line 202 "pars0grm.y" #line 204 "pars0grm.y"
{ yyval = &pars_to_binary_token; ;} { yyval = &pars_to_binary_token; ;}
break; break;
case 56: case 56:
#line 204 "pars0grm.y" #line 206 "pars0grm.y"
{ yyval = &pars_binary_to_number_token; ;} { yyval = &pars_binary_to_number_token; ;}
break; break;
case 57: case 57:
#line 205 "pars0grm.y" #line 207 "pars0grm.y"
{ yyval = &pars_substr_token; ;} { yyval = &pars_substr_token; ;}
break; break;
case 58: case 58:
#line 206 "pars0grm.y" #line 208 "pars0grm.y"
{ yyval = &pars_concat_token; ;} { yyval = &pars_concat_token; ;}
break; break;
case 59: case 59:
#line 207 "pars0grm.y" #line 209 "pars0grm.y"
{ yyval = &pars_instr_token; ;} { yyval = &pars_instr_token; ;}
break; break;
case 60: case 60:
#line 208 "pars0grm.y" #line 210 "pars0grm.y"
{ yyval = &pars_length_token; ;} { yyval = &pars_length_token; ;}
break; break;
case 61: case 61:
#line 209 "pars0grm.y" #line 211 "pars0grm.y"
{ yyval = &pars_sysdate_token; ;} { yyval = &pars_sysdate_token; ;}
break; break;
case 62: case 62:
#line 210 "pars0grm.y" #line 212 "pars0grm.y"
{ yyval = &pars_rnd_token; ;} { yyval = &pars_rnd_token; ;}
break; break;
case 63: case 63:
#line 211 "pars0grm.y" #line 213 "pars0grm.y"
{ yyval = &pars_rnd_str_token; ;} { yyval = &pars_rnd_str_token; ;}
break; break;
case 67: case 67:
#line 222 "pars0grm.y" #line 224 "pars0grm.y"
{ yyval = pars_stored_procedure_call(yyvsp[-4]); ;} { yyval = pars_stored_procedure_call(yyvsp[-4]); ;}
break; break;
case 68: case 68:
#line 227 "pars0grm.y" #line 229 "pars0grm.y"
{ yyval = pars_procedure_call(yyvsp[-3], yyvsp[-1]); ;} { yyval = pars_procedure_call(yyvsp[-3], yyvsp[-1]); ;}
break; break;
case 69: case 69:
#line 231 "pars0grm.y" #line 233 "pars0grm.y"
{ yyval = &pars_replstr_token; ;} { yyval = &pars_replstr_token; ;}
break; break;
case 70: case 70:
#line 232 "pars0grm.y" #line 234 "pars0grm.y"
{ yyval = &pars_printf_token; ;} { yyval = &pars_printf_token; ;}
break; break;
case 71: case 71:
#line 233 "pars0grm.y" #line 235 "pars0grm.y"
{ yyval = &pars_assert_token; ;} { yyval = &pars_assert_token; ;}
break; break;
case 72: case 72:
#line 237 "pars0grm.y" #line 239 "pars0grm.y"
{ yyval = yyvsp[-2]; ;} { yyval = yyvsp[-2]; ;}
break; break;
case 73: case 73:
#line 241 "pars0grm.y" #line 243 "pars0grm.y"
{ yyval = que_node_list_add_last(NULL, yyvsp[0]); ;} { yyval = que_node_list_add_last(NULL, yyvsp[0]); ;}
break; break;
case 74: case 74:
#line 243 "pars0grm.y" #line 245 "pars0grm.y"
{ yyval = que_node_list_add_last(yyvsp[-2], yyvsp[0]); ;} { yyval = que_node_list_add_last(yyvsp[-2], yyvsp[0]); ;}
break; break;
case 75: case 75:
#line 247 "pars0grm.y" #line 249 "pars0grm.y"
{ yyval = NULL; ;} { yyval = NULL; ;}
break; break;
case 76: case 76:
#line 248 "pars0grm.y" #line 250 "pars0grm.y"
{ yyval = que_node_list_add_last(NULL, yyvsp[0]); ;} { yyval = que_node_list_add_last(NULL, yyvsp[0]); ;}
break; break;
case 77: case 77:
#line 250 "pars0grm.y" #line 252 "pars0grm.y"
{ yyval = que_node_list_add_last(yyvsp[-2], yyvsp[0]); ;} { yyval = que_node_list_add_last(yyvsp[-2], yyvsp[0]); ;}
break; break;
case 78: case 78:
#line 254 "pars0grm.y" #line 256 "pars0grm.y"
{ yyval = NULL; ;} { yyval = NULL; ;}
break; break;
case 79: case 79:
#line 255 "pars0grm.y" #line 257 "pars0grm.y"
{ yyval = que_node_list_add_last(NULL, yyvsp[0]);;} { yyval = que_node_list_add_last(NULL, yyvsp[0]);;}
break; break;
case 80: case 80:
#line 256 "pars0grm.y" #line 258 "pars0grm.y"
{ yyval = que_node_list_add_last(yyvsp[-2], yyvsp[0]); ;} { yyval = que_node_list_add_last(yyvsp[-2], yyvsp[0]); ;}
break; break;
case 81: case 81:
#line 260 "pars0grm.y" #line 262 "pars0grm.y"
{ yyval = yyvsp[0]; ;} { yyval = yyvsp[0]; ;}
break; break;
case 82: case 82:
#line 262 "pars0grm.y" #line 264 "pars0grm.y"
{ yyval = pars_func(&pars_count_token, { yyval = pars_func(&pars_count_token,
que_node_list_add_last(NULL, que_node_list_add_last(NULL,
sym_tab_add_int_lit( sym_tab_add_int_lit(
...@@ -1887,7 +1884,7 @@ yyreduce: ...@@ -1887,7 +1884,7 @@ yyreduce:
break; break;
case 83: case 83:
#line 267 "pars0grm.y" #line 269 "pars0grm.y"
{ yyval = pars_func(&pars_count_token, { yyval = pars_func(&pars_count_token,
que_node_list_add_last(NULL, que_node_list_add_last(NULL,
pars_func(&pars_distinct_token, pars_func(&pars_distinct_token,
...@@ -1896,435 +1893,435 @@ yyreduce: ...@@ -1896,435 +1893,435 @@ yyreduce:
break; break;
case 84: case 84:
#line 273 "pars0grm.y" #line 275 "pars0grm.y"
{ yyval = pars_func(&pars_sum_token, { yyval = pars_func(&pars_sum_token,
que_node_list_add_last(NULL, que_node_list_add_last(NULL,
yyvsp[-1])); ;} yyvsp[-1])); ;}
break; break;
case 85: case 85:
#line 279 "pars0grm.y" #line 281 "pars0grm.y"
{ yyval = NULL; ;} { yyval = NULL; ;}
break; break;
case 86: case 86:
#line 280 "pars0grm.y" #line 282 "pars0grm.y"
{ yyval = que_node_list_add_last(NULL, yyvsp[0]); ;} { yyval = que_node_list_add_last(NULL, yyvsp[0]); ;}
break; break;
case 87: case 87:
#line 282 "pars0grm.y" #line 284 "pars0grm.y"
{ yyval = que_node_list_add_last(yyvsp[-2], yyvsp[0]); ;} { yyval = que_node_list_add_last(yyvsp[-2], yyvsp[0]); ;}
break; break;
case 88: case 88:
#line 286 "pars0grm.y" #line 288 "pars0grm.y"
{ yyval = pars_select_list(&pars_star_denoter, { yyval = pars_select_list(&pars_star_denoter,
NULL); ;} NULL); ;}
break; break;
case 89: case 89:
#line 289 "pars0grm.y" #line 291 "pars0grm.y"
{ yyval = pars_select_list(yyvsp[-2], yyvsp[0]); ;} { yyval = pars_select_list(yyvsp[-2], yyvsp[0]); ;}
break; break;
case 90: case 90:
#line 290 "pars0grm.y" #line 292 "pars0grm.y"
{ yyval = pars_select_list(yyvsp[0], NULL); ;} { yyval = pars_select_list(yyvsp[0], NULL); ;}
break; break;
case 91: case 91:
#line 294 "pars0grm.y" #line 296 "pars0grm.y"
{ yyval = NULL; ;} { yyval = NULL; ;}
break; break;
case 92: case 92:
#line 295 "pars0grm.y" #line 297 "pars0grm.y"
{ yyval = yyvsp[0]; ;} { yyval = yyvsp[0]; ;}
break; break;
case 93: case 93:
#line 299 "pars0grm.y" #line 301 "pars0grm.y"
{ yyval = NULL; ;} { yyval = NULL; ;}
break; break;
case 94: case 94:
#line 301 "pars0grm.y" #line 303 "pars0grm.y"
{ yyval = &pars_update_token; ;} { yyval = &pars_update_token; ;}
break; break;
case 95: case 95:
#line 305 "pars0grm.y" #line 307 "pars0grm.y"
{ yyval = NULL; ;} { yyval = NULL; ;}
break; break;
case 96: case 96:
#line 307 "pars0grm.y" #line 309 "pars0grm.y"
{ yyval = &pars_consistent_token; ;} { yyval = &pars_share_token; ;}
break; break;
case 97: case 97:
#line 311 "pars0grm.y" #line 313 "pars0grm.y"
{ yyval = &pars_asc_token; ;} { yyval = &pars_asc_token; ;}
break; break;
case 98: case 98:
#line 312 "pars0grm.y" #line 314 "pars0grm.y"
{ yyval = &pars_asc_token; ;} { yyval = &pars_asc_token; ;}
break; break;
case 99: case 99:
#line 313 "pars0grm.y" #line 315 "pars0grm.y"
{ yyval = &pars_desc_token; ;} { yyval = &pars_desc_token; ;}
break; break;
case 100: case 100:
#line 317 "pars0grm.y" #line 319 "pars0grm.y"
{ yyval = NULL; ;} { yyval = NULL; ;}
break; break;
case 101: case 101:
#line 319 "pars0grm.y" #line 321 "pars0grm.y"
{ yyval = pars_order_by(yyvsp[-1], yyvsp[0]); ;} { yyval = pars_order_by(yyvsp[-1], yyvsp[0]); ;}
break; break;
case 102: case 102:
#line 328 "pars0grm.y" #line 330 "pars0grm.y"
{ yyval = pars_select_statement(yyvsp[-6], yyvsp[-4], yyvsp[-3], { yyval = pars_select_statement(yyvsp[-6], yyvsp[-4], yyvsp[-3],
yyvsp[-2], yyvsp[-1], yyvsp[0]); ;} yyvsp[-2], yyvsp[-1], yyvsp[0]); ;}
break; break;
case 103: case 103:
#line 334 "pars0grm.y" #line 336 "pars0grm.y"
{ yyval = yyvsp[0]; ;} { yyval = yyvsp[0]; ;}
break; break;
case 104: case 104:
#line 339 "pars0grm.y" #line 341 "pars0grm.y"
{ yyval = pars_insert_statement(yyvsp[-4], yyvsp[-1], NULL); ;} { yyval = pars_insert_statement(yyvsp[-4], yyvsp[-1], NULL); ;}
break; break;
case 105: case 105:
#line 341 "pars0grm.y" #line 343 "pars0grm.y"
{ yyval = pars_insert_statement(yyvsp[-1], NULL, yyvsp[0]); ;} { yyval = pars_insert_statement(yyvsp[-1], NULL, yyvsp[0]); ;}
break; break;
case 106: case 106:
#line 345 "pars0grm.y" #line 347 "pars0grm.y"
{ yyval = pars_column_assignment(yyvsp[-2], yyvsp[0]); ;} { yyval = pars_column_assignment(yyvsp[-2], yyvsp[0]); ;}
break; break;
case 107: case 107:
#line 349 "pars0grm.y" #line 351 "pars0grm.y"
{ yyval = que_node_list_add_last(NULL, yyvsp[0]); ;} { yyval = que_node_list_add_last(NULL, yyvsp[0]); ;}
break; break;
case 108: case 108:
#line 351 "pars0grm.y" #line 353 "pars0grm.y"
{ yyval = que_node_list_add_last(yyvsp[-2], yyvsp[0]); ;} { yyval = que_node_list_add_last(yyvsp[-2], yyvsp[0]); ;}
break; break;
case 109: case 109:
#line 357 "pars0grm.y" #line 359 "pars0grm.y"
{ yyval = yyvsp[0]; ;} { yyval = yyvsp[0]; ;}
break; break;
case 110: case 110:
#line 363 "pars0grm.y" #line 365 "pars0grm.y"
{ yyval = pars_update_statement_start(FALSE, { yyval = pars_update_statement_start(FALSE,
yyvsp[-2], yyvsp[0]); ;} yyvsp[-2], yyvsp[0]); ;}
break; break;
case 111: case 111:
#line 369 "pars0grm.y" #line 371 "pars0grm.y"
{ yyval = pars_update_statement(yyvsp[-1], NULL, yyvsp[0]); ;} { yyval = pars_update_statement(yyvsp[-1], NULL, yyvsp[0]); ;}
break; break;
case 112: case 112:
#line 374 "pars0grm.y" #line 376 "pars0grm.y"
{ yyval = pars_update_statement(yyvsp[-1], yyvsp[0], NULL); ;} { yyval = pars_update_statement(yyvsp[-1], yyvsp[0], NULL); ;}
break; break;
case 113: case 113:
#line 379 "pars0grm.y" #line 381 "pars0grm.y"
{ yyval = pars_update_statement_start(TRUE, { yyval = pars_update_statement_start(TRUE,
yyvsp[0], NULL); ;} yyvsp[0], NULL); ;}
break; break;
case 114: case 114:
#line 385 "pars0grm.y" #line 387 "pars0grm.y"
{ yyval = pars_update_statement(yyvsp[-1], NULL, yyvsp[0]); ;} { yyval = pars_update_statement(yyvsp[-1], NULL, yyvsp[0]); ;}
break; break;
case 115: case 115:
#line 390 "pars0grm.y" #line 392 "pars0grm.y"
{ yyval = pars_update_statement(yyvsp[-1], yyvsp[0], NULL); ;} { yyval = pars_update_statement(yyvsp[-1], yyvsp[0], NULL); ;}
break; break;
case 116: case 116:
#line 395 "pars0grm.y" #line 397 "pars0grm.y"
{ yyval = pars_row_printf_statement(yyvsp[0]); ;} { yyval = pars_row_printf_statement(yyvsp[0]); ;}
break; break;
case 117: case 117:
#line 400 "pars0grm.y" #line 402 "pars0grm.y"
{ yyval = pars_assignment_statement(yyvsp[-2], yyvsp[0]); ;} { yyval = pars_assignment_statement(yyvsp[-2], yyvsp[0]); ;}
break; break;
case 118: case 118:
#line 406 "pars0grm.y" #line 408 "pars0grm.y"
{ yyval = pars_elsif_element(yyvsp[-2], yyvsp[0]); ;} { yyval = pars_elsif_element(yyvsp[-2], yyvsp[0]); ;}
break; break;
case 119: case 119:
#line 410 "pars0grm.y" #line 412 "pars0grm.y"
{ yyval = que_node_list_add_last(NULL, yyvsp[0]); ;} { yyval = que_node_list_add_last(NULL, yyvsp[0]); ;}
break; break;
case 120: case 120:
#line 412 "pars0grm.y" #line 414 "pars0grm.y"
{ yyval = que_node_list_add_last(yyvsp[-1], yyvsp[0]); ;} { yyval = que_node_list_add_last(yyvsp[-1], yyvsp[0]); ;}
break; break;
case 121: case 121:
#line 416 "pars0grm.y" #line 418 "pars0grm.y"
{ yyval = NULL; ;} { yyval = NULL; ;}
break; break;
case 122: case 122:
#line 418 "pars0grm.y" #line 420 "pars0grm.y"
{ yyval = yyvsp[0]; ;} { yyval = yyvsp[0]; ;}
break; break;
case 123: case 123:
#line 419 "pars0grm.y" #line 421 "pars0grm.y"
{ yyval = yyvsp[0]; ;} { yyval = yyvsp[0]; ;}
break; break;
case 124: case 124:
#line 426 "pars0grm.y" #line 428 "pars0grm.y"
{ yyval = pars_if_statement(yyvsp[-5], yyvsp[-3], yyvsp[-2]); ;} { yyval = pars_if_statement(yyvsp[-5], yyvsp[-3], yyvsp[-2]); ;}
break; break;
case 125: case 125:
#line 432 "pars0grm.y" #line 434 "pars0grm.y"
{ yyval = pars_while_statement(yyvsp[-4], yyvsp[-2]); ;} { yyval = pars_while_statement(yyvsp[-4], yyvsp[-2]); ;}
break; break;
case 126: case 126:
#line 440 "pars0grm.y" #line 442 "pars0grm.y"
{ yyval = pars_for_statement(yyvsp[-8], yyvsp[-6], yyvsp[-4], yyvsp[-2]); ;} { yyval = pars_for_statement(yyvsp[-8], yyvsp[-6], yyvsp[-4], yyvsp[-2]); ;}
break; break;
case 127: case 127:
#line 444 "pars0grm.y" #line 446 "pars0grm.y"
{ yyval = pars_exit_statement(); ;} { yyval = pars_exit_statement(); ;}
break; break;
case 128: case 128:
#line 448 "pars0grm.y" #line 450 "pars0grm.y"
{ yyval = pars_return_statement(); ;} { yyval = pars_return_statement(); ;}
break; break;
case 129: case 129:
#line 453 "pars0grm.y" #line 455 "pars0grm.y"
{ yyval = pars_open_statement( { yyval = pars_open_statement(
ROW_SEL_OPEN_CURSOR, yyvsp[0]); ;} ROW_SEL_OPEN_CURSOR, yyvsp[0]); ;}
break; break;
case 130: case 130:
#line 459 "pars0grm.y" #line 461 "pars0grm.y"
{ yyval = pars_open_statement( { yyval = pars_open_statement(
ROW_SEL_CLOSE_CURSOR, yyvsp[0]); ;} ROW_SEL_CLOSE_CURSOR, yyvsp[0]); ;}
break; break;
case 131: case 131:
#line 465 "pars0grm.y" #line 467 "pars0grm.y"
{ yyval = pars_fetch_statement(yyvsp[-2], yyvsp[0], NULL); ;} { yyval = pars_fetch_statement(yyvsp[-2], yyvsp[0], NULL); ;}
break; break;
case 132: case 132:
#line 467 "pars0grm.y" #line 469 "pars0grm.y"
{ yyval = pars_fetch_statement(yyvsp[-2], NULL, yyvsp[0]); ;} { yyval = pars_fetch_statement(yyvsp[-2], NULL, yyvsp[0]); ;}
break; break;
case 133: case 133:
#line 472 "pars0grm.y" #line 474 "pars0grm.y"
{ yyval = pars_column_def(yyvsp[-4], yyvsp[-3], yyvsp[-2], yyvsp[-1], yyvsp[0]); ;} { yyval = pars_column_def(yyvsp[-4], yyvsp[-3], yyvsp[-2], yyvsp[-1], yyvsp[0]); ;}
break; break;
case 134: case 134:
#line 476 "pars0grm.y" #line 478 "pars0grm.y"
{ yyval = que_node_list_add_last(NULL, yyvsp[0]); ;} { yyval = que_node_list_add_last(NULL, yyvsp[0]); ;}
break; break;
case 135: case 135:
#line 478 "pars0grm.y" #line 480 "pars0grm.y"
{ yyval = que_node_list_add_last(yyvsp[-2], yyvsp[0]); ;} { yyval = que_node_list_add_last(yyvsp[-2], yyvsp[0]); ;}
break; break;
case 136: case 136:
#line 482 "pars0grm.y" #line 484 "pars0grm.y"
{ yyval = NULL; ;} { yyval = NULL; ;}
break; break;
case 137: case 137:
#line 484 "pars0grm.y" #line 486 "pars0grm.y"
{ yyval = yyvsp[-1]; ;} { yyval = yyvsp[-1]; ;}
break; break;
case 138: case 138:
#line 488 "pars0grm.y" #line 490 "pars0grm.y"
{ yyval = NULL; ;} { yyval = NULL; ;}
break; break;
case 139: case 139:
#line 490 "pars0grm.y" #line 492 "pars0grm.y"
{ yyval = &pars_int_token; { yyval = &pars_int_token;
/* pass any non-NULL pointer */ ;} /* pass any non-NULL pointer */ ;}
break; break;
case 140: case 140:
#line 495 "pars0grm.y" #line 497 "pars0grm.y"
{ yyval = NULL; ;} { yyval = NULL; ;}
break; break;
case 141: case 141:
#line 497 "pars0grm.y" #line 499 "pars0grm.y"
{ yyval = &pars_int_token; { yyval = &pars_int_token;
/* pass any non-NULL pointer */ ;} /* pass any non-NULL pointer */ ;}
break; break;
case 142: case 142:
#line 502 "pars0grm.y" #line 504 "pars0grm.y"
{ yyval = NULL; ;} { yyval = NULL; ;}
break; break;
case 143: case 143:
#line 504 "pars0grm.y" #line 506 "pars0grm.y"
{ yyval = &pars_int_token; { yyval = &pars_int_token;
/* pass any non-NULL pointer */ ;} /* pass any non-NULL pointer */ ;}
break; break;
case 144: case 144:
#line 511 "pars0grm.y" #line 513 "pars0grm.y"
{ yyval = pars_create_table(yyvsp[-4], yyvsp[-2], yyvsp[0]); ;} { yyval = pars_create_table(yyvsp[-4], yyvsp[-2], yyvsp[0]); ;}
break; break;
case 145: case 145:
#line 515 "pars0grm.y" #line 517 "pars0grm.y"
{ yyval = que_node_list_add_last(NULL, yyvsp[0]); ;} { yyval = que_node_list_add_last(NULL, yyvsp[0]); ;}
break; break;
case 146: case 146:
#line 517 "pars0grm.y" #line 519 "pars0grm.y"
{ yyval = que_node_list_add_last(yyvsp[-2], yyvsp[0]); ;} { yyval = que_node_list_add_last(yyvsp[-2], yyvsp[0]); ;}
break; break;
case 147: case 147:
#line 521 "pars0grm.y" #line 523 "pars0grm.y"
{ yyval = NULL; ;} { yyval = NULL; ;}
break; break;
case 148: case 148:
#line 522 "pars0grm.y" #line 524 "pars0grm.y"
{ yyval = &pars_unique_token; ;} { yyval = &pars_unique_token; ;}
break; break;
case 149: case 149:
#line 526 "pars0grm.y" #line 528 "pars0grm.y"
{ yyval = NULL; ;} { yyval = NULL; ;}
break; break;
case 150: case 150:
#line 527 "pars0grm.y" #line 529 "pars0grm.y"
{ yyval = &pars_clustered_token; ;} { yyval = &pars_clustered_token; ;}
break; break;
case 151: case 151:
#line 535 "pars0grm.y" #line 537 "pars0grm.y"
{ yyval = pars_create_index(yyvsp[-8], yyvsp[-7], yyvsp[-5], yyvsp[-3], yyvsp[-1]); ;} { yyval = pars_create_index(yyvsp[-8], yyvsp[-7], yyvsp[-5], yyvsp[-3], yyvsp[-1]); ;}
break; break;
case 152: case 152:
#line 540 "pars0grm.y" #line 542 "pars0grm.y"
{ yyval = pars_commit_statement(); ;} { yyval = pars_commit_statement(); ;}
break; break;
case 153: case 153:
#line 545 "pars0grm.y" #line 547 "pars0grm.y"
{ yyval = pars_rollback_statement(); ;} { yyval = pars_rollback_statement(); ;}
break; break;
case 154: case 154:
#line 549 "pars0grm.y" #line 551 "pars0grm.y"
{ yyval = &pars_int_token; ;} { yyval = &pars_int_token; ;}
break; break;
case 155: case 155:
#line 550 "pars0grm.y" #line 552 "pars0grm.y"
{ yyval = &pars_int_token; ;} { yyval = &pars_int_token; ;}
break; break;
case 156: case 156:
#line 551 "pars0grm.y" #line 553 "pars0grm.y"
{ yyval = &pars_char_token; ;} { yyval = &pars_char_token; ;}
break; break;
case 157: case 157:
#line 552 "pars0grm.y" #line 554 "pars0grm.y"
{ yyval = &pars_binary_token; ;} { yyval = &pars_binary_token; ;}
break; break;
case 158: case 158:
#line 553 "pars0grm.y" #line 555 "pars0grm.y"
{ yyval = &pars_blob_token; ;} { yyval = &pars_blob_token; ;}
break; break;
case 159: case 159:
#line 558 "pars0grm.y" #line 560 "pars0grm.y"
{ yyval = pars_parameter_declaration(yyvsp[-2], { yyval = pars_parameter_declaration(yyvsp[-2],
PARS_INPUT, yyvsp[0]); ;} PARS_INPUT, yyvsp[0]); ;}
break; break;
case 160: case 160:
#line 561 "pars0grm.y" #line 563 "pars0grm.y"
{ yyval = pars_parameter_declaration(yyvsp[-2], { yyval = pars_parameter_declaration(yyvsp[-2],
PARS_OUTPUT, yyvsp[0]); ;} PARS_OUTPUT, yyvsp[0]); ;}
break; break;
case 161: case 161:
#line 566 "pars0grm.y" #line 568 "pars0grm.y"
{ yyval = NULL; ;} { yyval = NULL; ;}
break; break;
case 162: case 162:
#line 567 "pars0grm.y" #line 569 "pars0grm.y"
{ yyval = que_node_list_add_last(NULL, yyvsp[0]); ;} { yyval = que_node_list_add_last(NULL, yyvsp[0]); ;}
break; break;
case 163: case 163:
#line 569 "pars0grm.y" #line 571 "pars0grm.y"
{ yyval = que_node_list_add_last(yyvsp[-2], yyvsp[0]); ;} { yyval = que_node_list_add_last(yyvsp[-2], yyvsp[0]); ;}
break; break;
case 164: case 164:
#line 574 "pars0grm.y" #line 576 "pars0grm.y"
{ yyval = pars_variable_declaration(yyvsp[-2], yyvsp[-1]); ;} { yyval = pars_variable_declaration(yyvsp[-2], yyvsp[-1]); ;}
break; break;
case 168: case 168:
#line 586 "pars0grm.y" #line 588 "pars0grm.y"
{ yyval = pars_cursor_declaration(yyvsp[-3], yyvsp[-1]); ;} { yyval = pars_cursor_declaration(yyvsp[-3], yyvsp[-1]); ;}
break; break;
case 169: case 169:
#line 591 "pars0grm.y" #line 593 "pars0grm.y"
{ yyval = pars_function_declaration(yyvsp[-1]); ;} { yyval = pars_function_declaration(yyvsp[-1]); ;}
break; break;
case 175: case 175:
#line 612 "pars0grm.y" #line 614 "pars0grm.y"
{ yyval = pars_procedure_definition(yyvsp[-9], yyvsp[-7], { yyval = pars_procedure_definition(yyvsp[-9], yyvsp[-7],
yyvsp[-1]); ;} yyvsp[-1]); ;}
break; break;
...@@ -2333,7 +2330,7 @@ yyreduce: ...@@ -2333,7 +2330,7 @@ yyreduce:
} }
/* Line 1010 of yacc.c. */ /* Line 1010 of yacc.c. */
#line 2337 "pars0grm.tab.c" #line 2334 "pars0grm.tab.c"
yyvsp -= yylen; yyvsp -= yylen;
yyssp -= yylen; yyssp -= yylen;
...@@ -2558,6 +2555,6 @@ yyreturn: ...@@ -2558,6 +2555,6 @@ yyreturn:
} }
#line 616 "pars0grm.y" #line 618 "pars0grm.y"
...@@ -69,57 +69,59 @@ ...@@ -69,57 +69,59 @@
PARS_WHERE_TOKEN = 295, PARS_WHERE_TOKEN = 295,
PARS_FOR_TOKEN = 296, PARS_FOR_TOKEN = 296,
PARS_DDOT_TOKEN = 297, PARS_DDOT_TOKEN = 297,
PARS_CONSISTENT_TOKEN = 298, PARS_READ_TOKEN = 298,
PARS_READ_TOKEN = 299, PARS_ORDER_TOKEN = 299,
PARS_ORDER_TOKEN = 300, PARS_BY_TOKEN = 300,
PARS_BY_TOKEN = 301, PARS_ASC_TOKEN = 301,
PARS_ASC_TOKEN = 302, PARS_DESC_TOKEN = 302,
PARS_DESC_TOKEN = 303, PARS_INSERT_TOKEN = 303,
PARS_INSERT_TOKEN = 304, PARS_INTO_TOKEN = 304,
PARS_INTO_TOKEN = 305, PARS_VALUES_TOKEN = 305,
PARS_VALUES_TOKEN = 306, PARS_UPDATE_TOKEN = 306,
PARS_UPDATE_TOKEN = 307, PARS_SET_TOKEN = 307,
PARS_SET_TOKEN = 308, PARS_DELETE_TOKEN = 308,
PARS_DELETE_TOKEN = 309, PARS_CURRENT_TOKEN = 309,
PARS_CURRENT_TOKEN = 310, PARS_OF_TOKEN = 310,
PARS_OF_TOKEN = 311, PARS_CREATE_TOKEN = 311,
PARS_CREATE_TOKEN = 312, PARS_TABLE_TOKEN = 312,
PARS_TABLE_TOKEN = 313, PARS_INDEX_TOKEN = 313,
PARS_INDEX_TOKEN = 314, PARS_UNIQUE_TOKEN = 314,
PARS_UNIQUE_TOKEN = 315, PARS_CLUSTERED_TOKEN = 315,
PARS_CLUSTERED_TOKEN = 316, PARS_DOES_NOT_FIT_IN_MEM_TOKEN = 316,
PARS_DOES_NOT_FIT_IN_MEM_TOKEN = 317, PARS_ON_TOKEN = 317,
PARS_ON_TOKEN = 318, PARS_ASSIGN_TOKEN = 318,
PARS_ASSIGN_TOKEN = 319, PARS_DECLARE_TOKEN = 319,
PARS_DECLARE_TOKEN = 320, PARS_CURSOR_TOKEN = 320,
PARS_CURSOR_TOKEN = 321, PARS_SQL_TOKEN = 321,
PARS_SQL_TOKEN = 322, PARS_OPEN_TOKEN = 322,
PARS_OPEN_TOKEN = 323, PARS_FETCH_TOKEN = 323,
PARS_FETCH_TOKEN = 324, PARS_CLOSE_TOKEN = 324,
PARS_CLOSE_TOKEN = 325, PARS_NOTFOUND_TOKEN = 325,
PARS_NOTFOUND_TOKEN = 326, PARS_TO_CHAR_TOKEN = 326,
PARS_TO_CHAR_TOKEN = 327, PARS_TO_NUMBER_TOKEN = 327,
PARS_TO_NUMBER_TOKEN = 328, PARS_TO_BINARY_TOKEN = 328,
PARS_TO_BINARY_TOKEN = 329, PARS_BINARY_TO_NUMBER_TOKEN = 329,
PARS_BINARY_TO_NUMBER_TOKEN = 330, PARS_SUBSTR_TOKEN = 330,
PARS_SUBSTR_TOKEN = 331, PARS_REPLSTR_TOKEN = 331,
PARS_REPLSTR_TOKEN = 332, PARS_CONCAT_TOKEN = 332,
PARS_CONCAT_TOKEN = 333, PARS_INSTR_TOKEN = 333,
PARS_INSTR_TOKEN = 334, PARS_LENGTH_TOKEN = 334,
PARS_LENGTH_TOKEN = 335, PARS_SYSDATE_TOKEN = 335,
PARS_SYSDATE_TOKEN = 336, PARS_PRINTF_TOKEN = 336,
PARS_PRINTF_TOKEN = 337, PARS_ASSERT_TOKEN = 337,
PARS_ASSERT_TOKEN = 338, PARS_RND_TOKEN = 338,
PARS_RND_TOKEN = 339, PARS_RND_STR_TOKEN = 339,
PARS_RND_STR_TOKEN = 340, PARS_ROW_PRINTF_TOKEN = 340,
PARS_ROW_PRINTF_TOKEN = 341, PARS_COMMIT_TOKEN = 341,
PARS_COMMIT_TOKEN = 342, PARS_ROLLBACK_TOKEN = 342,
PARS_ROLLBACK_TOKEN = 343, PARS_WORK_TOKEN = 343,
PARS_WORK_TOKEN = 344, PARS_UNSIGNED_TOKEN = 344,
PARS_UNSIGNED_TOKEN = 345, PARS_EXIT_TOKEN = 345,
PARS_EXIT_TOKEN = 346, PARS_FUNCTION_TOKEN = 346,
PARS_FUNCTION_TOKEN = 347, PARS_LOCK_TOKEN = 347,
NEG = 348 PARS_SHARE_TOKEN = 348,
PARS_MODE_TOKEN = 349,
NEG = 350
}; };
#endif #endif
#define PARS_INT_LIT 258 #define PARS_INT_LIT 258
...@@ -162,57 +164,59 @@ ...@@ -162,57 +164,59 @@
#define PARS_WHERE_TOKEN 295 #define PARS_WHERE_TOKEN 295
#define PARS_FOR_TOKEN 296 #define PARS_FOR_TOKEN 296
#define PARS_DDOT_TOKEN 297 #define PARS_DDOT_TOKEN 297
#define PARS_CONSISTENT_TOKEN 298 #define PARS_READ_TOKEN 298
#define PARS_READ_TOKEN 299 #define PARS_ORDER_TOKEN 299
#define PARS_ORDER_TOKEN 300 #define PARS_BY_TOKEN 300
#define PARS_BY_TOKEN 301 #define PARS_ASC_TOKEN 301
#define PARS_ASC_TOKEN 302 #define PARS_DESC_TOKEN 302
#define PARS_DESC_TOKEN 303 #define PARS_INSERT_TOKEN 303
#define PARS_INSERT_TOKEN 304 #define PARS_INTO_TOKEN 304
#define PARS_INTO_TOKEN 305 #define PARS_VALUES_TOKEN 305
#define PARS_VALUES_TOKEN 306 #define PARS_UPDATE_TOKEN 306
#define PARS_UPDATE_TOKEN 307 #define PARS_SET_TOKEN 307
#define PARS_SET_TOKEN 308 #define PARS_DELETE_TOKEN 308
#define PARS_DELETE_TOKEN 309 #define PARS_CURRENT_TOKEN 309
#define PARS_CURRENT_TOKEN 310 #define PARS_OF_TOKEN 310
#define PARS_OF_TOKEN 311 #define PARS_CREATE_TOKEN 311
#define PARS_CREATE_TOKEN 312 #define PARS_TABLE_TOKEN 312
#define PARS_TABLE_TOKEN 313 #define PARS_INDEX_TOKEN 313
#define PARS_INDEX_TOKEN 314 #define PARS_UNIQUE_TOKEN 314
#define PARS_UNIQUE_TOKEN 315 #define PARS_CLUSTERED_TOKEN 315
#define PARS_CLUSTERED_TOKEN 316 #define PARS_DOES_NOT_FIT_IN_MEM_TOKEN 316
#define PARS_DOES_NOT_FIT_IN_MEM_TOKEN 317 #define PARS_ON_TOKEN 317
#define PARS_ON_TOKEN 318 #define PARS_ASSIGN_TOKEN 318
#define PARS_ASSIGN_TOKEN 319 #define PARS_DECLARE_TOKEN 319
#define PARS_DECLARE_TOKEN 320 #define PARS_CURSOR_TOKEN 320
#define PARS_CURSOR_TOKEN 321 #define PARS_SQL_TOKEN 321
#define PARS_SQL_TOKEN 322 #define PARS_OPEN_TOKEN 322
#define PARS_OPEN_TOKEN 323 #define PARS_FETCH_TOKEN 323
#define PARS_FETCH_TOKEN 324 #define PARS_CLOSE_TOKEN 324
#define PARS_CLOSE_TOKEN 325 #define PARS_NOTFOUND_TOKEN 325
#define PARS_NOTFOUND_TOKEN 326 #define PARS_TO_CHAR_TOKEN 326
#define PARS_TO_CHAR_TOKEN 327 #define PARS_TO_NUMBER_TOKEN 327
#define PARS_TO_NUMBER_TOKEN 328 #define PARS_TO_BINARY_TOKEN 328
#define PARS_TO_BINARY_TOKEN 329 #define PARS_BINARY_TO_NUMBER_TOKEN 329
#define PARS_BINARY_TO_NUMBER_TOKEN 330 #define PARS_SUBSTR_TOKEN 330
#define PARS_SUBSTR_TOKEN 331 #define PARS_REPLSTR_TOKEN 331
#define PARS_REPLSTR_TOKEN 332 #define PARS_CONCAT_TOKEN 332
#define PARS_CONCAT_TOKEN 333 #define PARS_INSTR_TOKEN 333
#define PARS_INSTR_TOKEN 334 #define PARS_LENGTH_TOKEN 334
#define PARS_LENGTH_TOKEN 335 #define PARS_SYSDATE_TOKEN 335
#define PARS_SYSDATE_TOKEN 336 #define PARS_PRINTF_TOKEN 336
#define PARS_PRINTF_TOKEN 337 #define PARS_ASSERT_TOKEN 337
#define PARS_ASSERT_TOKEN 338 #define PARS_RND_TOKEN 338
#define PARS_RND_TOKEN 339 #define PARS_RND_STR_TOKEN 339
#define PARS_RND_STR_TOKEN 340 #define PARS_ROW_PRINTF_TOKEN 340
#define PARS_ROW_PRINTF_TOKEN 341 #define PARS_COMMIT_TOKEN 341
#define PARS_COMMIT_TOKEN 342 #define PARS_ROLLBACK_TOKEN 342
#define PARS_ROLLBACK_TOKEN 343 #define PARS_WORK_TOKEN 343
#define PARS_WORK_TOKEN 344 #define PARS_UNSIGNED_TOKEN 344
#define PARS_UNSIGNED_TOKEN 345 #define PARS_EXIT_TOKEN 345
#define PARS_EXIT_TOKEN 346 #define PARS_FUNCTION_TOKEN 346
#define PARS_FUNCTION_TOKEN 347 #define PARS_LOCK_TOKEN 347
#define NEG 348 #define PARS_SHARE_TOKEN 348
#define PARS_MODE_TOKEN 349
#define NEG 350
......
...@@ -70,7 +70,6 @@ yylex(void); ...@@ -70,7 +70,6 @@ yylex(void);
%token PARS_WHERE_TOKEN %token PARS_WHERE_TOKEN
%token PARS_FOR_TOKEN %token PARS_FOR_TOKEN
%token PARS_DDOT_TOKEN %token PARS_DDOT_TOKEN
%token PARS_CONSISTENT_TOKEN
%token PARS_READ_TOKEN %token PARS_READ_TOKEN
%token PARS_ORDER_TOKEN %token PARS_ORDER_TOKEN
%token PARS_BY_TOKEN %token PARS_BY_TOKEN
...@@ -120,6 +119,9 @@ yylex(void); ...@@ -120,6 +119,9 @@ yylex(void);
%token PARS_UNSIGNED_TOKEN %token PARS_UNSIGNED_TOKEN
%token PARS_EXIT_TOKEN %token PARS_EXIT_TOKEN
%token PARS_FUNCTION_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_AND_TOKEN PARS_OR_TOKEN
%left PARS_NOT_TOKEN %left PARS_NOT_TOKEN
...@@ -301,10 +303,10 @@ for_update_clause: ...@@ -301,10 +303,10 @@ for_update_clause:
{ $$ = &pars_update_token; } { $$ = &pars_update_token; }
; ;
consistent_read_clause: lock_shared_clause:
/* Nothing */ { $$ = NULL; } /* Nothing */ { $$ = NULL; }
| PARS_CONSISTENT_TOKEN PARS_READ_TOKEN | PARS_LOCK_TOKEN PARS_IN_TOKEN PARS_SHARE_TOKEN PARS_MODE_TOKEN
{ $$ = &pars_consistent_token; } { $$ = &pars_share_token; }
; ;
order_direction: order_direction:
...@@ -324,7 +326,7 @@ select_statement: ...@@ -324,7 +326,7 @@ select_statement:
PARS_FROM_TOKEN table_list PARS_FROM_TOKEN table_list
search_condition search_condition
for_update_clause for_update_clause
consistent_read_clause lock_shared_clause
order_by_clause { $$ = pars_select_statement($2, $4, $5, order_by_clause { $$ = pars_select_statement($2, $4, $5,
$6, $7, $8); } $6, $7, $8); }
; ;
......
...@@ -325,10 +325,6 @@ In the state 'id', only two actions are possible (defined below). */ ...@@ -325,10 +325,6 @@ In the state 'id', only two actions are possible (defined below). */
return(PARS_FOR_TOKEN); return(PARS_FOR_TOKEN);
} }
"CONSISTENT" {
return(PARS_CONSISTENT_TOKEN);
}
"READ" { "READ" {
return(PARS_READ_TOKEN); return(PARS_READ_TOKEN);
} }
...@@ -517,6 +513,18 @@ In the state 'id', only two actions are possible (defined below). */ ...@@ -517,6 +513,18 @@ In the state 'id', only two actions are possible (defined below). */
return(PARS_FUNCTION_TOKEN); return(PARS_FUNCTION_TOKEN);
} }
"LOCK" {
return(PARS_LOCK_TOKEN);
}
"SHARE" {
return(PARS_SHARE_TOKEN);
}
"MODE" {
return(PARS_MODE_TOKEN);
}
{ID} { {ID} {
yylval = sym_tab_add_id(pars_sym_tab_global, yylval = sym_tab_add_id(pars_sym_tab_global,
(byte*)yytext, (byte*)yytext,
......
...@@ -72,7 +72,7 @@ pars_res_word_t pars_asc_token = {PARS_ASC_TOKEN}; ...@@ -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_desc_token = {PARS_DESC_TOKEN};
pars_res_word_t pars_open_token = {PARS_OPEN_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_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_unique_token = {PARS_UNIQUE_TOKEN};
pars_res_word_t pars_clustered_token = {PARS_CLUSTERED_TOKEN}; pars_res_word_t pars_clustered_token = {PARS_CLUSTERED_TOKEN};
...@@ -699,8 +699,7 @@ pars_select_statement( ...@@ -699,8 +699,7 @@ pars_select_statement(
sym_node_t* table_list, /* in: table list */ sym_node_t* table_list, /* in: table list */
que_node_t* search_cond, /* in: search condition or NULL */ 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* for_update, /* in: NULL or &pars_update_token */
pars_res_word_t* consistent_read,/* in: NULL or pars_res_word_t* lock_shared, /* in: NULL or &pars_share_token */
&pars_consistent_token */
order_node_t* order_by) /* in: NULL or an order-by node */ order_node_t* order_by) /* in: NULL or an order-by node */
{ {
select_node->state = SEL_NODE_OPEN; select_node->state = SEL_NODE_OPEN;
...@@ -734,19 +733,24 @@ pars_select_statement( ...@@ -734,19 +733,24 @@ pars_select_statement(
} }
if (for_update) { if (for_update) {
ut_a(!consistent_read); ut_a(!lock_shared);
select_node->set_x_locks = TRUE; select_node->set_x_locks = TRUE;
select_node->row_lock_mode = LOCK_X; 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->set_x_locks = FALSE;
select_node->row_lock_mode = LOCK_S; select_node->row_lock_mode = LOCK_S;
}
if (consistent_read) {
select_node->consistent_read = TRUE;
} else {
select_node->consistent_read = FALSE; select_node->consistent_read = FALSE;
select_node->read_view = NULL; 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; select_node->order_by = order_by;
...@@ -976,7 +980,7 @@ pars_update_statement( ...@@ -976,7 +980,7 @@ pars_update_statement(
sel_node = pars_select_list(NULL, NULL); sel_node = pars_select_list(NULL, NULL);
pars_select_statement(sel_node, table_sym, search_cond, NULL, pars_select_statement(sel_node, table_sym, search_cond, NULL,
NULL, NULL); &pars_share_token, NULL);
node->searched_update = TRUE; node->searched_update = TRUE;
sel_node->common.parent = node; sel_node->common.parent = node;
} }
......
...@@ -2503,7 +2503,8 @@ do not allow the discard. We also reserve the data dictionary latch. */ ...@@ -2503,7 +2503,8 @@ do not allow the discard. We also reserve the data dictionary latch. */
"BEGIN\n" "BEGIN\n"
"SELECT ID INTO old_id\n" "SELECT ID INTO old_id\n"
"FROM SYS_TABLES\n" "FROM SYS_TABLES\n"
"WHERE NAME = :table_name;\n" "WHERE NAME = :table_name\n"
"LOCK IN SHARE MODE;\n"
"IF (SQL % NOTFOUND) THEN\n" "IF (SQL % NOTFOUND) THEN\n"
" COMMIT WORK;\n" " COMMIT WORK;\n"
" RETURN;\n" " RETURN;\n"
...@@ -3182,7 +3183,8 @@ fputs(" InnoDB: You are trying to drop table ", stderr); ...@@ -3182,7 +3183,8 @@ fputs(" InnoDB: You are trying to drop table ", stderr);
"BEGIN\n" "BEGIN\n"
"SELECT ID INTO table_id\n" "SELECT ID INTO table_id\n"
"FROM SYS_TABLES\n" "FROM SYS_TABLES\n"
"WHERE NAME = :table_name;\n" "WHERE NAME = :table_name\n"
"LOCK IN SHARE MODE;\n"
"IF (SQL % NOTFOUND) THEN\n" "IF (SQL % NOTFOUND) THEN\n"
" COMMIT WORK;\n" " COMMIT WORK;\n"
" RETURN;\n" " RETURN;\n"
...@@ -3190,7 +3192,8 @@ fputs(" InnoDB: You are trying to drop table ", stderr); ...@@ -3190,7 +3192,8 @@ fputs(" InnoDB: You are trying to drop table ", stderr);
"found := 1;\n" "found := 1;\n"
"SELECT ID INTO sys_foreign_id\n" "SELECT ID INTO sys_foreign_id\n"
"FROM SYS_TABLES\n" "FROM SYS_TABLES\n"
"WHERE NAME = 'SYS_FOREIGN';\n" "WHERE NAME = 'SYS_FOREIGN'\n"
"LOCK IN SHARE MODE;\n"
"IF (SQL % NOTFOUND) THEN\n" "IF (SQL % NOTFOUND) THEN\n"
" found := 0;\n" " found := 0;\n"
"END IF;\n" "END IF;\n"
...@@ -3204,7 +3207,8 @@ fputs(" InnoDB: You are trying to drop table ", stderr); ...@@ -3204,7 +3207,8 @@ fputs(" InnoDB: You are trying to drop table ", stderr);
" SELECT ID INTO foreign_id\n" " SELECT ID INTO foreign_id\n"
" FROM SYS_FOREIGN\n" " FROM SYS_FOREIGN\n"
" WHERE FOR_NAME = :table_name\n" " WHERE FOR_NAME = :table_name\n"
" AND TO_BINARY(FOR_NAME) = TO_BINARY(:table_name);\n" " AND TO_BINARY(FOR_NAME) = TO_BINARY(:table_name)\n"
" LOCK IN SHARE MODE;\n"
" IF (SQL % NOTFOUND) THEN\n" " IF (SQL % NOTFOUND) THEN\n"
" found := 0;\n" " found := 0;\n"
" ELSE" " ELSE"
...@@ -3216,7 +3220,8 @@ fputs(" InnoDB: You are trying to drop table ", stderr); ...@@ -3216,7 +3220,8 @@ fputs(" InnoDB: You are trying to drop table ", stderr);
"WHILE found = 1 LOOP\n" "WHILE found = 1 LOOP\n"
" SELECT ID INTO index_id\n" " SELECT ID INTO index_id\n"
" FROM SYS_INDEXES\n" " FROM SYS_INDEXES\n"
" WHERE TABLE_ID = table_id;\n" " WHERE TABLE_ID = table_id\n"
" LOCK IN SHARE MODE;\n"
" IF (SQL % NOTFOUND) THEN\n" " IF (SQL % NOTFOUND) THEN\n"
" found := 0;\n" " found := 0;\n"
" ELSE" " ELSE"
...@@ -3641,7 +3646,8 @@ row_rename_table_for_mysql( ...@@ -3641,7 +3646,8 @@ row_rename_table_for_mysql(
" SELECT ID INTO foreign_id\n" " SELECT ID INTO foreign_id\n"
" FROM SYS_FOREIGN\n" " FROM SYS_FOREIGN\n"
" WHERE FOR_NAME = :old_table_name\n" " WHERE FOR_NAME = :old_table_name\n"
" AND TO_BINARY(FOR_NAME) = TO_BINARY(:old_table_name);\n" " AND TO_BINARY(FOR_NAME) = TO_BINARY(:old_table_name)\n"
" LOCK IN SHARE MODE;\n"
" IF (SQL % NOTFOUND) THEN\n" " IF (SQL % NOTFOUND) THEN\n"
" found := 0;\n" " found := 0;\n"
" ELSE\n" " ELSE\n"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment