diff --git a/src/parser/bison_parser.cpp b/src/parser/bison_parser.cpp index 70f0566..6cbaf04 100644 --- a/src/parser/bison_parser.cpp +++ b/src/parser/bison_parser.cpp @@ -618,7 +618,7 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 52 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 530 +#define YYLAST 574 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 151 @@ -782,10 +782,10 @@ static const yytype_uint16 yytoknum[] = }; # endif -#define YYPACT_NINF -232 +#define YYPACT_NINF -231 #define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-232))) + (!!((Yystate) == (-231))) #define YYTABLE_NINF -195 @@ -796,43 +796,43 @@ static const yytype_uint16 yytoknum[] = STATE-NUM. */ static const yytype_int16 yypact[] = { - 10, 22, 66, 74, 86, -41, 23, 32, 20, -23, - 66, 95, 19, -34, 153, -36, -232, 65, 65, -232, - -232, -232, -232, -232, -232, -232, -232, -232, -232, 24, - -232, 157, 174, 63, -232, 68, 142, 118, 118, 66, - 134, 66, 238, 234, 143, -232, 66, 66, 66, -232, - 109, 114, -232, 10, -232, 184, -232, -232, -232, -232, - -232, -34, 160, 158, -34, 209, -232, 282, 7, 286, - 188, 66, 66, 229, -232, 223, 175, -232, -232, -232, - 81, 303, -232, -232, -232, -232, -232, -232, 176, -232, - 252, -232, -232, -232, 81, 252, 238, -232, -232, -232, - -232, -232, -232, 76, -232, -232, -232, -232, -232, -232, - -232, -232, 291, -63, 175, 81, -232, 331, 339, 156, - 31, 199, 248, 112, 204, 177, -232, 70, 267, 201, - -232, 49, 200, -232, -232, -232, -232, -232, -232, -232, - -232, -232, -232, -232, -232, -232, -232, 226, -49, -232, - 348, 209, 205, -232, -42, 209, 309, -232, 7, -232, - 245, 353, 246, -1, 273, -232, -232, 107, 214, -232, - 4, 5, 312, 81, 218, 177, 359, 81, 60, 219, - -79, 3, 229, 81, -232, 81, 361, 81, -232, -232, - 177, -232, 177, -67, 221, 64, 177, 177, 177, 177, + 231, -3, 32, 33, 50, -30, 15, 22, 10, 34, + 32, -28, 9, -34, 115, 16, -231, 66, 66, -231, + -231, -231, -231, -231, -231, -231, -231, -231, -231, 20, + -231, 12, 160, 23, -231, 24, 96, 68, 68, 32, + 94, 32, 206, 205, 112, -231, 32, 32, 32, -231, + 78, 83, -231, 231, -231, 150, -231, -231, -231, -231, + -231, -34, 134, 125, -34, 178, -231, 242, 7, 245, + 141, 32, 32, 184, -231, 179, 123, -231, -231, -231, + 81, 257, -231, -231, -231, -231, -231, -231, 126, -231, + 210, -231, -231, -231, 81, 210, 206, -231, -231, -231, + -231, -231, -231, 29, -231, -231, -231, -231, -231, -231, + -231, -231, 232, -64, 123, 81, -231, 275, 278, -17, + 8, 133, 195, 146, 139, 177, -231, 70, 213, 148, + -231, 74, 211, -231, -231, -231, -231, -231, -231, -231, + -231, -231, -231, -231, -231, -231, -231, 169, -50, -231, + 295, 178, 152, -231, -59, 178, 259, -231, 7, -231, + 191, 304, 194, -53, 225, -231, -231, 48, 166, -231, + 2, 4, 268, 81, 173, 177, 377, 81, 149, 180, + -76, 13, 184, 81, -231, 81, 320, 81, -231, -231, + 177, -231, 177, -63, 176, 14, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, - 238, 7, 303, -232, 222, 120, -232, -232, 81, -232, - -232, -232, -232, 238, -232, 295, -11, 146, -232, -34, - 66, -232, 373, 7, -232, 81, -232, -232, 233, 67, - 312, 298, 92, -232, -232, -34, -232, 40, -232, -232, - 28, -232, 329, -232, -232, -232, 288, 300, 387, 177, - 247, 70, -232, 301, 250, 387, 387, 387, 141, 141, - 141, 141, 60, 60, 71, 71, 71, 51, 251, -232, - -232, 7, -232, 348, -232, -232, 331, -232, -232, -232, - -232, -232, -232, 353, -232, -232, -232, 150, 152, -232, - 177, 253, -232, 254, 308, -232, -232, -232, 328, 330, - 3, 311, -232, 290, -232, 177, 387, 70, 255, 159, - -232, -232, 161, -232, -232, -232, -232, -232, 244, -232, - 28, 3, -232, -232, 225, 257, 3, 81, 359, 261, - 167, -232, -232, -232, 177, -232, -232, -232, 3, 171, - 9, -232, -232, 326, 225, 258, 81, 81, -232, -232, - 6, -1, -232, -1, 263, 262, -232 + 206, 81, 257, -231, 185, 54, -231, -231, 81, -231, + -231, -231, -231, 206, -231, 252, -6, 56, -231, -34, + 32, -231, 322, 7, -231, 81, -231, -231, 187, -39, + 268, 246, -32, -231, -231, -34, -231, 40, -231, -231, + 6, -231, 282, -231, -231, -231, 236, 318, 405, 177, + 198, 70, -231, 256, 212, 405, 405, 405, 431, 431, + 431, 431, 149, 149, -91, -91, -91, 30, 214, -53, + -231, 7, -231, 295, -231, -231, 275, -231, -231, -231, + -231, -231, -231, 304, -231, -231, -231, 60, 64, -231, + 177, 215, -231, 219, 270, -231, -231, -231, 289, 291, + 13, 280, -231, 253, -231, 177, 405, 70, 221, 65, + -231, -231, 76, -231, -231, -231, -231, -231, 274, -231, + 6, 13, -231, -231, 175, 220, 13, 81, 377, 224, + 93, -231, -231, -231, 177, -231, -231, -231, 13, 244, + -5, -231, -231, 344, 175, 226, 81, 81, -231, -231, + 5, -53, -231, -53, 227, 229, -231 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -882,15 +882,15 @@ static const yytype_uint8 yydefact[] = /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -232, -232, -232, 358, -232, 394, -232, 130, -232, -232, - -232, -232, -232, 129, -232, -232, 378, -232, 124, -232, - -232, -232, -232, -232, 305, -232, -232, 208, -202, 17, - 357, -13, 391, -232, -232, 145, 272, -232, -232, -120, - -232, -232, 147, -232, 227, -232, -232, -115, -170, -213, - 240, -93, -68, -232, -232, -232, -232, -232, -232, -232, - -232, -232, -232, -232, -232, 88, -65, -112, -232, -38, - -232, -232, -232, -187, 96, -232, -232, -232, 0, -232, - -231, -232, -232, -232, -232, -232 + -231, -231, -231, 307, -231, 354, -231, 90, -231, -231, + -231, -231, -231, 91, -231, -231, 340, -231, 87, -231, + -231, -231, -231, -231, 267, -231, -231, 170, -140, 52, + 321, -13, 353, -231, -231, 190, 216, -231, -231, -121, + -231, -231, 72, -231, 172, -231, -231, 41, -171, -203, + 204, -93, -68, -231, -231, -231, -231, -231, -231, -231, + -231, -231, -231, -231, -231, 28, -65, -112, -231, -38, + -231, -231, -231, -149, 62, -231, -231, -231, 0, -231, + -230, -231, -231, -231, -231, -231 }; /* YYDEFGOTO[NTERM-NUM]. */ @@ -912,118 +912,126 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 51, 154, 34, 104, 78, 165, 33, 242, 236, 364, - 45, 99, 100, 77, 287, 9, 79, 1, 160, 312, - 297, 259, 163, 185, 115, 2, 288, 294, 213, 37, - 50, 184, 3, 58, 180, 219, 217, 4, 48, 73, - 222, 76, 187, 303, 5, 6, 82, 83, 84, 32, - 260, 357, 184, 7, 8, 176, 38, 178, 156, 9, - 185, 220, 252, 59, 10, 298, 304, 244, 322, 33, - 49, 113, 114, 120, 99, 100, 77, 35, 89, 187, - 239, 89, 161, 289, 120, 99, 100, 77, 11, 36, - 42, 319, 254, 224, 256, 60, 290, 101, 305, 346, - 212, 185, 306, 12, 39, 41, 169, 176, 307, 308, - 121, 13, 53, 40, 179, 120, 99, 100, 77, 9, - 187, 121, 257, 334, 258, 154, -194, 309, 264, 265, + 51, 154, 34, 104, 78, 165, 242, 236, 364, 184, + 45, 99, 100, 77, 79, 9, 33, 160, 219, 287, + 312, 58, 163, 115, 32, 259, 185, 213, 48, 58, + 297, 288, 9, 196, 180, 33, 35, 357, 168, 73, + 37, 76, 46, 185, 220, 187, 82, 83, 84, 185, + 209, 59, 210, 36, 260, 176, 300, 178, 156, 59, + 49, 252, 187, 185, 298, 50, 304, 38, 187, 47, + 244, 113, 114, 120, 99, 100, 77, 184, 322, 63, + 239, 161, 187, 60, 120, 99, 100, 77, 289, 294, + 319, 60, 254, 224, 256, 41, 39, 101, 305, 212, + 346, 290, 306, 40, 262, 303, 169, 176, 307, 308, + 121, 13, 302, 89, 179, 52, 89, 183, 279, 9, + 186, 121, 257, 263, 258, 154, -194, 309, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, - 276, 277, 186, 237, 126, 122, 279, 340, 245, 349, - 234, 185, 174, 52, 262, 13, 122, 102, 183, 238, - 101, 354, 300, 186, 55, 46, 58, 350, 104, 185, - 187, 101, 278, 263, 165, 196, 170, 66, 171, 123, - 120, 99, 100, 77, 196, 285, 191, 122, 187, 310, - 123, 316, 47, 124, 210, 196, 59, 304, 206, 207, - 208, 209, 101, 210, 124, 9, 91, 125, 126, 91, - 67, 168, 209, 68, 210, 127, 104, 190, 125, 126, - 102, 175, 157, 69, 63, 158, 127, 301, 60, 305, - 295, 102, 328, 306, 70, 124, 302, 151, 74, 307, - 308, 183, 155, 355, 77, 191, 79, 338, 318, 125, - 126, 304, 122, 231, 81, 85, 232, 127, 309, 195, - 86, 92, 102, 361, 363, 196, 282, 101, 88, 283, - -195, -195, 96, 94, -195, -195, 353, 204, 205, 206, - 207, 208, 209, 305, 210, 98, 175, 306, 192, 191, - 110, 356, 292, 307, 308, 293, 326, 112, 327, 158, - 124, 183, 115, 117, 339, 342, 147, 343, 183, 193, - 158, -194, 309, 352, 125, 126, 183, 194, 195, 63, - 118, 150, 127, 344, 196, 197, 198, 102, 199, 200, - 201, 159, 192, 202, 203, 99, 204, 205, 206, 207, - 208, 209, 166, 210, 172, 191, 173, 177, 181, 345, - 183, 214, 211, 241, 218, 223, 226, 225, 230, 233, - 229, 9, 195, 240, 255, 243, 261, 281, 196, 197, - 198, 191, 199, 200, 201, 286, 296, 202, 203, 299, - 204, 205, 206, 207, 208, 209, 259, 210, 192, 313, - 185, 320, 317, 210, 331, 321, 332, 336, 333, 329, - 330, 341, 315, 360, 191, 337, 348, 351, 366, 241, - 171, 87, 57, 323, 192, 324, 72, 325, 195, 162, - 280, 95, 64, 253, 196, 197, 198, 347, 199, 200, - 201, 359, 191, 202, 203, 241, 204, 205, 206, 207, - 208, 209, 235, 210, 195, 284, 0, 192, 365, 0, - 196, 197, 198, 0, 199, 200, 201, 0, 0, 202, - 203, 0, 204, 205, 206, 207, 208, 209, 241, 210, - 0, 0, 0, 0, 0, -195, 0, 195, 0, 0, - 0, 0, 0, 196, 197, 198, 0, 199, 200, 201, - 0, 0, 202, 203, 0, 204, 205, 206, 207, 208, - 209, 0, 210, 0, 0, 195, 0, 0, 0, 0, - 0, 196, -195, -195, 0, -195, 200, 201, 0, 0, + 276, 277, 237, 126, 183, 122, 340, 42, 234, 120, + 99, 100, 77, 170, 196, 171, 122, 102, 245, 238, + 101, 334, 151, 66, 53, 55, 350, 155, 104, 68, + 67, 101, 278, 210, 165, 157, 185, 69, 158, 123, + 120, 99, 100, 77, 70, 285, 174, 349, 186, 310, + 123, 316, 217, 124, 231, 187, 222, 232, 74, 354, + 282, 304, 292, 283, 124, 293, 326, 125, 126, 158, + 327, 342, 77, 183, 183, 127, 104, 79, 125, 126, + 102, 122, 343, 81, 85, 158, 127, 301, 190, 86, + 295, 102, 328, 305, 88, 92, 101, 306, 1, 352, + 94, 96, 183, 307, 308, 98, 2, 338, 318, 110, + 112, 91, 122, 3, 91, 175, 191, 115, 4, 117, + 147, -194, 309, 361, 363, 5, 6, 101, 118, 124, + 304, 150, 159, 196, 7, 8, 353, 63, 172, 99, + 9, 166, 177, 125, 126, 10, 175, 206, 207, 208, + 209, 127, 210, 173, 181, 211, 102, 183, 214, 192, + 124, 218, 305, 225, 339, 223, 306, 226, 229, 11, + 230, 233, 307, 308, 125, 126, 355, 9, 240, 191, + 193, 261, 127, 255, 12, 296, 243, 102, 194, 195, + 281, 309, 286, 299, 259, 196, 197, 198, 185, 199, + 200, 201, 313, 317, 202, 203, 320, 204, 205, 206, + 207, 208, 209, 344, 210, 210, 331, 332, 321, 333, + 87, 329, 192, 191, 356, 330, 336, 341, 337, 348, + 351, 360, 57, 323, 171, 366, 13, 324, 72, 345, + 325, 162, 280, 241, 64, 95, 235, 253, 365, 191, + 284, 0, 195, 347, 0, 0, 0, 0, 196, 197, + 198, 0, 199, 200, 201, 0, 192, 202, 203, 0, + 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, + 315, 0, 191, 0, 0, 0, 0, 241, 0, 0, + 0, 0, 192, 0, 0, 0, 195, 0, 0, 0, + 0, 0, 196, 197, 198, 0, 199, 200, 201, 359, + 191, 202, 203, 241, 204, 205, 206, 207, 208, 209, + 0, 210, 195, 0, 0, 192, 0, 0, 196, 197, + 198, 0, 199, 200, 201, 0, 191, 202, 203, 0, + 204, 205, 206, 207, 208, 209, 241, 210, 0, 0, + 0, 0, 0, -195, 0, 195, 0, 0, 0, 0, + 0, 196, 197, 198, 0, 199, 200, 201, 0, 0, 202, 203, 0, 204, 205, 206, 207, 208, 209, 0, - 210 + 210, 0, 0, 195, 0, 0, 0, 0, 0, 196, + -195, -195, 0, -195, 200, 201, 0, 0, 202, 203, + 0, 204, 205, 206, 207, 208, 209, 0, 210, 195, + 0, 0, 0, 0, 0, 196, 0, 0, 0, 0, + -195, -195, 0, 0, -195, -195, 0, 204, 205, 206, + 207, 208, 209, 0, 210 }; static const yytype_int16 yycheck[] = { - 13, 94, 2, 68, 42, 117, 3, 177, 3, 3, - 10, 4, 5, 6, 25, 49, 12, 7, 81, 250, - 233, 88, 115, 102, 73, 15, 37, 229, 148, 70, - 13, 3, 22, 9, 127, 77, 151, 27, 19, 39, - 155, 41, 121, 245, 34, 35, 46, 47, 48, 27, - 117, 42, 3, 43, 44, 123, 97, 125, 96, 49, - 102, 103, 182, 39, 54, 235, 26, 146, 281, 3, - 51, 71, 72, 3, 4, 5, 6, 3, 61, 121, - 173, 64, 145, 94, 3, 4, 5, 6, 78, 3, - 113, 261, 185, 158, 187, 71, 107, 90, 58, 330, - 149, 102, 62, 93, 81, 85, 119, 175, 68, 69, - 40, 145, 148, 81, 127, 3, 4, 5, 6, 49, - 121, 40, 190, 310, 192, 218, 86, 87, 196, 197, + 13, 94, 2, 68, 42, 117, 177, 3, 3, 3, + 10, 4, 5, 6, 12, 49, 3, 81, 77, 25, + 250, 9, 115, 73, 27, 88, 102, 148, 19, 9, + 233, 37, 49, 124, 127, 3, 3, 42, 55, 39, + 70, 41, 70, 102, 103, 121, 46, 47, 48, 102, + 141, 39, 143, 3, 117, 123, 95, 125, 96, 39, + 51, 182, 121, 102, 235, 13, 26, 97, 121, 97, + 146, 71, 72, 3, 4, 5, 6, 3, 281, 67, + 173, 145, 121, 71, 3, 4, 5, 6, 94, 229, + 261, 71, 185, 158, 187, 85, 81, 90, 58, 149, + 330, 107, 62, 81, 90, 245, 119, 175, 68, 69, + 40, 145, 144, 61, 127, 0, 64, 149, 211, 49, + 114, 40, 190, 109, 192, 218, 86, 87, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, - 208, 209, 114, 138, 138, 75, 211, 317, 145, 336, - 146, 102, 40, 0, 90, 145, 75, 150, 149, 172, - 90, 348, 95, 114, 99, 70, 9, 337, 233, 102, - 121, 90, 210, 109, 286, 124, 145, 3, 147, 109, - 3, 4, 5, 6, 124, 223, 45, 75, 121, 149, - 109, 259, 97, 123, 143, 124, 39, 26, 138, 139, - 140, 141, 90, 143, 123, 49, 61, 137, 138, 64, - 147, 55, 141, 145, 143, 145, 281, 17, 137, 138, - 150, 109, 146, 81, 67, 149, 145, 240, 71, 58, - 230, 150, 300, 62, 116, 123, 144, 90, 104, 68, - 69, 149, 95, 72, 6, 45, 12, 315, 261, 137, - 138, 26, 75, 146, 111, 146, 149, 145, 87, 118, - 146, 101, 150, 356, 357, 124, 146, 90, 84, 149, - 129, 130, 63, 115, 133, 134, 344, 136, 137, 138, - 139, 140, 141, 58, 143, 3, 109, 62, 88, 45, - 4, 120, 146, 68, 69, 149, 146, 109, 146, 149, - 123, 149, 73, 80, 317, 146, 3, 146, 149, 109, - 149, 86, 87, 146, 137, 138, 149, 117, 118, 67, - 145, 145, 145, 79, 124, 125, 126, 150, 128, 129, - 130, 40, 88, 133, 134, 4, 136, 137, 138, 139, - 140, 141, 3, 143, 145, 45, 98, 143, 81, 105, - 149, 3, 126, 109, 149, 46, 3, 112, 85, 145, - 114, 49, 118, 145, 3, 146, 145, 145, 124, 125, - 126, 45, 128, 129, 130, 80, 3, 133, 134, 146, - 136, 137, 138, 139, 140, 141, 88, 143, 88, 60, - 102, 90, 145, 143, 86, 144, 68, 86, 68, 146, - 146, 146, 102, 145, 45, 115, 149, 146, 146, 109, - 147, 53, 18, 283, 88, 286, 38, 293, 118, 114, - 212, 64, 31, 183, 124, 125, 126, 331, 128, 129, - 130, 105, 45, 133, 134, 109, 136, 137, 138, 139, - 140, 141, 170, 143, 118, 218, -1, 88, 360, -1, - 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, - 134, -1, 136, 137, 138, 139, 140, 141, 109, 143, - -1, -1, -1, -1, -1, 88, -1, 118, -1, -1, - -1, -1, -1, 124, 125, 126, -1, 128, 129, 130, - -1, -1, 133, 134, -1, 136, 137, 138, 139, 140, - 141, -1, 143, -1, -1, 118, -1, -1, -1, -1, + 208, 209, 138, 138, 149, 75, 317, 113, 146, 3, + 4, 5, 6, 145, 124, 147, 75, 150, 145, 172, + 90, 310, 90, 3, 148, 99, 337, 95, 233, 145, + 147, 90, 210, 143, 286, 146, 102, 81, 149, 109, + 3, 4, 5, 6, 116, 223, 40, 336, 114, 149, + 109, 259, 151, 123, 146, 121, 155, 149, 104, 348, + 146, 26, 146, 149, 123, 149, 146, 137, 138, 149, + 146, 146, 6, 149, 149, 145, 281, 12, 137, 138, + 150, 75, 146, 111, 146, 149, 145, 240, 17, 146, + 230, 150, 300, 58, 84, 101, 90, 62, 7, 146, + 115, 63, 149, 68, 69, 3, 15, 315, 261, 4, + 109, 61, 75, 22, 64, 109, 45, 73, 27, 80, + 3, 86, 87, 356, 357, 34, 35, 90, 145, 123, + 26, 145, 40, 124, 43, 44, 344, 67, 145, 4, + 49, 3, 143, 137, 138, 54, 109, 138, 139, 140, + 141, 145, 143, 98, 81, 126, 150, 149, 3, 88, + 123, 149, 58, 112, 317, 46, 62, 3, 114, 78, + 85, 145, 68, 69, 137, 138, 72, 49, 145, 45, + 109, 145, 145, 3, 93, 3, 146, 150, 117, 118, + 145, 87, 80, 146, 88, 124, 125, 126, 102, 128, + 129, 130, 60, 145, 133, 134, 90, 136, 137, 138, + 139, 140, 141, 79, 143, 143, 86, 68, 144, 68, + 53, 146, 88, 45, 120, 146, 86, 146, 115, 149, + 146, 145, 18, 283, 147, 146, 145, 286, 38, 105, + 293, 114, 212, 109, 31, 64, 170, 183, 360, 45, + 218, -1, 118, 331, -1, -1, -1, -1, 124, 125, + 126, -1, 128, 129, 130, -1, 88, 133, 134, -1, + 136, 137, 138, 139, 140, 141, -1, 143, -1, -1, + 102, -1, 45, -1, -1, -1, -1, 109, -1, -1, + -1, -1, 88, -1, -1, -1, 118, -1, -1, -1, + -1, -1, 124, 125, 126, -1, 128, 129, 130, 105, + 45, 133, 134, 109, 136, 137, 138, 139, 140, 141, + -1, 143, 118, -1, -1, 88, -1, -1, 124, 125, + 126, -1, 128, 129, 130, -1, 45, 133, 134, -1, + 136, 137, 138, 139, 140, 141, 109, 143, -1, -1, + -1, -1, -1, 88, -1, 118, -1, -1, -1, -1, -1, 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, -1, 136, 137, 138, 139, 140, 141, -1, - 143 + 143, -1, -1, 118, -1, -1, -1, -1, -1, 124, + 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, + -1, 136, 137, 138, 139, 140, 141, -1, 143, 118, + -1, -1, -1, -1, -1, 124, -1, -1, -1, -1, + 129, 130, -1, -1, 133, 134, -1, 136, 137, 138, + 139, 140, 141, -1, 143 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -1057,7 +1065,7 @@ static const yytype_uint8 yystos[] = 145, 109, 199, 146, 146, 145, 223, 224, 225, 227, 229, 232, 190, 201, 202, 3, 202, 203, 203, 88, 117, 145, 90, 109, 203, 203, 203, 203, 203, 203, - 203, 203, 203, 203, 203, 203, 203, 203, 220, 217, + 203, 203, 203, 203, 203, 203, 203, 203, 220, 202, 178, 145, 146, 149, 195, 220, 80, 25, 37, 94, 107, 170, 146, 149, 179, 229, 3, 200, 199, 146, 95, 182, 144, 179, 26, 58, 62, 68, 69, 87, @@ -1615,25 +1623,25 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio case 3: /* IDENTIFIER */ #line 136 "bison_parser.y" /* yacc.c:1257 */ { free( (((*yyvaluep).sval)) ); } -#line 1619 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1627 "bison_parser.cpp" /* yacc.c:1257 */ break; case 4: /* STRING */ #line 136 "bison_parser.y" /* yacc.c:1257 */ { free( (((*yyvaluep).sval)) ); } -#line 1625 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1633 "bison_parser.cpp" /* yacc.c:1257 */ break; case 5: /* FLOATVAL */ #line 135 "bison_parser.y" /* yacc.c:1257 */ { } -#line 1631 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1639 "bison_parser.cpp" /* yacc.c:1257 */ break; case 6: /* INTVAL */ #line 135 "bison_parser.y" /* yacc.c:1257 */ { } -#line 1637 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1645 "bison_parser.cpp" /* yacc.c:1257 */ break; case 153: /* statement_list */ @@ -1646,19 +1654,19 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio } delete (((*yyvaluep).stmt_vec)); } -#line 1650 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1658 "bison_parser.cpp" /* yacc.c:1257 */ break; case 154: /* statement */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).statement)); } -#line 1656 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1664 "bison_parser.cpp" /* yacc.c:1257 */ break; case 155: /* preparable_statement */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).statement)); } -#line 1662 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1670 "bison_parser.cpp" /* yacc.c:1257 */ break; case 156: /* opt_hints */ @@ -1671,7 +1679,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio } delete (((*yyvaluep).expr_vec)); } -#line 1675 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1683 "bison_parser.cpp" /* yacc.c:1257 */ break; case 157: /* hint_list */ @@ -1684,67 +1692,67 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio } delete (((*yyvaluep).expr_vec)); } -#line 1688 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1696 "bison_parser.cpp" /* yacc.c:1257 */ break; case 158: /* hint */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 1694 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1702 "bison_parser.cpp" /* yacc.c:1257 */ break; case 159: /* prepare_statement */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).prep_stmt)); } -#line 1700 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1708 "bison_parser.cpp" /* yacc.c:1257 */ break; case 160: /* prepare_target_query */ #line 136 "bison_parser.y" /* yacc.c:1257 */ { free( (((*yyvaluep).sval)) ); } -#line 1706 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1714 "bison_parser.cpp" /* yacc.c:1257 */ break; case 161: /* execute_statement */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).exec_stmt)); } -#line 1712 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1720 "bison_parser.cpp" /* yacc.c:1257 */ break; case 162: /* import_statement */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).import_stmt)); } -#line 1718 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1726 "bison_parser.cpp" /* yacc.c:1257 */ break; case 163: /* import_file_type */ #line 135 "bison_parser.y" /* yacc.c:1257 */ { } -#line 1724 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1732 "bison_parser.cpp" /* yacc.c:1257 */ break; case 164: /* file_path */ #line 136 "bison_parser.y" /* yacc.c:1257 */ { free( (((*yyvaluep).sval)) ); } -#line 1730 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1738 "bison_parser.cpp" /* yacc.c:1257 */ break; case 165: /* show_statement */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).show_stmt)); } -#line 1736 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1744 "bison_parser.cpp" /* yacc.c:1257 */ break; case 166: /* create_statement */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).create_stmt)); } -#line 1742 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1750 "bison_parser.cpp" /* yacc.c:1257 */ break; case 167: /* opt_not_exists */ #line 135 "bison_parser.y" /* yacc.c:1257 */ { } -#line 1748 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1756 "bison_parser.cpp" /* yacc.c:1257 */ break; case 168: /* column_def_commalist */ @@ -1757,43 +1765,43 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio } delete (((*yyvaluep).column_vec)); } -#line 1761 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1769 "bison_parser.cpp" /* yacc.c:1257 */ break; case 169: /* column_def */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).column_t)); } -#line 1767 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1775 "bison_parser.cpp" /* yacc.c:1257 */ break; case 170: /* column_type */ #line 135 "bison_parser.y" /* yacc.c:1257 */ { } -#line 1773 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1781 "bison_parser.cpp" /* yacc.c:1257 */ break; case 171: /* drop_statement */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).drop_stmt)); } -#line 1779 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1787 "bison_parser.cpp" /* yacc.c:1257 */ break; case 172: /* delete_statement */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).delete_stmt)); } -#line 1785 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1793 "bison_parser.cpp" /* yacc.c:1257 */ break; case 173: /* truncate_statement */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).delete_stmt)); } -#line 1791 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1799 "bison_parser.cpp" /* yacc.c:1257 */ break; case 174: /* insert_statement */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).insert_stmt)); } -#line 1797 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1805 "bison_parser.cpp" /* yacc.c:1257 */ break; case 175: /* opt_column_list */ @@ -1806,13 +1814,13 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio } delete (((*yyvaluep).str_vec)); } -#line 1810 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1818 "bison_parser.cpp" /* yacc.c:1257 */ break; case 176: /* update_statement */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).update_stmt)); } -#line 1816 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1824 "bison_parser.cpp" /* yacc.c:1257 */ break; case 177: /* update_clause_commalist */ @@ -1825,49 +1833,49 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio } delete (((*yyvaluep).update_vec)); } -#line 1829 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1837 "bison_parser.cpp" /* yacc.c:1257 */ break; case 178: /* update_clause */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).update_t)); } -#line 1835 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1843 "bison_parser.cpp" /* yacc.c:1257 */ break; case 179: /* select_statement */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).select_stmt)); } -#line 1841 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1849 "bison_parser.cpp" /* yacc.c:1257 */ break; case 180: /* select_with_paren */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).select_stmt)); } -#line 1847 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1855 "bison_parser.cpp" /* yacc.c:1257 */ break; case 181: /* select_paren_or_clause */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).select_stmt)); } -#line 1853 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1861 "bison_parser.cpp" /* yacc.c:1257 */ break; case 182: /* select_no_paren */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).select_stmt)); } -#line 1859 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1867 "bison_parser.cpp" /* yacc.c:1257 */ break; case 186: /* select_clause */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).select_stmt)); } -#line 1865 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1873 "bison_parser.cpp" /* yacc.c:1257 */ break; case 187: /* opt_distinct */ #line 135 "bison_parser.y" /* yacc.c:1257 */ { } -#line 1871 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1879 "bison_parser.cpp" /* yacc.c:1257 */ break; case 188: /* select_list */ @@ -1880,31 +1888,31 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio } delete (((*yyvaluep).expr_vec)); } -#line 1884 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1892 "bison_parser.cpp" /* yacc.c:1257 */ break; case 189: /* from_clause */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).table)); } -#line 1890 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1898 "bison_parser.cpp" /* yacc.c:1257 */ break; case 190: /* opt_where */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 1896 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1904 "bison_parser.cpp" /* yacc.c:1257 */ break; case 191: /* opt_group */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).group_t)); } -#line 1902 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1910 "bison_parser.cpp" /* yacc.c:1257 */ break; case 192: /* opt_having */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 1908 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1916 "bison_parser.cpp" /* yacc.c:1257 */ break; case 193: /* opt_order */ @@ -1917,7 +1925,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio } delete (((*yyvaluep).order_vec)); } -#line 1921 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1929 "bison_parser.cpp" /* yacc.c:1257 */ break; case 194: /* order_list */ @@ -1930,31 +1938,31 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio } delete (((*yyvaluep).order_vec)); } -#line 1934 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1942 "bison_parser.cpp" /* yacc.c:1257 */ break; case 195: /* order_desc */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).order)); } -#line 1940 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1948 "bison_parser.cpp" /* yacc.c:1257 */ break; case 196: /* opt_order_type */ #line 135 "bison_parser.y" /* yacc.c:1257 */ { } -#line 1946 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1954 "bison_parser.cpp" /* yacc.c:1257 */ break; case 197: /* opt_top */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).limit)); } -#line 1952 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1960 "bison_parser.cpp" /* yacc.c:1257 */ break; case 198: /* opt_limit */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).limit)); } -#line 1958 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1966 "bison_parser.cpp" /* yacc.c:1257 */ break; case 199: /* expr_list */ @@ -1967,7 +1975,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio } delete (((*yyvaluep).expr_vec)); } -#line 1971 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1979 "bison_parser.cpp" /* yacc.c:1257 */ break; case 200: /* literal_list */ @@ -1980,157 +1988,157 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio } delete (((*yyvaluep).expr_vec)); } -#line 1984 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1992 "bison_parser.cpp" /* yacc.c:1257 */ break; case 201: /* expr_alias */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 1990 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1998 "bison_parser.cpp" /* yacc.c:1257 */ break; case 202: /* expr */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 1996 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2004 "bison_parser.cpp" /* yacc.c:1257 */ break; case 203: /* operand */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2002 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2010 "bison_parser.cpp" /* yacc.c:1257 */ break; case 204: /* scalar_expr */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2008 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2016 "bison_parser.cpp" /* yacc.c:1257 */ break; case 205: /* unary_expr */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2014 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2022 "bison_parser.cpp" /* yacc.c:1257 */ break; case 206: /* binary_expr */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2020 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2028 "bison_parser.cpp" /* yacc.c:1257 */ break; case 207: /* logic_expr */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2026 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2034 "bison_parser.cpp" /* yacc.c:1257 */ break; case 208: /* in_expr */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2032 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2040 "bison_parser.cpp" /* yacc.c:1257 */ break; case 209: /* case_expr */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2038 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2046 "bison_parser.cpp" /* yacc.c:1257 */ break; case 210: /* exists_expr */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2044 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2052 "bison_parser.cpp" /* yacc.c:1257 */ break; case 211: /* comp_expr */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2050 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2058 "bison_parser.cpp" /* yacc.c:1257 */ break; case 212: /* function_expr */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2056 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2064 "bison_parser.cpp" /* yacc.c:1257 */ break; case 213: /* array_expr */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2062 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2070 "bison_parser.cpp" /* yacc.c:1257 */ break; case 214: /* array_index */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2068 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2076 "bison_parser.cpp" /* yacc.c:1257 */ break; case 215: /* between_expr */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2074 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2082 "bison_parser.cpp" /* yacc.c:1257 */ break; case 216: /* column_name */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2080 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2088 "bison_parser.cpp" /* yacc.c:1257 */ break; case 217: /* literal */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2086 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2094 "bison_parser.cpp" /* yacc.c:1257 */ break; case 218: /* string_literal */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2092 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2100 "bison_parser.cpp" /* yacc.c:1257 */ break; case 219: /* num_literal */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2098 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2106 "bison_parser.cpp" /* yacc.c:1257 */ break; case 220: /* int_literal */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2104 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2112 "bison_parser.cpp" /* yacc.c:1257 */ break; case 221: /* null_literal */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2110 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2118 "bison_parser.cpp" /* yacc.c:1257 */ break; case 222: /* param_expr */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2116 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2124 "bison_parser.cpp" /* yacc.c:1257 */ break; case 223: /* table_ref */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).table)); } -#line 2122 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2130 "bison_parser.cpp" /* yacc.c:1257 */ break; case 224: /* table_ref_atomic */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).table)); } -#line 2128 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2136 "bison_parser.cpp" /* yacc.c:1257 */ break; case 225: /* nonjoin_table_ref_atomic */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).table)); } -#line 2134 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2142 "bison_parser.cpp" /* yacc.c:1257 */ break; case 226: /* table_ref_commalist */ @@ -2143,55 +2151,55 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio } delete (((*yyvaluep).table_vec)); } -#line 2147 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2155 "bison_parser.cpp" /* yacc.c:1257 */ break; case 227: /* table_ref_name */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).table)); } -#line 2153 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2161 "bison_parser.cpp" /* yacc.c:1257 */ break; case 228: /* table_ref_name_no_alias */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).table)); } -#line 2159 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2167 "bison_parser.cpp" /* yacc.c:1257 */ break; case 229: /* table_name */ #line 136 "bison_parser.y" /* yacc.c:1257 */ { free( (((*yyvaluep).sval)) ); } -#line 2165 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2173 "bison_parser.cpp" /* yacc.c:1257 */ break; case 230: /* alias */ #line 136 "bison_parser.y" /* yacc.c:1257 */ { free( (((*yyvaluep).sval)) ); } -#line 2171 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2179 "bison_parser.cpp" /* yacc.c:1257 */ break; case 231: /* opt_alias */ #line 136 "bison_parser.y" /* yacc.c:1257 */ { free( (((*yyvaluep).sval)) ); } -#line 2177 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2185 "bison_parser.cpp" /* yacc.c:1257 */ break; case 232: /* join_clause */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).table)); } -#line 2183 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2191 "bison_parser.cpp" /* yacc.c:1257 */ break; case 233: /* opt_join_type */ #line 135 "bison_parser.y" /* yacc.c:1257 */ { } -#line 2189 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2197 "bison_parser.cpp" /* yacc.c:1257 */ break; case 234: /* join_condition */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2195 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2203 "bison_parser.cpp" /* yacc.c:1257 */ break; case 236: /* ident_commalist */ @@ -2204,7 +2212,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio } delete (((*yyvaluep).str_vec)); } -#line 2208 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2216 "bison_parser.cpp" /* yacc.c:1257 */ break; @@ -2322,7 +2330,7 @@ YYLTYPE yylloc = yyloc_default; yylloc.total_column = 0; } -#line 2326 "bison_parser.cpp" /* yacc.c:1429 */ +#line 2334 "bison_parser.cpp" /* yacc.c:1429 */ yylsp[0] = yylloc; goto yysetstate; @@ -2527,19 +2535,19 @@ yyreduce: } delete (yyvsp[-1].stmt_vec); } -#line 2531 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2539 "bison_parser.cpp" /* yacc.c:1646 */ break; case 3: #line 263 "bison_parser.y" /* yacc.c:1646 */ { (yyval.stmt_vec) = new std::vector(); (yyval.stmt_vec)->push_back((yyvsp[0].statement)); } -#line 2537 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2545 "bison_parser.cpp" /* yacc.c:1646 */ break; case 4: #line 264 "bison_parser.y" /* yacc.c:1646 */ { (yyvsp[-2].stmt_vec)->push_back((yyvsp[0].statement)); (yyval.stmt_vec) = (yyvsp[-2].stmt_vec); } -#line 2543 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2551 "bison_parser.cpp" /* yacc.c:1646 */ break; case 5: @@ -2548,7 +2556,7 @@ yyreduce: (yyval.statement) = (yyvsp[-1].prep_stmt); (yyval.statement)->hints = (yyvsp[0].expr_vec); } -#line 2552 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2560 "bison_parser.cpp" /* yacc.c:1646 */ break; case 6: @@ -2557,7 +2565,7 @@ yyreduce: (yyval.statement) = (yyvsp[-1].statement); (yyval.statement)->hints = (yyvsp[0].expr_vec); } -#line 2561 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2569 "bison_parser.cpp" /* yacc.c:1646 */ break; case 7: @@ -2565,85 +2573,85 @@ yyreduce: { (yyval.statement) = (yyvsp[0].show_stmt); } -#line 2569 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2577 "bison_parser.cpp" /* yacc.c:1646 */ break; case 8: #line 283 "bison_parser.y" /* yacc.c:1646 */ { (yyval.statement) = (yyvsp[0].select_stmt); } -#line 2575 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2583 "bison_parser.cpp" /* yacc.c:1646 */ break; case 9: #line 284 "bison_parser.y" /* yacc.c:1646 */ { (yyval.statement) = (yyvsp[0].import_stmt); } -#line 2581 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2589 "bison_parser.cpp" /* yacc.c:1646 */ break; case 10: #line 285 "bison_parser.y" /* yacc.c:1646 */ { (yyval.statement) = (yyvsp[0].create_stmt); } -#line 2587 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2595 "bison_parser.cpp" /* yacc.c:1646 */ break; case 11: #line 286 "bison_parser.y" /* yacc.c:1646 */ { (yyval.statement) = (yyvsp[0].insert_stmt); } -#line 2593 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2601 "bison_parser.cpp" /* yacc.c:1646 */ break; case 12: #line 287 "bison_parser.y" /* yacc.c:1646 */ { (yyval.statement) = (yyvsp[0].delete_stmt); } -#line 2599 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2607 "bison_parser.cpp" /* yacc.c:1646 */ break; case 13: #line 288 "bison_parser.y" /* yacc.c:1646 */ { (yyval.statement) = (yyvsp[0].delete_stmt); } -#line 2605 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2613 "bison_parser.cpp" /* yacc.c:1646 */ break; case 14: #line 289 "bison_parser.y" /* yacc.c:1646 */ { (yyval.statement) = (yyvsp[0].update_stmt); } -#line 2611 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2619 "bison_parser.cpp" /* yacc.c:1646 */ break; case 15: #line 290 "bison_parser.y" /* yacc.c:1646 */ { (yyval.statement) = (yyvsp[0].drop_stmt); } -#line 2617 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2625 "bison_parser.cpp" /* yacc.c:1646 */ break; case 16: #line 291 "bison_parser.y" /* yacc.c:1646 */ { (yyval.statement) = (yyvsp[0].exec_stmt); } -#line 2623 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2631 "bison_parser.cpp" /* yacc.c:1646 */ break; case 17: #line 300 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr_vec) = (yyvsp[-1].expr_vec); } -#line 2629 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2637 "bison_parser.cpp" /* yacc.c:1646 */ break; case 18: #line 301 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr_vec) = nullptr; } -#line 2635 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2643 "bison_parser.cpp" /* yacc.c:1646 */ break; case 19: #line 306 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr_vec) = new std::vector(); (yyval.expr_vec)->push_back((yyvsp[0].expr)); } -#line 2641 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2649 "bison_parser.cpp" /* yacc.c:1646 */ break; case 20: #line 307 "bison_parser.y" /* yacc.c:1646 */ { (yyvsp[-2].expr_vec)->push_back((yyvsp[0].expr)); (yyval.expr_vec) = (yyvsp[-2].expr_vec); } -#line 2647 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2655 "bison_parser.cpp" /* yacc.c:1646 */ break; case 21: @@ -2652,7 +2660,7 @@ yyreduce: (yyval.expr) = Expr::make(kExprHint); (yyval.expr)->name = (yyvsp[0].sval); } -#line 2656 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2664 "bison_parser.cpp" /* yacc.c:1646 */ break; case 22: @@ -2662,7 +2670,7 @@ yyreduce: (yyval.expr)->name = (yyvsp[-3].sval); (yyval.expr)->exprList = (yyvsp[-1].expr_vec); } -#line 2666 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2674 "bison_parser.cpp" /* yacc.c:1646 */ break; case 23: @@ -2672,7 +2680,7 @@ yyreduce: (yyval.prep_stmt)->name = (yyvsp[-2].sval); (yyval.prep_stmt)->query = (yyvsp[0].sval); } -#line 2676 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2684 "bison_parser.cpp" /* yacc.c:1646 */ break; case 25: @@ -2681,7 +2689,7 @@ yyreduce: (yyval.exec_stmt) = new ExecuteStatement(); (yyval.exec_stmt)->name = (yyvsp[0].sval); } -#line 2685 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2693 "bison_parser.cpp" /* yacc.c:1646 */ break; case 26: @@ -2691,7 +2699,7 @@ yyreduce: (yyval.exec_stmt)->name = (yyvsp[-3].sval); (yyval.exec_stmt)->parameters = (yyvsp[-1].expr_vec); } -#line 2695 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2703 "bison_parser.cpp" /* yacc.c:1646 */ break; case 27: @@ -2701,19 +2709,19 @@ yyreduce: (yyval.import_stmt)->filePath = (yyvsp[-2].sval); (yyval.import_stmt)->tableName = (yyvsp[0].sval); } -#line 2705 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2713 "bison_parser.cpp" /* yacc.c:1646 */ break; case 28: #line 361 "bison_parser.y" /* yacc.c:1646 */ { (yyval.uval) = kImportCSV; } -#line 2711 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2719 "bison_parser.cpp" /* yacc.c:1646 */ break; case 29: #line 365 "bison_parser.y" /* yacc.c:1646 */ { (yyval.sval) = strdup((yyvsp[0].expr)->name); delete (yyvsp[0].expr); } -#line 2717 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2725 "bison_parser.cpp" /* yacc.c:1646 */ break; case 30: @@ -2721,7 +2729,7 @@ yyreduce: { (yyval.show_stmt) = new ShowStatement(kShowTables); } -#line 2725 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2733 "bison_parser.cpp" /* yacc.c:1646 */ break; case 31: @@ -2730,7 +2738,7 @@ yyreduce: (yyval.show_stmt) = new ShowStatement(kShowColumns); (yyval.show_stmt)->name = (yyvsp[0].sval); } -#line 2734 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2742 "bison_parser.cpp" /* yacc.c:1646 */ break; case 32: @@ -2741,7 +2749,7 @@ yyreduce: (yyval.create_stmt)->tableName = (yyvsp[-4].sval); (yyval.create_stmt)->filePath = (yyvsp[0].sval); } -#line 2745 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2753 "bison_parser.cpp" /* yacc.c:1646 */ break; case 33: @@ -2752,7 +2760,7 @@ yyreduce: (yyval.create_stmt)->tableName = (yyvsp[-3].sval); (yyval.create_stmt)->columns = (yyvsp[-1].column_vec); } -#line 2756 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2764 "bison_parser.cpp" /* yacc.c:1646 */ break; case 34: @@ -2764,31 +2772,31 @@ yyreduce: (yyval.create_stmt)->viewColumns = (yyvsp[-2].str_vec); (yyval.create_stmt)->select = (yyvsp[0].select_stmt); } -#line 2768 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2776 "bison_parser.cpp" /* yacc.c:1646 */ break; case 35: #line 413 "bison_parser.y" /* yacc.c:1646 */ { (yyval.bval) = true; } -#line 2774 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2782 "bison_parser.cpp" /* yacc.c:1646 */ break; case 36: #line 414 "bison_parser.y" /* yacc.c:1646 */ { (yyval.bval) = false; } -#line 2780 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2788 "bison_parser.cpp" /* yacc.c:1646 */ break; case 37: #line 418 "bison_parser.y" /* yacc.c:1646 */ { (yyval.column_vec) = new std::vector(); (yyval.column_vec)->push_back((yyvsp[0].column_t)); } -#line 2786 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2794 "bison_parser.cpp" /* yacc.c:1646 */ break; case 38: #line 419 "bison_parser.y" /* yacc.c:1646 */ { (yyvsp[-2].column_vec)->push_back((yyvsp[0].column_t)); (yyval.column_vec) = (yyvsp[-2].column_vec); } -#line 2792 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2800 "bison_parser.cpp" /* yacc.c:1646 */ break; case 39: @@ -2796,31 +2804,31 @@ yyreduce: { (yyval.column_t) = new ColumnDefinition((yyvsp[-1].sval), (ColumnDefinition::DataType) (yyvsp[0].uval)); } -#line 2800 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2808 "bison_parser.cpp" /* yacc.c:1646 */ break; case 40: #line 430 "bison_parser.y" /* yacc.c:1646 */ { (yyval.uval) = ColumnDefinition::INT; } -#line 2806 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2814 "bison_parser.cpp" /* yacc.c:1646 */ break; case 41: #line 431 "bison_parser.y" /* yacc.c:1646 */ { (yyval.uval) = ColumnDefinition::INT; } -#line 2812 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2820 "bison_parser.cpp" /* yacc.c:1646 */ break; case 42: #line 432 "bison_parser.y" /* yacc.c:1646 */ { (yyval.uval) = ColumnDefinition::DOUBLE; } -#line 2818 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2826 "bison_parser.cpp" /* yacc.c:1646 */ break; case 43: #line 433 "bison_parser.y" /* yacc.c:1646 */ { (yyval.uval) = ColumnDefinition::TEXT; } -#line 2824 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2832 "bison_parser.cpp" /* yacc.c:1646 */ break; case 44: @@ -2829,7 +2837,7 @@ yyreduce: (yyval.drop_stmt) = new DropStatement(kDropTable); (yyval.drop_stmt)->name = (yyvsp[0].sval); } -#line 2833 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2841 "bison_parser.cpp" /* yacc.c:1646 */ break; case 45: @@ -2838,7 +2846,7 @@ yyreduce: (yyval.drop_stmt) = new DropStatement(kDropView); (yyval.drop_stmt)->name = (yyvsp[0].sval); } -#line 2842 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2850 "bison_parser.cpp" /* yacc.c:1646 */ break; case 46: @@ -2847,7 +2855,7 @@ yyreduce: (yyval.drop_stmt) = new DropStatement(kDropPreparedStatement); (yyval.drop_stmt)->name = (yyvsp[0].sval); } -#line 2851 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2859 "bison_parser.cpp" /* yacc.c:1646 */ break; case 47: @@ -2857,7 +2865,7 @@ yyreduce: (yyval.delete_stmt)->tableName = (yyvsp[-1].sval); (yyval.delete_stmt)->expr = (yyvsp[0].expr); } -#line 2861 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2869 "bison_parser.cpp" /* yacc.c:1646 */ break; case 48: @@ -2866,7 +2874,7 @@ yyreduce: (yyval.delete_stmt) = new DeleteStatement(); (yyval.delete_stmt)->tableName = (yyvsp[0].sval); } -#line 2870 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2878 "bison_parser.cpp" /* yacc.c:1646 */ break; case 49: @@ -2877,7 +2885,7 @@ yyreduce: (yyval.insert_stmt)->columns = (yyvsp[-4].str_vec); (yyval.insert_stmt)->values = (yyvsp[-1].expr_vec); } -#line 2881 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2889 "bison_parser.cpp" /* yacc.c:1646 */ break; case 50: @@ -2888,19 +2896,19 @@ yyreduce: (yyval.insert_stmt)->columns = (yyvsp[-1].str_vec); (yyval.insert_stmt)->select = (yyvsp[0].select_stmt); } -#line 2892 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2900 "bison_parser.cpp" /* yacc.c:1646 */ break; case 51: #line 499 "bison_parser.y" /* yacc.c:1646 */ { (yyval.str_vec) = (yyvsp[-1].str_vec); } -#line 2898 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2906 "bison_parser.cpp" /* yacc.c:1646 */ break; case 52: #line 500 "bison_parser.y" /* yacc.c:1646 */ { (yyval.str_vec) = nullptr; } -#line 2904 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2912 "bison_parser.cpp" /* yacc.c:1646 */ break; case 53: @@ -2911,19 +2919,19 @@ yyreduce: (yyval.update_stmt)->updates = (yyvsp[-1].update_vec); (yyval.update_stmt)->where = (yyvsp[0].expr); } -#line 2915 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2923 "bison_parser.cpp" /* yacc.c:1646 */ break; case 54: #line 519 "bison_parser.y" /* yacc.c:1646 */ { (yyval.update_vec) = new std::vector(); (yyval.update_vec)->push_back((yyvsp[0].update_t)); } -#line 2921 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2929 "bison_parser.cpp" /* yacc.c:1646 */ break; case 55: #line 520 "bison_parser.y" /* yacc.c:1646 */ { (yyvsp[-2].update_vec)->push_back((yyvsp[0].update_t)); (yyval.update_vec) = (yyvsp[-2].update_vec); } -#line 2927 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2935 "bison_parser.cpp" /* yacc.c:1646 */ break; case 56: @@ -2933,7 +2941,7 @@ yyreduce: (yyval.update_t)->column = (yyvsp[-2].sval); (yyval.update_t)->value = (yyvsp[0].expr); } -#line 2937 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2945 "bison_parser.cpp" /* yacc.c:1646 */ break; case 59: @@ -2952,19 +2960,19 @@ yyreduce: (yyval.select_stmt)->limit = (yyvsp[0].limit); } } -#line 2956 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2964 "bison_parser.cpp" /* yacc.c:1646 */ break; case 60: #line 555 "bison_parser.y" /* yacc.c:1646 */ { (yyval.select_stmt) = (yyvsp[-1].select_stmt); } -#line 2962 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2970 "bison_parser.cpp" /* yacc.c:1646 */ break; case 61: #line 556 "bison_parser.y" /* yacc.c:1646 */ { (yyval.select_stmt) = (yyvsp[-1].select_stmt); } -#line 2968 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2976 "bison_parser.cpp" /* yacc.c:1646 */ break; case 64: @@ -2979,7 +2987,7 @@ yyreduce: (yyval.select_stmt)->limit = (yyvsp[0].limit); } } -#line 2983 "bison_parser.cpp" /* yacc.c:1646 */ +#line 2991 "bison_parser.cpp" /* yacc.c:1646 */ break; case 65: @@ -2998,7 +3006,7 @@ yyreduce: (yyval.select_stmt)->limit = (yyvsp[0].limit); } } -#line 3002 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3010 "bison_parser.cpp" /* yacc.c:1646 */ break; case 72: @@ -3012,37 +3020,37 @@ yyreduce: (yyval.select_stmt)->whereClause = (yyvsp[-1].expr); (yyval.select_stmt)->groupBy = (yyvsp[0].group_t); } -#line 3016 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3024 "bison_parser.cpp" /* yacc.c:1646 */ break; case 73: #line 619 "bison_parser.y" /* yacc.c:1646 */ { (yyval.bval) = true; } -#line 3022 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3030 "bison_parser.cpp" /* yacc.c:1646 */ break; case 74: #line 620 "bison_parser.y" /* yacc.c:1646 */ { (yyval.bval) = false; } -#line 3028 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3036 "bison_parser.cpp" /* yacc.c:1646 */ break; case 76: #line 628 "bison_parser.y" /* yacc.c:1646 */ { (yyval.table) = (yyvsp[0].table); } -#line 3034 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3042 "bison_parser.cpp" /* yacc.c:1646 */ break; case 77: #line 633 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = (yyvsp[0].expr); } -#line 3040 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3048 "bison_parser.cpp" /* yacc.c:1646 */ break; case 78: #line 634 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = nullptr; } -#line 3046 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3054 "bison_parser.cpp" /* yacc.c:1646 */ break; case 79: @@ -3052,127 +3060,127 @@ yyreduce: (yyval.group_t)->columns = (yyvsp[-1].expr_vec); (yyval.group_t)->having = (yyvsp[0].expr); } -#line 3056 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3064 "bison_parser.cpp" /* yacc.c:1646 */ break; case 80: #line 643 "bison_parser.y" /* yacc.c:1646 */ { (yyval.group_t) = nullptr; } -#line 3062 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3070 "bison_parser.cpp" /* yacc.c:1646 */ break; case 81: #line 647 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = (yyvsp[0].expr); } -#line 3068 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3076 "bison_parser.cpp" /* yacc.c:1646 */ break; case 82: #line 648 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = nullptr; } -#line 3074 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3082 "bison_parser.cpp" /* yacc.c:1646 */ break; case 83: #line 651 "bison_parser.y" /* yacc.c:1646 */ { (yyval.order_vec) = (yyvsp[0].order_vec); } -#line 3080 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3088 "bison_parser.cpp" /* yacc.c:1646 */ break; case 84: #line 652 "bison_parser.y" /* yacc.c:1646 */ { (yyval.order_vec) = nullptr; } -#line 3086 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3094 "bison_parser.cpp" /* yacc.c:1646 */ break; case 85: #line 656 "bison_parser.y" /* yacc.c:1646 */ { (yyval.order_vec) = new std::vector(); (yyval.order_vec)->push_back((yyvsp[0].order)); } -#line 3092 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3100 "bison_parser.cpp" /* yacc.c:1646 */ break; case 86: #line 657 "bison_parser.y" /* yacc.c:1646 */ { (yyvsp[-2].order_vec)->push_back((yyvsp[0].order)); (yyval.order_vec) = (yyvsp[-2].order_vec); } -#line 3098 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3106 "bison_parser.cpp" /* yacc.c:1646 */ break; case 87: #line 661 "bison_parser.y" /* yacc.c:1646 */ { (yyval.order) = new OrderDescription((yyvsp[0].order_type), (yyvsp[-1].expr)); } -#line 3104 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3112 "bison_parser.cpp" /* yacc.c:1646 */ break; case 88: #line 665 "bison_parser.y" /* yacc.c:1646 */ { (yyval.order_type) = kOrderAsc; } -#line 3110 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3118 "bison_parser.cpp" /* yacc.c:1646 */ break; case 89: #line 666 "bison_parser.y" /* yacc.c:1646 */ { (yyval.order_type) = kOrderDesc; } -#line 3116 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3124 "bison_parser.cpp" /* yacc.c:1646 */ break; case 90: #line 667 "bison_parser.y" /* yacc.c:1646 */ { (yyval.order_type) = kOrderAsc; } -#line 3122 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3130 "bison_parser.cpp" /* yacc.c:1646 */ break; case 91: #line 673 "bison_parser.y" /* yacc.c:1646 */ { (yyval.limit) = new LimitDescription((yyvsp[0].expr)->ival, kNoOffset); delete (yyvsp[0].expr); } -#line 3128 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3136 "bison_parser.cpp" /* yacc.c:1646 */ break; case 92: #line 674 "bison_parser.y" /* yacc.c:1646 */ { (yyval.limit) = nullptr; } -#line 3134 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3142 "bison_parser.cpp" /* yacc.c:1646 */ break; case 93: #line 678 "bison_parser.y" /* yacc.c:1646 */ { (yyval.limit) = new LimitDescription((yyvsp[0].expr)->ival, kNoOffset); delete (yyvsp[0].expr); } -#line 3140 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3148 "bison_parser.cpp" /* yacc.c:1646 */ break; case 94: #line 679 "bison_parser.y" /* yacc.c:1646 */ { (yyval.limit) = new LimitDescription((yyvsp[-2].expr)->ival, (yyvsp[0].expr)->ival); delete (yyvsp[-2].expr); delete (yyvsp[0].expr); } -#line 3146 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3154 "bison_parser.cpp" /* yacc.c:1646 */ break; case 95: #line 680 "bison_parser.y" /* yacc.c:1646 */ { (yyval.limit) = nullptr; } -#line 3152 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3160 "bison_parser.cpp" /* yacc.c:1646 */ break; case 96: #line 687 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr_vec) = new std::vector(); (yyval.expr_vec)->push_back((yyvsp[0].expr)); } -#line 3158 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3166 "bison_parser.cpp" /* yacc.c:1646 */ break; case 97: #line 688 "bison_parser.y" /* yacc.c:1646 */ { (yyvsp[-2].expr_vec)->push_back((yyvsp[0].expr)); (yyval.expr_vec) = (yyvsp[-2].expr_vec); } -#line 3164 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3172 "bison_parser.cpp" /* yacc.c:1646 */ break; case 98: #line 692 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr_vec) = new std::vector(); (yyval.expr_vec)->push_back((yyvsp[0].expr)); } -#line 3170 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3178 "bison_parser.cpp" /* yacc.c:1646 */ break; case 99: #line 693 "bison_parser.y" /* yacc.c:1646 */ { (yyvsp[-2].expr_vec)->push_back((yyvsp[0].expr)); (yyval.expr_vec) = (yyvsp[-2].expr_vec); } -#line 3176 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3184 "bison_parser.cpp" /* yacc.c:1646 */ break; case 100: @@ -3181,283 +3189,283 @@ yyreduce: (yyval.expr) = (yyvsp[-1].expr); (yyval.expr)->alias = (yyvsp[0].sval); } -#line 3185 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3193 "bison_parser.cpp" /* yacc.c:1646 */ break; case 106: #line 712 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = (yyvsp[-1].expr); } -#line 3191 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3199 "bison_parser.cpp" /* yacc.c:1646 */ break; case 114: #line 720 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::makeSelect((yyvsp[-1].select_stmt)); } -#line 3197 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3205 "bison_parser.cpp" /* yacc.c:1646 */ break; case 117: #line 729 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::makeOpUnary(kOpUnaryMinus, (yyvsp[0].expr)); } -#line 3203 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3211 "bison_parser.cpp" /* yacc.c:1646 */ break; case 118: #line 730 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::makeOpUnary(kOpNot, (yyvsp[0].expr)); } -#line 3209 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3217 "bison_parser.cpp" /* yacc.c:1646 */ break; case 119: #line 731 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::makeOpUnary(kOpIsNull, (yyvsp[-1].expr)); } -#line 3215 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3223 "bison_parser.cpp" /* yacc.c:1646 */ break; case 120: #line 732 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::makeOpUnary(kOpIsNull, (yyvsp[-2].expr)); } -#line 3221 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3229 "bison_parser.cpp" /* yacc.c:1646 */ break; case 121: #line 733 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::makeOpUnary(kOpNot, Expr::makeOpUnary(kOpIsNull, (yyvsp[-3].expr))); } -#line 3227 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3235 "bison_parser.cpp" /* yacc.c:1646 */ break; case 123: #line 738 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpMinus, (yyvsp[0].expr)); } -#line 3233 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3241 "bison_parser.cpp" /* yacc.c:1646 */ break; case 124: #line 739 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpPlus, (yyvsp[0].expr)); } -#line 3239 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3247 "bison_parser.cpp" /* yacc.c:1646 */ break; case 125: #line 740 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpSlash, (yyvsp[0].expr)); } -#line 3245 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3253 "bison_parser.cpp" /* yacc.c:1646 */ break; case 126: #line 741 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpAsterisk, (yyvsp[0].expr)); } -#line 3251 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3259 "bison_parser.cpp" /* yacc.c:1646 */ break; case 127: #line 742 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpPercentage, (yyvsp[0].expr)); } -#line 3257 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3265 "bison_parser.cpp" /* yacc.c:1646 */ break; case 128: #line 743 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpCaret, (yyvsp[0].expr)); } -#line 3263 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3271 "bison_parser.cpp" /* yacc.c:1646 */ break; case 129: #line 744 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpLike, (yyvsp[0].expr)); } -#line 3269 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3277 "bison_parser.cpp" /* yacc.c:1646 */ break; case 130: #line 745 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::makeOpBinary((yyvsp[-3].expr), kOpNotLike, (yyvsp[0].expr)); } -#line 3275 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3283 "bison_parser.cpp" /* yacc.c:1646 */ break; case 131: #line 746 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpILike, (yyvsp[0].expr)); } -#line 3281 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3289 "bison_parser.cpp" /* yacc.c:1646 */ break; case 132: #line 747 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpConcat, (yyvsp[0].expr)); } -#line 3287 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3295 "bison_parser.cpp" /* yacc.c:1646 */ break; case 133: #line 751 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpAnd, (yyvsp[0].expr)); } -#line 3293 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3301 "bison_parser.cpp" /* yacc.c:1646 */ break; case 134: #line 752 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpOr, (yyvsp[0].expr)); } -#line 3299 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3307 "bison_parser.cpp" /* yacc.c:1646 */ break; case 135: #line 756 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::makeInOperator((yyvsp[-4].expr), (yyvsp[-1].expr_vec)); } -#line 3305 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3313 "bison_parser.cpp" /* yacc.c:1646 */ break; case 136: #line 757 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::makeOpUnary(kOpNot, Expr::makeInOperator((yyvsp[-5].expr), (yyvsp[-1].expr_vec))); } -#line 3311 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3319 "bison_parser.cpp" /* yacc.c:1646 */ break; case 137: #line 758 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::makeInOperator((yyvsp[-4].expr), (yyvsp[-1].select_stmt)); } -#line 3317 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3325 "bison_parser.cpp" /* yacc.c:1646 */ break; case 138: #line 759 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::makeOpUnary(kOpNot, Expr::makeInOperator((yyvsp[-5].expr), (yyvsp[-1].select_stmt))); } -#line 3323 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3331 "bison_parser.cpp" /* yacc.c:1646 */ break; case 139: #line 764 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::makeCase((yyvsp[-3].expr), (yyvsp[-1].expr)); } -#line 3329 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3337 "bison_parser.cpp" /* yacc.c:1646 */ break; case 140: #line 766 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::makeCase((yyvsp[-5].expr), (yyvsp[-3].expr), (yyvsp[-1].expr)); } -#line 3335 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3343 "bison_parser.cpp" /* yacc.c:1646 */ break; case 141: #line 770 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::makeExists((yyvsp[-1].select_stmt)); } -#line 3341 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3349 "bison_parser.cpp" /* yacc.c:1646 */ break; case 142: #line 771 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::makeOpUnary(kOpNot, Expr::makeExists((yyvsp[-1].select_stmt))); } -#line 3347 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3355 "bison_parser.cpp" /* yacc.c:1646 */ break; case 143: #line 775 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpEquals, (yyvsp[0].expr)); } -#line 3353 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3361 "bison_parser.cpp" /* yacc.c:1646 */ break; case 144: #line 776 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpNotEquals, (yyvsp[0].expr)); } -#line 3359 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3367 "bison_parser.cpp" /* yacc.c:1646 */ break; case 145: #line 777 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpLess, (yyvsp[0].expr)); } -#line 3365 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3373 "bison_parser.cpp" /* yacc.c:1646 */ break; case 146: #line 778 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpGreater, (yyvsp[0].expr)); } -#line 3371 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3379 "bison_parser.cpp" /* yacc.c:1646 */ break; case 147: #line 779 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpLessEq, (yyvsp[0].expr)); } -#line 3377 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3385 "bison_parser.cpp" /* yacc.c:1646 */ break; case 148: #line 780 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpGreaterEq, (yyvsp[0].expr)); } -#line 3383 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3391 "bison_parser.cpp" /* yacc.c:1646 */ break; case 149: #line 784 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::makeFunctionRef((yyvsp[-2].sval), new std::vector(), false); } -#line 3389 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3397 "bison_parser.cpp" /* yacc.c:1646 */ break; case 150: #line 785 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::makeFunctionRef((yyvsp[-4].sval), (yyvsp[-1].expr_vec), (yyvsp[-2].bval)); } -#line 3395 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3403 "bison_parser.cpp" /* yacc.c:1646 */ break; case 151: #line 789 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::makeArray((yyvsp[-1].expr_vec)); } -#line 3401 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3409 "bison_parser.cpp" /* yacc.c:1646 */ break; case 152: #line 793 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::makeArrayIndex((yyvsp[-3].expr), (yyvsp[-1].expr)->ival); } -#line 3407 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3415 "bison_parser.cpp" /* yacc.c:1646 */ break; case 153: #line 797 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::makeBetween((yyvsp[-4].expr), (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 3413 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3421 "bison_parser.cpp" /* yacc.c:1646 */ break; case 154: #line 801 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::makeColumnRef((yyvsp[0].sval)); } -#line 3419 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3427 "bison_parser.cpp" /* yacc.c:1646 */ break; case 155: #line 802 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::makeColumnRef((yyvsp[-2].sval), (yyvsp[0].sval)); } -#line 3425 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3433 "bison_parser.cpp" /* yacc.c:1646 */ break; case 156: #line 803 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::makeStar(); } -#line 3431 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3439 "bison_parser.cpp" /* yacc.c:1646 */ break; case 157: #line 804 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::makeStar((yyvsp[-2].sval)); } -#line 3437 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3445 "bison_parser.cpp" /* yacc.c:1646 */ break; case 162: #line 815 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::makeLiteral((yyvsp[0].sval)); } -#line 3443 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3451 "bison_parser.cpp" /* yacc.c:1646 */ break; case 163: #line 820 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::makeLiteral((yyvsp[0].fval)); } -#line 3449 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3457 "bison_parser.cpp" /* yacc.c:1646 */ break; case 165: #line 825 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::makeLiteral((yyvsp[0].ival)); } -#line 3455 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3463 "bison_parser.cpp" /* yacc.c:1646 */ break; case 166: #line 829 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::makeNullLiteral(); } -#line 3461 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3469 "bison_parser.cpp" /* yacc.c:1646 */ break; case 167: @@ -3467,7 +3475,7 @@ yyreduce: (yyval.expr)->ival2 = yyloc.param_list.size(); yyloc.param_list.push_back((yyval.expr)); } -#line 3471 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3479 "bison_parser.cpp" /* yacc.c:1646 */ break; case 169: @@ -3478,7 +3486,7 @@ yyreduce: tbl->list = (yyvsp[0].table_vec); (yyval.table) = tbl; } -#line 3482 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3490 "bison_parser.cpp" /* yacc.c:1646 */ break; case 173: @@ -3489,19 +3497,19 @@ yyreduce: tbl->alias = (yyvsp[0].sval); (yyval.table) = tbl; } -#line 3493 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3501 "bison_parser.cpp" /* yacc.c:1646 */ break; case 174: #line 871 "bison_parser.y" /* yacc.c:1646 */ { (yyval.table_vec) = new std::vector(); (yyval.table_vec)->push_back((yyvsp[0].table)); } -#line 3499 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3507 "bison_parser.cpp" /* yacc.c:1646 */ break; case 175: #line 872 "bison_parser.y" /* yacc.c:1646 */ { (yyvsp[-2].table_vec)->push_back((yyvsp[0].table)); (yyval.table_vec) = (yyvsp[-2].table_vec); } -#line 3505 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3513 "bison_parser.cpp" /* yacc.c:1646 */ break; case 176: @@ -3512,7 +3520,7 @@ yyreduce: tbl->alias = (yyvsp[0].sval); (yyval.table) = tbl; } -#line 3516 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3524 "bison_parser.cpp" /* yacc.c:1646 */ break; case 177: @@ -3521,25 +3529,25 @@ yyreduce: (yyval.table) = new TableRef(kTableName); (yyval.table)->name = (yyvsp[0].sval); } -#line 3525 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3533 "bison_parser.cpp" /* yacc.c:1646 */ break; case 179: #line 896 "bison_parser.y" /* yacc.c:1646 */ { (yyval.sval) = (yyvsp[0].sval); } -#line 3531 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3539 "bison_parser.cpp" /* yacc.c:1646 */ break; case 180: #line 901 "bison_parser.y" /* yacc.c:1646 */ { (yyval.sval) = (yyvsp[0].sval); } -#line 3537 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3545 "bison_parser.cpp" /* yacc.c:1646 */ break; case 183: #line 907 "bison_parser.y" /* yacc.c:1646 */ { (yyval.sval) = nullptr; } -#line 3543 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3551 "bison_parser.cpp" /* yacc.c:1646 */ break; case 184: @@ -3551,7 +3559,7 @@ yyreduce: (yyval.table)->join->left = (yyvsp[-3].table); (yyval.table)->join->right = (yyvsp[0].table); } -#line 3555 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3563 "bison_parser.cpp" /* yacc.c:1646 */ break; case 185: @@ -3564,7 +3572,7 @@ yyreduce: (yyval.table)->join->right = (yyvsp[-2].table); (yyval.table)->join->condition = (yyvsp[0].expr); } -#line 3568 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3576 "bison_parser.cpp" /* yacc.c:1646 */ break; case 186: @@ -3584,71 +3592,71 @@ yyreduce: (yyval.table)->join->condition = Expr::makeOpBinary(left_col, kOpEquals, right_col); delete (yyvsp[-1].expr); } -#line 3588 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3596 "bison_parser.cpp" /* yacc.c:1646 */ break; case 187: #line 952 "bison_parser.y" /* yacc.c:1646 */ { (yyval.uval) = kJoinInner; } -#line 3594 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3602 "bison_parser.cpp" /* yacc.c:1646 */ break; case 188: #line 953 "bison_parser.y" /* yacc.c:1646 */ { (yyval.uval) = kJoinOuter; } -#line 3600 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3608 "bison_parser.cpp" /* yacc.c:1646 */ break; case 189: #line 954 "bison_parser.y" /* yacc.c:1646 */ { (yyval.uval) = kJoinLeftOuter; } -#line 3606 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3614 "bison_parser.cpp" /* yacc.c:1646 */ break; case 190: #line 955 "bison_parser.y" /* yacc.c:1646 */ { (yyval.uval) = kJoinRightOuter; } -#line 3612 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3620 "bison_parser.cpp" /* yacc.c:1646 */ break; case 191: #line 956 "bison_parser.y" /* yacc.c:1646 */ { (yyval.uval) = kJoinLeft; } -#line 3618 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3626 "bison_parser.cpp" /* yacc.c:1646 */ break; case 192: #line 957 "bison_parser.y" /* yacc.c:1646 */ { (yyval.uval) = kJoinRight; } -#line 3624 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3632 "bison_parser.cpp" /* yacc.c:1646 */ break; case 193: #line 958 "bison_parser.y" /* yacc.c:1646 */ { (yyval.uval) = kJoinCross; } -#line 3630 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3638 "bison_parser.cpp" /* yacc.c:1646 */ break; case 194: #line 959 "bison_parser.y" /* yacc.c:1646 */ { (yyval.uval) = kJoinInner; } -#line 3636 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3644 "bison_parser.cpp" /* yacc.c:1646 */ break; case 198: #line 979 "bison_parser.y" /* yacc.c:1646 */ { (yyval.str_vec) = new std::vector(); (yyval.str_vec)->push_back((yyvsp[0].sval)); } -#line 3642 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3650 "bison_parser.cpp" /* yacc.c:1646 */ break; case 199: #line 980 "bison_parser.y" /* yacc.c:1646 */ { (yyvsp[-2].str_vec)->push_back((yyvsp[0].sval)); (yyval.str_vec) = (yyvsp[-2].str_vec); } -#line 3648 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3656 "bison_parser.cpp" /* yacc.c:1646 */ break; -#line 3652 "bison_parser.cpp" /* yacc.c:1646 */ +#line 3660 "bison_parser.cpp" /* yacc.c:1646 */ default: break; } /* User semantic actions sometimes alter yychar, and that requires diff --git a/src/parser/bison_parser.y b/src/parser/bison_parser.y index d498bb3..8fd6a5b 100644 --- a/src/parser/bison_parser.y +++ b/src/parser/bison_parser.y @@ -521,7 +521,7 @@ update_clause_commalist: ; update_clause: - IDENTIFIER '=' literal { + IDENTIFIER '=' expr { $$ = new UpdateClause(); $$->column = $1; $$->value = $3;