Skip to content

Commit 26fb6d8

Browse files
committed
Disallow None in elements of array argument
1 parent a2bec18 commit 26fb6d8

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

edgedb/protocol/codecs/array.pyx

+4-1
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,10 @@ cdef class BaseArrayCodec(BaseCodec):
6060
for i in range(objlen):
6161
item = obj[i]
6262
if item is None:
63-
elem_data.write_int32(-1)
63+
raise ValueError(
64+
"invalid array element at index {}: "
65+
"None is not allowed".format(i)
66+
)
6467
else:
6568
try:
6669
self.sub_codec.encode(elem_data, item)

tests/test_async_query.py

+6
Original file line numberDiff line numberDiff line change
@@ -380,6 +380,12 @@ async def test_async_args_03(self):
380380
'combine positional and named parameters'):
381381
await self.client.query('select <int64>$0 + <int64>$bar;')
382382

383+
with self.assertRaisesRegex(edgedb.InvalidArgumentError,
384+
"None is not allowed"):
385+
await self.client.query(
386+
"select <array<int64>>$0", [1, None, 3]
387+
)
388+
383389
async def test_async_args_04(self):
384390
aware_datetime = datetime.datetime.now(datetime.timezone.utc)
385391
naive_datetime = datetime.datetime.now()

0 commit comments

Comments
 (0)