piped-processing-language icon indicating copy to clipboard operation
piped-processing-language copied to clipboard

[FEATURE]Add REPL & language validator

Open YANG-DB opened this issue 1 year ago • 3 comments

Is your feature request related to a problem?

This third step of consolidating the PPL spec into a single repository which will be deployed as an independent artifact.

What solution would you like?

Third step:

  • Create a self container REPL testing artifact for anyone to experiment with the grammar - REPL is a tool that parses, analyzes, and executes PPL queries using the reference implementation, providing users with an interactive environment to test and run PPL queries seamlessly.
  • Create an ANTLR based polyglot validator artifact library that can also be imported by any 3rd party
    • Java validator
    • J/S validator
    • Python validator

#23 - Main RFC

Do you have any additional context?

  • https://github.com/opensearch-project/sql/tree/main/ppl/src/main/antlr
  • https://github.com/opensearch-project/sql/tree/main/ppl/src/main/java/org/opensearch/sql/ppl
  • https://github.com/opensearch-project/opensearch-spark/tree/main/ppl-spark-integration/src/main/java/org/opensearch/sql/ast
  • https://github.com/opensearch-project/opensearch-spark/tree/main/ppl-spark-integration/src/main/antlr4

YANG-DB avatar Nov 27 '24 21:11 YANG-DB

What are the responsibilities of the ANTLR based validator? It will validate that a string matches the grammar. Is there anything else that it needs to do?

normanj-bitquill avatar Nov 28 '24 19:11 normanj-bitquill

What are the responsibilities of the ANTLR based validator? It will validate that a string matches the grammar. Is there anything else that it needs to do?

Yes - I think this is sufficient, our goal is that no 3rd party PPL user would need to rewrite the same code We can also add security constraints so that everything is sanity tested not only in the engine itself but at the validator level running on the client side

YANG-DB avatar Nov 28 '24 20:11 YANG-DB

[Catch All Triage - 1, 2, 3]

@YANG-DB Could someone please make sure this repo is triaged as part of a team triage weekly?

dblock avatar Dec 16 '24 17:12 dblock