Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error on alias references in parameters #1503

Merged
merged 3 commits into from Dec 23, 2020
Merged

Conversation

jeffreylovitz
Copy link
Contributor

Causes a compile-time error to be emitted when parameters refer to AST identifier nodes (unquoted strings).

Resolves #1502.

@jeffreylovitz jeffreylovitz self-assigned this Dec 21, 2020
@jeffreylovitz jeffreylovitz added this to In progress in RedisGraph 2.4 via automation Dec 21, 2020
Copy link
Collaborator

@swilly22 swilly22 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking great, just one request.

if(ast == NULL) {
// Attempted to access the AST before it has been constructed.
ErrorCtx_SetError("Attempted to access variable before it has been defined");
return AR_EXP_NewConstOperandNode(SI_NullVal());
}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please extend this comment, explaining how is it possible to reach this situation,
give an example query, e.g. CYPHER param=[a] MATCH (a) RETURN param.

RedisGraph 2.4 automation moved this from In progress to Review in progress Dec 22, 2020
RedisGraph 2.4 automation moved this from Review in progress to Reviewer approved Dec 23, 2020
@swilly22 swilly22 merged commit aed3fba into master Dec 23, 2020
3 checks passed
RedisGraph 2.4 automation moved this from Reviewer approved to Done Dec 23, 2020
@swilly22 swilly22 deleted the parameter-alias-reference branch December 23, 2020 07:54
jeffreylovitz added a commit that referenced this pull request Dec 27, 2020
* Error on alias references in parameters

* Address PR comments

Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com>
(cherry picked from commit aed3fba)
swilly22 added a commit that referenced this pull request Dec 27, 2020
* Added QA automation support (#1483)

* Added QA automation support

* fixes 1

* fixes 2

(cherry picked from commit ebdbd6e)

* add Graph config command to Rampfile (#1485)

Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com>
(cherry picked from commit 0ead11e)

* Refactor aggregate logic (#1468)

* Refactor logic for invoking aggregate functions

* WIP

* Fix unit tests, stDevP logic

* Fix formatting flag

* reduce and evaluate aggregation functions

* consolidation agg and none agg functions

* Additional tests, comment corrections

Co-authored-by: swilly22 <roi@redislabs.com>
Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com>
(cherry picked from commit aa66db8)

* Replace cache per thread with global cache (#1393)

* global cache

* Replace the cache-per-thread with a global cache:
-Use rwlock to synchronize access to the cache.
-Replace the hash lookup of queries strings with rax to support safe access of multiple readers.
-When cache hit occurs, do (shallow) memcpy of the query AST along with reference count increase, and store the current execution params in the new AST copy.

* Fix memory leaks.
Bug fix: set AST in thread local storage after the shallow copy.

* Update comments in config files and number of threads in test_cache to fit the new cache design.

* Defending execution plans that are being cloned from evicted by another thread, by adding ref count.

* Change cache implementation so that cache item is copied within the cache get/set functions by using a callback. This ensures that cache item will not be freed when evicted from cache while it is cloned by another thread.

* Change cache implementation so that cache item is copied within the cache get/set functions by using a callback. This ensures that cache item will not be freed when evicted from cache while it is cloned by another thread.

* moved from ulong to long long

* refactor cache unit-test

* refactored cache

* Refactor cache_set and test_cache.

* mostly formatting

* switch to new config get

Co-authored-by: swilly22 <roi@redislabs.com>
Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com>
(cherry picked from commit 75d0a99)

* Add support for startNode and endNode functions (#1490)

* Add support for startNode and endNode functions

* Address PR comments

(cherry picked from commit 584f59b)

* Disallow updating properties after deleting their entities (#1494)

* Disallow updating properties after deleting their entities

* Address PR comments

(cherry picked from commit 92125cf)

* Disallow assigning properties to complex types in MERGE SET (#1496)

* Disallow assigning properties to complex types in MERGE SET constructions

* Address PR comments

(cherry picked from commit 6bc3552)

* Consider both filters and labels in selecting a starting point (#1498)

* Consider both filters and labels in selecting a starting point

* refactored traverse order

* Address PR comments

* Update test_traversal_ordering.cpp

Co-authored-by: swilly22 <roi@redislabs.com>
Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com>
(cherry picked from commit 818e541)

* optimize expression before accessing it (#1499)

* optimize expression before accessing it

* algebraic expression transposed should handle directly nested transposes

(cherry picked from commit 78f5310)

* Don't attempt to access non-existent properties (#1495)

* Don't attempt to access non-existent properties

* Address PR comments

* Add additional tests

* Add documentation

* Skip tests that cause memory leaks

* Address PR comments

(cherry picked from commit 50aa868)

* Error on alias references in parameters (#1503)

* Error on alias references in parameters

* Address PR comments

Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com>
(cherry picked from commit aed3fba)

* Adding 'redis-modules-sdk' package to the README (#1509)

(cherry picked from commit 2b8a3c6)

* disable runtime config on enterprise (#1508)

(cherry picked from commit 9bcc2d2)

* bump version to 2.2.12

Co-authored-by: Rafi Einstein <raffapen@outlook.com>
Co-authored-by: alonre24 <alonreshef24@gmail.com>
Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com>
Co-authored-by: Dani Tseiltin <39850374+danitseitlin@users.noreply.github.com>
pnxguide pushed a commit to CMU-SPEED/RedisGraph that referenced this pull request Mar 22, 2023
* Error on alias references in parameters

* Address PR comments

Co-authored-by: Roi Lipman <swilly22@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
No open projects
Development

Successfully merging this pull request may close these issues.

DoS (Denial Of Service) Bug
2 participants