Skip to content

Commit

Permalink
Extract ExecuteContext.store_to_cache()
Browse files Browse the repository at this point in the history
  • Loading branch information
fantix committed May 31, 2024
1 parent 356044d commit 8d0a609
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 43 deletions.
1 change: 1 addition & 0 deletions edgedb/protocol/protocol.pxd
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,7 @@ cdef class ExecuteContext:

cdef inline bint has_na_cardinality(self)
cdef bint load_from_cache(self)
cdef inline store_to_cache(self)


cdef class SansIOProtocol:
Expand Down
38 changes: 16 additions & 22 deletions edgedb/protocol/protocol.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,20 @@ cdef class ExecuteContext:
self.cardinality, self.in_dc, self.out_dc, self.capabilities = rv
return True

cdef inline store_to_cache(self):
self.qc.set(
self.query,
self.output_format,
self.implicit_limit,
self.inline_typenames,
self.inline_typeids,
self.expect_one,
self.cardinality,
self.in_dc,
self.out_dc,
self.capabilities,
)


cdef class SansIOProtocol:

Expand Down Expand Up @@ -412,16 +426,7 @@ cdef class SansIOProtocol:
if mtype == STMT_DATA_DESC_MSG:
# our in/out type spec is out-dated
self.parse_describe_type_message(ctx)

qc.set(
query,
output_format,
implicit_limit,
inline_typenames,
inline_typeids,
expect_one,
ctx.has_na_cardinality(),
ctx.in_dc, ctx.out_dc, ctx.capabilities)
ctx.store_to_cache()
in_dc = ctx.in_dc
out_dc = ctx.out_dc

Expand Down Expand Up @@ -539,22 +544,11 @@ cdef class SansIOProtocol:
out_dc = <BaseCodec>parsed[2]
capabilities = parsed[3]

qc.set(
query,
output_format,
implicit_limit,
inline_typenames,
inline_typeids,
expect_one,
cardinality,
in_dc,
out_dc,
capabilities,
)
ctx.cardinality = cardinality
ctx.capabilities = capabilities
ctx.in_dc = in_dc
ctx.out_dc = out_dc
ctx.store_to_cache()

return await self._execute(ctx)

Expand Down
23 changes: 2 additions & 21 deletions edgedb/protocol/protocol_v0.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -285,19 +285,11 @@ cdef class SansIOProtocolBackwardsCompatible(SansIOProtocol):
if capabilities is not None:
capabilities = int.from_bytes(capabilities, 'big')

qc.set(
query,
output_format,
implicit_limit,
inline_typenames,
inline_typeids,
expect_one,
new_cardinality,
in_dc, out_dc, capabilities)
ctx.cardinality = new_cardinality
ctx.in_dc = in_dc
ctx.out_dc = out_dc
ctx.capabilities = capabilities
ctx.store_to_cache()

re_exec = True

Expand Down Expand Up @@ -399,22 +391,11 @@ cdef class SansIOProtocolBackwardsCompatible(SansIOProtocol):
if capabilities is not None:
capabilities = int.from_bytes(capabilities, 'big')

qc.set(
query,
output_format,
implicit_limit,
inline_typenames,
inline_typeids,
expect_one,
cardinality,
in_dc,
out_dc,
capabilities,
)
ctx.cardinality = cardinality
ctx.in_dc = in_dc
ctx.out_dc = out_dc
ctx.capabilities = capabilities
ctx.store_to_cache()

ret = await self._legacy_execute(in_dc, out_dc, args, kwargs)

Expand Down

0 comments on commit 8d0a609

Please sign in to comment.