How to use edgedb - 10 common examples

To help you get started, we’ve selected a few edgedb examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github edgedb / edgedb / edgedb / lang / edgeql / compiler / compiler.py View on Github external
elif op == ast.ops.MUL:
            value = left.value * right.value
        elif op == ast.ops.DIV:
            if left_type.name == right_type.name == 'std::int':
                value = left.value // right.value
            else:
                value = left.value / right.value
        elif op == ast.ops.POW:
            value = left.value ** right.value
        elif op == ast.ops.MOD:
            value = left.value % right.value
        else:
            value = None

        if value is not None:
            return irast.Constant(value=value, type=result_type)
github edgedb / edgedb-python / tests / datatypes / test_datatypes.py View on Github external
def test_set_4(self):
        s = edgedb.Set(([],))
        s[0].append(s)
        self.assertEqual(repr(s), "Set{[Set{...}]}")
github edgedb / edgedb-python / tests / datatypes / test_datatypes.py View on Github external
def test_object_links_1(self):
        O2 = private.create_object_factory(
            id='property',
            lb='link-property',
            c='property'
        )

        O1 = private.create_object_factory(
            id='property',
            o2s='link'
        )

        o2_1 = O2(1, 'linkprop o2 1', 3)
        o2_2 = O2(4, 'linkprop o2 2', 6)
        o1 = O1(2, edgedb.Set((o2_1, o2_2)))

        linkset = o1['o2s']
        self.assertEqual(len(linkset), 2)
        self.assertEqual(linkset, o1['o2s'])
        self.assertEqual(hash(linkset), hash(o1['o2s']))
        self.assertEqual(
            repr(linkset),
            "LinkSet(name='o2s', source_id=2, target_ids={1, 4})")

        link1 = linkset[0]
        self.assertIs(link1.source, o1)
        self.assertIs(link1.target, o2_1)
        self.assertEqual(
            repr(link1),
            "Link(name='o2s', source_id=2, target_id=1)")
        self.assertEqual(set(dir(link1)), {'target', 'source', 'lb'})
github edgedb / edgedb-python / tests / datatypes / test_datatypes.py View on Github external
def test_object_links_2(self):
        User = private.create_object_factory(
            id='property',
            friends='link',
            enemies='link',
        )

        u1 = User(1, edgedb.Set([]), edgedb.Set([]))
        u2 = User(2, edgedb.Set([]), edgedb.Set([]))
        u3 = User(3, edgedb.Set([]), edgedb.Set([]))
        u4 = User(4, edgedb.Set([u1, u2]), edgedb.Set([u1, u2]))
        u5 = User(5, edgedb.Set([u1, u3]), edgedb.Set([u1, u2]))

        self.assertNotEqual(u4['friends'], u4['enemies'])
        self.assertNotEqual(u4['enemies'], u5['enemies'])

        self.assertEqual(set(dir(u1)), {'id', 'friends', 'enemies'})
github edgedb / edgedb-python / tests / test_sync_fetch.py View on Github external
def test_sync_args_01(self):
        self.assertEqual(
            self.con.query(
                'select (>$foo)[0] ++ (>$bar)[0];',
                foo=['aaa'], bar=['bbb']),
            edgedb.Set(('aaabbb',)))
github edgedb / edgedb / tests / test_server_proto.py View on Github external
DROP PROPERTY prop1;
                }};

                ALTER TYPE test::{typename} {{
                    CREATE REQUIRED PROPERTY prop1 -> std::int64;
                }};

                INSERT test::{typename} {{
                    prop1 := 123
                }};
            ''')

            for _ in range(5):
                self.assertEqual(
                    await self.con.fetchall(query),
                    edgedb.Set([123]))

        finally:
            await self.con.execute('ROLLBACK')
github edgedb / edgedb-python / tests / datatypes / test_datatypes.py View on Github external
def test_set_5(self):
        self.assertEqual(
            edgedb.Set([1, 2, 3]),
            edgedb.Set([3, 2, 1]))

        self.assertEqual(
            edgedb.Set([]),
            edgedb.Set([]))

        self.assertEqual(
            edgedb.Set([1]),
            edgedb.Set([1]))

        self.assertNotEqual(
            edgedb.Set([1]),
            edgedb.Set([]))

        self.assertNotEqual(
            edgedb.Set([1]),
            edgedb.Set([2]))
github edgedb / edgedb-python / tests / test_sync_fetch.py View on Github external
def test_sync_basic_datatypes_02(self):
        self.assertEqual(
            self.con.query(
                r'''select [b"\x00a", b"b", b'', b'\na']'''),
            edgedb.Set([[b"\x00a", b"b", b'', b'\na']]))

        self.assertEqual(
            self.con.query(
                r'select $0', b'he\x00llo'),
            edgedb.Set([b'he\x00llo']))
github edgedb / edgedb-python / tests / datatypes / test_datatypes.py View on Github external
def test_set_3(self):
        s = edgedb.Set(())

        self.assertEqual(len(s), 0)
        self.assertEqual(hash(s), hash(edgedb.Set(())))
        self.assertNotEqual(hash(s), hash(()))
github edgedb / edgedb-python / tests / test_async_fetch.py View on Github external
async def test_async_args_02(self):
        self.assertEqual(
            await self.con.query(
                'select (>$0)[0] ++ (>$1)[0];',
                ['aaa'], ['bbb']),
            edgedb.Set(('aaabbb',)))