5 ms·
Hey, I'm Yury, CEO and co-founder here, eager to chat with you about EdgeDB.
by 1st1 3y ago
Hey, I'm Yury, CEO and co-founder here, eager to chat with you about EdgeDB.
- maximilianroos 3y agoCongrats on the release! Really excited to see EdgeDB continue to grow.
- 1st1 3y agoThank you!
- FrustratedMonky 3y agoDoes it, or will it, support Cypher query language?
- RedCrowbar 3y agoNo plans for that yet. We feel EdgeQL is a far superior choice for the intended use case of application development.
- gavinray 3y agoI find the support of plain SQL over the Postgres wire protocol (intended for BI usecases) really interesting. The article mentions a "SQL-to-SQL" compiler -- how exactly does this work? Are you intercepting plain SQL queries over the wire, analyzing them, and then rewriting them into the form of queries that EdgeDB internally generates?
- RedCrowbar 3y agoYes, although rewrites are fairly minimal. Mostly limited to name mangling.
- gavinray 3y agoThat's really cool. Any chance you'd be able to link the relevant parts of the code? I had a look through the "/pg" directory but there was a lot there and it wasn't immediately clear which parts did what
- RedCrowbar 3y agoThe whole thing consists of these main parts: 1. SQL parser: https://github.com/edgedb/edgedb/tree/master/edb/pgsql/parser https://github.com/edgedb/edgedb/tree/master/edb/pgsql/parse... 2. SQL transpiler: https://github.com/edgedb/edgedb/tree/master/edb/pgsql/parser https://github.com/edgedb/edgedb/tree/master/edb/pgsql/parse... 3. Wire protocol handler: https://github.com/edgedb/edgedb/blob/master/edb/server/protocol/pg_ext.pyx https://github.com/edgedb/edgedb/blob/master/edb/server/prot...
- gavinray 3y agoThank you!
- aerzen 3y agoThis is the beef of that compiler: https://github.com/edgedb/edgedb/tree/master/edb%2Fpgsql%2Fresolver https://github.com/edgedb/edgedb/tree/master/edb%2Fpgsql%2Fr...
- meotimdihia 3y agoI am using Prisma in the production. I want to ask: - Can EdgeDB solve the problems like `soft-delete`? Prisma can't do this good, there are third-party packages, but I don't trust these packages because authors often drop support. - How about hooks, for example, I want to trigger scripts after/before a record is added to the table.
- RedCrowbar 3y ago> Can EdgeDB solve the problems like `soft-delete`? Yes, with access policy rules. E.g global hide_deleted: bool; type SoftDeletable { deleted: bool; access policy hide_deleted allow all when (global hide_deleted) using (not .deleted); } The above will effectively "hide" objects with `.deleted` set to `true` from all queries when the `hide_deleted` global is set to true. > How about hooks, for example, I want to trigger scripts after/before a record is added to the table. EdgeDB supports triggers: https://www.edgedb.com/docs/changelog/3_x#triggers https://www.edgedb.com/docs/changelog/3_x#triggers. Future versions will add support for causing effects outside of the database, e.g. call a WebHook or some such.
- another2another 3y agoHi, is there a C client lib? Couldn't find anything on the website but assumed it would be underpinning e.g. the Python lib.
- 1st1 3y agoNo, we think we should have it eventually but haven't started to work on it yet. Potentially we can create a C-wrapper for the Rust lib, which isn't ideal but might be doable in a shorter time frame.
- saintfiends 3y agoHey Yury, congratulations on the new release! From what I'm seeing, the upgrade path is essentially dump and restore. This was the case for moving from EdgeDB v1 to v2 as well. Since EdgeDB is a fast moving target this creates a lot of friction for older databases to upgrade. Is there plans for replication support or a more robust upgrade path?
- RedCrowbar 3y agoYes, we are looking into possibly supporting in-place upgrades in future releases.