menu

EdgeDB

Bringing state-of-the-art database technology to the masses.

Channels
Team
Posts
Chat
Members
Info
Show previous messages

March 27, 2020 at 1:02am
Implicit limits are injected in all SELECT statements (including implicit ones in the nested sets), but only if there's no explicit limit. Are you seeing a different behavior?
  • reply
  • like

March 27, 2020 at 1:01pm
Yes, I was trying to implement implicit limits in the JS driver for a GUI client I'm making, and noticed it was only limiting the top level results, where in the cli repl it limits the nested sets as well. But checking with wireshark it seems the server sends all the data for the nested sets and it is truncated by the repl renderer. So I wasn't sure if I was misunderstanding how the implicit limiting worked, and the server was meant to only limit the top level set, and the nested set limiting was just being done in the repl for display reasons. Though you're saying that the server should be limiting all the sets, so I think there is a bug somewhere.
  • reply
  • like
Repl actually asks for limit +1 entries and truncates the last entry. This is to disambiguate cases where you have exactly limit entries and when you have more than limit entries. We have a test for this, but if you're seeing a different behavior on a certain query, please open an issue!
  • reply
  • like
It returns the whole set if you remove the ORDER BY .n on line 2551
  • reply
  • like
  • reply
  • like
Ha. That's a bug. Luckily, the fix is rather simple: #1311. Thanks for noticing this!
  • reply
  • like

April 26, 2020 at 7:13pm
There is typo in tutorial.edgedb.com first page -> "Hit run ans see the result!"
  • reply
  • like
not sure where to file a bug so spamming here
  • reply
  • like

May 17, 2020 at 4:17pm
On EdgeDB 1.0-alpha.3+dev.198.g9e8c0613 I'm surprised to notice that exit and \q don't seem to work in the REPL, only ctrl+d does. Also my results are no longer nicely formatted and thus harder to read. +1 to bringing exit back and reverting to prettier results, please!
Edited
  • reply
  • like
we rewrote the CLI in Rust to make it easier to distribute. Feel free to open issues in edgedb/edgedb-cli.
  • reply
  • like

May 22, 2020 at 11:14am
There's a small bug on the tutorial.edgedb.com site, the .page_control_panel container for the run button can block the next/prev links and the side navigation links under it. As a quick fix pointer-events: none on .page_control_panel and pointer-events: auto on .page_panel seems to work.
like-fill
1
  • reply
  • like

June 4, 2020 at 9:28am
Hi, when i try to install EdgeDB alpha 3 i got conflict error between edgedb-cli-1.0a3-2020060118.el7.x86_64 and edgedb-common-1.0a2-2020012221.el7.x86_64. What should i do? (CentOS)
  • reply
  • like
I would use this in Debian/Ubuntu. But you get the picture.
sudo apt remove -y edgedb*
sudo apt autoremove
sudo rm -rf /var/lib/edgedb/1-alpha3/dat
  • reply
  • like
yum autoremove edgedb* (not tried but yum autoremove would remove unneeded dependencies) or something like that.
  • reply
  • like
Hello everybody. I have a problem with edgedb on alpha2 and alpha3 versions. Some time later after running edgedb crashes with connection refused error. This is part of trace: File "/usr/lib64/edgedb-server-1-alpha3/lib/python3.8/site-packages/edb/common/taskgroup.py", line 169, in aexit raise me from None edb.common.taskgroup.TaskGroupError: unhandled errors in a TaskGroup; 1 sub errors: (ConnectionRefusedError)
+ ConnectionRefusedError: [Errno 111] Connection refused
| File "/usr/lib64/edgedb-server-1-alpha3/lib/python3.8/site-packages/edb/server/mng_port/port.py", line 113, in new_pgcon
| return await server.new_pgcon(dbname)
| File "/usr/lib64/edgedb-server-1-alpha3/lib/python3.8/site-packages/edb/server/server.py", line 118, in new_pgcon
| return await pgcon.connect(self._get_pgaddr(), dbname)
| File "edb/server/pgcon/pgcon.pyx", line 110, in connect
| File "uvloop/loop.pyx", line 2223, in create_unix_connection
| File "uvloop/loop.pyx", line 2218, in uvloop.loop.Loop.create_unix_connection
  • reply
  • like
It looks like the backend Postgres instance had crashed. What is the RAM availability on your system?
like-fill
1
  • reply
  • like
Only 2 Gb. Can it be a reason?
  • reply
  • like
Check the kernel logs for oom: dmesg | grep oom
  • reply
  • like

June 7, 2020 at 4:49pm
Is there currently a way to define exclusivity constraints over multiple properties, like for example r, g and b of a type Color { … }, so that one cannot insert the same Color twice?
  • reply
  • like
I cannot think of anything better than putting the constraint on a random property like this:
type Color {
required property red -> int16;
required property green -> int16;
required property blue -> int16 {
constraint exclusive on ((Color.red, Color.green, Color.blue));
};
}
Edited
  • reply
  • like

June 9, 2020 at 11:01pm
Multi-property constraints are on the TODO list for the near future, see #1164
like-fill
1
  • reply
  • like
Error initiating restore protocol
Please open an bug report.
And one more question. How can i use .esdl file?
We're working on the implementation for the edgedb migration command for the next release. It will allow using .esdl files more naturally. Currently, you have to wrap the SDL definition into a CREATE MIGRATION block, like so:
START TRANSACTION;
CREATE MIGRATION foo TO {
module default {
<sdl-definitions>
}
};
COMMIT MIGRATION foo;
COMMIT;
  • reply
  • like

June 18, 2020 at 12:12pm
Hi folks. First off, a great piece of technology you are building here. Been looking into evaluating edgedb for an internal usecase, and have been wondering the following;
  1. If it is possible to (now or in the future) for edgedb to share a postgres database server with another application perhaps isolated by schemas?
  2. For the "Triggers" feature on the roadmap, would that similar to a postgres trigger or would it encompass wider usecases, like for example event triggers to external systems (http-request, message bus notificaitons etc.)?
  • reply
  • like
Hi Arun.
First off, a great piece of technology you are building here.
Thank you!
If it is possible to (now or in the future) for edgedb to share a postgres database server with another application perhaps isolated by schemas?
Sharing a Postgres cluster (with dedicated EdgeDB databases) is already possible, although it's not recommended, because there is no support for cleanly upgrading such instances currently. Sharing a single database within a cluster is unlikely to be supported because there's simply no way to reliably prevent interference between EdgeDB and non-EdgeDB definitions (schema isolation is not leak-proof). We have tentative plans to enable integration with non-EdgeDB databases via foreign wrappers, though.
For the "Triggers" feature on the roadmap, would that similar to a postgres trigger or would it encompass wider usecases, like for example event triggers to external systems (http-request, message bus notificaitons etc.)?
Yes, the plan is to allow exposing triggers as events on some message bus (instead of or in addition to regular Postgres-like internal function handler). There's no concrete design for this yet, though.
  • reply
  • like

June 19, 2020 at 9:29pm
Thanks for the response Elivs. That is helpful to know. To be honest, having triggers and subscription working should be a great start and could enable some nice patterns in combination with something like hasura to federate multiple edgedb services.
As for the trigger design, the event triggers feature in hasura has been quite useful in the past (https://hasura.io/docs/1.0/graphql/manual/event-triggers/index.html). Especially being able to make an HTTP requests.
  • reply
  • like