added filter tree compaction#922
Conversation
There was a problem hiding this comment.
For each of the queries, add a comment specifying the compact expression, e.g. for this query I'm expecting
MATCH (n) WHERE n.val = n.val2 RETURN n
AS the entire AND been set to FALSE, and ORING false and an expression is simply the expression.
| char *rhs_variable; | ||
| AR_EXP_ToString(lhs, &lhs_variable); | ||
| AR_EXP_ToString(rhs, &rhs_variable); | ||
| ASSERT_STREQ(lhs_variable, rhs_variable); |
There was a problem hiding this comment.
This approach has a down side, as the expression 1+2+3 can be expressed in multiple ways,
do we want to distinguish between them?
| return build_tree_from_query(q); | ||
| } | ||
|
|
||
| void _compareExpressions(AR_ExpNode *lhs, AR_ExpNode *rhs) { |
There was a problem hiding this comment.
Rename from lhs and rhs to a and b in this context there's no notion of left and right.
|
|
||
| char *a_variable; | ||
| char *b_variable; | ||
| AR_EXP_ToString(a->pred.lhs, &a_variable); | ||
| AR_EXP_ToString(b->pred.lhs, &b_variable); | ||
| ASSERT_STREQ(a_variable, b_variable); | ||
|
|
||
| free(a_variable); | ||
| free(b_variable); | ||
|
|
||
| AR_EXP_ToString(a->pred.rhs, &a_variable); | ||
| AR_EXP_ToString(b->pred.rhs, &b_variable); | ||
| ASSERT_STREQ(a_variable, b_variable); | ||
|
|
||
| free(a_variable); | ||
| free(b_variable); | ||
| _compareExpressions(a->pred.lhs, b->pred.lhs); | ||
| _compareExpressions(a->pred.rhs, b->pred.rhs); |
| actual = _build_deep_non_compactable_or_true_tree(); | ||
| ASSERT_FALSE(FilterTree_Compact(actual)); |
There was a problem hiding this comment.
It's still important to test how actual is compacted.
| static bool _FilterTree_Compact_And(FT_FilterNode *node) { | ||
| // Try to compact left and right children. | ||
| bool is_lhs_const = FilterTree_Compact(node->cond.left); | ||
| bool ihs_rhs_const = FilterTree_Compact(node->cond.right); |
There was a problem hiding this comment.
Rename ihs_rhs_const to is_rhs_const
| } | ||
|
|
||
| // Compacts 'AND' condition node. | ||
| static bool _FilterTree_Compact_And(FT_FilterNode *node) { |
There was a problem hiding this comment.
I think it would be clearer if after determining both is_lhs_const and is_rhs_const
we would:
if(!is_lhs_const && !is_rhs_const) {
return false;
} elseif(is_lhs_const && is_rhs_const) {
// both...
...
} elseif(is_lhs_const) {
// left hand side,
...
} else {
// right hand side.
...
}
| } | ||
|
|
||
| // Compacts 'OR' condition node. | ||
| static bool _FilterTree_Compact_Or(FT_FilterNode *node) { |
There was a problem hiding this comment.
Same comment as for _FilterTree_Compact_And
|
|
||
| // Compacts an expression node. Return if this node can be used in compression. | ||
| static inline bool _FilterTree_Compact_Exp(FT_FilterNode *node) { | ||
| return _FT_FilterNode_constnat_expression(node->exp.exp); |
There was a problem hiding this comment.
There's no compaction applied here to the expression.
| static bool _FilterTree_Compact_Pred(FT_FilterNode *node) { | ||
| // Check both sides are constant expressions. | ||
| if(_FT_FilterNode_constnat_expression(node->pred.lhs) && | ||
| _FT_FilterNode_constnat_expression(node->pred.rhs)) { |
There was a problem hiding this comment.
Add a new function to arithmetic_expression, given an expression returns true/false if the exp` is constant.
| if(!root) return true; | ||
| switch(root->t) { | ||
| case FT_N_EXP: | ||
| return _FilterTree_Compact_Exp(root); |
There was a problem hiding this comment.
Please add tests to check:
- WHERE TRUE
- WHERE FALSE
ddcab6d to
75f0daf
Compare
75f0daf to
fa9478a
Compare
swilly22
left a comment
There was a problem hiding this comment.
Just a few more comments, we're getting there.
| inline bool SIValue_IsFalse(SIValue v) { | ||
| return !v.longval; | ||
| } | ||
|
|
||
| inline bool SIValue_IsTrue(SIValue v) { | ||
| return v.longval; | ||
| } |
There was a problem hiding this comment.
If think we need to assert on v's type. (T_BOOL).
| FT_FilterNode *_build_explicit_false_tree() { | ||
| const char *q = "MATCH (n) WHERE FALSE n"; | ||
| return build_tree_from_query(q); | ||
| } |
There was a problem hiding this comment.
Move upwards, right beneath _build_explicit_true_tree
| FilterTree_Free(expected); | ||
|
|
||
| // Non compactable 'true' tree. | ||
| actual = _build_deep_non_compactable_or_true_tree(); |
There was a problem hiding this comment.
How about each of these functions, e.g. _build_deep_non_compactable_or_true_tree will return both actual but also expected ?
it is a bit strange or out of context to see a query here...
FT_FilterNode *_build_deep_non_compactable_or_true_tree(FT_FilterNode **expected)
| // Both children are now contant expressions. We can evaluate and compact. | ||
| SIValue rhs_value = AR_EXP_Evaluate(rhs->exp.exp, NULL); | ||
| SIValue lhs_value = AR_EXP_Evaluate(lhs->exp.exp, NULL); | ||
| SIValue final_value = SI_BoolVal(SIValue_IsTrue(lhs_value) && SIValue_IsTrue(rhs_value)); |
There was a problem hiding this comment.
Add a comment: "Anding because we're reducing an AND node."
| } else { | ||
| // Cannot compact; | ||
| // Lhs is true. Current node should be replaced with rhs. | ||
| memcpy(node, rhs, sizeof(FT_FilterNode)); |
There was a problem hiding this comment.
Shouldn't this: memcpy(node, rhs, sizeof(FT_FilterNode)); be the implementation of _FilterTree_In_Place_Set_Exp ?
There was a problem hiding this comment.
No
the memcpy can copy a predicate or cond node data completely while _FilterTree_In_Place_Set_Exp actually transforms a cond or pred node into an expression.
| rm_free(rhs); | ||
| return false; | ||
| } | ||
| } else { |
There was a problem hiding this comment.
This else is identical to its counterpart, simply determine which node is constant and which isn't and run the logic,
constant = (is_lhs_const) ? lhs : rhs
var = (is_lhs_const) ? rhs : lhs
This comment probably apply to the OR reduction.
| * func - function name to lookup. */ | ||
| bool AR_EXP_ContainsFunc(const AR_ExpNode *root, const char *func); | ||
|
|
||
| /* Returns if an arithmetic expression node is a constant. */ |
153e05f to
2b0fa26
Compare
There was a problem hiding this comment.
Please rephrase
"Type mismatch, expecting boolean");
same for SIValue_IsTrue
* Support float inputs for modulo computations (#895) * Add references * Update mkdocs.yml * Update References.md * fixed ast mapping for path filter (#896) * fixed ast mapping for path filter * renamed tests. open a new redis graph client per tests Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added mutex per matrix (#898) * added mutex per matrix * fixed PR comments * updated license headers to 2020 (#902) * Preserve order of op's children array when introducing index scans (#912) * Fix memory leaks (#917) * Fix memory leaks * Use original logic for MarkWriter * added filter tree clone (#915) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Optimize cp (#906) * added optimize cp * fixed a bug. added test * add optimization_util files * fixed PR comments * fixed PR comments * added multiple branch cp optimization * fixed PR comment * added in place replacement at ExecutionPlan_RemoveOp * added test for cp optimization and semi apply * fixed PR comments * Added non existing entity runtime error (#919) * Added non existing entity runtime error * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * RediSearch query error reporting (#925) * added filter tree compaction (#922) * added filter tree compaction * fixed PR comments * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Handle both possible execution orders in concurrent rename test (#926) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Refferencing a RedisGraph javascript client library (#928) * Improve client libraries sections on both readme and clients.md Clients libraries are subject to repetitive edition, it seems better to have a concise formatting * refferencing my own contribution to clients libraries Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Rust client (#931) * Update README.md * Update clients.md * intoduced fpClone in OpBase (#930) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Apply deplete match stream (#913) * Deplete Apply op's match stream for every left-hand Record * Disallow ExpandInto ops on variables beneath Apply ops * Add tests * PR fixes * Argument op holds one Record * PR fixes * Improve logic for building OpArgument modifies arrays * standardize logic for building tmp ExecutionPlans * Remove sub-ExecutionPlan logic * Fix CondTraverseReset routine * Fix ExpandIntoReset * Fix variable-length QueryGraph pointer * Always reset match branch * Add explanatory comment * PR fixes * PR fixes * raxValues returns void pointer array Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * increased allowed parameters count to UNIT_MAX. fixed a bug in query_ctx (#933) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * introduce mapping between record entries and projected columns (#936) * added arr clone with cb (#937) * added arr clone with cb * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Leak fixes (#935) * Close Redis key handles * Fix memory leak in checking whether procedures are read-only * Improve explanatory comment Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * label matrix should be fetch right before eval (#938) * More sensible function signature for SIValue_Free (#941) * Resolve memory leaks on Path SIValues (#940) * Resolve memory leaks on Path SIValues * Update op_delete.c * Update op_cond_var_len_traverse.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * GraphBLAS 3.2.0 (#942) * GraphBLAS 3.2.0 * updated makefiles * Remove unnecessary GraphBLAS build flag Co-authored-by: Jeffrey Lovitz <jeffrey.lovitz@gmail.com> * Simplify OpAggregate logic, remove unnecessary struct members (#947) * Simplify OpAggregate logic, remove unnecessary struct members * Update op_aggregate.c * Update op_aggregate.c * Update op_aggregate.c * Update op_aggregate.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Add compile-time error for unsupported AST node types (#944) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * version bump 2.0.2 Co-authored-by: Jeffrey Lovitz <jeffrey.lovitz@gmail.com> Co-authored-by: Guy Korland <gkorland@gmail.com> Co-authored-by: DvirDukhan <dvir@redislabs.com> Co-authored-by: Sceat <11330271+Sceat@users.noreply.github.com>
* Support float inputs for modulo computations (#895) * Add references * Update mkdocs.yml * Update References.md * fixed ast mapping for path filter (#896) * fixed ast mapping for path filter * renamed tests. open a new redis graph client per tests Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added mutex per matrix (#898) * added mutex per matrix * fixed PR comments * updated license headers to 2020 (#902) * Preserve order of op's children array when introducing index scans (#912) * Fix memory leaks (#917) * Fix memory leaks * Use original logic for MarkWriter * added filter tree clone (#915) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Optimize cp (#906) * added optimize cp * fixed a bug. added test * add optimization_util files * fixed PR comments * fixed PR comments * added multiple branch cp optimization * fixed PR comment * added in place replacement at ExecutionPlan_RemoveOp * added test for cp optimization and semi apply * fixed PR comments * Added non existing entity runtime error (#919) * Added non existing entity runtime error * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * RediSearch query error reporting (#925) * added filter tree compaction (#922) * added filter tree compaction * fixed PR comments * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Handle both possible execution orders in concurrent rename test (#926) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Refferencing a RedisGraph javascript client library (#928) * Improve client libraries sections on both readme and clients.md Clients libraries are subject to repetitive edition, it seems better to have a concise formatting * refferencing my own contribution to clients libraries Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Rust client (#931) * Update README.md * Update clients.md * intoduced fpClone in OpBase (#930) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Apply deplete match stream (#913) * Deplete Apply op's match stream for every left-hand Record * Disallow ExpandInto ops on variables beneath Apply ops * Add tests * PR fixes * Argument op holds one Record * PR fixes * Improve logic for building OpArgument modifies arrays * standardize logic for building tmp ExecutionPlans * Remove sub-ExecutionPlan logic * Fix CondTraverseReset routine * Fix ExpandIntoReset * Fix variable-length QueryGraph pointer * Always reset match branch * Add explanatory comment * PR fixes * PR fixes * raxValues returns void pointer array Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * increased allowed parameters count to UNIT_MAX. fixed a bug in query_ctx (#933) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * introduce mapping between record entries and projected columns (#936) * added arr clone with cb (#937) * added arr clone with cb * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Leak fixes (#935) * Close Redis key handles * Fix memory leak in checking whether procedures are read-only * Improve explanatory comment Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * label matrix should be fetch right before eval (#938) * More sensible function signature for SIValue_Free (#941) * Resolve memory leaks on Path SIValues (#940) * Resolve memory leaks on Path SIValues * Update op_delete.c * Update op_cond_var_len_traverse.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * GraphBLAS 3.2.0 (#942) * GraphBLAS 3.2.0 * updated makefiles * Remove unnecessary GraphBLAS build flag Co-authored-by: Jeffrey Lovitz <jeffrey.lovitz@gmail.com> * Simplify OpAggregate logic, remove unnecessary struct members (#947) * Simplify OpAggregate logic, remove unnecessary struct members * Update op_aggregate.c * Update op_aggregate.c * Update op_aggregate.c * Update op_aggregate.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Add compile-time error for unsupported AST node types (#944) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * removed unused operations and types (#950) * version bump 2.0.3 Co-authored-by: Jeffrey Lovitz <jeffrey.lovitz@gmail.com> Co-authored-by: Guy Korland <gkorland@gmail.com> Co-authored-by: DvirDukhan <dvir@redislabs.com> Co-authored-by: Sceat <11330271+Sceat@users.noreply.github.com>
* Support float inputs for modulo computations (#895) * Add references * Update mkdocs.yml * Update References.md * fixed ast mapping for path filter (#896) * fixed ast mapping for path filter * renamed tests. open a new redis graph client per tests Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added mutex per matrix (#898) * added mutex per matrix * fixed PR comments * updated license headers to 2020 (#902) * Preserve order of op's children array when introducing index scans (#912) * Fix memory leaks (#917) * Fix memory leaks * Use original logic for MarkWriter * added filter tree clone (#915) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Optimize cp (#906) * added optimize cp * fixed a bug. added test * add optimization_util files * fixed PR comments * fixed PR comments * added multiple branch cp optimization * fixed PR comment * added in place replacement at ExecutionPlan_RemoveOp * added test for cp optimization and semi apply * fixed PR comments * Added non existing entity runtime error (#919) * Added non existing entity runtime error * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * RediSearch query error reporting (#925) * added filter tree compaction (#922) * added filter tree compaction * fixed PR comments * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Handle both possible execution orders in concurrent rename test (#926) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Refferencing a RedisGraph javascript client library (#928) * Improve client libraries sections on both readme and clients.md Clients libraries are subject to repetitive edition, it seems better to have a concise formatting * refferencing my own contribution to clients libraries Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Rust client (#931) * Update README.md * Update clients.md * intoduced fpClone in OpBase (#930) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Apply deplete match stream (#913) * Deplete Apply op's match stream for every left-hand Record * Disallow ExpandInto ops on variables beneath Apply ops * Add tests * PR fixes * Argument op holds one Record * PR fixes * Improve logic for building OpArgument modifies arrays * standardize logic for building tmp ExecutionPlans * Remove sub-ExecutionPlan logic * Fix CondTraverseReset routine * Fix ExpandIntoReset * Fix variable-length QueryGraph pointer * Always reset match branch * Add explanatory comment * PR fixes * PR fixes * raxValues returns void pointer array Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * increased allowed parameters count to UNIT_MAX. fixed a bug in query_ctx (#933) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * introduce mapping between record entries and projected columns (#936) * added arr clone with cb (#937) * added arr clone with cb * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Leak fixes (#935) * Close Redis key handles * Fix memory leak in checking whether procedures are read-only * Improve explanatory comment Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * label matrix should be fetch right before eval (#938) * More sensible function signature for SIValue_Free (#941) * Resolve memory leaks on Path SIValues (#940) * Resolve memory leaks on Path SIValues * Update op_delete.c * Update op_cond_var_len_traverse.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * GraphBLAS 3.2.0 (#942) * GraphBLAS 3.2.0 * updated makefiles * Remove unnecessary GraphBLAS build flag Co-authored-by: Jeffrey Lovitz <jeffrey.lovitz@gmail.com> * Simplify OpAggregate logic, remove unnecessary struct members (#947) * Simplify OpAggregate logic, remove unnecessary struct members * Update op_aggregate.c * Update op_aggregate.c * Update op_aggregate.c * Update op_aggregate.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Add compile-time error for unsupported AST node types (#944) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * removed unused operations and types (#950) * remove GraphBLAS cacheing from CI (#953) * version bump Co-authored-by: Jeffrey Lovitz <jeffrey.lovitz@gmail.com> Co-authored-by: Guy Korland <gkorland@gmail.com> Co-authored-by: DvirDukhan <dvir@redislabs.com> Co-authored-by: Sceat <11330271+Sceat@users.noreply.github.com>
* Support float inputs for modulo computations (#895) * Add references * Update mkdocs.yml * Update References.md * fixed ast mapping for path filter (#896) * fixed ast mapping for path filter * renamed tests. open a new redis graph client per tests Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added mutex per matrix (#898) * added mutex per matrix * fixed PR comments * updated license headers to 2020 (#902) * Preserve order of op's children array when introducing index scans (#912) * Fix memory leaks (#917) * Fix memory leaks * Use original logic for MarkWriter * added filter tree clone (#915) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Optimize cp (#906) * added optimize cp * fixed a bug. added test * add optimization_util files * fixed PR comments * fixed PR comments * added multiple branch cp optimization * fixed PR comment * added in place replacement at ExecutionPlan_RemoveOp * added test for cp optimization and semi apply * fixed PR comments * Added non existing entity runtime error (#919) * Added non existing entity runtime error * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * RediSearch query error reporting (#925) * added filter tree compaction (#922) * added filter tree compaction * fixed PR comments * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Handle both possible execution orders in concurrent rename test (#926) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Refferencing a RedisGraph javascript client library (#928) * Improve client libraries sections on both readme and clients.md Clients libraries are subject to repetitive edition, it seems better to have a concise formatting * refferencing my own contribution to clients libraries Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Rust client (#931) * Update README.md * Update clients.md * intoduced fpClone in OpBase (#930) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Apply deplete match stream (#913) * Deplete Apply op's match stream for every left-hand Record * Disallow ExpandInto ops on variables beneath Apply ops * Add tests * PR fixes * Argument op holds one Record * PR fixes * Improve logic for building OpArgument modifies arrays * standardize logic for building tmp ExecutionPlans * Remove sub-ExecutionPlan logic * Fix CondTraverseReset routine * Fix ExpandIntoReset * Fix variable-length QueryGraph pointer * Always reset match branch * Add explanatory comment * PR fixes * PR fixes * raxValues returns void pointer array Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * increased allowed parameters count to UNIT_MAX. fixed a bug in query_ctx (#933) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * introduce mapping between record entries and projected columns (#936) * added arr clone with cb (#937) * added arr clone with cb * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Leak fixes (#935) * Close Redis key handles * Fix memory leak in checking whether procedures are read-only * Improve explanatory comment Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * label matrix should be fetch right before eval (#938) * More sensible function signature for SIValue_Free (#941) * Resolve memory leaks on Path SIValues (#940) * Resolve memory leaks on Path SIValues * Update op_delete.c * Update op_cond_var_len_traverse.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * GraphBLAS 3.2.0 (#942) * GraphBLAS 3.2.0 * updated makefiles * Remove unnecessary GraphBLAS build flag Co-authored-by: Jeffrey Lovitz <jeffrey.lovitz@gmail.com> * Simplify OpAggregate logic, remove unnecessary struct members (#947) * Simplify OpAggregate logic, remove unnecessary struct members * Update op_aggregate.c * Update op_aggregate.c * Update op_aggregate.c * Update op_aggregate.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Add compile-time error for unsupported AST node types (#944) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * removed unused operations and types (#950) * remove GraphBLAS cacheing from CI (#953) * switch from OR AND semiring to ANY PAIR (#955) * version bump Co-authored-by: Jeffrey Lovitz <jeffrey.lovitz@gmail.com> Co-authored-by: Guy Korland <gkorland@gmail.com> Co-authored-by: DvirDukhan <dvir@redislabs.com> Co-authored-by: Sceat <11330271+Sceat@users.noreply.github.com>
* Support float inputs for modulo computations (#895) * Add references * Update mkdocs.yml * Update References.md * fixed ast mapping for path filter (#896) * fixed ast mapping for path filter * renamed tests. open a new redis graph client per tests Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added mutex per matrix (#898) * added mutex per matrix * fixed PR comments * updated license headers to 2020 (#902) * Preserve order of op's children array when introducing index scans (#912) * Fix memory leaks (#917) * Fix memory leaks * Use original logic for MarkWriter * added filter tree clone (#915) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Optimize cp (#906) * added optimize cp * fixed a bug. added test * add optimization_util files * fixed PR comments * fixed PR comments * added multiple branch cp optimization * fixed PR comment * added in place replacement at ExecutionPlan_RemoveOp * added test for cp optimization and semi apply * fixed PR comments * Added non existing entity runtime error (#919) * Added non existing entity runtime error * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * RediSearch query error reporting (#925) * added filter tree compaction (#922) * added filter tree compaction * fixed PR comments * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Handle both possible execution orders in concurrent rename test (#926) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Refferencing a RedisGraph javascript client library (#928) * Improve client libraries sections on both readme and clients.md Clients libraries are subject to repetitive edition, it seems better to have a concise formatting * refferencing my own contribution to clients libraries Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Rust client (#931) * Update README.md * Update clients.md * intoduced fpClone in OpBase (#930) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Apply deplete match stream (#913) * Deplete Apply op's match stream for every left-hand Record * Disallow ExpandInto ops on variables beneath Apply ops * Add tests * PR fixes * Argument op holds one Record * PR fixes * Improve logic for building OpArgument modifies arrays * standardize logic for building tmp ExecutionPlans * Remove sub-ExecutionPlan logic * Fix CondTraverseReset routine * Fix ExpandIntoReset * Fix variable-length QueryGraph pointer * Always reset match branch * Add explanatory comment * PR fixes * PR fixes * raxValues returns void pointer array Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * increased allowed parameters count to UNIT_MAX. fixed a bug in query_ctx (#933) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * introduce mapping between record entries and projected columns (#936) * added arr clone with cb (#937) * added arr clone with cb * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Leak fixes (#935) * Close Redis key handles * Fix memory leak in checking whether procedures are read-only * Improve explanatory comment Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * label matrix should be fetch right before eval (#938) * More sensible function signature for SIValue_Free (#941) * Resolve memory leaks on Path SIValues (#940) * Resolve memory leaks on Path SIValues * Update op_delete.c * Update op_cond_var_len_traverse.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * GraphBLAS 3.2.0 (#942) * GraphBLAS 3.2.0 * updated makefiles * Remove unnecessary GraphBLAS build flag Co-authored-by: Jeffrey Lovitz <jeffrey.lovitz@gmail.com> * Simplify OpAggregate logic, remove unnecessary struct members (#947) * Simplify OpAggregate logic, remove unnecessary struct members * Update op_aggregate.c * Update op_aggregate.c * Update op_aggregate.c * Update op_aggregate.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Add compile-time error for unsupported AST node types (#944) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * version bump 2.0.2 Co-authored-by: Jeffrey Lovitz <jeffrey.lovitz@gmail.com> Co-authored-by: Guy Korland <gkorland@gmail.com> Co-authored-by: DvirDukhan <dvir@redislabs.com> Co-authored-by: Sceat <11330271+Sceat@users.noreply.github.com>
* Support float inputs for modulo computations (#895) * Add references * Update mkdocs.yml * Update References.md * fixed ast mapping for path filter (#896) * fixed ast mapping for path filter * renamed tests. open a new redis graph client per tests Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added mutex per matrix (#898) * added mutex per matrix * fixed PR comments * updated license headers to 2020 (#902) * Preserve order of op's children array when introducing index scans (#912) * Fix memory leaks (#917) * Fix memory leaks * Use original logic for MarkWriter * added filter tree clone (#915) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Optimize cp (#906) * added optimize cp * fixed a bug. added test * add optimization_util files * fixed PR comments * fixed PR comments * added multiple branch cp optimization * fixed PR comment * added in place replacement at ExecutionPlan_RemoveOp * added test for cp optimization and semi apply * fixed PR comments * Added non existing entity runtime error (#919) * Added non existing entity runtime error * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * RediSearch query error reporting (#925) * added filter tree compaction (#922) * added filter tree compaction * fixed PR comments * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Handle both possible execution orders in concurrent rename test (#926) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Refferencing a RedisGraph javascript client library (#928) * Improve client libraries sections on both readme and clients.md Clients libraries are subject to repetitive edition, it seems better to have a concise formatting * refferencing my own contribution to clients libraries Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Rust client (#931) * Update README.md * Update clients.md * intoduced fpClone in OpBase (#930) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Apply deplete match stream (#913) * Deplete Apply op's match stream for every left-hand Record * Disallow ExpandInto ops on variables beneath Apply ops * Add tests * PR fixes * Argument op holds one Record * PR fixes * Improve logic for building OpArgument modifies arrays * standardize logic for building tmp ExecutionPlans * Remove sub-ExecutionPlan logic * Fix CondTraverseReset routine * Fix ExpandIntoReset * Fix variable-length QueryGraph pointer * Always reset match branch * Add explanatory comment * PR fixes * PR fixes * raxValues returns void pointer array Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * increased allowed parameters count to UNIT_MAX. fixed a bug in query_ctx (#933) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * introduce mapping between record entries and projected columns (#936) * added arr clone with cb (#937) * added arr clone with cb * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Leak fixes (#935) * Close Redis key handles * Fix memory leak in checking whether procedures are read-only * Improve explanatory comment Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * label matrix should be fetch right before eval (#938) * More sensible function signature for SIValue_Free (#941) * Resolve memory leaks on Path SIValues (#940) * Resolve memory leaks on Path SIValues * Update op_delete.c * Update op_cond_var_len_traverse.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * GraphBLAS 3.2.0 (#942) * GraphBLAS 3.2.0 * updated makefiles * Remove unnecessary GraphBLAS build flag Co-authored-by: Jeffrey Lovitz <jeffrey.lovitz@gmail.com> * Simplify OpAggregate logic, remove unnecessary struct members (#947) * Simplify OpAggregate logic, remove unnecessary struct members * Update op_aggregate.c * Update op_aggregate.c * Update op_aggregate.c * Update op_aggregate.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Add compile-time error for unsupported AST node types (#944) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * removed unused operations and types (#950) * version bump 2.0.3 Co-authored-by: Jeffrey Lovitz <jeffrey.lovitz@gmail.com> Co-authored-by: Guy Korland <gkorland@gmail.com> Co-authored-by: DvirDukhan <dvir@redislabs.com> Co-authored-by: Sceat <11330271+Sceat@users.noreply.github.com>
* Support float inputs for modulo computations (#895) * Add references * Update mkdocs.yml * Update References.md * fixed ast mapping for path filter (#896) * fixed ast mapping for path filter * renamed tests. open a new redis graph client per tests Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added mutex per matrix (#898) * added mutex per matrix * fixed PR comments * updated license headers to 2020 (#902) * Preserve order of op's children array when introducing index scans (#912) * Fix memory leaks (#917) * Fix memory leaks * Use original logic for MarkWriter * added filter tree clone (#915) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Optimize cp (#906) * added optimize cp * fixed a bug. added test * add optimization_util files * fixed PR comments * fixed PR comments * added multiple branch cp optimization * fixed PR comment * added in place replacement at ExecutionPlan_RemoveOp * added test for cp optimization and semi apply * fixed PR comments * Added non existing entity runtime error (#919) * Added non existing entity runtime error * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * RediSearch query error reporting (#925) * added filter tree compaction (#922) * added filter tree compaction * fixed PR comments * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Handle both possible execution orders in concurrent rename test (#926) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Refferencing a RedisGraph javascript client library (#928) * Improve client libraries sections on both readme and clients.md Clients libraries are subject to repetitive edition, it seems better to have a concise formatting * refferencing my own contribution to clients libraries Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Rust client (#931) * Update README.md * Update clients.md * intoduced fpClone in OpBase (#930) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Apply deplete match stream (#913) * Deplete Apply op's match stream for every left-hand Record * Disallow ExpandInto ops on variables beneath Apply ops * Add tests * PR fixes * Argument op holds one Record * PR fixes * Improve logic for building OpArgument modifies arrays * standardize logic for building tmp ExecutionPlans * Remove sub-ExecutionPlan logic * Fix CondTraverseReset routine * Fix ExpandIntoReset * Fix variable-length QueryGraph pointer * Always reset match branch * Add explanatory comment * PR fixes * PR fixes * raxValues returns void pointer array Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * increased allowed parameters count to UNIT_MAX. fixed a bug in query_ctx (#933) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * introduce mapping between record entries and projected columns (#936) * added arr clone with cb (#937) * added arr clone with cb * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Leak fixes (#935) * Close Redis key handles * Fix memory leak in checking whether procedures are read-only * Improve explanatory comment Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * label matrix should be fetch right before eval (#938) * More sensible function signature for SIValue_Free (#941) * Resolve memory leaks on Path SIValues (#940) * Resolve memory leaks on Path SIValues * Update op_delete.c * Update op_cond_var_len_traverse.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * GraphBLAS 3.2.0 (#942) * GraphBLAS 3.2.0 * updated makefiles * Remove unnecessary GraphBLAS build flag Co-authored-by: Jeffrey Lovitz <jeffrey.lovitz@gmail.com> * Simplify OpAggregate logic, remove unnecessary struct members (#947) * Simplify OpAggregate logic, remove unnecessary struct members * Update op_aggregate.c * Update op_aggregate.c * Update op_aggregate.c * Update op_aggregate.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Add compile-time error for unsupported AST node types (#944) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * removed unused operations and types (#950) * remove GraphBLAS cacheing from CI (#953) * version bump Co-authored-by: Jeffrey Lovitz <jeffrey.lovitz@gmail.com> Co-authored-by: Guy Korland <gkorland@gmail.com> Co-authored-by: DvirDukhan <dvir@redislabs.com> Co-authored-by: Sceat <11330271+Sceat@users.noreply.github.com>
* Support float inputs for modulo computations (#895) * Add references * Update mkdocs.yml * Update References.md * fixed ast mapping for path filter (#896) * fixed ast mapping for path filter * renamed tests. open a new redis graph client per tests Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added mutex per matrix (#898) * added mutex per matrix * fixed PR comments * updated license headers to 2020 (#902) * Preserve order of op's children array when introducing index scans (#912) * Fix memory leaks (#917) * Fix memory leaks * Use original logic for MarkWriter * added filter tree clone (#915) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Optimize cp (#906) * added optimize cp * fixed a bug. added test * add optimization_util files * fixed PR comments * fixed PR comments * added multiple branch cp optimization * fixed PR comment * added in place replacement at ExecutionPlan_RemoveOp * added test for cp optimization and semi apply * fixed PR comments * Added non existing entity runtime error (#919) * Added non existing entity runtime error * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * RediSearch query error reporting (#925) * added filter tree compaction (#922) * added filter tree compaction * fixed PR comments * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Handle both possible execution orders in concurrent rename test (#926) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Refferencing a RedisGraph javascript client library (#928) * Improve client libraries sections on both readme and clients.md Clients libraries are subject to repetitive edition, it seems better to have a concise formatting * refferencing my own contribution to clients libraries Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Rust client (#931) * Update README.md * Update clients.md * intoduced fpClone in OpBase (#930) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Apply deplete match stream (#913) * Deplete Apply op's match stream for every left-hand Record * Disallow ExpandInto ops on variables beneath Apply ops * Add tests * PR fixes * Argument op holds one Record * PR fixes * Improve logic for building OpArgument modifies arrays * standardize logic for building tmp ExecutionPlans * Remove sub-ExecutionPlan logic * Fix CondTraverseReset routine * Fix ExpandIntoReset * Fix variable-length QueryGraph pointer * Always reset match branch * Add explanatory comment * PR fixes * PR fixes * raxValues returns void pointer array Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * increased allowed parameters count to UNIT_MAX. fixed a bug in query_ctx (#933) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * introduce mapping between record entries and projected columns (#936) * added arr clone with cb (#937) * added arr clone with cb * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Leak fixes (#935) * Close Redis key handles * Fix memory leak in checking whether procedures are read-only * Improve explanatory comment Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * label matrix should be fetch right before eval (#938) * More sensible function signature for SIValue_Free (#941) * Resolve memory leaks on Path SIValues (#940) * Resolve memory leaks on Path SIValues * Update op_delete.c * Update op_cond_var_len_traverse.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * GraphBLAS 3.2.0 (#942) * GraphBLAS 3.2.0 * updated makefiles * Remove unnecessary GraphBLAS build flag Co-authored-by: Jeffrey Lovitz <jeffrey.lovitz@gmail.com> * Simplify OpAggregate logic, remove unnecessary struct members (#947) * Simplify OpAggregate logic, remove unnecessary struct members * Update op_aggregate.c * Update op_aggregate.c * Update op_aggregate.c * Update op_aggregate.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Add compile-time error for unsupported AST node types (#944) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * removed unused operations and types (#950) * remove GraphBLAS cacheing from CI (#953) * switch from OR AND semiring to ANY PAIR (#955) * version bump Co-authored-by: Jeffrey Lovitz <jeffrey.lovitz@gmail.com> Co-authored-by: Guy Korland <gkorland@gmail.com> Co-authored-by: DvirDukhan <dvir@redislabs.com> Co-authored-by: Sceat <11330271+Sceat@users.noreply.github.com>
* Support float inputs for modulo computations (#895) * Add references * Update mkdocs.yml * Update References.md * fixed ast mapping for path filter (#896) * fixed ast mapping for path filter * renamed tests. open a new redis graph client per tests Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added mutex per matrix (#898) * added mutex per matrix * fixed PR comments * updated license headers to 2020 (#902) * Preserve order of op's children array when introducing index scans (#912) * Fix memory leaks (#917) * Fix memory leaks * Use original logic for MarkWriter * added filter tree clone (#915) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Optimize cp (#906) * added optimize cp * fixed a bug. added test * add optimization_util files * fixed PR comments * fixed PR comments * added multiple branch cp optimization * fixed PR comment * added in place replacement at ExecutionPlan_RemoveOp * added test for cp optimization and semi apply * fixed PR comments * Added non existing entity runtime error (#919) * Added non existing entity runtime error * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * RediSearch query error reporting (#925) * added filter tree compaction (#922) * added filter tree compaction * fixed PR comments * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Handle both possible execution orders in concurrent rename test (#926) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Refferencing a RedisGraph javascript client library (#928) * Improve client libraries sections on both readme and clients.md Clients libraries are subject to repetitive edition, it seems better to have a concise formatting * refferencing my own contribution to clients libraries Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Rust client (#931) * Update README.md * Update clients.md * intoduced fpClone in OpBase (#930) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Apply deplete match stream (#913) * Deplete Apply op's match stream for every left-hand Record * Disallow ExpandInto ops on variables beneath Apply ops * Add tests * PR fixes * Argument op holds one Record * PR fixes * Improve logic for building OpArgument modifies arrays * standardize logic for building tmp ExecutionPlans * Remove sub-ExecutionPlan logic * Fix CondTraverseReset routine * Fix ExpandIntoReset * Fix variable-length QueryGraph pointer * Always reset match branch * Add explanatory comment * PR fixes * PR fixes * raxValues returns void pointer array Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * increased allowed parameters count to UNIT_MAX. fixed a bug in query_ctx (#933) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * introduce mapping between record entries and projected columns (#936) * added arr clone with cb (#937) * added arr clone with cb * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Leak fixes (#935) * Close Redis key handles * Fix memory leak in checking whether procedures are read-only * Improve explanatory comment Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * label matrix should be fetch right before eval (#938) * More sensible function signature for SIValue_Free (#941) * Resolve memory leaks on Path SIValues (#940) * Resolve memory leaks on Path SIValues * Update op_delete.c * Update op_cond_var_len_traverse.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * GraphBLAS 3.2.0 (#942) * GraphBLAS 3.2.0 * updated makefiles * Remove unnecessary GraphBLAS build flag Co-authored-by: Jeffrey Lovitz <jeffrey.lovitz@gmail.com> * Simplify OpAggregate logic, remove unnecessary struct members (#947) * Simplify OpAggregate logic, remove unnecessary struct members * Update op_aggregate.c * Update op_aggregate.c * Update op_aggregate.c * Update op_aggregate.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Add compile-time error for unsupported AST node types (#944) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * version bump 2.0.2 Co-authored-by: Jeffrey Lovitz <jeffrey.lovitz@gmail.com> Co-authored-by: Guy Korland <gkorland@gmail.com> Co-authored-by: DvirDukhan <dvir@redislabs.com> Co-authored-by: Sceat <11330271+Sceat@users.noreply.github.com>
* Support float inputs for modulo computations (#895) * Add references * Update mkdocs.yml * Update References.md * fixed ast mapping for path filter (#896) * fixed ast mapping for path filter * renamed tests. open a new redis graph client per tests Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added mutex per matrix (#898) * added mutex per matrix * fixed PR comments * updated license headers to 2020 (#902) * Preserve order of op's children array when introducing index scans (#912) * Fix memory leaks (#917) * Fix memory leaks * Use original logic for MarkWriter * added filter tree clone (#915) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Optimize cp (#906) * added optimize cp * fixed a bug. added test * add optimization_util files * fixed PR comments * fixed PR comments * added multiple branch cp optimization * fixed PR comment * added in place replacement at ExecutionPlan_RemoveOp * added test for cp optimization and semi apply * fixed PR comments * Added non existing entity runtime error (#919) * Added non existing entity runtime error * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * RediSearch query error reporting (#925) * added filter tree compaction (#922) * added filter tree compaction * fixed PR comments * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Handle both possible execution orders in concurrent rename test (#926) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Refferencing a RedisGraph javascript client library (#928) * Improve client libraries sections on both readme and clients.md Clients libraries are subject to repetitive edition, it seems better to have a concise formatting * refferencing my own contribution to clients libraries Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Rust client (#931) * Update README.md * Update clients.md * intoduced fpClone in OpBase (#930) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Apply deplete match stream (#913) * Deplete Apply op's match stream for every left-hand Record * Disallow ExpandInto ops on variables beneath Apply ops * Add tests * PR fixes * Argument op holds one Record * PR fixes * Improve logic for building OpArgument modifies arrays * standardize logic for building tmp ExecutionPlans * Remove sub-ExecutionPlan logic * Fix CondTraverseReset routine * Fix ExpandIntoReset * Fix variable-length QueryGraph pointer * Always reset match branch * Add explanatory comment * PR fixes * PR fixes * raxValues returns void pointer array Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * increased allowed parameters count to UNIT_MAX. fixed a bug in query_ctx (#933) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * introduce mapping between record entries and projected columns (#936) * added arr clone with cb (#937) * added arr clone with cb * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Leak fixes (#935) * Close Redis key handles * Fix memory leak in checking whether procedures are read-only * Improve explanatory comment Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * label matrix should be fetch right before eval (#938) * More sensible function signature for SIValue_Free (#941) * Resolve memory leaks on Path SIValues (#940) * Resolve memory leaks on Path SIValues * Update op_delete.c * Update op_cond_var_len_traverse.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * GraphBLAS 3.2.0 (#942) * GraphBLAS 3.2.0 * updated makefiles * Remove unnecessary GraphBLAS build flag Co-authored-by: Jeffrey Lovitz <jeffrey.lovitz@gmail.com> * Simplify OpAggregate logic, remove unnecessary struct members (#947) * Simplify OpAggregate logic, remove unnecessary struct members * Update op_aggregate.c * Update op_aggregate.c * Update op_aggregate.c * Update op_aggregate.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Add compile-time error for unsupported AST node types (#944) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * removed unused operations and types (#950) * version bump 2.0.3 Co-authored-by: Jeffrey Lovitz <jeffrey.lovitz@gmail.com> Co-authored-by: Guy Korland <gkorland@gmail.com> Co-authored-by: DvirDukhan <dvir@redislabs.com> Co-authored-by: Sceat <11330271+Sceat@users.noreply.github.com>
* Support float inputs for modulo computations (#895) * Add references * Update mkdocs.yml * Update References.md * fixed ast mapping for path filter (#896) * fixed ast mapping for path filter * renamed tests. open a new redis graph client per tests Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added mutex per matrix (#898) * added mutex per matrix * fixed PR comments * updated license headers to 2020 (#902) * Preserve order of op's children array when introducing index scans (#912) * Fix memory leaks (#917) * Fix memory leaks * Use original logic for MarkWriter * added filter tree clone (#915) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Optimize cp (#906) * added optimize cp * fixed a bug. added test * add optimization_util files * fixed PR comments * fixed PR comments * added multiple branch cp optimization * fixed PR comment * added in place replacement at ExecutionPlan_RemoveOp * added test for cp optimization and semi apply * fixed PR comments * Added non existing entity runtime error (#919) * Added non existing entity runtime error * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * RediSearch query error reporting (#925) * added filter tree compaction (#922) * added filter tree compaction * fixed PR comments * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Handle both possible execution orders in concurrent rename test (#926) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Refferencing a RedisGraph javascript client library (#928) * Improve client libraries sections on both readme and clients.md Clients libraries are subject to repetitive edition, it seems better to have a concise formatting * refferencing my own contribution to clients libraries Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Rust client (#931) * Update README.md * Update clients.md * intoduced fpClone in OpBase (#930) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Apply deplete match stream (#913) * Deplete Apply op's match stream for every left-hand Record * Disallow ExpandInto ops on variables beneath Apply ops * Add tests * PR fixes * Argument op holds one Record * PR fixes * Improve logic for building OpArgument modifies arrays * standardize logic for building tmp ExecutionPlans * Remove sub-ExecutionPlan logic * Fix CondTraverseReset routine * Fix ExpandIntoReset * Fix variable-length QueryGraph pointer * Always reset match branch * Add explanatory comment * PR fixes * PR fixes * raxValues returns void pointer array Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * increased allowed parameters count to UNIT_MAX. fixed a bug in query_ctx (#933) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * introduce mapping between record entries and projected columns (#936) * added arr clone with cb (#937) * added arr clone with cb * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Leak fixes (#935) * Close Redis key handles * Fix memory leak in checking whether procedures are read-only * Improve explanatory comment Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * label matrix should be fetch right before eval (#938) * More sensible function signature for SIValue_Free (#941) * Resolve memory leaks on Path SIValues (#940) * Resolve memory leaks on Path SIValues * Update op_delete.c * Update op_cond_var_len_traverse.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * GraphBLAS 3.2.0 (#942) * GraphBLAS 3.2.0 * updated makefiles * Remove unnecessary GraphBLAS build flag Co-authored-by: Jeffrey Lovitz <jeffrey.lovitz@gmail.com> * Simplify OpAggregate logic, remove unnecessary struct members (#947) * Simplify OpAggregate logic, remove unnecessary struct members * Update op_aggregate.c * Update op_aggregate.c * Update op_aggregate.c * Update op_aggregate.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Add compile-time error for unsupported AST node types (#944) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * removed unused operations and types (#950) * remove GraphBLAS cacheing from CI (#953) * version bump Co-authored-by: Jeffrey Lovitz <jeffrey.lovitz@gmail.com> Co-authored-by: Guy Korland <gkorland@gmail.com> Co-authored-by: DvirDukhan <dvir@redislabs.com> Co-authored-by: Sceat <11330271+Sceat@users.noreply.github.com>
* Support float inputs for modulo computations (#895) * Add references * Update mkdocs.yml * Update References.md * fixed ast mapping for path filter (#896) * fixed ast mapping for path filter * renamed tests. open a new redis graph client per tests Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added mutex per matrix (#898) * added mutex per matrix * fixed PR comments * updated license headers to 2020 (#902) * Preserve order of op's children array when introducing index scans (#912) * Fix memory leaks (#917) * Fix memory leaks * Use original logic for MarkWriter * added filter tree clone (#915) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Optimize cp (#906) * added optimize cp * fixed a bug. added test * add optimization_util files * fixed PR comments * fixed PR comments * added multiple branch cp optimization * fixed PR comment * added in place replacement at ExecutionPlan_RemoveOp * added test for cp optimization and semi apply * fixed PR comments * Added non existing entity runtime error (#919) * Added non existing entity runtime error * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * RediSearch query error reporting (#925) * added filter tree compaction (#922) * added filter tree compaction * fixed PR comments * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Handle both possible execution orders in concurrent rename test (#926) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Refferencing a RedisGraph javascript client library (#928) * Improve client libraries sections on both readme and clients.md Clients libraries are subject to repetitive edition, it seems better to have a concise formatting * refferencing my own contribution to clients libraries Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Rust client (#931) * Update README.md * Update clients.md * intoduced fpClone in OpBase (#930) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Apply deplete match stream (#913) * Deplete Apply op's match stream for every left-hand Record * Disallow ExpandInto ops on variables beneath Apply ops * Add tests * PR fixes * Argument op holds one Record * PR fixes * Improve logic for building OpArgument modifies arrays * standardize logic for building tmp ExecutionPlans * Remove sub-ExecutionPlan logic * Fix CondTraverseReset routine * Fix ExpandIntoReset * Fix variable-length QueryGraph pointer * Always reset match branch * Add explanatory comment * PR fixes * PR fixes * raxValues returns void pointer array Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * increased allowed parameters count to UNIT_MAX. fixed a bug in query_ctx (#933) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * introduce mapping between record entries and projected columns (#936) * added arr clone with cb (#937) * added arr clone with cb * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Leak fixes (#935) * Close Redis key handles * Fix memory leak in checking whether procedures are read-only * Improve explanatory comment Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * label matrix should be fetch right before eval (#938) * More sensible function signature for SIValue_Free (#941) * Resolve memory leaks on Path SIValues (#940) * Resolve memory leaks on Path SIValues * Update op_delete.c * Update op_cond_var_len_traverse.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * GraphBLAS 3.2.0 (#942) * GraphBLAS 3.2.0 * updated makefiles * Remove unnecessary GraphBLAS build flag Co-authored-by: Jeffrey Lovitz <jeffrey.lovitz@gmail.com> * Simplify OpAggregate logic, remove unnecessary struct members (#947) * Simplify OpAggregate logic, remove unnecessary struct members * Update op_aggregate.c * Update op_aggregate.c * Update op_aggregate.c * Update op_aggregate.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Add compile-time error for unsupported AST node types (#944) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * removed unused operations and types (#950) * remove GraphBLAS cacheing from CI (#953) * switch from OR AND semiring to ANY PAIR (#955) * version bump Co-authored-by: Jeffrey Lovitz <jeffrey.lovitz@gmail.com> Co-authored-by: Guy Korland <gkorland@gmail.com> Co-authored-by: DvirDukhan <dvir@redislabs.com> Co-authored-by: Sceat <11330271+Sceat@users.noreply.github.com>
* Support float inputs for modulo computations (#895) * Add references * Update mkdocs.yml * Update References.md * fixed ast mapping for path filter (#896) * fixed ast mapping for path filter * renamed tests. open a new redis graph client per tests Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added mutex per matrix (#898) * added mutex per matrix * fixed PR comments * updated license headers to 2020 (#902) * Preserve order of op's children array when introducing index scans (#912) * Fix memory leaks (#917) * Fix memory leaks * Use original logic for MarkWriter * added filter tree clone (#915) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Optimize cp (#906) * added optimize cp * fixed a bug. added test * add optimization_util files * fixed PR comments * fixed PR comments * added multiple branch cp optimization * fixed PR comment * added in place replacement at ExecutionPlan_RemoveOp * added test for cp optimization and semi apply * fixed PR comments * Added non existing entity runtime error (#919) * Added non existing entity runtime error * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * RediSearch query error reporting (#925) * added filter tree compaction (#922) * added filter tree compaction * fixed PR comments * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Handle both possible execution orders in concurrent rename test (#926) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Refferencing a RedisGraph javascript client library (#928) * Improve client libraries sections on both readme and clients.md Clients libraries are subject to repetitive edition, it seems better to have a concise formatting * refferencing my own contribution to clients libraries Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Rust client (#931) * Update README.md * Update clients.md * intoduced fpClone in OpBase (#930) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Apply deplete match stream (#913) * Deplete Apply op's match stream for every left-hand Record * Disallow ExpandInto ops on variables beneath Apply ops * Add tests * PR fixes * Argument op holds one Record * PR fixes * Improve logic for building OpArgument modifies arrays * standardize logic for building tmp ExecutionPlans * Remove sub-ExecutionPlan logic * Fix CondTraverseReset routine * Fix ExpandIntoReset * Fix variable-length QueryGraph pointer * Always reset match branch * Add explanatory comment * PR fixes * PR fixes * raxValues returns void pointer array Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * increased allowed parameters count to UNIT_MAX. fixed a bug in query_ctx (#933) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * introduce mapping between record entries and projected columns (#936) * added arr clone with cb (#937) * added arr clone with cb * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Leak fixes (#935) * Close Redis key handles * Fix memory leak in checking whether procedures are read-only * Improve explanatory comment Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * label matrix should be fetch right before eval (#938) * More sensible function signature for SIValue_Free (#941) * Resolve memory leaks on Path SIValues (#940) * Resolve memory leaks on Path SIValues * Update op_delete.c * Update op_cond_var_len_traverse.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * GraphBLAS 3.2.0 (#942) * GraphBLAS 3.2.0 * updated makefiles * Remove unnecessary GraphBLAS build flag Co-authored-by: Jeffrey Lovitz <jeffrey.lovitz@gmail.com> * Simplify OpAggregate logic, remove unnecessary struct members (#947) * Simplify OpAggregate logic, remove unnecessary struct members * Update op_aggregate.c * Update op_aggregate.c * Update op_aggregate.c * Update op_aggregate.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Add compile-time error for unsupported AST node types (#944) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * removed unused operations and types (#950) * remove GraphBLAS cacheing from CI (#953) * switch from OR AND semiring to ANY PAIR (#955) * using the structured semiring we can combine relation and relation ma… (#964) * using the structured semiring we can combine relation and relation mapping into a single matrix * address PR comments * Update graph.c * decoupled result set from execution plan (#929) * decoupled result set from execution plan * after rebase merge * fixed PR comments * Restored resulte set * fixed PR comments * fixed PR comments * fixed PR comments * Update ast.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Always free emptied space on AlgebraicExpression replacement (#986) * Fix leak on full-text index queries with syntax error (#985) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Fix leak on index scan IN optimization (#984) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Minor updates to bulk deletion (#994) * Remove redundant clone from bulk insertion of string props (#993) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Fix memory leaks on RDB-loaded strings (#991) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Add flow test to validate (#967) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Update outdated logic for aggregate groups (#968) * Update outdated logic for aggregate groups * Update group.c * Update op_aggregate.c * Update op_aggregate.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added all_node_scan clone (#960) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added op argument clone (#959) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added cartesian product clone (#963) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added expand into clone (#973) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added project op clone (#980) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added skip op clone (#983) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added op unwind clone (#988) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added limit op clone (#976) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added proc call clone (#979) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added filter op clone (#974) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added delete op clone (#970) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added distinct op clone (#972) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * add hash join op clone (#989) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added semi apply clone (#982) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added results op clone (#981) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added join op clone (#975) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added apply multiplexer clone (#961) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added cond var len traverse clone (#966) * added cond var len traverse clone * added conditional traverse clone * fixed PR comments * Reintroduce logic for freeing memory on run-time errors (#992) * Reintroduce logic for freeing memory on run-time errors * Remove VolatileRecord logic for freeing after run-time errors * Fix memory leaks on run-time errors in OpProject Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Free internal edge arrays on relationship matrix deletion (#997) * Free internal edge arrays on relationship matrix deletion * Update graph.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Add debug function to print query (#995) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added clone for create, merge, merge_create, update (#969) * added clone for create, merge, merge_create, update * Update ast_shared.c * Update ast_shared.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Agg func fixes (#946) * Fix memory leaks in Collect function * Fix leak in aggregate func's SIValue result * Fix leak in children of aggregate function call * Simplify variable-length path free logic * Improve ownership logic in Collect, add explanatory comments * PR fix Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added label scan clone (#978) * added label scan clone * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added id seek clone (#977) * added id seek clone * added better comment on the range clone * Update op_node_by_id_seek.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added op aggreage clone (#958) * added op aggreage clone * fixed PR comments * Update op_aggregate.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Add install instructions for OpenMP (#1006) * Add install instructions for OpenMP * Update README * added op sort clone (#987) * added op sort clone * fixed PR comments * removed free_list logic * Update execution_plan.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * re-enable graph.profile (#1004) * Re-enable GraphBLAS circle-ci cache (#1007) * Fix leak on projected heap-allocated graph entities (#996) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * GRAPH.SLOWLOG (#897) * slowlog WIP * slowlog per graph * updated docs * Add longer-running query to slowlog flow test * avoid race, log only GRAPH.QUERY Co-authored-by: Jeffrey Lovitz <jeffrey.lovitz@gmail.com> * Use NOP label scan if range iterator construction fails (#1001) * Use NOP label scan if range iterator construction fails * deplete iterator for invalid range * dont access op consume function directly Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * removed redisearch optimization (#1010) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Note ReplicaOf memory constraint in Rampfile (#1011) * Automate leak check (#1002) * Add make memcheck rule * Add Circle memcheck job * Don't use Docker image for automated leak checking * Enable log names by migrating flow test Env initialization * Disable invalid TCK scenarios of issue #945 * Run memory test without optimizations after packaging artifacts * Add suppressions for leaks in flush-vs-shutdown race Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Write longer-running query for slowlog test (#1012) * OPType bitmask switched to contiguous enum (#1013) * OPType bitmask switched to contiguous enum * PR fixes * Clean up op tree modification code * Add static array of all scan ops * Remove unnecessary conditional * Remove static type array for unoptimized scans * Validate arity per-command rather than globally (#1023) * Ar exp param (#990) * wip * wip * after rebase * updated libcypher parser * added AR_EXP_PARAM * fixed PR comments * fixed PR comments * fixed PR comments * fixed PR comments * Update arithmetic_expression.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Fix invalid op sequence when introducing index scans (#1028) * Fix invalid op sequence when partially replacing filters with index scans * Simplify op-freeing logic in utilizeIndices * Automate testing against enterprise v5.4.14 * push down transpose operations (#1032) * push down transpose operations * added test for transposed bi-directional edge * Update algebraic_expression_optimization.c * allow skip and limit to be parametes. (#1020) * wip * test pass * added skip limit params test * added failure test * fixed PR comments * fixed online review comments * restored traverse record cap * fixing memory leaks * fixed PR comments * changed redisearch version to 1.6.11 (#1035) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * version bump * version bump * Version 2.0.2 (#949) * Support float inputs for modulo computations (#895) * Add references * Update mkdocs.yml * Update References.md * fixed ast mapping for path filter (#896) * fixed ast mapping for path filter * renamed tests. open a new redis graph client per tests Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added mutex per matrix (#898) * added mutex per matrix * fixed PR comments * updated license headers to 2020 (#902) * Preserve order of op's children array when introducing index scans (#912) * Fix memory leaks (#917) * Fix memory leaks * Use original logic for MarkWriter * added filter tree clone (#915) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Optimize cp (#906) * added optimize cp * fixed a bug. added test * add optimization_util files * fixed PR comments * fixed PR comments * added multiple branch cp optimization * fixed PR comment * added in place replacement at ExecutionPlan_RemoveOp * added test for cp optimization and semi apply * fixed PR comments * Added non existing entity runtime error (#919) * Added non existing entity runtime error * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * RediSearch query error reporting (#925) * added filter tree compaction (#922) * added filter tree compaction * fixed PR comments * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Handle both possible execution orders in concurrent rename test (#926) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Refferencing a RedisGraph javascript client library (#928) * Improve client libraries sections on both readme and clients.md Clients libraries are subject to repetitive edition, it seems better to have a concise formatting * refferencing my own contribution to clients libraries Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Rust client (#931) * Update README.md * Update clients.md * intoduced fpClone in OpBase (#930) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Apply deplete match stream (#913) * Deplete Apply op's match stream for every left-hand Record * Disallow ExpandInto ops on variables beneath Apply ops * Add tests * PR fixes * Argument op holds one Record * PR fixes * Improve logic for building OpArgument modifies arrays * standardize logic for building tmp ExecutionPlans * Remove sub-ExecutionPlan logic * Fix CondTraverseReset routine * Fix ExpandIntoReset * Fix variable-length QueryGraph pointer * Always reset match branch * Add explanatory comment * PR fixes * PR fixes * raxValues returns void pointer array Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * increased allowed parameters count to UNIT_MAX. fixed a bug in query_ctx (#933) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * introduce mapping between record entries and projected columns (#936) * added arr clone with cb (#937) * added arr clone with cb * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Leak fixes (#935) * Close Redis key handles * Fix memory leak in checking whether procedures are read-only * Improve explanatory comment Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * label matrix should be fetch right before eval (#938) * More sensible function signature for SIValue_Free (#941) * Resolve memory leaks on Path SIValues (#940) * Resolve memory leaks on Path SIValues * Update op_delete.c * Update op_cond_var_len_traverse.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * GraphBLAS 3.2.0 (#942) * GraphBLAS 3.2.0 * updated makefiles * Remove unnecessary GraphBLAS build flag Co-authored-by: Jeffrey Lovitz <jeffrey.lovitz@gmail.com> * Simplify OpAggregate logic, remove unnecessary struct members (#947) * Simplify OpAggregate logic, remove unnecessary struct members * Update op_aggregate.c * Update op_aggregate.c * Update op_aggregate.c * Update op_aggregate.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Add compile-time error for unsupported AST node types (#944) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * version bump 2.0.2 Co-authored-by: Jeffrey Lovitz <jeffrey.lovitz@gmail.com> Co-authored-by: Guy Korland <gkorland@gmail.com> Co-authored-by: DvirDukhan <dvir@redislabs.com> Co-authored-by: Sceat <11330271+Sceat@users.noreply.github.com> * Version 2.0.3 (#951) * Support float inputs for modulo computations (#895) * Add references * Update mkdocs.yml * Update References.md * fixed ast mapping for path filter (#896) * fixed ast mapping for path filter * renamed tests. open a new redis graph client per tests Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added mutex per matrix (#898) * added mutex per matrix * fixed PR comments * updated license headers to 2020 (#902) * Preserve order of op's children array when introducing index scans (#912) * Fix memory leaks (#917) * Fix memory leaks * Use original logic for MarkWriter * added filter tree clone (#915) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Optimize cp (#906) * added optimize cp * fixed a bug. added test * add optimization_util files * fixed PR comments * fixed PR comments * added multiple branch cp optimization * fixed PR comment * added in place replacement at ExecutionPlan_RemoveOp * added test for cp optimization and semi apply * fixed PR comments * Added non existing entity runtime error (#919) * Added non existing entity runtime error * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * RediSearch query error reporting (#925) * added filter tree compaction (#922) * added filter tree compaction * fixed PR comments * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Handle both possible execution orders in concurrent rename test (#926) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Refferencing a RedisGraph javascript client library (#928) * Improve client libraries sections on both readme and clients.md Clients libraries are subject to repetitive edition, it seems better to have a concise formatting * refferencing my own contribution to clients libraries Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Rust client (#931) * Update README.md * Update clients.md * intoduced fpClone in OpBase (#930) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Apply deplete match stream (#913) * Deplete Apply op's match stream for every left-hand Record * Disallow ExpandInto ops on variables beneath Apply ops * Add tests * PR fixes * Argument op holds one Record * PR fixes * Improve logic for building OpArgument modifies arrays * standardize logic for building tmp ExecutionPlans * Remove sub-ExecutionPlan logic * Fix CondTraverseReset routine * Fix ExpandIntoReset * Fix variable-length QueryGraph pointer * Always reset match branch * Add explanatory comment * PR fixes * PR fixes * raxValues returns void pointer array Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * increased allowed parameters count to UNIT_MAX. fixed a bug in query_ctx (#933) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * introduce mapping between record entries and projected columns (#936) * added arr clone with cb (#937) * added arr clone with cb * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Leak fixes (#935) * Close Redis key handles * Fix memory leak in checking whether procedures are read-only * Improve explanatory comment Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * label matrix should be fetch right before eval (#938) * More sensible function signature for SIValue_Free (#941) * Resolve memory leaks on Path SIValues (#940) * Resolve memory leaks on Path SIValues * Update op_delete.c * Update op_cond_var_len_traverse.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * GraphBLAS 3.2.0 (#942) * GraphBLAS 3.2.0 * updated makefiles * Remove unnecessary GraphBLAS build flag Co-authored-by: Jeffrey Lovitz <jeffrey.lovitz@gmail.com> * Simplify OpAggregate logic, remove unnecessary struct members (#947) * Simplify OpAggregate logic, remove unnecessary struct members * Update op_aggregate.c * Update op_aggregate.c * Update op_aggregate.c * Update op_aggregate.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Add compile-time error for unsupported AST node types (#944) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * removed unused operations and types (#950) * version bump 2.0.3 Co-authored-by: Jeffrey Lovitz <jeffrey.lovitz@gmail.com> Co-authored-by: Guy Korland <gkorland@gmail.com> Co-authored-by: DvirDukhan <dvir@redislabs.com> Co-authored-by: Sceat <11330271+Sceat@users.noreply.github.com> * V2.0.4 (#954) * Support float inputs for modulo computations (#895) * Add references * Update mkdocs.yml * Update References.md * fixed ast mapping for path filter (#896) * fixed ast mapping for path filter * renamed tests. open a new redis graph client per tests Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added mutex per matrix (#898) * added mutex per matrix * fixed PR comments * updated license headers to 2020 (#902) * Preserve order of op's children array when introducing index scans (#912) * Fix memory leaks (#917) * Fix memory leaks * Use original logic for MarkWriter * added filter tree clone (#915) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Optimize cp (#906) * added optimize cp * fixed a bug. added test * add optimization_util files * fixed PR comments * fixed PR comments * added multiple branch cp optimization * fixed PR comment * added in place replacement at ExecutionPlan_RemoveOp * added test for cp optimization and semi apply * fixed PR comments * Added non existing entity runtime error (#919) * Added non existing entity runtime error * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * RediSearch query error reporting (#925) * added filter tree compaction (#922) * added filter tree compaction * fixed PR comments * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Handle both possible execution orders in concurrent rename test (#926) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Refferencing a RedisGraph javascript client library (#928) * Improve client libraries sections on both readme and clients.md Clients libraries are subject to repetitive edition, it seems better to have a concise formatting * refferencing my own contribution to clients libraries Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Rust client (#931) * Update README.md * Update clients.md * intoduced fpClone in OpBase (#930) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Apply deplete match stream (#913) * Deplete Apply op's match stream for every left-hand Record * Disallow ExpandInto ops on variables beneath Apply ops * Add tests * PR fixes * Argument op holds one Record * PR fixes * Improve logic for building OpArgument modifies arrays * standardize logic for building tmp ExecutionPlans * Remove sub-ExecutionPlan logic * Fix CondTraverseReset routine * Fix ExpandIntoReset * Fix variable-length QueryGraph pointer * Always reset match branch * Add explanatory comment * PR fixes * PR fixes * raxValues returns void pointer array Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * increased allowed parameters count to UNIT_MAX. fixed a bug in query_ctx (#933) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * introduce mapping between record entries and projected columns (#936) * added arr clone with cb (#937) * added arr clone with cb * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Leak fixes (#935) * Close Redis key handles * Fix memory leak in checking whether procedures are read-only * Improve explanatory comment Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * label matrix should be fetch right before eval (#938) * More sensible function signature for SIValue_Free (#941) * Resolve memory leaks on Path SIValues (#940) * Resolve memory leaks on Path SIValues * Update op_delete.c * Update op_cond_var_len_traverse.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * GraphBLAS 3.2.0 (#942) * GraphBLAS 3.2.0 * updated makefiles * Remove unnecessary GraphBLAS build flag Co-authored-by: Jeffrey Lovitz <jeffrey.lovitz@gmail.com> * Simplify OpAggregate logic, remove unnecessary struct members (#947) * Simplify OpAggregate logic, remove unnecessary struct members * Update op_aggregate.c * Update op_aggregate.c * Update op_aggregate.c * Update op_aggregate.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Add compile-time error for unsupported AST node types (#944) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * removed unused operations and types (#950) * remove GraphBLAS cacheing from CI (#953) * version bump Co-authored-by: Jeffrey Lovitz <jeffrey.lovitz@gmail.com> Co-authored-by: Guy Korland <gkorland@gmail.com> Co-authored-by: DvirDukhan <dvir@redislabs.com> Co-authored-by: Sceat <11330271+Sceat@users.noreply.github.com> * V2.0.5 (#957) * Support float inputs for modulo computations (#895) * Add references * Update mkdocs.yml * Update References.md * fixed ast mapping for path filter (#896) * fixed ast mapping for path filter * renamed tests. open a new redis graph client per tests Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added mutex per matrix (#898) * added mutex per matrix * fixed PR comments * updated license headers to 2020 (#902) * Preserve order of op's children array when introducing index scans (#912) * Fix memory leaks (#917) * Fix memory leaks * Use original logic for MarkWriter * added filter tree clone (#915) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Optimize cp (#906) * added optimize cp * fixed a bug. added test * add optimization_util files * fixed PR comments * fixed PR comments * added multiple branch cp optimization * fixed PR comment * added in place replacement at ExecutionPlan_RemoveOp * added test for cp optimization and semi apply * fixed PR comments * Added non existing entity runtime error (#919) * Added non existing entity runtime error * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * RediSearch query error reporting (#925) * added filter tree compaction (#922) * added filter tree compaction * fixed PR comments * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Handle both possible execution orders in concurrent rename test (#926) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Refferencing a RedisGraph javascript client library (#928) * Improve client libraries sections on both readme and clients.md Clients libraries are subject to repetitive edition, it seems better to have a concise formatting * refferencing my own contribution to clients libraries Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Rust client (#931) * Update README.md * Update clients.md * intoduced fpClone in OpBase (#930) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Apply deplete match stream (#913) * Deplete Apply op's match stream for every left-hand Record * Disallow ExpandInto ops on variables beneath Apply ops * Add tests * PR fixes * Argument op holds one Record * PR fixes * Improve logic for building OpArgument modifies arrays * standardize logic for building tmp ExecutionPlans * Remove sub-ExecutionPlan logic * Fix CondTraverseReset routine * Fix ExpandIntoReset * Fix variable-length QueryGraph pointer * Always reset match branch * Add explanatory comment * PR fixes * PR fixes * raxValues returns void pointer array Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * increased allowed parameters count to UNIT_MAX. fixed a bug in query_ctx (#933) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * introduce mapping between record entries and projected columns (#936) * added arr clone with cb (#937) * added arr clone with cb * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Leak fixes (#935) * Close Redis key handles * Fix memory leak in checking whether procedures are read-only * Improve explanatory comment Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * label matrix should be fetch right before eval (#938) * More sensible function signature for SIValue_Free (#941) * Resolve memory leaks on Path SIValues (#940) * Resolve memory leaks on Path SIValues * Update op_delete.c * Update op_cond_var_len_traverse.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * GraphBLAS 3.2.0 (#942) * GraphBLAS 3.2.0 * updated makefiles * Remove unnecessary GraphBLAS build flag Co-authored-by: Jeffrey Lovitz <jeffrey.lovitz@gmail.com> * Simplify OpAggregate logic, remove unnecessary struct members (#947) * Simplify OpAggregate logic, remove unnecessary struct members * Update op_aggregate.c * Update op_aggregate.c * Update op_aggregate.c * Update op_aggregate.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Add compile-time error for unsupported AST node types (#944) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * removed unused operations and types (#950) * remove GraphBLAS cacheing from CI (#953) * switch from OR AND semiring to ANY PAIR (#955) * version bump Co-authored-by: Jeffrey Lovitz <jeffrey.lovitz@gmail.com> Co-authored-by: Guy Korland <gkorland@gmail.com> Co-authored-by: DvirDukhan <dvir@redislabs.com> Co-authored-by: Sceat <11330271+Sceat@users.noreply.github.com> * rebase master to v2.0.5. Changed version to 2.0.6 * V2.0.7 * V2.0.8 * V2.0.9 * version bump Co-authored-by: Guy Korland <gkorland@gmail.com> Co-authored-by: DvirDukhan <dvir@redislabs.com> Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> Co-authored-by: Sceat <11330271+Sceat@users.noreply.github.com> Co-authored-by: Pieter Cailliau <pieter@redislabs.com>
* Support float inputs for modulo computations (#895) * Add references * Update mkdocs.yml * Update References.md * fixed ast mapping for path filter (#896) * fixed ast mapping for path filter * renamed tests. open a new redis graph client per tests Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added mutex per matrix (#898) * added mutex per matrix * fixed PR comments * updated license headers to 2020 (#902) * Preserve order of op's children array when introducing index scans (#912) * Fix memory leaks (#917) * Fix memory leaks * Use original logic for MarkWriter * added filter tree clone (#915) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Optimize cp (#906) * added optimize cp * fixed a bug. added test * add optimization_util files * fixed PR comments * fixed PR comments * added multiple branch cp optimization * fixed PR comment * added in place replacement at ExecutionPlan_RemoveOp * added test for cp optimization and semi apply * fixed PR comments * Added non existing entity runtime error (#919) * Added non existing entity runtime error * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * RediSearch query error reporting (#925) * added filter tree compaction (#922) * added filter tree compaction * fixed PR comments * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Handle both possible execution orders in concurrent rename test (#926) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Refferencing a RedisGraph javascript client library (#928) * Improve client libraries sections on both readme and clients.md Clients libraries are subject to repetitive edition, it seems better to have a concise formatting * refferencing my own contribution to clients libraries Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Rust client (#931) * Update README.md * Update clients.md * intoduced fpClone in OpBase (#930) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Apply deplete match stream (#913) * Deplete Apply op's match stream for every left-hand Record * Disallow ExpandInto ops on variables beneath Apply ops * Add tests * PR fixes * Argument op holds one Record * PR fixes * Improve logic for building OpArgument modifies arrays * standardize logic for building tmp ExecutionPlans * Remove sub-ExecutionPlan logic * Fix CondTraverseReset routine * Fix ExpandIntoReset * Fix variable-length QueryGraph pointer * Always reset match branch * Add explanatory comment * PR fixes * PR fixes * raxValues returns void pointer array Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * increased allowed parameters count to UNIT_MAX. fixed a bug in query_ctx (#933) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * introduce mapping between record entries and projected columns (#936) * added arr clone with cb (#937) * added arr clone with cb * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Leak fixes (#935) * Close Redis key handles * Fix memory leak in checking whether procedures are read-only * Improve explanatory comment Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * label matrix should be fetch right before eval (#938) * More sensible function signature for SIValue_Free (#941) * Resolve memory leaks on Path SIValues (#940) * Resolve memory leaks on Path SIValues * Update op_delete.c * Update op_cond_var_len_traverse.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * GraphBLAS 3.2.0 (#942) * GraphBLAS 3.2.0 * updated makefiles * Remove unnecessary GraphBLAS build flag Co-authored-by: Jeffrey Lovitz <jeffrey.lovitz@gmail.com> * Simplify OpAggregate logic, remove unnecessary struct members (#947) * Simplify OpAggregate logic, remove unnecessary struct members * Update op_aggregate.c * Update op_aggregate.c * Update op_aggregate.c * Update op_aggregate.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Add compile-time error for unsupported AST node types (#944) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * removed unused operations and types (#950) * remove GraphBLAS cacheing from CI (#953) * switch from OR AND semiring to ANY PAIR (#955) * using the structured semiring we can combine relation and relation ma… (#964) * using the structured semiring we can combine relation and relation mapping into a single matrix * address PR comments * Update graph.c * decoupled result set from execution plan (#929) * decoupled result set from execution plan * after rebase merge * fixed PR comments * Restored resulte set * fixed PR comments * fixed PR comments * fixed PR comments * Update ast.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Always free emptied space on AlgebraicExpression replacement (#986) * Fix leak on full-text index queries with syntax error (#985) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Fix leak on index scan IN optimization (#984) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Minor updates to bulk deletion (#994) * Remove redundant clone from bulk insertion of string props (#993) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Fix memory leaks on RDB-loaded strings (#991) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Add flow test to validate (#967) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Update outdated logic for aggregate groups (#968) * Update outdated logic for aggregate groups * Update group.c * Update op_aggregate.c * Update op_aggregate.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added all_node_scan clone (#960) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added op argument clone (#959) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added cartesian product clone (#963) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added expand into clone (#973) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added project op clone (#980) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added skip op clone (#983) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added op unwind clone (#988) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added limit op clone (#976) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added proc call clone (#979) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added filter op clone (#974) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added delete op clone (#970) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added distinct op clone (#972) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * add hash join op clone (#989) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added semi apply clone (#982) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added results op clone (#981) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added join op clone (#975) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added apply multiplexer clone (#961) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added cond var len traverse clone (#966) * added cond var len traverse clone * added conditional traverse clone * fixed PR comments * Reintroduce logic for freeing memory on run-time errors (#992) * Reintroduce logic for freeing memory on run-time errors * Remove VolatileRecord logic for freeing after run-time errors * Fix memory leaks on run-time errors in OpProject Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Free internal edge arrays on relationship matrix deletion (#997) * Free internal edge arrays on relationship matrix deletion * Update graph.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Add debug function to print query (#995) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added clone for create, merge, merge_create, update (#969) * added clone for create, merge, merge_create, update * Update ast_shared.c * Update ast_shared.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Agg func fixes (#946) * Fix memory leaks in Collect function * Fix leak in aggregate func's SIValue result * Fix leak in children of aggregate function call * Simplify variable-length path free logic * Improve ownership logic in Collect, add explanatory comments * PR fix Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added label scan clone (#978) * added label scan clone * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added id seek clone (#977) * added id seek clone * added better comment on the range clone * Update op_node_by_id_seek.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added op aggreage clone (#958) * added op aggreage clone * fixed PR comments * Update op_aggregate.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Add install instructions for OpenMP (#1006) * Add install instructions for OpenMP * Update README * added op sort clone (#987) * added op sort clone * fixed PR comments * removed free_list logic * Update execution_plan.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * re-enable graph.profile (#1004) * Re-enable GraphBLAS circle-ci cache (#1007) * Fix leak on projected heap-allocated graph entities (#996) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * GRAPH.SLOWLOG (#897) * slowlog WIP * slowlog per graph * updated docs * Add longer-running query to slowlog flow test * avoid race, log only GRAPH.QUERY Co-authored-by: Jeffrey Lovitz <jeffrey.lovitz@gmail.com> * Use NOP label scan if range iterator construction fails (#1001) * Use NOP label scan if range iterator construction fails * deplete iterator for invalid range * dont access op consume function directly Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * removed redisearch optimization (#1010) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Note ReplicaOf memory constraint in Rampfile (#1011) * Automate leak check (#1002) * Add make memcheck rule * Add Circle memcheck job * Don't use Docker image for automated leak checking * Enable log names by migrating flow test Env initialization * Disable invalid TCK scenarios of issue #945 * Run memory test without optimizations after packaging artifacts * Add suppressions for leaks in flush-vs-shutdown race Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Write longer-running query for slowlog test (#1012) * OPType bitmask switched to contiguous enum (#1013) * OPType bitmask switched to contiguous enum * PR fixes * Clean up op tree modification code * Add static array of all scan ops * Remove unnecessary conditional * Remove static type array for unoptimized scans * Validate arity per-command rather than globally (#1023) * Ar exp param (#990) * wip * wip * after rebase * updated libcypher parser * added AR_EXP_PARAM * fixed PR comments * fixed PR comments * fixed PR comments * fixed PR comments * Update arithmetic_expression.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Fix invalid op sequence when introducing index scans (#1028) * Fix invalid op sequence when partially replacing filters with index scans * Simplify op-freeing logic in utilizeIndices * Automate testing against enterprise v5.4.14 * push down transpose operations (#1032) * push down transpose operations * added test for transposed bi-directional edge * Update algebraic_expression_optimization.c * allow skip and limit to be parametes. (#1020) * wip * test pass * added skip limit params test * added failure test * fixed PR comments * fixed online review comments * restored traverse record cap * fixing memory leaks * fixed PR comments * changed redisearch version to 1.6.11 (#1035) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added datablock out of order ops (#1022) * added datablock out of order ops * fixed PR comments * Update oo_datablock.h * Update oo_datablock.c * fixed PR comments * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Adds versioned documentation (#1034) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * deploy on package release only (#1049) * deploy on package release only * fixed yml * changed workflows * changed workflows * fixed review comments * Optional match (#1043) * Enable TCK tests * Introduce Optional and Apply ops * Modify mock AST logic * Emit error on queries beginning with OPTIONAL MATCH * Return null on property accesses of null graph entity * Disallow OPTIONAL MATCH...MATCH queries * Fix OPTIONAL filter placement * Enable TCK tests * NULL handling for path functions * NULL handling for GraphEntity and list functions * WIP improve mock AST logic * Add flow tests * Improve AST mock logic * Error handling for SET and CREATE on null entities * Record_Get refactor * Test null handling * Minor cleanup * Add documentation * Simplify toPath null handling * Improve comments * Allow OPTIONAL MATCH as first clause * Simplify null-checking logic in create ops * Use branch of Python client for testing * PR fixes * PR fixes * Remove Record_GetScalar interface * PR fixes * PR fixes * Add demo query for OPTIONAL MATCH * Use standard Python client for automation * Emit all columns as SIValues in compact formatter * Improve flow test for null entities in first result Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * added named path example (#1048) * added named path example * fixed pr comments * Better compile-time checking for undefined variables (#1063) * Improve AST validations to capture undefined variables * Propagate errors in nested AR_EXP_Evaluate failures * Add path comparison, streamline hashing logic (#1056) * Value comparison call correctly compares paths * Fix bug in DISTINCT paths and arrays * Fix memory leak in ValueHashJoin * Remove conditionals from Record hashing logic * Improve test coverage * Simplify memory management in ValueHashJoin Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Update README.md * Update index.md * Update README.md forum (#1073) * Update README.md forum * ReduceScan and ReduceTraversal respect variable scopes (#1070) * ReduceScan and ReduceTraversal respect variable scopes * Fix source lookup * PR fixes Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * make memcheck rule prints full log for files with leaks (#1072) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Error properly on graph accesses of non-graph keys (#1069) * Error properly on graph accesses of non-graph keys * Explicitly free QueryCtx on failed delete * Update cmd_delete.c Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * LabelScan with child reads data correctly after reset (#1086) * Guarantee that NOT conditions are unary (#1092) * is -> ID in docs (#1090) Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Alpine variant of Dockerfile (#1087) * Calling autogen.sh fails if execute permissions are not set. Rather than do that, explicitly use "sh" to run it. * Explicitly include sys/types.h Several types (u_intN_t) are defined in this header, and on some systems not included indirectly. Therefore include the file directly. * Add an Alpine variant of the Dockerfile. * Change alpine image basis to Redis v6. Tag the image as alpine (without redis version). Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Redis 6 in builds (#1060) * changed dokerfile and ci * New installation scheme in Dockerfile * fixes 1 * Review fixes 1 Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> Co-authored-by: Rafi Einstein <rafi@redislabs.com> * Fix for RAMP failure (#1093) * Graph encoding v7 - support replica-of (#1054) * added entities threshold to config * wip * added commit flow, without meta type * new graphmeta type * wip * added decode v6 * added new encoding flow * fixed edge encoding * done decoding * added entities threshold to config * wip * added commit flow, without meta type * wip * added decode v6 * added new encoding flow * fixed edge encoding * added tags * wip * wip * tests pass * wip * moved to redis 6, solved flushall. moved to uuid keys. adeded decode context * wip * moved to redis 6 events to handle keyspace * added graph pending replication * wip * wip * changed tagging * wip * tested for redis6 and redis5 * fixed ubuntu build error. added comments * changed get redis major version location * pr comments. wip * refactor. wip * fixed PR comments * fixed memeory leak * added delete guards * PR comments, wip * removed meta context type. removed uuid from meta key name * fixed edges array encoding. added tests * added skip test for redis 5 * Simplify meta key construction * fixed PR comments * added aux fields * added module replicating error. WIP * added v4, v6 rdb decode test * fixed v4 decode memory leak * fixed PR comments * fixe PR comments * fixed PR comments * fixed PR comments * fixed PR comments * added tear down to flow test to avoid race between RLTest and RG * Fix memory leak in v4 deserialization * huge refactor: single encoder/decoder logic. created config object. create redis-server version object. May support redis 5 * wip * changed virtual keys encoding logic. wip * tested on redis5. logs added * added uuid to meta keys * removed server version checking in flow tests * changed ramp * fixed redis server validation * fixed PR comments * fixed PR comments Co-authored-by: Jeffrey Lovitz <jeffrey.lovitz@gmail.com> Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Update op_node_by_id_seek.c Fix, wrong variable assignment. * Update value.c removed.boolean switch * Add suppression for erroneous leak reports after DEBUG RELOAD (#1094) * Fixed compiler typo (#1097) Paragraph on OSX build should read "CXX" instead of "CPP". * Union bugfixes (#1052) * Improve scoping rules in validating UNION queries * Bugfix in uniquing column containing both nodes and edges * Add flow tests * PR fixes * PR fixes Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * Bidirectional expand into (#1047) * wip * Remove unnecessary iterator * WIP * Fix bidirectional ExpandInto, shared edge populating logic * PR fixes * Post-rebase fixes * Fix PR comments * throw runtime-error on missing query parameters (#1100) * removed query parameters annotations (#1101) * do not propagate transpose effect when introducing a transpose operation, maintain expression structure (#1102) * changed RediSearch version to 1.8 (#1103) * changed RediSearch version to 1.8 * added flag for redisearch GC * moved env var setting to memcheck script * Update memcheck.sh * fixed misplaced env var setting * fixed bad command format * flag in circle ci instead of makefile Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> * docker file for centos (#1104) * version bump Co-authored-by: Jeffrey Lovitz <jeffrey.lovitz@gmail.com> Co-authored-by: Guy Korland <gkorland@gmail.com> Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com> Co-authored-by: Sceat <11330271+Sceat@users.noreply.github.com> Co-authored-by: Itamar Haber <itamar@redislabs.com> Co-authored-by: Ariel Shtul <ariel.shtul@redislabs.com> Co-authored-by: Timothy Rule <34501912+trulede@users.noreply.github.com> Co-authored-by: Rafi Einstein <rafi@redislabs.com> Co-authored-by: Rafi Einstein <raffapen@outlook.com> Co-authored-by: Christoph Zimmermann <40485189+chrisAtRedis@users.noreply.github.com>
* added filter tree compaction * fixed PR comments * fixed PR comments Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com>

This PR adds filter tree compaction.
Closes #680