Skip to content

Commit 900ec63

Browse files
committed
Add std::lang::{go,js,py,rs} annotations (#8803)
See geldata/gel-python#627 (comment)
1 parent a947e19 commit 900ec63

File tree

4 files changed

+45
-4
lines changed

4 files changed

+45
-4
lines changed

edb/lib/std/15-attrs.edgeql

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,17 @@ CREATE ABSTRACT ANNOTATION std::deprecated {
3030
'A marker that an item is deprecated.';
3131
};
3232
CREATE ABSTRACT ANNOTATION std::identifier;
33+
34+
CREATE MODULE std::lang;
35+
36+
CREATE MODULE std::lang::go;
37+
CREATE ABSTRACT ANNOTATION std::lang::go::type;
38+
39+
CREATE MODULE std::lang::js;
40+
CREATE ABSTRACT ANNOTATION std::lang::js::type;
41+
42+
CREATE MODULE std::lang::py;
43+
CREATE ABSTRACT ANNOTATION std::lang::py::type;
44+
45+
CREATE MODULE std::lang::rs;
46+
CREATE ABSTRACT ANNOTATION std::lang::rs::type;

edb/pgsql/patches.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -312,4 +312,19 @@ def get_version_key(num_patches: int) -> str:
312312
('metaschema-sql', 'JSONIndexByTextFunction'),
313313
('metaschema-sql', 'JSONIndexByIntFunction'),
314314
('metaschema-sql', 'JSONSliceFunction'),
315+
('edgeql', '''
316+
CREATE MODULE std::lang;
317+
318+
CREATE MODULE std::lang::go;
319+
CREATE ABSTRACT ANNOTATION std::lang::go::type;
320+
321+
CREATE MODULE std::lang::js;
322+
CREATE ABSTRACT ANNOTATION std::lang::js::type;
323+
324+
CREATE MODULE std::lang::py;
325+
CREATE ABSTRACT ANNOTATION std::lang::py::type;
326+
327+
CREATE MODULE std::lang::rs;
328+
CREATE ABSTRACT ANNOTATION std::lang::rs::type;
329+
'''),
315330
]

edb/schema/schema.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,11 @@
8181
sn.UnqualName('std::pg'),
8282
sn.UnqualName('std::_test'),
8383
sn.UnqualName('std::fts'),
84+
sn.UnqualName('std::lang'),
85+
sn.UnqualName('std::lang::go'),
86+
sn.UnqualName('std::lang::js'),
87+
sn.UnqualName('std::lang::py'),
88+
sn.UnqualName('std::lang::rs'),
8489
EXT_MODULE,
8590
sn.UnqualName('std::enc'),
8691
)

tests/test_edgeql_ddl.py

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8323,6 +8323,7 @@ async def test_edgeql_ddl_annotation_08(self):
83238323
property name -> str;
83248324
index ON (.name) {
83258325
annotation title := 'name index';
8326+
annotation lang::py::type := 'asdf';
83268327
}
83278328
}
83288329
''')
@@ -8345,10 +8346,16 @@ async def test_edgeql_ddl_annotation_08(self):
83458346
[{
83468347
"indexes": [{
83478348
"expr": ".name",
8348-
"annotations": [{
8349-
"name": "std::title",
8350-
"@value": "name index",
8351-
}]
8349+
"annotations": tb.bag([
8350+
{
8351+
"name": "std::title",
8352+
"@value": "name index",
8353+
},
8354+
{
8355+
"name": "std::lang::py::type",
8356+
"@value": "asdf",
8357+
},
8358+
])
83528359
}]
83538360
}]
83548361
)

0 commit comments

Comments
 (0)