1
0
Fork 0

Added additional error numbers for bitarray index creation

This commit is contained in:
Oreste Panaia 2012-09-17 19:57:10 +08:00
parent 305031a0f7
commit c7e5eae52d
13 changed files with 234 additions and 130 deletions

View File

@ -50,11 +50,11 @@ describe ArangoDB do
cmd = "/_api/index?collection=#{@cid}" cmd = "/_api/index?collection=#{@cid}"
body = "{ \"type\" : \"bitarray\", \"unique\" : false, \"fields\" : [ \"a\", [0,1,2], \"a\", [\"a\",\"b\",\"c\"] ] }" body = "{ \"type\" : \"bitarray\", \"unique\" : false, \"fields\" : [ \"a\", [0,1,2], \"a\", [\"a\",\"b\",\"c\"] ] }"
doc = ArangoDB.log_post("#{prefix}-fail", cmd, :body => body) doc = ArangoDB.log_post("#{prefix}-fail", cmd, :body => body)
doc.code.should eq(400) doc.code.should eq(400)
doc.parsed_response['error'].should eq(true) doc.parsed_response['error'].should eq(true)
doc.parsed_response['code'].should eq(400) doc.parsed_response['code'].should eq(400)
doc.parsed_response['errorNum'].should eq(0) doc.parsed_response['errorNum'].should eq(3415)
end end
it "creation failure due to duplicate values" do it "creation failure due to duplicate values" do
@ -69,7 +69,7 @@ describe ArangoDB do
doc.code.should eq(400) doc.code.should eq(400)
doc.parsed_response['error'].should eq(true) doc.parsed_response['error'].should eq(true)
doc.parsed_response['code'].should eq(400) doc.parsed_response['code'].should eq(400)
doc.parsed_response['errorNum'].should eq(0) doc.parsed_response['errorNum'].should eq(3417)
end end
@ -115,7 +115,7 @@ describe ArangoDB do
doc = ArangoDB.log_post("#{prefix}-fail", cmd, :body => body) doc = ArangoDB.log_post("#{prefix}-fail", cmd, :body => body)
doc.code.should eq(400) doc.code.should eq(400)
doc.parsed_response['error'].should eq(true) doc.parsed_response['error'].should eq(true)
doc.parsed_response['errorNum'].should eq(0) doc.parsed_response['errorNum'].should eq(3413)
end end
it "creation success when all documents have supported values" do it "creation success when all documents have supported values" do

View File

@ -574,16 +574,16 @@ static const yytype_int8 yyrhs[] =
static const yytype_uint16 yyrline[] = static const yytype_uint16 yyrline[] =
{ {
0, 176, 176, 181, 183, 188, 190, 192, 194, 196, 0, 176, 176, 181, 183, 188, 190, 192, 194, 196,
198, 202, 221, 234, 247, 247, 268, 270, 275, 288, 198, 203, 222, 235, 248, 248, 269, 271, 276, 289,
291, 297, 297, 319, 324, 332, 343, 346, 349, 355, 292, 298, 298, 320, 325, 333, 344, 347, 350, 356,
369, 382, 402, 405, 405, 441, 444, 447, 450, 450, 370, 383, 403, 406, 406, 442, 445, 448, 451, 451,
472, 475, 478, 484, 492, 500, 511, 519, 527, 535, 473, 476, 479, 485, 493, 501, 512, 520, 528, 536,
543, 551, 559, 567, 575, 583, 591, 599, 607, 615, 544, 552, 560, 568, 576, 584, 592, 600, 608, 616,
626, 637, 639, 644, 647, 653, 656, 662, 662, 675, 627, 638, 640, 645, 648, 654, 657, 663, 663, 676,
677, 682, 687, 695, 695, 708, 710, 715, 717, 722, 678, 683, 688, 696, 696, 709, 711, 716, 718, 723,
731, 735, 735, 788, 805, 813, 824, 834, 844, 851, 732, 736, 736, 789, 806, 814, 825, 835, 845, 852,
861, 864, 870, 878, 892, 900, 908, 919, 930, 937, 862, 865, 871, 879, 893, 901, 909, 920, 931, 938,
946, 952, 959 947, 953, 960
}; };
#endif #endif
@ -1795,7 +1795,7 @@ yyreduce:
case 11: case 11:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 202 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 203 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node; TRI_aql_node_t* node;
@ -1817,7 +1817,7 @@ yyreduce:
case 12: case 12:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 221 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 222 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeFilterAql(context, (yyvsp[(2) - (2)].node)); TRI_aql_node_t* node = TRI_CreateNodeFilterAql(context, (yyvsp[(2) - (2)].node));
if (!node) { if (!node) {
@ -1833,7 +1833,7 @@ yyreduce:
case 13: case 13:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 234 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 235 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeLetAql(context, (yyvsp[(2) - (4)].strval), (yyvsp[(4) - (4)].node)); TRI_aql_node_t* node = TRI_CreateNodeLetAql(context, (yyvsp[(2) - (4)].strval), (yyvsp[(4) - (4)].node));
if (!node) { if (!node) {
@ -1849,7 +1849,7 @@ yyreduce:
case 14: case 14:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 247 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 248 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeListAql(context); TRI_aql_node_t* node = TRI_CreateNodeListAql(context);
@ -1864,7 +1864,7 @@ yyreduce:
case 15: case 15:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 255 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 256 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeCollectAql(context, TRI_PopStackParseAql(context), (yyvsp[(4) - (4)].strval)); TRI_aql_node_t* node = TRI_CreateNodeCollectAql(context, TRI_PopStackParseAql(context), (yyvsp[(4) - (4)].strval));
if (!node) { if (!node) {
@ -1880,7 +1880,7 @@ yyreduce:
case 16: case 16:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 268 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 269 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
} }
break; break;
@ -1888,7 +1888,7 @@ yyreduce:
case 17: case 17:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 270 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 271 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
} }
break; break;
@ -1896,7 +1896,7 @@ yyreduce:
case 18: case 18:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 275 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 276 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeAssignAql(context, (yyvsp[(1) - (3)].strval), (yyvsp[(3) - (3)].node)); TRI_aql_node_t* node = TRI_CreateNodeAssignAql(context, (yyvsp[(1) - (3)].strval), (yyvsp[(3) - (3)].node));
if (!node) { if (!node) {
@ -1912,7 +1912,7 @@ yyreduce:
case 19: case 19:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 288 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 289 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
(yyval.strval) = NULL; (yyval.strval) = NULL;
} }
@ -1921,7 +1921,7 @@ yyreduce:
case 20: case 20:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 291 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 292 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
(yyval.strval) = (yyvsp[(2) - (2)].strval); (yyval.strval) = (yyvsp[(2) - (2)].strval);
} }
@ -1930,7 +1930,7 @@ yyreduce:
case 21: case 21:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 297 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 298 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeListAql(context); TRI_aql_node_t* node = TRI_CreateNodeListAql(context);
@ -1945,7 +1945,7 @@ yyreduce:
case 22: case 22:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 305 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 306 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* list = TRI_PopStackParseAql(context); TRI_aql_node_t* list = TRI_PopStackParseAql(context);
TRI_aql_node_t* node = TRI_CreateNodeSortAql(context, list); TRI_aql_node_t* node = TRI_CreateNodeSortAql(context, list);
@ -1962,7 +1962,7 @@ yyreduce:
case 23: case 23:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 319 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 320 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
if (!TRI_PushListAql(context, (yyvsp[(1) - (1)].node))) { if (!TRI_PushListAql(context, (yyvsp[(1) - (1)].node))) {
ABORT_OOM ABORT_OOM
@ -1973,7 +1973,7 @@ yyreduce:
case 24: case 24:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 324 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 325 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
if (!TRI_PushListAql(context, (yyvsp[(3) - (3)].node))) { if (!TRI_PushListAql(context, (yyvsp[(3) - (3)].node))) {
ABORT_OOM ABORT_OOM
@ -1984,7 +1984,7 @@ yyreduce:
case 25: case 25:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 332 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 333 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeSortElementAql(context, (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].boolval)); TRI_aql_node_t* node = TRI_CreateNodeSortElementAql(context, (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].boolval));
if (!node) { if (!node) {
@ -1998,7 +1998,7 @@ yyreduce:
case 26: case 26:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 343 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 344 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
(yyval.boolval) = true; (yyval.boolval) = true;
} }
@ -2007,7 +2007,7 @@ yyreduce:
case 27: case 27:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 346 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 347 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
(yyval.boolval) = true; (yyval.boolval) = true;
} }
@ -2016,7 +2016,7 @@ yyreduce:
case 28: case 28:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 349 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 350 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
(yyval.boolval) = false; (yyval.boolval) = false;
} }
@ -2025,7 +2025,7 @@ yyreduce:
case 29: case 29:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 355 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 356 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeLimitAql(context, TRI_CreateNodeValueIntAql(context, 0), TRI_CreateNodeValueIntAql(context, (yyvsp[(2) - (2)].intval))); TRI_aql_node_t* node = TRI_CreateNodeLimitAql(context, TRI_CreateNodeValueIntAql(context, 0), TRI_CreateNodeValueIntAql(context, (yyvsp[(2) - (2)].intval)));
if (!node) { if (!node) {
@ -2045,7 +2045,7 @@ yyreduce:
case 30: case 30:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 369 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 370 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeLimitAql(context, TRI_CreateNodeValueIntAql(context, (yyvsp[(2) - (4)].intval)), TRI_CreateNodeValueIntAql(context, (yyvsp[(4) - (4)].intval))); TRI_aql_node_t* node = TRI_CreateNodeLimitAql(context, TRI_CreateNodeValueIntAql(context, (yyvsp[(2) - (4)].intval)), TRI_CreateNodeValueIntAql(context, (yyvsp[(4) - (4)].intval)));
if (!node) { if (!node) {
@ -2061,7 +2061,7 @@ yyreduce:
case 31: case 31:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 382 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 383 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeReturnAql(context, (yyvsp[(2) - (2)].node)); TRI_aql_node_t* node = TRI_CreateNodeReturnAql(context, (yyvsp[(2) - (2)].node));
if (!node) { if (!node) {
@ -2083,7 +2083,7 @@ yyreduce:
case 32: case 32:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 402 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 403 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
(yyval.node) = (yyvsp[(2) - (3)].node); (yyval.node) = (yyvsp[(2) - (3)].node);
} }
@ -2092,7 +2092,7 @@ yyreduce:
case 33: case 33:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 405 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 406 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
if (!TRI_StartScopeAql(context, TRI_AQL_SCOPE_SUBQUERY)) { if (!TRI_StartScopeAql(context, TRI_AQL_SCOPE_SUBQUERY)) {
ABORT_OOM ABORT_OOM
@ -2104,7 +2104,7 @@ yyreduce:
case 34: case 34:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 410 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 411 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* result; TRI_aql_node_t* result;
TRI_aql_node_t* subQuery; TRI_aql_node_t* subQuery;
@ -2141,7 +2141,7 @@ yyreduce:
case 35: case 35:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 441 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 442 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
(yyval.node) = (yyvsp[(1) - (1)].node); (yyval.node) = (yyvsp[(1) - (1)].node);
} }
@ -2150,7 +2150,7 @@ yyreduce:
case 36: case 36:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 444 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 445 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
(yyval.node) = (yyvsp[(1) - (1)].node); (yyval.node) = (yyvsp[(1) - (1)].node);
} }
@ -2159,7 +2159,7 @@ yyreduce:
case 37: case 37:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 447 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 448 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
(yyval.node) = (yyvsp[(1) - (1)].node); (yyval.node) = (yyvsp[(1) - (1)].node);
} }
@ -2168,7 +2168,7 @@ yyreduce:
case 38: case 38:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 450 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 451 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node; TRI_aql_node_t* node;
@ -2188,7 +2188,7 @@ yyreduce:
case 39: case 39:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 463 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 464 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* list = TRI_PopStackParseAql(context); TRI_aql_node_t* list = TRI_PopStackParseAql(context);
TRI_aql_node_t* node = TRI_CreateNodeFcallAql(context, TRI_PopStackParseAql(context), list); TRI_aql_node_t* node = TRI_CreateNodeFcallAql(context, TRI_PopStackParseAql(context), list);
@ -2203,7 +2203,7 @@ yyreduce:
case 40: case 40:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 472 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 473 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
(yyval.node) = (yyvsp[(1) - (1)].node); (yyval.node) = (yyvsp[(1) - (1)].node);
} }
@ -2212,7 +2212,7 @@ yyreduce:
case 41: case 41:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 475 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 476 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
(yyval.node) = (yyvsp[(1) - (1)].node); (yyval.node) = (yyvsp[(1) - (1)].node);
} }
@ -2221,7 +2221,7 @@ yyreduce:
case 42: case 42:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 478 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 479 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
(yyval.node) = (yyvsp[(1) - (1)].node); (yyval.node) = (yyvsp[(1) - (1)].node);
} }
@ -2230,7 +2230,7 @@ yyreduce:
case 43: case 43:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 484 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 485 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeOperatorUnaryPlusAql(context, (yyvsp[(2) - (2)].node)); TRI_aql_node_t* node = TRI_CreateNodeOperatorUnaryPlusAql(context, (yyvsp[(2) - (2)].node));
if (!node) { if (!node) {
@ -2244,7 +2244,7 @@ yyreduce:
case 44: case 44:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 492 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 493 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeOperatorUnaryMinusAql(context, (yyvsp[(2) - (2)].node)); TRI_aql_node_t* node = TRI_CreateNodeOperatorUnaryMinusAql(context, (yyvsp[(2) - (2)].node));
if (!node) { if (!node) {
@ -2258,7 +2258,7 @@ yyreduce:
case 45: case 45:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 500 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 501 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeOperatorUnaryNotAql(context, (yyvsp[(2) - (2)].node)); TRI_aql_node_t* node = TRI_CreateNodeOperatorUnaryNotAql(context, (yyvsp[(2) - (2)].node));
if (!node) { if (!node) {
@ -2272,7 +2272,7 @@ yyreduce:
case 46: case 46:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 511 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 512 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryOrAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryOrAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
if (!node) { if (!node) {
@ -2286,7 +2286,7 @@ yyreduce:
case 47: case 47:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 519 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 520 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryAndAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryAndAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
if (!node) { if (!node) {
@ -2300,7 +2300,7 @@ yyreduce:
case 48: case 48:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 527 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 528 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryPlusAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryPlusAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
if (!node) { if (!node) {
@ -2314,7 +2314,7 @@ yyreduce:
case 49: case 49:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 535 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 536 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryMinusAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryMinusAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
if (!node) { if (!node) {
@ -2328,7 +2328,7 @@ yyreduce:
case 50: case 50:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 543 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 544 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryTimesAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryTimesAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
if (!node) { if (!node) {
@ -2342,7 +2342,7 @@ yyreduce:
case 51: case 51:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 551 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 552 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryDivAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryDivAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
if (!node) { if (!node) {
@ -2356,7 +2356,7 @@ yyreduce:
case 52: case 52:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 559 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 560 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryModAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryModAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
if (!node) { if (!node) {
@ -2370,7 +2370,7 @@ yyreduce:
case 53: case 53:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 567 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 568 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryEqAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryEqAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
if (!node) { if (!node) {
@ -2384,7 +2384,7 @@ yyreduce:
case 54: case 54:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 575 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 576 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryNeAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryNeAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
if (!node) { if (!node) {
@ -2398,7 +2398,7 @@ yyreduce:
case 55: case 55:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 583 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 584 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryLtAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryLtAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
if (!node) { if (!node) {
@ -2412,7 +2412,7 @@ yyreduce:
case 56: case 56:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 591 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 592 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryGtAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryGtAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
if (!node) { if (!node) {
@ -2426,7 +2426,7 @@ yyreduce:
case 57: case 57:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 599 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 600 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryLeAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryLeAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
if (!node) { if (!node) {
@ -2440,7 +2440,7 @@ yyreduce:
case 58: case 58:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 607 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 608 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryGeAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryGeAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
if (!node) { if (!node) {
@ -2454,7 +2454,7 @@ yyreduce:
case 59: case 59:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 615 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 616 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryInAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryInAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
if (!node) { if (!node) {
@ -2468,7 +2468,7 @@ yyreduce:
case 60: case 60:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 626 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 627 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeOperatorTernaryAql(context, (yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node)); TRI_aql_node_t* node = TRI_CreateNodeOperatorTernaryAql(context, (yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node));
if (!node) { if (!node) {
@ -2482,7 +2482,7 @@ yyreduce:
case 61: case 61:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 637 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 638 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
} }
break; break;
@ -2490,7 +2490,7 @@ yyreduce:
case 62: case 62:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 639 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 640 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
} }
break; break;
@ -2498,7 +2498,7 @@ yyreduce:
case 63: case 63:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 644 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 645 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_PushListAql(context, (yyvsp[(1) - (1)].node)); TRI_PushListAql(context, (yyvsp[(1) - (1)].node));
} }
@ -2507,7 +2507,7 @@ yyreduce:
case 64: case 64:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 647 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 648 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_PushListAql(context, (yyvsp[(3) - (3)].node)); TRI_PushListAql(context, (yyvsp[(3) - (3)].node));
} }
@ -2516,7 +2516,7 @@ yyreduce:
case 65: case 65:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 653 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 654 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
(yyval.node) = (yyvsp[(1) - (1)].node); (yyval.node) = (yyvsp[(1) - (1)].node);
} }
@ -2525,7 +2525,7 @@ yyreduce:
case 66: case 66:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 656 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 657 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
(yyval.node) = (yyvsp[(1) - (1)].node); (yyval.node) = (yyvsp[(1) - (1)].node);
} }
@ -2534,7 +2534,7 @@ yyreduce:
case 67: case 67:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 662 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 663 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeListAql(context); TRI_aql_node_t* node = TRI_CreateNodeListAql(context);
if (!node) { if (!node) {
@ -2548,7 +2548,7 @@ yyreduce:
case 68: case 68:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 669 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 670 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
(yyval.node) = TRI_PopStackParseAql(context); (yyval.node) = TRI_PopStackParseAql(context);
} }
@ -2557,7 +2557,7 @@ yyreduce:
case 69: case 69:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 675 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 676 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
} }
break; break;
@ -2565,7 +2565,7 @@ yyreduce:
case 70: case 70:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 677 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 678 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
} }
break; break;
@ -2573,7 +2573,7 @@ yyreduce:
case 71: case 71:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 682 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 683 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
if (!TRI_PushListAql(context, (yyvsp[(1) - (1)].node))) { if (!TRI_PushListAql(context, (yyvsp[(1) - (1)].node))) {
ABORT_OOM ABORT_OOM
@ -2584,7 +2584,7 @@ yyreduce:
case 72: case 72:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 687 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 688 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
if (!TRI_PushListAql(context, (yyvsp[(3) - (3)].node))) { if (!TRI_PushListAql(context, (yyvsp[(3) - (3)].node))) {
ABORT_OOM ABORT_OOM
@ -2595,7 +2595,7 @@ yyreduce:
case 73: case 73:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 695 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 696 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeArrayAql(context); TRI_aql_node_t* node = TRI_CreateNodeArrayAql(context);
if (!node) { if (!node) {
@ -2609,7 +2609,7 @@ yyreduce:
case 74: case 74:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 702 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 703 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
(yyval.node) = TRI_PopStackParseAql(context); (yyval.node) = TRI_PopStackParseAql(context);
} }
@ -2618,7 +2618,7 @@ yyreduce:
case 75: case 75:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 708 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 709 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
} }
break; break;
@ -2626,7 +2626,7 @@ yyreduce:
case 76: case 76:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 710 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 711 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
} }
break; break;
@ -2634,7 +2634,7 @@ yyreduce:
case 77: case 77:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 715 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 716 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
} }
break; break;
@ -2642,7 +2642,7 @@ yyreduce:
case 78: case 78:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 717 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 718 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
} }
break; break;
@ -2650,7 +2650,7 @@ yyreduce:
case 79: case 79:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 722 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 723 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
if (!TRI_PushArrayAql(context, (yyvsp[(1) - (3)].strval), (yyvsp[(3) - (3)].node))) { if (!TRI_PushArrayAql(context, (yyvsp[(1) - (3)].strval), (yyvsp[(3) - (3)].node))) {
ABORT_OOM ABORT_OOM
@ -2661,7 +2661,7 @@ yyreduce:
case 80: case 80:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 731 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 732 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
// start of reference (collection or variable name) // start of reference (collection or variable name)
(yyval.node) = (yyvsp[(1) - (1)].node); (yyval.node) = (yyvsp[(1) - (1)].node);
@ -2671,7 +2671,7 @@ yyreduce:
case 81: case 81:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 735 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 736 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
// expanded variable access, e.g. variable[*] // expanded variable access, e.g. variable[*]
TRI_aql_node_t* node; TRI_aql_node_t* node;
@ -2702,7 +2702,7 @@ yyreduce:
case 82: case 82:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 759 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 760 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
// return from the "expansion" subrule // return from the "expansion" subrule
TRI_aql_node_t* expanded = TRI_PopStackParseAql(context); TRI_aql_node_t* expanded = TRI_PopStackParseAql(context);
@ -2734,7 +2734,7 @@ yyreduce:
case 83: case 83:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 788 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 789 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
// variable or collection // variable or collection
TRI_aql_node_t* node; TRI_aql_node_t* node;
@ -2757,7 +2757,7 @@ yyreduce:
case 84: case 84:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 805 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 806 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
// named variable access, e.g. variable.reference // named variable access, e.g. variable.reference
(yyval.node) = TRI_CreateNodeAttributeAccessAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].strval)); (yyval.node) = TRI_CreateNodeAttributeAccessAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].strval));
@ -2771,7 +2771,7 @@ yyreduce:
case 85: case 85:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 813 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 814 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
// indexed variable access, e.g. variable[index] // indexed variable access, e.g. variable[index]
(yyval.node) = TRI_CreateNodeIndexedAql(context, (yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].node)); (yyval.node) = TRI_CreateNodeIndexedAql(context, (yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].node));
@ -2785,7 +2785,7 @@ yyreduce:
case 86: case 86:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 824 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 825 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
// named variable access, continuation from * expansion, e.g. [*].variable.reference // named variable access, continuation from * expansion, e.g. [*].variable.reference
TRI_aql_node_t* node = TRI_PopStackParseAql(context); TRI_aql_node_t* node = TRI_PopStackParseAql(context);
@ -2801,7 +2801,7 @@ yyreduce:
case 87: case 87:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 834 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 835 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
// indexed variable access, continuation from * expansion, e.g. [*].variable[index] // indexed variable access, continuation from * expansion, e.g. [*].variable[index]
TRI_aql_node_t* node = TRI_PopStackParseAql(context); TRI_aql_node_t* node = TRI_PopStackParseAql(context);
@ -2817,7 +2817,7 @@ yyreduce:
case 88: case 88:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 844 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 845 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
// named variable access, continuation from * expansion, e.g. [*].variable.xx.reference // named variable access, continuation from * expansion, e.g. [*].variable.xx.reference
(yyval.node) = TRI_CreateNodeAttributeAccessAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].strval)); (yyval.node) = TRI_CreateNodeAttributeAccessAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].strval));
@ -2830,7 +2830,7 @@ yyreduce:
case 89: case 89:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 851 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 852 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
// indexed variable access, continuation from * expansion, e.g. [*].variable.xx.[index] // indexed variable access, continuation from * expansion, e.g. [*].variable.xx.[index]
(yyval.node) = TRI_CreateNodeIndexedAql(context, (yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].node)); (yyval.node) = TRI_CreateNodeIndexedAql(context, (yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].node));
@ -2843,7 +2843,7 @@ yyreduce:
case 90: case 90:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 861 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 862 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
(yyval.node) = (yyvsp[(1) - (1)].node); (yyval.node) = (yyvsp[(1) - (1)].node);
} }
@ -2852,7 +2852,7 @@ yyreduce:
case 91: case 91:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 864 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 865 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
(yyval.node) = (yyvsp[(1) - (1)].node); (yyval.node) = (yyvsp[(1) - (1)].node);
} }
@ -2861,7 +2861,7 @@ yyreduce:
case 92: case 92:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 870 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 871 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeValueStringAql(context, (yyvsp[(1) - (1)].strval)); TRI_aql_node_t* node = TRI_CreateNodeValueStringAql(context, (yyvsp[(1) - (1)].strval));
if (!node) { if (!node) {
@ -2875,7 +2875,7 @@ yyreduce:
case 93: case 93:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 878 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 879 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node; TRI_aql_node_t* node;
@ -2895,7 +2895,7 @@ yyreduce:
case 94: case 94:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 892 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 893 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeValueNullAql(context); TRI_aql_node_t* node = TRI_CreateNodeValueNullAql(context);
if (!node) { if (!node) {
@ -2909,7 +2909,7 @@ yyreduce:
case 95: case 95:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 900 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 901 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeValueBoolAql(context, true); TRI_aql_node_t* node = TRI_CreateNodeValueBoolAql(context, true);
if (!node) { if (!node) {
@ -2923,7 +2923,7 @@ yyreduce:
case 96: case 96:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 908 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 909 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeValueBoolAql(context, false); TRI_aql_node_t* node = TRI_CreateNodeValueBoolAql(context, false);
if (!node) { if (!node) {
@ -2937,7 +2937,7 @@ yyreduce:
case 97: case 97:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 919 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 920 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeParameterAql(context, (yyvsp[(1) - (1)].strval)); TRI_aql_node_t* node = TRI_CreateNodeParameterAql(context, (yyvsp[(1) - (1)].strval));
if (!node) { if (!node) {
@ -2951,7 +2951,7 @@ yyreduce:
case 98: case 98:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 930 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 931 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
if (!(yyvsp[(1) - (1)].strval)) { if (!(yyvsp[(1) - (1)].strval)) {
ABORT_OOM ABORT_OOM
@ -2964,7 +2964,7 @@ yyreduce:
case 99: case 99:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 937 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 938 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
if (!(yyvsp[(1) - (1)].strval)) { if (!(yyvsp[(1) - (1)].strval)) {
ABORT_OOM ABORT_OOM
@ -2977,7 +2977,7 @@ yyreduce:
case 100: case 100:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 946 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 947 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
(yyval.strval) = (yyvsp[(1) - (1)].strval); (yyval.strval) = (yyvsp[(1) - (1)].strval);
} }
@ -2986,7 +2986,7 @@ yyreduce:
case 101: case 101:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 952 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 953 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
if (!(yyvsp[(1) - (1)].strval)) { if (!(yyvsp[(1) - (1)].strval)) {
ABORT_OOM ABORT_OOM
@ -2999,7 +2999,7 @@ yyreduce:
case 102: case 102:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 959 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 960 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
if (!(yyvsp[(2) - (2)].strval)) { if (!(yyvsp[(2) - (2)].strval)) {
ABORT_OOM ABORT_OOM

3
arangod/Ahuacatl/ahuacatl-grammar.y Normal file → Executable file
View File

@ -197,7 +197,8 @@ statement_block_statement:
} }
| limit_statement { | limit_statement {
} }
;
for_statement: for_statement:
T_FOR variable_name T_IN expression { T_FOR variable_name T_IN expression {
TRI_aql_node_t* node; TRI_aql_node_t* node;

View File

@ -3054,10 +3054,16 @@ static v8::Handle<v8::Value> EnsureBitarray (v8::Arguments const& argv, bool sup
// ............................................................................. // .............................................................................
if (ok) { if (ok) {
bitarrayIndex = TRI_EnsureBitarrayIndexSimCollection(sim, &attributes, &values, supportUndef, &indexCreated); char* errorStr = 0;
bitarrayIndex = TRI_EnsureBitarrayIndexSimCollection(sim, &attributes, &values, supportUndef, &indexCreated, &errorCode, &errorStr);
if (bitarrayIndex == 0) { if (bitarrayIndex == 0) {
errorCode = TRI_errno(); if (errorStr == 0) {
errorString = "index could not be created from Simple Collection"; errorString = "index could not be created from Simple Collection";
}
else {
errorString = string(errorStr);
TRI_Free(TRI_CORE_MEM_ZONE, errorStr); // strings are created in the CORE MEMORY ZONE
}
ok = false; ok = false;
} }
} }

View File

@ -4338,7 +4338,7 @@ TRI_index_t* TRI_CreateBitarrayIndex (struct TRI_primary_collection_s* collectio
TRI_vector_pointer_t* fields, TRI_vector_pointer_t* fields,
TRI_vector_t* paths, TRI_vector_t* paths,
TRI_vector_pointer_t* values, TRI_vector_pointer_t* values,
bool supportUndef) { bool supportUndef, int* errorNum, char** errorStr) {
TRI_bitarray_index_t* baIndex; TRI_bitarray_index_t* baIndex;
size_t i,j,k; size_t i,j,k;
int result; int result;
@ -4357,6 +4357,8 @@ TRI_index_t* TRI_CreateBitarrayIndex (struct TRI_primary_collection_s* collectio
TRI_shape_pid_t* rightShape = (TRI_shape_pid_t*)(TRI_AtVector(paths,i)); TRI_shape_pid_t* rightShape = (TRI_shape_pid_t*)(TRI_AtVector(paths,i));
if (*leftShape == *rightShape) { if (*leftShape == *rightShape) {
LOG_WARNING("bitarray index creation failed -- duplicate keys in index"); LOG_WARNING("bitarray index creation failed -- duplicate keys in index");
*errorNum = TRI_ERROR_ARANGO_INDEX_BITARRAY_CREATION_FAILURE_DUPLICATE_ATTRIBUTES;
*errorStr = TRI_DuplicateString("bitarray index creation failed -- duplicate keys in index");
return NULL; return NULL;
} }
} }
@ -4371,16 +4373,22 @@ TRI_index_t* TRI_CreateBitarrayIndex (struct TRI_primary_collection_s* collectio
for (k = 0; k < paths->_length; ++k) { for (k = 0; k < paths->_length; ++k) {
TRI_json_t* valueList = (TRI_json_t*)(TRI_AtVectorPointer(values,k)); TRI_json_t* valueList = (TRI_json_t*)(TRI_AtVectorPointer(values,k));
if (valueList == NULL || valueList->_type != TRI_JSON_LIST) { if (valueList == NULL || valueList->_type != TRI_JSON_LIST) {
LOG_WARNING("bitarray index creation failed -- list of values for index undefined"); LOG_WARNING("bitarray index creation failed -- list of values for index undefined");
*errorNum = TRI_ERROR_ILLEGAL_OPTION;
*errorStr = TRI_DuplicateString("bitarray index creation failed -- list of values for index undefined");
return NULL; return NULL;
} }
for (j = 0; j < valueList->_value._objects._length; ++j) { for (j = 0; j < valueList->_value._objects._length; ++j) {
TRI_json_t* leftValue = (TRI_json_t*)(TRI_AtVector(&(valueList->_value._objects), j)); TRI_json_t* leftValue = (TRI_json_t*)(TRI_AtVector(&(valueList->_value._objects), j));
for (i = j + 1; i < valueList->_value._objects._length; ++i) { for (i = j + 1; i < valueList->_value._objects._length; ++i) {
TRI_json_t* rightValue = (TRI_json_t*)(TRI_AtVector(&(valueList->_value._objects), i)); TRI_json_t* rightValue = (TRI_json_t*)(TRI_AtVector(&(valueList->_value._objects), i));
if (TRI_EqualJsonJson(leftValue, rightValue)) { if (TRI_EqualJsonJson(leftValue, rightValue)) {
LOG_WARNING("bitarray index creation failed -- duplicate values in value list for an attribute"); LOG_WARNING("bitarray index creation failed -- duplicate values in value list for an attribute");
*errorNum = TRI_ERROR_ARANGO_INDEX_BITARRAY_CREATION_FAILURE_DUPLICATE_VALUES;
*errorStr = TRI_DuplicateString("bitarray index creation failed -- duplicate values in value list for an attribute");
return NULL; return NULL;
} }
} }

View File

@ -647,7 +647,9 @@ TRI_index_t* TRI_CreateBitarrayIndex (struct TRI_primary_collection_s*,
TRI_vector_pointer_t*, TRI_vector_pointer_t*,
TRI_vector_t*, TRI_vector_t*,
TRI_vector_pointer_t*, TRI_vector_pointer_t*,
bool); bool,
int*,
char**);
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
/// @brief frees the memory allocated, but does not free the pointer /// @brief frees the memory allocated, but does not free the pointer

77
arangod/VocBase/simple-collection.c Normal file → Executable file
View File

@ -2693,7 +2693,7 @@ static int BitarrayBasedIndexFromJson (TRI_sim_collection_t* sim,
const TRI_vector_pointer_t*, const TRI_vector_pointer_t*,
TRI_idx_iid_t, TRI_idx_iid_t,
bool, bool,
bool*)) { bool*, int*, char**)) {
TRI_index_t* idx; TRI_index_t* idx;
TRI_json_t* uniqueIndex; TRI_json_t* uniqueIndex;
TRI_json_t* supportUndefIndex; TRI_json_t* supportUndefIndex;
@ -2705,7 +2705,8 @@ static int BitarrayBasedIndexFromJson (TRI_sim_collection_t* sim,
bool created; bool created;
size_t fieldCount; size_t fieldCount;
size_t j; size_t j;
int errorNum;
char* errorStr;
// ........................................................................... // ...........................................................................
// extract fields list (which is a list of key/value pairs for a bitarray index // extract fields list (which is a list of key/value pairs for a bitarray index
@ -2786,8 +2787,8 @@ static int BitarrayBasedIndexFromJson (TRI_sim_collection_t* sim,
// ........................................................................... // ...........................................................................
// attempt to create the index or retrieve an existing one // attempt to create the index or retrieve an existing one
// ........................................................................... // ...........................................................................
errorStr = NULL;
idx = creator(sim, &attributes, &values, iid, supportUndef, &created); idx = creator(sim, &attributes, &values, iid, supportUndef, &created, &errorNum, &errorStr);
// ........................................................................... // ...........................................................................
@ -2804,7 +2805,11 @@ static int BitarrayBasedIndexFromJson (TRI_sim_collection_t* sim,
if (idx == NULL) { if (idx == NULL) {
LOG_ERROR("cannot create bitarray index %lu", (unsigned long) iid); LOG_ERROR("cannot create bitarray index %lu", (unsigned long) iid);
return TRI_errno(); if (errorStr != NULL) {
LOG_TRACE(errorStr);
TRI_Free(TRI_CORE_MEM_ZONE, errorStr);
}
return errorNum;
} }
return TRI_ERROR_NO_ERROR; return TRI_ERROR_NO_ERROR;
@ -4487,7 +4492,9 @@ static TRI_index_t* CreateBitarrayIndexSimCollection (TRI_sim_collection_t* coll
const TRI_vector_pointer_t* values, const TRI_vector_pointer_t* values,
TRI_idx_iid_t iid, TRI_idx_iid_t iid,
bool supportUndef, bool supportUndef,
bool* created) { bool* created,
int* errorNum,
char** errorStr) {
TRI_index_t* idx; TRI_index_t* idx;
TRI_vector_pointer_t fields; TRI_vector_pointer_t fields;
TRI_vector_t paths; TRI_vector_t paths;
@ -4503,7 +4510,8 @@ static TRI_index_t* CreateBitarrayIndexSimCollection (TRI_sim_collection_t* coll
if (created != NULL) { if (created != NULL) {
*created = false; *created = false;
} }
*errorNum = res;
*errorStr = TRI_DuplicateString("Bitarray index attributes could not be accessed.");
return NULL; return NULL;
} }
@ -4516,6 +4524,12 @@ static TRI_index_t* CreateBitarrayIndexSimCollection (TRI_sim_collection_t* coll
idx = LookupPathIndexSimCollection(collection, &paths, TRI_IDX_TYPE_BITARRAY_INDEX, false); idx = LookupPathIndexSimCollection(collection, &paths, TRI_IDX_TYPE_BITARRAY_INDEX, false);
if (idx != NULL) { if (idx != NULL) {
// .........................................................................
// existing index has been located which matches the list of attributes
// return this one
// .........................................................................
TRI_DestroyVector(&paths); TRI_DestroyVector(&paths);
TRI_DestroyVectorPointer(&fields); TRI_DestroyVectorPointer(&fields);
LOG_TRACE("bitarray-index previously created"); LOG_TRACE("bitarray-index previously created");
@ -4532,7 +4546,7 @@ static TRI_index_t* CreateBitarrayIndexSimCollection (TRI_sim_collection_t* coll
// Create the bitarray index // Create the bitarray index
// ........................................................................... // ...........................................................................
idx = TRI_CreateBitarrayIndex(&collection->base, &fields, &paths, (TRI_vector_pointer_t*)(values), supportUndef); idx = TRI_CreateBitarrayIndex(&collection->base, &fields, &paths, (TRI_vector_pointer_t*)(values), supportUndef, errorNum, errorStr);
// ........................................................................... // ...........................................................................
@ -4571,6 +4585,14 @@ static TRI_index_t* CreateBitarrayIndexSimCollection (TRI_sim_collection_t* coll
res = FillIndex(collection, idx); res = FillIndex(collection, idx);
if (res != TRI_ERROR_NO_ERROR) { if (res != TRI_ERROR_NO_ERROR) {
// .........................................................................
// for some reason one or more of the existing documents has caused the
// index to fail. Remove the index from the collection and return null.
// .........................................................................
*errorNum = res;
*errorStr = TRI_DuplicateString("Bitarray index creation aborted due to documents within collection.");
TRI_FreeBitarrayIndex(idx); TRI_FreeBitarrayIndex(idx);
return NULL; return NULL;
} }
@ -4674,17 +4696,22 @@ TRI_index_t* TRI_EnsureBitarrayIndexSimCollection (TRI_sim_collection_t* sim,
const TRI_vector_pointer_t* attributes, const TRI_vector_pointer_t* attributes,
const TRI_vector_pointer_t* values, const TRI_vector_pointer_t* values,
bool supportUndef, bool supportUndef,
bool* created) { bool* created,
int* errorCode,
char** errorStr) {
TRI_index_t* idx; TRI_index_t* idx;
int res; int res;
*errorCode = TRI_ERROR_NO_ERROR;
*errorStr = NULL;
// ............................................................................. // .............................................................................
// inside write-lock the collection // inside write-lock the collection
// ............................................................................. // .............................................................................
TRI_WRITE_LOCK_DOCUMENTS_INDEXES_SIM_COLLECTION(sim); TRI_WRITE_LOCK_DOCUMENTS_INDEXES_SIM_COLLECTION(sim);
idx = CreateBitarrayIndexSimCollection(sim, attributes, values, 0, supportUndef, created); idx = CreateBitarrayIndexSimCollection(sim, attributes, values, 0, supportUndef, created, errorCode, errorStr);
if (idx == NULL) { if (idx == NULL) {
TRI_WRITE_UNLOCK_DOCUMENTS_INDEXES_SIM_COLLECTION(sim); TRI_WRITE_UNLOCK_DOCUMENTS_INDEXES_SIM_COLLECTION(sim);
@ -4696,15 +4723,35 @@ TRI_index_t* TRI_EnsureBitarrayIndexSimCollection (TRI_sim_collection_t* sim,
// ............................................................................. // .............................................................................
// outside write-lock // outside write-lock
// ............................................................................. // .............................................................................
// .............................................................................
// The index is 'new' so save it
// .............................................................................
if (created) { if (created) {
res = TRI_SaveIndex(&sim->base, idx); res = TRI_SaveIndex(&sim->base, idx);
// ...........................................................................
// If index could not be saved, report the error and return NULL
// Todo: get TRI_SaveIndex to report the error
// ...........................................................................
if (res == TRI_ERROR_NO_ERROR) {
return idx;
}
*errorCode = res;
*errorStr = TRI_DuplicateString("Bitarray index could not be saved.");
return NULL;
}
return res == TRI_ERROR_NO_ERROR ? idx : NULL; // .............................................................................
} // Index already exists so simply return it
else { // .............................................................................
return TRI_ERROR_NO_ERROR;
} return idx;
} }
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////

4
arangod/VocBase/simple-collection.h Normal file → Executable file
View File

@ -466,7 +466,9 @@ struct TRI_index_s* TRI_EnsureBitarrayIndexSimCollection (TRI_sim_collection_t*,
const TRI_vector_pointer_t* attributes, const TRI_vector_pointer_t* attributes,
const TRI_vector_pointer_t* values, const TRI_vector_pointer_t* values,
bool supportUndef, bool supportUndef,
bool* created); bool* created,
int* errorNum,
char** errorStr);
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
/// @} /// @}

View File

@ -148,6 +148,8 @@
"WARNING_ARANGO_INDEX_BITARRAY_UPDATE_ATTRIBUTE_MISSING" : { "code" : 3402, "message" : "bitarray index update warning - attribute missing in revised document" }, "WARNING_ARANGO_INDEX_BITARRAY_UPDATE_ATTRIBUTE_MISSING" : { "code" : 3402, "message" : "bitarray index update warning - attribute missing in revised document" },
"WARNING_ARANGO_INDEX_BITARRAY_REMOVE_ITEM_MISSING" : { "code" : 3411, "message" : "bitarray index remove failure - item missing in index" }, "WARNING_ARANGO_INDEX_BITARRAY_REMOVE_ITEM_MISSING" : { "code" : 3411, "message" : "bitarray index remove failure - item missing in index" },
"ERROR_ARANGO_INDEX_BITARRAY_INSERT_ITEM_UNSUPPORTED_VALUE" : { "code" : 3413, "message" : "bitarray index insert failure - document attribute value unsupported in index" }, "ERROR_ARANGO_INDEX_BITARRAY_INSERT_ITEM_UNSUPPORTED_VALUE" : { "code" : 3413, "message" : "bitarray index insert failure - document attribute value unsupported in index" },
"ERROR_ARANGO_INDEX_BITARRAY_CREATION_FAILURE_DUPLICATE_ATTRIBUTES" : { "code" : 3415, "message" : "bitarray index creation failure - one or more index attributes are duplicated." },
"ERROR_ARANGO_INDEX_BITARRAY_CREATION_FAILURE_DUPLICATE_VALUES" : { "code" : 3417, "message" : "bitarray index creation failure - one or more index attribute values are duplicated." },
}; };
}()); }());

View File

@ -149,6 +149,8 @@ static string JS_common_bootstrap_errors =
" \"WARNING_ARANGO_INDEX_BITARRAY_UPDATE_ATTRIBUTE_MISSING\" : { \"code\" : 3402, \"message\" : \"bitarray index update warning - attribute missing in revised document\" }, \n" " \"WARNING_ARANGO_INDEX_BITARRAY_UPDATE_ATTRIBUTE_MISSING\" : { \"code\" : 3402, \"message\" : \"bitarray index update warning - attribute missing in revised document\" }, \n"
" \"WARNING_ARANGO_INDEX_BITARRAY_REMOVE_ITEM_MISSING\" : { \"code\" : 3411, \"message\" : \"bitarray index remove failure - item missing in index\" }, \n" " \"WARNING_ARANGO_INDEX_BITARRAY_REMOVE_ITEM_MISSING\" : { \"code\" : 3411, \"message\" : \"bitarray index remove failure - item missing in index\" }, \n"
" \"ERROR_ARANGO_INDEX_BITARRAY_INSERT_ITEM_UNSUPPORTED_VALUE\" : { \"code\" : 3413, \"message\" : \"bitarray index insert failure - document attribute value unsupported in index\" }, \n" " \"ERROR_ARANGO_INDEX_BITARRAY_INSERT_ITEM_UNSUPPORTED_VALUE\" : { \"code\" : 3413, \"message\" : \"bitarray index insert failure - document attribute value unsupported in index\" }, \n"
" \"ERROR_ARANGO_INDEX_BITARRAY_CREATION_FAILURE_DUPLICATE_ATTRIBUTES\" : { \"code\" : 3415, \"message\" : \"bitarray index creation failure - one or more index attributes are duplicated.\" }, \n"
" \"ERROR_ARANGO_INDEX_BITARRAY_CREATION_FAILURE_DUPLICATE_VALUES\" : { \"code\" : 3417, \"message\" : \"bitarray index creation failure - one or more index attribute values are duplicated.\" }, \n"
"};\n" "};\n"
"}());\n" "}());\n"
"\n" "\n"

4
lib/BasicsC/errors.dat Normal file → Executable file
View File

@ -192,7 +192,7 @@ SIMPLE_CLIENT_COULD_NOT_READ,2003,"could not read from server","Will be raised w
################################################################################ ################################################################################
## ArangoDB index errors (3000-3999) ## ArangoDB index errors (3000-3999)
## ##
## For error that occur when fulfilling a user request which fails due to index. ## Errors that occur when user request fails due to an index error.
################################################################################ ################################################################################
ERROR_ARANGO_INDEX_PQ_INSERT_FAILED,3100,"priority queue insert failure","Will be raised when an attempt to insert a document into a priority queue index fails for some reason." ERROR_ARANGO_INDEX_PQ_INSERT_FAILED,3100,"priority queue insert failure","Will be raised when an attempt to insert a document into a priority queue index fails for some reason."
@ -215,3 +215,5 @@ WARNING_ARANGO_INDEX_BITARRAY_DOCUMENT_ATTRIBUTE_MISSING,3400,"bitarray index in
WARNING_ARANGO_INDEX_BITARRAY_UPDATE_ATTRIBUTE_MISSING,3402,"bitarray index update warning - attribute missing in revised document","Will be raised when an attempt to update a document results in the revised document not having one or more attributes which are required by the bitarray index." WARNING_ARANGO_INDEX_BITARRAY_UPDATE_ATTRIBUTE_MISSING,3402,"bitarray index update warning - attribute missing in revised document","Will be raised when an attempt to update a document results in the revised document not having one or more attributes which are required by the bitarray index."
WARNING_ARANGO_INDEX_BITARRAY_REMOVE_ITEM_MISSING,3411,"bitarray index remove failure - item missing in index","Will be raised when an attempt to remove a document from a bitarray index fails when document can not be located within that index." WARNING_ARANGO_INDEX_BITARRAY_REMOVE_ITEM_MISSING,3411,"bitarray index remove failure - item missing in index","Will be raised when an attempt to remove a document from a bitarray index fails when document can not be located within that index."
ERROR_ARANGO_INDEX_BITARRAY_INSERT_ITEM_UNSUPPORTED_VALUE,3413,"bitarray index insert failure - document attribute value unsupported in index","Will be raised when an attempt to insert a document into a bitarray index fails due to the fact that one or more values for an index attribute is not supported within that index." ERROR_ARANGO_INDEX_BITARRAY_INSERT_ITEM_UNSUPPORTED_VALUE,3413,"bitarray index insert failure - document attribute value unsupported in index","Will be raised when an attempt to insert a document into a bitarray index fails due to the fact that one or more values for an index attribute is not supported within that index."
ERROR_ARANGO_INDEX_BITARRAY_CREATION_FAILURE_DUPLICATE_ATTRIBUTES,3415,"bitarray index creation failure - one or more index attributes are duplicated.","Will be raised when an attempt to create an index with two or more index attributes repeated."
ERROR_ARANGO_INDEX_BITARRAY_CREATION_FAILURE_DUPLICATE_VALUES,3417,"bitarray index creation failure - one or more index attribute values are duplicated.","Will be raised when an attempt to create an index with two or more index attribute values repeated."

View File

@ -144,6 +144,8 @@ void TRI_InitialiseErrorMessages (void) {
REG_ERROR(WARNING_ARANGO_INDEX_BITARRAY_UPDATE_ATTRIBUTE_MISSING, "bitarray index update warning - attribute missing in revised document"); REG_ERROR(WARNING_ARANGO_INDEX_BITARRAY_UPDATE_ATTRIBUTE_MISSING, "bitarray index update warning - attribute missing in revised document");
REG_ERROR(WARNING_ARANGO_INDEX_BITARRAY_REMOVE_ITEM_MISSING, "bitarray index remove failure - item missing in index"); REG_ERROR(WARNING_ARANGO_INDEX_BITARRAY_REMOVE_ITEM_MISSING, "bitarray index remove failure - item missing in index");
REG_ERROR(ERROR_ARANGO_INDEX_BITARRAY_INSERT_ITEM_UNSUPPORTED_VALUE, "bitarray index insert failure - document attribute value unsupported in index"); REG_ERROR(ERROR_ARANGO_INDEX_BITARRAY_INSERT_ITEM_UNSUPPORTED_VALUE, "bitarray index insert failure - document attribute value unsupported in index");
REG_ERROR(ERROR_ARANGO_INDEX_BITARRAY_CREATION_FAILURE_DUPLICATE_ATTRIBUTES, "bitarray index creation failure - one or more index attributes are duplicated.");
REG_ERROR(ERROR_ARANGO_INDEX_BITARRAY_CREATION_FAILURE_DUPLICATE_VALUES, "bitarray index creation failure - one or more index attribute values are duplicated.");
} }
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////

View File

@ -328,6 +328,12 @@ extern "C" {
/// Will be raised when an attempt to insert a document into a bitarray index /// Will be raised when an attempt to insert a document into a bitarray index
/// fails due to the fact that one or more values for an index attribute is /// fails due to the fact that one or more values for an index attribute is
/// not supported within that index. /// not supported within that index.
/// - 3415: @CODE{bitarray index creation failure - one or more index attributes are duplicated.}
/// Will be raised when an attempt to create an index with two or more index
/// attributes repeated.
/// - 3417: @CODE{bitarray index creation failure - one or more index attribute values are duplicated.}
/// Will be raised when an attempt to create an index with two or more index
/// attribute values repeated.
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
@ -1721,6 +1727,30 @@ void TRI_InitialiseErrorMessages (void);
#define TRI_ERROR_ARANGO_INDEX_BITARRAY_INSERT_ITEM_UNSUPPORTED_VALUE (3413) #define TRI_ERROR_ARANGO_INDEX_BITARRAY_INSERT_ITEM_UNSUPPORTED_VALUE (3413)
////////////////////////////////////////////////////////////////////////////////
/// @brief 3415: ERROR_ARANGO_INDEX_BITARRAY_CREATION_FAILURE_DUPLICATE_ATTRIBUTES
///
/// bitarray index creation failure - one or more index attributes are
/// duplicated.
///
/// Will be raised when an attempt to create an index with two or more index
/// attributes repeated.
////////////////////////////////////////////////////////////////////////////////
#define TRI_ERROR_ARANGO_INDEX_BITARRAY_CREATION_FAILURE_DUPLICATE_ATTRIBUTES (3415)
////////////////////////////////////////////////////////////////////////////////
/// @brief 3417: ERROR_ARANGO_INDEX_BITARRAY_CREATION_FAILURE_DUPLICATE_VALUES
///
/// bitarray index creation failure - one or more index attribute values are
/// duplicated.
///
/// Will be raised when an attempt to create an index with two or more index
/// attribute values repeated.
////////////////////////////////////////////////////////////////////////////////
#define TRI_ERROR_ARANGO_INDEX_BITARRAY_CREATION_FAILURE_DUPLICATE_VALUES (3417)
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
/// @} /// @}