Skip to content
This repository was archived by the owner on Oct 6, 2022. It is now read-only.

Conversation

@quinchs
Copy link
Owner

@quinchs quinchs commented Jul 6, 2022

Summary

This PR adds the long awaited query builder to the main development branch. Before this awesome feature can be added, there is still some stuff to add:

TODO:

  • Base query functions.
  • EdgeQL standard library.
    • Add generator for stdlib.
    • Update v1 system for calling std functions to newer & faster version.
    • Update naming conventions to match the edgedb docs.
  • Link support.
    • Single links
    • Multi links
    • Link backreferencing, ex person1 points to person2 which points to person 1 recursively.
  • Backlinks
  • Property selection/mutation logic
  • Free objects
  • Anonymous types as shapes
  • Base expression to edgeql translators ex: string (string a) => a.ToLower(); -> str_lower(a)
    • Parameter context (don't allow usage of a parameter in some conditions)
    • Binary: 1+1
    • Conditional: 1 if true else 2
    • Constant: "const"
    • Initialization: new Thing{}
    • Lambda: () => {}
    • Member: x.Property
    • MethodCall: EdgeQL.ILike(a,b);
    • Array: new int[] { 1, 2, 3 }
    • Parameter (x) => x.Thing;
    • Unary: (string)thing;
  • Contextual function calls
  • Object-level constraints
  • Property level constraints
  • Autogenerated node resolution #22
  • CIL parser (CIL -> Expressions).
  • Unit tests
  • Docs

Closes #17

@quinchs quinchs added the enhancement New feature or request label Jul 6, 2022
@quinchs quinchs force-pushed the feat/querybuilder-v2 branch from 7f63666 to 815ad50 Compare July 8, 2022 04:09
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

QueryBuilder v2

2 participants