My Notes

  • ETAs for these:
    • Materialized view-
    • Query cache- We plan to introduce stored computeds. No ETA
    • Migration from existing postgres based project- Not a good idea to do generically; could be translated from an ORM schema; want to create a migration from Prisma
    • Work on an answer and message Elvis with it
  • Is there a way to know/mark when your query with an “unless conflict” hit the conflict case?
select (
  insert Person {
    name := 'New',
  } unless conflict on .name else Person {existing := true}
) {
  name,
  inserted := .existing ?? false
};
  • Return a computed that does a exists select for the object you tried to insert
  • You can’t tell from the insert
  • What is the use case?
  • Sharing a single db across repos/projects?
    • Basically, in my second repository, I copied the edgedb.toml file and dbschema folder (for initialization purposes only) Then ran edgedb project init --link --server-instance=<instance name of first repository that stores schema> --no-migrations Now in my second repository, when I run @edgdedb/generate commands, the generators reference the latest schema from the first repository! Success. (In my second repository, the edgedb.toml and migrations files do not reflect the latest schema/migrations– but this is no problem!)
    • Put schema in a repo and use a git submodule
      • replicate toml file in projects
      • Can specify schema directory in toml
  • Connection pooling client-side or server-side?
    • Specific concern is around connection pooling vs. serverless
      • EdgeDB connections are cheap. Postgres connections are pools on server-side. 10s of thousands without much trouble.
      • Don’t worry about connections to EdgeDB.
      • Still a bottleneck of how many concurrent queries you can do based on how many connections to Postgres you have
        • Can configure this. Will be intuited using introspection. EdgeDB will use the hard limit in Postgres instance. If it’s local, looks at the amount of RAM.
      • If you do open 10s of thousands and you have a problem, let us know. By design, it should be fine.

Meeting Notes