@@ -460,18 +460,18 @@ static Query *transform_cypher_create(cypher_parsestate *cpstate, cypher_clause
460460
461461 if (node -> name ) {
462462 ereport (ERROR , (errmsg_internal ("nodes in CREATE cannot be a variable" )));
463- /* TODO: After props are supported
463+
464464 target -> variable_name = node -> name ;
465-
465+ target -> id_attr_num = pstate -> p_next_resno ;
466466 query -> targetList = lappend (query -> targetList ,
467467 makeTargetEntry (
468468 make_graphid_placeholder (cpstate ),
469469 pstate -> p_next_resno ++ ,
470470 make_id_alias (get_next_default_alias (cpstate )),
471471 false));
472- }
473- target->id_attr_num = list_length(query->targetList);
474-
472+
473+
474+ /*
475475 query->targetList = lappend(query->targetList,
476476 makeTargetEntry(
477477 make_int_placeholder(cpstate),
@@ -533,8 +533,10 @@ static Query *transform_cypher_create(cypher_parsestate *cpstate, cypher_clause
533533 } else {
534534 target -> prop_attr_num = InvalidAttrNumber ;
535535 }
536- if (edge -> dir != CYPHER_REL_DIR_RIGHT )
537- ereport (ERROR , (errmsg_internal ("edges CREATE are right only right now" )));
536+
537+ target -> dir = edge -> dir ;
538+ if (edge -> dir == CYPHER_REL_DIR_NONE )
539+ ereport (ERROR , (errmsg_internal ("edges in CREATE must have a direction" )));
538540
539541
540542 label_cache_data * lcd = search_label_name_graph_cache (edge -> label , cpstate -> graph_oid );
0 commit comments