[
https://issues.apache.org/jira/browse/TINKERPOP-2621?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17420704#comment-17420704
]
ASF GitHub Bot commented on TINKERPOP-2621:
-------------------------------------------
spmallette commented on pull request #1481:
URL: https://github.com/apache/tinkerpop/pull/1481#issuecomment-927821801
> Could we also please create a JIRA to write an optimizer to handle empty
within()/without() steps from the query?
Sure, i was more focused on just getting this to work for this PR but the
thought crossed my mind that we could probably treat these cases a bit better.
Here's the JIRA: https://issues.apache.org/jira/browse/TINKERPOP-2625
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
> toString for traversals such as within with empty array returns empty string
> as argument instead of brackets
> ------------------------------------------------------------------------------------------------------------
>
> Key: TINKERPOP-2621
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2621
> Project: TinkerPop
> Issue Type: Bug
> Components: language
> Affects Versions: 3.5.1
> Reporter: Tal Ron
> Priority: Major
>
> I use the gremlin Translator to translate bytecode query to script in order
> to allow sending it to neptune profile/explain endpoints.
> a query which include a steps such as '.within([])' , notice the empty
> array, is translated to
> .within() which fails in neptune, where within([]) with empty brackets
> actually works.
> now I don't know if this is neptune blame which should allow such traversal
> or gremlin (client) issue, and if gremlin should print empty brackets or
> empty string..
> see: node_modules/gremlin/lib/process/traversal.js :
> return this.operator + '(' + formatValue(this.value) + ')';
> .toString([]) => ''
>
>
> {code:java}
> //
> toString() {
> function formatValue(value){
> if (Array.isArray(value)) {
> let acc = [];
> for (const item of value) {
> acc.push(formatValue(item));
> }
> return acc;
> }
> if (value && typeof value === "string"){
> return "'" + value + "'";
> }
> return value;
> }
> if (this.other === undefined || this.other === null) {
> return this.operator + '(' + formatValue(this.value) + ')';
> }
> return this.operator + '(' + formatValue(this.value) + ', ' +
> formatValue(this.other) + ')';
> } {code}
>
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)