Skip to content

Conversation

@quinchs
Copy link
Contributor

@quinchs quinchs commented Sep 23, 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 quinchs/EdgeDB.Net#22
  • CIL parser (CIL -> Expressions).
  • Unit tests
  • Docs

Closes #17

@quinchs quinchs force-pushed the feat/querybuilder-v2 branch from 3d3dff6 to ec76977 Compare October 19, 2022 12:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants