Skip to content

Commit

Permalink
Send serialized compile request
Browse files Browse the repository at this point in the history
  • Loading branch information
fantix committed Feb 16, 2024
1 parent 686160f commit 3ccafe4
Show file tree
Hide file tree
Showing 4 changed files with 40 additions and 13 deletions.
36 changes: 36 additions & 0 deletions edb/server/compiler/compiler.py
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,7 @@
from . import sertypes
from . import status
from . import ddl
from . import rpc

if TYPE_CHECKING:
from edb.pgsql import metaschema
Expand Down Expand Up @@ -816,6 +817,41 @@ def compute_stmt_name(text: str) -> str:

return sql_units

def compile_request(
self,
user_schema: s_schema.Schema,
global_schema: s_schema.Schema,
reflection_cache: immutables.Map[str, Tuple[str, ...]],
database_config: Optional[immutables.Map[str, config.SettingValue]],
system_config: Optional[immutables.Map[str, config.SettingValue]],
serialized_request: bytes,
original_query: str,
) -> Tuple[
dbstate.QueryUnitGroup, Optional[dbstate.CompilerConnectionState]
]:
request = rpc.CompileRequest(self.state.request_serializer)
request.deserialize(serialized_request, original_query)

units, cstate = self.compile(
user_schema,
global_schema,
reflection_cache,
database_config,
system_config,
request.source,
request.modaliases,
request.session_config,
request.output_format,
request.expect_one,
request.implicit_limit,
request.inline_typeids,
request.inline_typenames,
request.protocol_version,
request.inline_objectids,
request.json_parameters,
)
return units, cstate

def compile(
self,
user_schema: s_schema.Schema,
Expand Down
2 changes: 1 addition & 1 deletion edb/server/compiler_pool/multitenant_worker.py
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@ def compile(
):
client_schema = clients[client_id]
db = client_schema.dbs[dbname]
units, cstate = COMPILER.compile(
units, cstate = COMPILER.compile_request(
db.user_schema,
client_schema.global_schema,
db.reflection_cache,
Expand Down
2 changes: 1 addition & 1 deletion edb/server/compiler_pool/worker.py
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ def compile(
system_config,
)

units, cstate = COMPILER.compile(
units, cstate = COMPILER.compile_request(
db.user_schema,
GLOBAL_SCHEMA,
db.reflection_cache,
Expand Down
13 changes: 2 additions & 11 deletions edb/server/dbview/dbview.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -1037,17 +1037,8 @@ cdef class DatabaseConnectionView:
self.reflection_cache,
self.get_database_config(),
self.get_compilation_system_config(),
query_req.source,
self.get_modaliases(),
self.get_session_config(),
query_req.output_format,
query_req.expect_one,
query_req.implicit_limit,
query_req.inline_typeids,
query_req.inline_typenames,
self._protocol_version,
query_req.inline_objectids,
query_req.json_parameters,
query_req.serialize(),
query_req.source.text(),
client_id=self.tenant.client_id,
)
finally:
Expand Down

0 comments on commit 3ccafe4

Please sign in to comment.