From 2e315d55af348f9ad30274d3a87a71f50ce991a8 Mon Sep 17 00:00:00 2001 From: Vishal Anand Date: Mon, 18 Sep 2023 14:57:13 +0530 Subject: [PATCH 1/3] Planner data changes. --- e6data_python_connector/e6data_grpc.py | 25 ++- .../server/e6x_engine_pb2.py | 172 +++++++++--------- .../server/e6x_engine_pb2.pyi | 10 +- e6x_engine.proto | 3 + 4 files changed, 121 insertions(+), 89 deletions(-) diff --git a/e6data_python_connector/e6data_grpc.py b/e6data_python_connector/e6data_grpc.py index 48f270e..3c96e4f 100644 --- a/e6data_python_connector/e6data_grpc.py +++ b/e6data_python_connector/e6data_grpc.py @@ -563,7 +563,12 @@ def explain_analyse(self): queryId=self._query_id ) explain_analyze_response = self.connection.client.explainAnalyze(explain_analyze_request) - return explain_analyze_response.explainAnalyze + return dict( + is_cached=explain_analyze_response.isCached, + persing_time=explain_analyze_response.parsingTime, + queuing_time=explain_analyze_response.queueingTime, + planner=explain_analyze_response.explainAnalyze, + ) def poll(self, get_progress_update=True): @@ -598,3 +603,21 @@ class Error(Exception): for type_id in PRIMITIVE_TYPES: name = TypeId._VALUES_TO_NAMES[type_id] setattr(sys.modules[__name__], name, DBAPITypeObject([name])) + +if __name__ == '__main__': + conn = Connection( + host='e6data-vish04-s169o1w84r-532fd90e36b23261.elb.us-east-1.amazonaws.com', + port=80, + username='vishal@e6x.io', + password='521F6o7anSVDLPxbSDxfx2Skp1TiSm9evtGfKjrP1cF08qhoDas164zc' + ) + cursor = conn.cursor( + catalog_name='dsas', + db_name='tpcds_1000' + ) + qid = cursor.execute('select * from date_dim limit 2') + print(qid) + response = cursor.fetchall() + plan = cursor.explain_analyse() + print(plan) + conn.close() diff --git a/e6data_python_connector/server/e6x_engine_pb2.py b/e6data_python_connector/server/e6x_engine_pb2.py index 79b91e8..788c21f 100644 --- a/e6data_python_connector/server/e6x_engine_pb2.py +++ b/e6data_python_connector/server/e6x_engine_pb2.py @@ -13,7 +13,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x10\x65\x36x_engine.proto\"2\n\nGFieldInfo\x12\x11\n\tfieldName\x18\x01 \x01(\t\x12\x11\n\tfieldType\x18\x02 \x01(\t\"A\n\x13\x46\x61iledSchemaElement\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04type\x18\x02 \x01(\t\x12\x0e\n\x06reason\x18\x03 \x01(\t\"P\n\x16GetAddCatalogsResponse\x12\x0e\n\x06status\x18\x01 \x01(\t\x12&\n\x08\x66\x61ilures\x18\x02 \x03(\x0b\x32\x14.FailedSchemaElement\"2\n\x0f\x43\x61talogResponse\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tisDefault\x18\x02 \x01(\x08\"<\n\x0eParameterValue\x12\r\n\x05index\x18\x01 \x01(\x11\x12\x0c\n\x04type\x18\x02 \x01(\t\x12\r\n\x05value\x18\x03 \x01(\t\"D\n\x0c\x43learRequest\x12\x10\n\x08\x65ngineIP\x18\x01 \x01(\t\x12\x11\n\tsessionId\x18\x02 \x01(\t\x12\x0f\n\x07queryId\x18\x03 \x01(\t\"\x0f\n\rClearResponse\"J\n\x12\x43\x61ncelQueryRequest\x12\x10\n\x08\x65ngineIP\x18\x01 \x01(\t\x12\x11\n\tsessionId\x18\x02 \x01(\t\x12\x0f\n\x07queryId\x18\x03 \x01(\t\"\x15\n\x13\x43\x61ncelQueryResponse\"F\n\x0e\x45xplainRequest\x12\x10\n\x08\x65ngineIP\x18\x01 \x01(\t\x12\x11\n\tsessionId\x18\x02 \x01(\t\x12\x0f\n\x07queryId\x18\x03 \x01(\t\"\"\n\x0f\x45xplainResponse\x12\x0f\n\x07\x65xplain\x18\x01 \x01(\t\"Y\n\rDryRunRequest\x12\x10\n\x08\x65ngineIP\x18\x01 \x01(\t\x12\x11\n\tsessionId\x18\x02 \x01(\t\x12\x0e\n\x06schema\x18\x03 \x01(\t\x12\x13\n\x0bqueryString\x18\x04 \x01(\t\"%\n\x0e\x44ryRunResponse\x12\x13\n\x0b\x64ryrunValue\x18\x01 \x01(\t\"l\n\x0f\x44ryRunRequestV2\x12\x10\n\x08\x65ngineIP\x18\x01 \x01(\t\x12\x11\n\tsessionId\x18\x02 \x01(\t\x12\x0e\n\x06schema\x18\x03 \x01(\t\x12\x13\n\x0bqueryString\x18\x04 \x01(\t\x12\x0f\n\x07\x63\x61talog\x18\x05 \x01(\t\"M\n\x15\x45xplainAnalyzeRequest\x12\x10\n\x08\x65ngineIP\x18\x01 \x01(\t\x12\x11\n\tsessionId\x18\x02 \x01(\t\x12\x0f\n\x07queryId\x18\x03 \x01(\t\"0\n\x16\x45xplainAnalyzeResponse\x12\x16\n\x0e\x65xplainAnalyze\x18\x01 \x01(\t\"b\n\x17PrepareStatementRequest\x12\x11\n\tsessionId\x18\x01 \x01(\t\x12\x0e\n\x06schema\x18\x02 \x01(\t\x12\x13\n\x0bqueryString\x18\x03 \x01(\t\x12\x0f\n\x07quoting\x18\x04 \x01(\t\"u\n\x19PrepareStatementV2Request\x12\x11\n\tsessionId\x18\x01 \x01(\t\x12\x0e\n\x06schema\x18\x02 \x01(\t\x12\x13\n\x0bqueryString\x18\x03 \x01(\t\x12\x0f\n\x07\x63\x61talog\x18\x04 \x01(\t\x12\x0f\n\x07quoting\x18\x05 \x01(\t\"=\n\x18PrepareStatementResponse\x12\x10\n\x08\x65ngineIP\x18\x01 \x01(\t\x12\x0f\n\x07queryId\x18\x02 \x01(\t\"@\n\x0eUserAccessInfo\x12\x0c\n\x04uuid\x18\x01 \x01(\t\x12\x10\n\x08userName\x18\x02 \x01(\t\x12\x0e\n\x06tokens\x18\x03 \x03(\t\"O\n\x17\x45xecuteStatementRequest\x12\x10\n\x08\x65ngineIP\x18\x01 \x01(\t\x12\x11\n\tsessionId\x18\x02 \x01(\t\x12\x0f\n\x07queryId\x18\x03 \x01(\t\"r\n\x19\x45xecuteStatementV2Request\x12\x10\n\x08\x65ngineIP\x18\x01 \x01(\t\x12\x11\n\tsessionId\x18\x02 \x01(\t\x12\x0f\n\x07queryId\x18\x03 \x01(\t\x12\x1f\n\x06params\x18\x04 \x03(\x0b\x32\x0f.ParameterValue\"\x1a\n\x18\x45xecuteStatementResponse\"O\n\x17GetNextResultRowRequest\x12\x10\n\x08\x65ngineIP\x18\x01 \x01(\t\x12\x11\n\tsessionId\x18\x02 \x01(\t\x12\x0f\n\x07queryId\x18\x03 \x01(\t\"-\n\x18GetNextResultRowResponse\x12\x11\n\tresultRow\x18\x02 \x01(\x0c\"Q\n\x19GetNextResultBatchRequest\x12\x10\n\x08\x65ngineIP\x18\x01 \x01(\t\x12\x11\n\tsessionId\x18\x02 \x01(\t\x12\x0f\n\x07queryId\x18\x03 \x01(\t\"1\n\x1aGetNextResultBatchResponse\x12\x13\n\x0bresultBatch\x18\x02 \x01(\x0c\"P\n\x18GetResultMetadataRequest\x12\x10\n\x08\x65ngineIP\x18\x01 \x01(\t\x12\x11\n\tsessionId\x18\x02 \x01(\t\x12\x0f\n\x07queryId\x18\x03 \x01(\t\"3\n\x19GetResultMetadataResponse\x12\x16\n\x0eresultMetaData\x18\x01 \x01(\x0c\"5\n\x13\x41uthenticateRequest\x12\x0c\n\x04user\x18\x01 \x01(\t\x12\x10\n\x08password\x18\x02 \x01(\t\")\n\x14\x41uthenticateResponse\x12\x11\n\tsessionId\x18\x01 \x01(\t\"5\n\x10GetTablesRequest\x12\x11\n\tsessionId\x18\x01 \x01(\t\x12\x0e\n\x06schema\x18\x02 \x01(\t\"H\n\x12GetTablesV2Request\x12\x11\n\tsessionId\x18\x01 \x01(\t\x12\x0e\n\x06schema\x18\x02 \x01(\t\x12\x0f\n\x07\x63\x61talog\x18\x03 \x01(\t\"#\n\x11GetTablesResponse\x12\x0e\n\x06tables\x18\x01 \x03(\t\"*\n\x15GetSchemaNamesRequest\x12\x11\n\tsessionId\x18\x01 \x01(\t\"=\n\x17GetSchemaNamesV2Request\x12\x11\n\tsessionId\x18\x01 \x01(\t\x12\x0f\n\x07\x63\x61talog\x18\x02 \x01(\t\")\n\x16GetSchemaNamesResponse\x12\x0f\n\x07schemas\x18\x01 \x03(\t\"E\n\x11GetColumnsRequest\x12\x11\n\tsessionId\x18\x01 \x01(\t\x12\x0e\n\x06schema\x18\x02 \x01(\t\x12\r\n\x05table\x18\x03 \x01(\t\"X\n\x13GetColumnsV2Request\x12\x11\n\tsessionId\x18\x01 \x01(\t\x12\x0e\n\x06schema\x18\x02 \x01(\t\x12\r\n\x05table\x18\x03 \x01(\t\x12\x0f\n\x07\x63\x61talog\x18\x04 \x01(\t\"4\n\x12GetColumnsResponse\x12\x1e\n\tfieldInfo\x18\x01 \x03(\x0b\x32\x0b.GFieldInfo\"E\n\rStatusRequest\x12\x10\n\x08\x65ngineIP\x18\x01 \x01(\t\x12\x11\n\tsessionId\x18\x02 \x01(\t\x12\x0f\n\x07queryId\x18\x03 \x01(\t\"2\n\x0eStatusResponse\x12\x0e\n\x06status\x18\x02 \x01(\x08\x12\x10\n\x08rowCount\x18\x03 \x01(\x12\"5\n\x12\x41\x64\x64\x43\x61talogsRequest\x12\x11\n\tsessionId\x18\x01 \x01(\t\x12\x0c\n\x04json\x18\x02 \x01(\t\"#\n\x12UpdateUsersRequest\x12\r\n\x05users\x18\x01 \x01(\x0c\"\x15\n\x13UpdateUsersResponse\"3\n\x0fSetPropsRequest\x12\x11\n\tsessionId\x18\x01 \x01(\t\x12\r\n\x05props\x18\x02 \x01(\t\"\x12\n\x10SetPropsResponse\"*\n\x15GetAddCatalogsRequest\x12\x11\n\tsessionId\x18\x01 \x01(\t\"\x15\n\x13\x41\x64\x64\x43\x61talogsResponse\"\x15\n\x13GetCatalogesRequest\"B\n\x14GetCatalogesResponse\x12*\n\x10\x63\x61talogResponses\x18\x01 \x03(\x0b\x32\x10.CatalogResponse\"+\n\x16RefreshCatalogsRequest\x12\x11\n\tsessionId\x18\x01 \x01(\t\"\x19\n\x17RefreshCatalogsResponse\"X\n\x12RemoteChunkRequest\x12\x17\n\x0foriginalQueryId\x18\x01 \x01(\t\x12\x15\n\rremoteQueryId\x18\x02 \x01(\t\x12\x12\n\nsQueryHash\x18\x03 \x01(\t\"3\n\x13RemoteChunkResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t\x12\r\n\x05\x63hunk\x18\x02 \x01(\x0c\"Q\n\x19\x43learOrCancelQueryRequest\x12\x10\n\x08\x65ngineIP\x18\x01 \x01(\t\x12\x11\n\tsessionId\x18\x02 \x01(\t\x12\x0f\n\x07queryId\x18\x03 \x01(\t\"\x1c\n\x1a\x43learOrCancelQueryResponse2\xaa\x0e\n\x12QueryEngineService\x12&\n\x05\x63lear\x12\r.ClearRequest\x1a\x0e.ClearResponse\x12\x38\n\x0b\x63\x61ncelQuery\x12\x13.CancelQueryRequest\x1a\x14.CancelQueryResponse\x12M\n\x12\x63learOrCancelQuery\x12\x1a.ClearOrCancelQueryRequest\x1a\x1b.ClearOrCancelQueryResponse\x12,\n\x07\x65xplain\x12\x0f.ExplainRequest\x1a\x10.ExplainResponse\x12)\n\x06\x64ryRun\x12\x0e.DryRunRequest\x1a\x0f.DryRunResponse\x12-\n\x08\x64ryRunV2\x12\x10.DryRunRequestV2\x1a\x0f.DryRunResponse\x12\x41\n\x0e\x65xplainAnalyze\x12\x16.ExplainAnalyzeRequest\x1a\x17.ExplainAnalyzeResponse\x12G\n\x10prepareStatement\x12\x18.PrepareStatementRequest\x1a\x19.PrepareStatementResponse\x12K\n\x12prepareStatementV2\x12\x1a.PrepareStatementV2Request\x1a\x19.PrepareStatementResponse\x12G\n\x10\x65xecuteStatement\x12\x18.ExecuteStatementRequest\x1a\x19.ExecuteStatementResponse\x12K\n\x12\x65xecuteStatementV2\x12\x1a.ExecuteStatementV2Request\x1a\x19.ExecuteStatementResponse\x12G\n\x10getNextResultRow\x12\x18.GetNextResultRowRequest\x1a\x19.GetNextResultRowResponse\x12M\n\x12getNextResultBatch\x12\x1a.GetNextResultBatchRequest\x1a\x1b.GetNextResultBatchResponse\x12J\n\x11getResultMetadata\x12\x19.GetResultMetadataRequest\x1a\x1a.GetResultMetadataResponse\x12;\n\x0c\x61uthenticate\x12\x14.AuthenticateRequest\x1a\x15.AuthenticateResponse\x12\x32\n\tgetTables\x12\x11.GetTablesRequest\x1a\x12.GetTablesResponse\x12\x36\n\x0bgetTablesV2\x12\x13.GetTablesV2Request\x1a\x12.GetTablesResponse\x12\x41\n\x0egetSchemaNames\x12\x16.GetSchemaNamesRequest\x1a\x17.GetSchemaNamesResponse\x12\x45\n\x10getSchemaNamesV2\x12\x18.GetSchemaNamesV2Request\x1a\x17.GetSchemaNamesResponse\x12\x35\n\ngetColumns\x12\x12.GetColumnsRequest\x1a\x13.GetColumnsResponse\x12\x39\n\x0cgetColumnsV2\x12\x14.GetColumnsV2Request\x1a\x13.GetColumnsResponse\x12\x38\n\x0bupdateUsers\x12\x13.UpdateUsersRequest\x1a\x14.UpdateUsersResponse\x12/\n\x08setProps\x12\x10.SetPropsRequest\x1a\x11.SetPropsResponse\x12)\n\x06status\x12\x0e.StatusRequest\x1a\x0f.StatusResponse\x12\x38\n\x0b\x61\x64\x64\x43\x61talogs\x12\x13.AddCatalogsRequest\x1a\x14.AddCatalogsResponse\x12I\n\x16getAddCatalogsResponse\x12\x16.GetAddCatalogsRequest\x1a\x17.GetAddCatalogsResponse\x12;\n\x0cgetCataloges\x12\x14.GetCatalogesRequest\x1a\x15.GetCatalogesResponse\x12\x45\n\x18getNextRemoteCachedChunk\x12\x13.RemoteChunkRequest\x1a\x14.RemoteChunkResponse\x12\x44\n\x0frefreshCatalogs\x12\x17.RefreshCatalogsRequest\x1a\x18.RefreshCatalogsResponseB\x02P\x01\x62\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x10\x65\x36x_engine.proto\"2\n\nGFieldInfo\x12\x11\n\tfieldName\x18\x01 \x01(\t\x12\x11\n\tfieldType\x18\x02 \x01(\t\"A\n\x13\x46\x61iledSchemaElement\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04type\x18\x02 \x01(\t\x12\x0e\n\x06reason\x18\x03 \x01(\t\"P\n\x16GetAddCatalogsResponse\x12\x0e\n\x06status\x18\x01 \x01(\t\x12&\n\x08\x66\x61ilures\x18\x02 \x03(\x0b\x32\x14.FailedSchemaElement\"2\n\x0f\x43\x61talogResponse\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tisDefault\x18\x02 \x01(\x08\"<\n\x0eParameterValue\x12\r\n\x05index\x18\x01 \x01(\x11\x12\x0c\n\x04type\x18\x02 \x01(\t\x12\r\n\x05value\x18\x03 \x01(\t\"D\n\x0c\x43learRequest\x12\x10\n\x08\x65ngineIP\x18\x01 \x01(\t\x12\x11\n\tsessionId\x18\x02 \x01(\t\x12\x0f\n\x07queryId\x18\x03 \x01(\t\"\x0f\n\rClearResponse\"J\n\x12\x43\x61ncelQueryRequest\x12\x10\n\x08\x65ngineIP\x18\x01 \x01(\t\x12\x11\n\tsessionId\x18\x02 \x01(\t\x12\x0f\n\x07queryId\x18\x03 \x01(\t\"\x15\n\x13\x43\x61ncelQueryResponse\"F\n\x0e\x45xplainRequest\x12\x10\n\x08\x65ngineIP\x18\x01 \x01(\t\x12\x11\n\tsessionId\x18\x02 \x01(\t\x12\x0f\n\x07queryId\x18\x03 \x01(\t\"\"\n\x0f\x45xplainResponse\x12\x0f\n\x07\x65xplain\x18\x01 \x01(\t\"Y\n\rDryRunRequest\x12\x10\n\x08\x65ngineIP\x18\x01 \x01(\t\x12\x11\n\tsessionId\x18\x02 \x01(\t\x12\x0e\n\x06schema\x18\x03 \x01(\t\x12\x13\n\x0bqueryString\x18\x04 \x01(\t\"%\n\x0e\x44ryRunResponse\x12\x13\n\x0b\x64ryrunValue\x18\x01 \x01(\t\"l\n\x0f\x44ryRunRequestV2\x12\x10\n\x08\x65ngineIP\x18\x01 \x01(\t\x12\x11\n\tsessionId\x18\x02 \x01(\t\x12\x0e\n\x06schema\x18\x03 \x01(\t\x12\x13\n\x0bqueryString\x18\x04 \x01(\t\x12\x0f\n\x07\x63\x61talog\x18\x05 \x01(\t\"M\n\x15\x45xplainAnalyzeRequest\x12\x10\n\x08\x65ngineIP\x18\x01 \x01(\t\x12\x11\n\tsessionId\x18\x02 \x01(\t\x12\x0f\n\x07queryId\x18\x03 \x01(\t\"m\n\x16\x45xplainAnalyzeResponse\x12\x16\n\x0e\x65xplainAnalyze\x18\x01 \x01(\t\x12\x10\n\x08isCached\x18\x02 \x01(\x08\x12\x13\n\x0bparsingTime\x18\x03 \x01(\x12\x12\x14\n\x0cqueueingTime\x18\x04 \x01(\x12\"b\n\x17PrepareStatementRequest\x12\x11\n\tsessionId\x18\x01 \x01(\t\x12\x0e\n\x06schema\x18\x02 \x01(\t\x12\x13\n\x0bqueryString\x18\x03 \x01(\t\x12\x0f\n\x07quoting\x18\x04 \x01(\t\"u\n\x19PrepareStatementV2Request\x12\x11\n\tsessionId\x18\x01 \x01(\t\x12\x0e\n\x06schema\x18\x02 \x01(\t\x12\x13\n\x0bqueryString\x18\x03 \x01(\t\x12\x0f\n\x07\x63\x61talog\x18\x04 \x01(\t\x12\x0f\n\x07quoting\x18\x05 \x01(\t\"=\n\x18PrepareStatementResponse\x12\x10\n\x08\x65ngineIP\x18\x01 \x01(\t\x12\x0f\n\x07queryId\x18\x02 \x01(\t\"@\n\x0eUserAccessInfo\x12\x0c\n\x04uuid\x18\x01 \x01(\t\x12\x10\n\x08userName\x18\x02 \x01(\t\x12\x0e\n\x06tokens\x18\x03 \x03(\t\"O\n\x17\x45xecuteStatementRequest\x12\x10\n\x08\x65ngineIP\x18\x01 \x01(\t\x12\x11\n\tsessionId\x18\x02 \x01(\t\x12\x0f\n\x07queryId\x18\x03 \x01(\t\"r\n\x19\x45xecuteStatementV2Request\x12\x10\n\x08\x65ngineIP\x18\x01 \x01(\t\x12\x11\n\tsessionId\x18\x02 \x01(\t\x12\x0f\n\x07queryId\x18\x03 \x01(\t\x12\x1f\n\x06params\x18\x04 \x03(\x0b\x32\x0f.ParameterValue\"\x1a\n\x18\x45xecuteStatementResponse\"O\n\x17GetNextResultRowRequest\x12\x10\n\x08\x65ngineIP\x18\x01 \x01(\t\x12\x11\n\tsessionId\x18\x02 \x01(\t\x12\x0f\n\x07queryId\x18\x03 \x01(\t\"-\n\x18GetNextResultRowResponse\x12\x11\n\tresultRow\x18\x02 \x01(\x0c\"Q\n\x19GetNextResultBatchRequest\x12\x10\n\x08\x65ngineIP\x18\x01 \x01(\t\x12\x11\n\tsessionId\x18\x02 \x01(\t\x12\x0f\n\x07queryId\x18\x03 \x01(\t\"1\n\x1aGetNextResultBatchResponse\x12\x13\n\x0bresultBatch\x18\x02 \x01(\x0c\"P\n\x18GetResultMetadataRequest\x12\x10\n\x08\x65ngineIP\x18\x01 \x01(\t\x12\x11\n\tsessionId\x18\x02 \x01(\t\x12\x0f\n\x07queryId\x18\x03 \x01(\t\"3\n\x19GetResultMetadataResponse\x12\x16\n\x0eresultMetaData\x18\x01 \x01(\x0c\"5\n\x13\x41uthenticateRequest\x12\x0c\n\x04user\x18\x01 \x01(\t\x12\x10\n\x08password\x18\x02 \x01(\t\")\n\x14\x41uthenticateResponse\x12\x11\n\tsessionId\x18\x01 \x01(\t\"5\n\x10GetTablesRequest\x12\x11\n\tsessionId\x18\x01 \x01(\t\x12\x0e\n\x06schema\x18\x02 \x01(\t\"H\n\x12GetTablesV2Request\x12\x11\n\tsessionId\x18\x01 \x01(\t\x12\x0e\n\x06schema\x18\x02 \x01(\t\x12\x0f\n\x07\x63\x61talog\x18\x03 \x01(\t\"#\n\x11GetTablesResponse\x12\x0e\n\x06tables\x18\x01 \x03(\t\"*\n\x15GetSchemaNamesRequest\x12\x11\n\tsessionId\x18\x01 \x01(\t\"=\n\x17GetSchemaNamesV2Request\x12\x11\n\tsessionId\x18\x01 \x01(\t\x12\x0f\n\x07\x63\x61talog\x18\x02 \x01(\t\")\n\x16GetSchemaNamesResponse\x12\x0f\n\x07schemas\x18\x01 \x03(\t\"E\n\x11GetColumnsRequest\x12\x11\n\tsessionId\x18\x01 \x01(\t\x12\x0e\n\x06schema\x18\x02 \x01(\t\x12\r\n\x05table\x18\x03 \x01(\t\"X\n\x13GetColumnsV2Request\x12\x11\n\tsessionId\x18\x01 \x01(\t\x12\x0e\n\x06schema\x18\x02 \x01(\t\x12\r\n\x05table\x18\x03 \x01(\t\x12\x0f\n\x07\x63\x61talog\x18\x04 \x01(\t\"4\n\x12GetColumnsResponse\x12\x1e\n\tfieldInfo\x18\x01 \x03(\x0b\x32\x0b.GFieldInfo\"E\n\rStatusRequest\x12\x10\n\x08\x65ngineIP\x18\x01 \x01(\t\x12\x11\n\tsessionId\x18\x02 \x01(\t\x12\x0f\n\x07queryId\x18\x03 \x01(\t\"2\n\x0eStatusResponse\x12\x0e\n\x06status\x18\x02 \x01(\x08\x12\x10\n\x08rowCount\x18\x03 \x01(\x12\"5\n\x12\x41\x64\x64\x43\x61talogsRequest\x12\x11\n\tsessionId\x18\x01 \x01(\t\x12\x0c\n\x04json\x18\x02 \x01(\t\"#\n\x12UpdateUsersRequest\x12\r\n\x05users\x18\x01 \x01(\x0c\"\x15\n\x13UpdateUsersResponse\"3\n\x0fSetPropsRequest\x12\x11\n\tsessionId\x18\x01 \x01(\t\x12\r\n\x05props\x18\x02 \x01(\t\"\x12\n\x10SetPropsResponse\"*\n\x15GetAddCatalogsRequest\x12\x11\n\tsessionId\x18\x01 \x01(\t\"\x15\n\x13\x41\x64\x64\x43\x61talogsResponse\"\x15\n\x13GetCatalogesRequest\"B\n\x14GetCatalogesResponse\x12*\n\x10\x63\x61talogResponses\x18\x01 \x03(\x0b\x32\x10.CatalogResponse\"+\n\x16RefreshCatalogsRequest\x12\x11\n\tsessionId\x18\x01 \x01(\t\"\x19\n\x17RefreshCatalogsResponse\"X\n\x12RemoteChunkRequest\x12\x17\n\x0foriginalQueryId\x18\x01 \x01(\t\x12\x15\n\rremoteQueryId\x18\x02 \x01(\t\x12\x12\n\nsQueryHash\x18\x03 \x01(\t\"3\n\x13RemoteChunkResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t\x12\r\n\x05\x63hunk\x18\x02 \x01(\x0c\"Q\n\x19\x43learOrCancelQueryRequest\x12\x10\n\x08\x65ngineIP\x18\x01 \x01(\t\x12\x11\n\tsessionId\x18\x02 \x01(\t\x12\x0f\n\x07queryId\x18\x03 \x01(\t\"\x1c\n\x1a\x43learOrCancelQueryResponse2\xaa\x0e\n\x12QueryEngineService\x12&\n\x05\x63lear\x12\r.ClearRequest\x1a\x0e.ClearResponse\x12\x38\n\x0b\x63\x61ncelQuery\x12\x13.CancelQueryRequest\x1a\x14.CancelQueryResponse\x12M\n\x12\x63learOrCancelQuery\x12\x1a.ClearOrCancelQueryRequest\x1a\x1b.ClearOrCancelQueryResponse\x12,\n\x07\x65xplain\x12\x0f.ExplainRequest\x1a\x10.ExplainResponse\x12)\n\x06\x64ryRun\x12\x0e.DryRunRequest\x1a\x0f.DryRunResponse\x12-\n\x08\x64ryRunV2\x12\x10.DryRunRequestV2\x1a\x0f.DryRunResponse\x12\x41\n\x0e\x65xplainAnalyze\x12\x16.ExplainAnalyzeRequest\x1a\x17.ExplainAnalyzeResponse\x12G\n\x10prepareStatement\x12\x18.PrepareStatementRequest\x1a\x19.PrepareStatementResponse\x12K\n\x12prepareStatementV2\x12\x1a.PrepareStatementV2Request\x1a\x19.PrepareStatementResponse\x12G\n\x10\x65xecuteStatement\x12\x18.ExecuteStatementRequest\x1a\x19.ExecuteStatementResponse\x12K\n\x12\x65xecuteStatementV2\x12\x1a.ExecuteStatementV2Request\x1a\x19.ExecuteStatementResponse\x12G\n\x10getNextResultRow\x12\x18.GetNextResultRowRequest\x1a\x19.GetNextResultRowResponse\x12M\n\x12getNextResultBatch\x12\x1a.GetNextResultBatchRequest\x1a\x1b.GetNextResultBatchResponse\x12J\n\x11getResultMetadata\x12\x19.GetResultMetadataRequest\x1a\x1a.GetResultMetadataResponse\x12;\n\x0c\x61uthenticate\x12\x14.AuthenticateRequest\x1a\x15.AuthenticateResponse\x12\x32\n\tgetTables\x12\x11.GetTablesRequest\x1a\x12.GetTablesResponse\x12\x36\n\x0bgetTablesV2\x12\x13.GetTablesV2Request\x1a\x12.GetTablesResponse\x12\x41\n\x0egetSchemaNames\x12\x16.GetSchemaNamesRequest\x1a\x17.GetSchemaNamesResponse\x12\x45\n\x10getSchemaNamesV2\x12\x18.GetSchemaNamesV2Request\x1a\x17.GetSchemaNamesResponse\x12\x35\n\ngetColumns\x12\x12.GetColumnsRequest\x1a\x13.GetColumnsResponse\x12\x39\n\x0cgetColumnsV2\x12\x14.GetColumnsV2Request\x1a\x13.GetColumnsResponse\x12\x38\n\x0bupdateUsers\x12\x13.UpdateUsersRequest\x1a\x14.UpdateUsersResponse\x12/\n\x08setProps\x12\x10.SetPropsRequest\x1a\x11.SetPropsResponse\x12)\n\x06status\x12\x0e.StatusRequest\x1a\x0f.StatusResponse\x12\x38\n\x0b\x61\x64\x64\x43\x61talogs\x12\x13.AddCatalogsRequest\x1a\x14.AddCatalogsResponse\x12I\n\x16getAddCatalogsResponse\x12\x16.GetAddCatalogsRequest\x1a\x17.GetAddCatalogsResponse\x12;\n\x0cgetCataloges\x12\x14.GetCatalogesRequest\x1a\x15.GetCatalogesResponse\x12\x45\n\x18getNextRemoteCachedChunk\x12\x13.RemoteChunkRequest\x1a\x14.RemoteChunkResponse\x12\x44\n\x0frefreshCatalogs\x12\x17.RefreshCatalogsRequest\x1a\x18.RefreshCatalogsResponseB\x02P\x01\x62\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -53,89 +53,89 @@ _globals['_EXPLAINANALYZEREQUEST']._serialized_start=869 _globals['_EXPLAINANALYZEREQUEST']._serialized_end=946 _globals['_EXPLAINANALYZERESPONSE']._serialized_start=948 - _globals['_EXPLAINANALYZERESPONSE']._serialized_end=996 - _globals['_PREPARESTATEMENTREQUEST']._serialized_start=998 - _globals['_PREPARESTATEMENTREQUEST']._serialized_end=1096 - _globals['_PREPARESTATEMENTV2REQUEST']._serialized_start=1098 - _globals['_PREPARESTATEMENTV2REQUEST']._serialized_end=1215 - _globals['_PREPARESTATEMENTRESPONSE']._serialized_start=1217 - _globals['_PREPARESTATEMENTRESPONSE']._serialized_end=1278 - _globals['_USERACCESSINFO']._serialized_start=1280 - _globals['_USERACCESSINFO']._serialized_end=1344 - _globals['_EXECUTESTATEMENTREQUEST']._serialized_start=1346 - _globals['_EXECUTESTATEMENTREQUEST']._serialized_end=1425 - _globals['_EXECUTESTATEMENTV2REQUEST']._serialized_start=1427 - _globals['_EXECUTESTATEMENTV2REQUEST']._serialized_end=1541 - _globals['_EXECUTESTATEMENTRESPONSE']._serialized_start=1543 - _globals['_EXECUTESTATEMENTRESPONSE']._serialized_end=1569 - _globals['_GETNEXTRESULTROWREQUEST']._serialized_start=1571 - _globals['_GETNEXTRESULTROWREQUEST']._serialized_end=1650 - _globals['_GETNEXTRESULTROWRESPONSE']._serialized_start=1652 - _globals['_GETNEXTRESULTROWRESPONSE']._serialized_end=1697 - _globals['_GETNEXTRESULTBATCHREQUEST']._serialized_start=1699 - _globals['_GETNEXTRESULTBATCHREQUEST']._serialized_end=1780 - _globals['_GETNEXTRESULTBATCHRESPONSE']._serialized_start=1782 - _globals['_GETNEXTRESULTBATCHRESPONSE']._serialized_end=1831 - _globals['_GETRESULTMETADATAREQUEST']._serialized_start=1833 - _globals['_GETRESULTMETADATAREQUEST']._serialized_end=1913 - _globals['_GETRESULTMETADATARESPONSE']._serialized_start=1915 - _globals['_GETRESULTMETADATARESPONSE']._serialized_end=1966 - _globals['_AUTHENTICATEREQUEST']._serialized_start=1968 - _globals['_AUTHENTICATEREQUEST']._serialized_end=2021 - _globals['_AUTHENTICATERESPONSE']._serialized_start=2023 - _globals['_AUTHENTICATERESPONSE']._serialized_end=2064 - _globals['_GETTABLESREQUEST']._serialized_start=2066 - _globals['_GETTABLESREQUEST']._serialized_end=2119 - _globals['_GETTABLESV2REQUEST']._serialized_start=2121 - _globals['_GETTABLESV2REQUEST']._serialized_end=2193 - _globals['_GETTABLESRESPONSE']._serialized_start=2195 - _globals['_GETTABLESRESPONSE']._serialized_end=2230 - _globals['_GETSCHEMANAMESREQUEST']._serialized_start=2232 - _globals['_GETSCHEMANAMESREQUEST']._serialized_end=2274 - _globals['_GETSCHEMANAMESV2REQUEST']._serialized_start=2276 - _globals['_GETSCHEMANAMESV2REQUEST']._serialized_end=2337 - _globals['_GETSCHEMANAMESRESPONSE']._serialized_start=2339 - _globals['_GETSCHEMANAMESRESPONSE']._serialized_end=2380 - _globals['_GETCOLUMNSREQUEST']._serialized_start=2382 - _globals['_GETCOLUMNSREQUEST']._serialized_end=2451 - _globals['_GETCOLUMNSV2REQUEST']._serialized_start=2453 - _globals['_GETCOLUMNSV2REQUEST']._serialized_end=2541 - _globals['_GETCOLUMNSRESPONSE']._serialized_start=2543 - _globals['_GETCOLUMNSRESPONSE']._serialized_end=2595 - _globals['_STATUSREQUEST']._serialized_start=2597 - _globals['_STATUSREQUEST']._serialized_end=2666 - _globals['_STATUSRESPONSE']._serialized_start=2668 - _globals['_STATUSRESPONSE']._serialized_end=2718 - _globals['_ADDCATALOGSREQUEST']._serialized_start=2720 - _globals['_ADDCATALOGSREQUEST']._serialized_end=2773 - _globals['_UPDATEUSERSREQUEST']._serialized_start=2775 - _globals['_UPDATEUSERSREQUEST']._serialized_end=2810 - _globals['_UPDATEUSERSRESPONSE']._serialized_start=2812 - _globals['_UPDATEUSERSRESPONSE']._serialized_end=2833 - _globals['_SETPROPSREQUEST']._serialized_start=2835 - _globals['_SETPROPSREQUEST']._serialized_end=2886 - _globals['_SETPROPSRESPONSE']._serialized_start=2888 - _globals['_SETPROPSRESPONSE']._serialized_end=2906 - _globals['_GETADDCATALOGSREQUEST']._serialized_start=2908 - _globals['_GETADDCATALOGSREQUEST']._serialized_end=2950 - _globals['_ADDCATALOGSRESPONSE']._serialized_start=2952 - _globals['_ADDCATALOGSRESPONSE']._serialized_end=2973 - _globals['_GETCATALOGESREQUEST']._serialized_start=2975 - _globals['_GETCATALOGESREQUEST']._serialized_end=2996 - _globals['_GETCATALOGESRESPONSE']._serialized_start=2998 - _globals['_GETCATALOGESRESPONSE']._serialized_end=3064 - _globals['_REFRESHCATALOGSREQUEST']._serialized_start=3066 - _globals['_REFRESHCATALOGSREQUEST']._serialized_end=3109 - _globals['_REFRESHCATALOGSRESPONSE']._serialized_start=3111 - _globals['_REFRESHCATALOGSRESPONSE']._serialized_end=3136 - _globals['_REMOTECHUNKREQUEST']._serialized_start=3138 - _globals['_REMOTECHUNKREQUEST']._serialized_end=3226 - _globals['_REMOTECHUNKRESPONSE']._serialized_start=3228 - _globals['_REMOTECHUNKRESPONSE']._serialized_end=3279 - _globals['_CLEARORCANCELQUERYREQUEST']._serialized_start=3281 - _globals['_CLEARORCANCELQUERYREQUEST']._serialized_end=3362 - _globals['_CLEARORCANCELQUERYRESPONSE']._serialized_start=3364 - _globals['_CLEARORCANCELQUERYRESPONSE']._serialized_end=3392 - _globals['_QUERYENGINESERVICE']._serialized_start=3395 - _globals['_QUERYENGINESERVICE']._serialized_end=5229 + _globals['_EXPLAINANALYZERESPONSE']._serialized_end=1057 + _globals['_PREPARESTATEMENTREQUEST']._serialized_start=1059 + _globals['_PREPARESTATEMENTREQUEST']._serialized_end=1157 + _globals['_PREPARESTATEMENTV2REQUEST']._serialized_start=1159 + _globals['_PREPARESTATEMENTV2REQUEST']._serialized_end=1276 + _globals['_PREPARESTATEMENTRESPONSE']._serialized_start=1278 + _globals['_PREPARESTATEMENTRESPONSE']._serialized_end=1339 + _globals['_USERACCESSINFO']._serialized_start=1341 + _globals['_USERACCESSINFO']._serialized_end=1405 + _globals['_EXECUTESTATEMENTREQUEST']._serialized_start=1407 + _globals['_EXECUTESTATEMENTREQUEST']._serialized_end=1486 + _globals['_EXECUTESTATEMENTV2REQUEST']._serialized_start=1488 + _globals['_EXECUTESTATEMENTV2REQUEST']._serialized_end=1602 + _globals['_EXECUTESTATEMENTRESPONSE']._serialized_start=1604 + _globals['_EXECUTESTATEMENTRESPONSE']._serialized_end=1630 + _globals['_GETNEXTRESULTROWREQUEST']._serialized_start=1632 + _globals['_GETNEXTRESULTROWREQUEST']._serialized_end=1711 + _globals['_GETNEXTRESULTROWRESPONSE']._serialized_start=1713 + _globals['_GETNEXTRESULTROWRESPONSE']._serialized_end=1758 + _globals['_GETNEXTRESULTBATCHREQUEST']._serialized_start=1760 + _globals['_GETNEXTRESULTBATCHREQUEST']._serialized_end=1841 + _globals['_GETNEXTRESULTBATCHRESPONSE']._serialized_start=1843 + _globals['_GETNEXTRESULTBATCHRESPONSE']._serialized_end=1892 + _globals['_GETRESULTMETADATAREQUEST']._serialized_start=1894 + _globals['_GETRESULTMETADATAREQUEST']._serialized_end=1974 + _globals['_GETRESULTMETADATARESPONSE']._serialized_start=1976 + _globals['_GETRESULTMETADATARESPONSE']._serialized_end=2027 + _globals['_AUTHENTICATEREQUEST']._serialized_start=2029 + _globals['_AUTHENTICATEREQUEST']._serialized_end=2082 + _globals['_AUTHENTICATERESPONSE']._serialized_start=2084 + _globals['_AUTHENTICATERESPONSE']._serialized_end=2125 + _globals['_GETTABLESREQUEST']._serialized_start=2127 + _globals['_GETTABLESREQUEST']._serialized_end=2180 + _globals['_GETTABLESV2REQUEST']._serialized_start=2182 + _globals['_GETTABLESV2REQUEST']._serialized_end=2254 + _globals['_GETTABLESRESPONSE']._serialized_start=2256 + _globals['_GETTABLESRESPONSE']._serialized_end=2291 + _globals['_GETSCHEMANAMESREQUEST']._serialized_start=2293 + _globals['_GETSCHEMANAMESREQUEST']._serialized_end=2335 + _globals['_GETSCHEMANAMESV2REQUEST']._serialized_start=2337 + _globals['_GETSCHEMANAMESV2REQUEST']._serialized_end=2398 + _globals['_GETSCHEMANAMESRESPONSE']._serialized_start=2400 + _globals['_GETSCHEMANAMESRESPONSE']._serialized_end=2441 + _globals['_GETCOLUMNSREQUEST']._serialized_start=2443 + _globals['_GETCOLUMNSREQUEST']._serialized_end=2512 + _globals['_GETCOLUMNSV2REQUEST']._serialized_start=2514 + _globals['_GETCOLUMNSV2REQUEST']._serialized_end=2602 + _globals['_GETCOLUMNSRESPONSE']._serialized_start=2604 + _globals['_GETCOLUMNSRESPONSE']._serialized_end=2656 + _globals['_STATUSREQUEST']._serialized_start=2658 + _globals['_STATUSREQUEST']._serialized_end=2727 + _globals['_STATUSRESPONSE']._serialized_start=2729 + _globals['_STATUSRESPONSE']._serialized_end=2779 + _globals['_ADDCATALOGSREQUEST']._serialized_start=2781 + _globals['_ADDCATALOGSREQUEST']._serialized_end=2834 + _globals['_UPDATEUSERSREQUEST']._serialized_start=2836 + _globals['_UPDATEUSERSREQUEST']._serialized_end=2871 + _globals['_UPDATEUSERSRESPONSE']._serialized_start=2873 + _globals['_UPDATEUSERSRESPONSE']._serialized_end=2894 + _globals['_SETPROPSREQUEST']._serialized_start=2896 + _globals['_SETPROPSREQUEST']._serialized_end=2947 + _globals['_SETPROPSRESPONSE']._serialized_start=2949 + _globals['_SETPROPSRESPONSE']._serialized_end=2967 + _globals['_GETADDCATALOGSREQUEST']._serialized_start=2969 + _globals['_GETADDCATALOGSREQUEST']._serialized_end=3011 + _globals['_ADDCATALOGSRESPONSE']._serialized_start=3013 + _globals['_ADDCATALOGSRESPONSE']._serialized_end=3034 + _globals['_GETCATALOGESREQUEST']._serialized_start=3036 + _globals['_GETCATALOGESREQUEST']._serialized_end=3057 + _globals['_GETCATALOGESRESPONSE']._serialized_start=3059 + _globals['_GETCATALOGESRESPONSE']._serialized_end=3125 + _globals['_REFRESHCATALOGSREQUEST']._serialized_start=3127 + _globals['_REFRESHCATALOGSREQUEST']._serialized_end=3170 + _globals['_REFRESHCATALOGSRESPONSE']._serialized_start=3172 + _globals['_REFRESHCATALOGSRESPONSE']._serialized_end=3197 + _globals['_REMOTECHUNKREQUEST']._serialized_start=3199 + _globals['_REMOTECHUNKREQUEST']._serialized_end=3287 + _globals['_REMOTECHUNKRESPONSE']._serialized_start=3289 + _globals['_REMOTECHUNKRESPONSE']._serialized_end=3340 + _globals['_CLEARORCANCELQUERYREQUEST']._serialized_start=3342 + _globals['_CLEARORCANCELQUERYREQUEST']._serialized_end=3423 + _globals['_CLEARORCANCELQUERYRESPONSE']._serialized_start=3425 + _globals['_CLEARORCANCELQUERYRESPONSE']._serialized_end=3453 + _globals['_QUERYENGINESERVICE']._serialized_start=3456 + _globals['_QUERYENGINESERVICE']._serialized_end=5290 # @@protoc_insertion_point(module_scope) diff --git a/e6data_python_connector/server/e6x_engine_pb2.pyi b/e6data_python_connector/server/e6x_engine_pb2.pyi index aa29339..85e9848 100644 --- a/e6data_python_connector/server/e6x_engine_pb2.pyi +++ b/e6data_python_connector/server/e6x_engine_pb2.pyi @@ -136,10 +136,16 @@ class ExplainAnalyzeRequest(_message.Message): def __init__(self, engineIP: _Optional[str] = ..., sessionId: _Optional[str] = ..., queryId: _Optional[str] = ...) -> None: ... class ExplainAnalyzeResponse(_message.Message): - __slots__ = ["explainAnalyze"] + __slots__ = ["explainAnalyze", "isCached", "parsingTime", "queueingTime"] EXPLAINANALYZE_FIELD_NUMBER: _ClassVar[int] + ISCACHED_FIELD_NUMBER: _ClassVar[int] + PARSINGTIME_FIELD_NUMBER: _ClassVar[int] + QUEUEINGTIME_FIELD_NUMBER: _ClassVar[int] explainAnalyze: str - def __init__(self, explainAnalyze: _Optional[str] = ...) -> None: ... + isCached: bool + parsingTime: int + queueingTime: int + def __init__(self, explainAnalyze: _Optional[str] = ..., isCached: bool = ..., parsingTime: _Optional[int] = ..., queueingTime: _Optional[int] = ...) -> None: ... class PrepareStatementRequest(_message.Message): __slots__ = ["sessionId", "schema", "queryString", "quoting"] diff --git a/e6x_engine.proto b/e6x_engine.proto index 3970202..42fd92a 100644 --- a/e6x_engine.proto +++ b/e6x_engine.proto @@ -90,6 +90,9 @@ message ExplainAnalyzeRequest{ message ExplainAnalyzeResponse{ string explainAnalyze = 1; + bool isCached = 2; + sint64 parsingTime = 3; + sint64 queueingTime = 4; } message PrepareStatementRequest{ From 3aecf58f5e23f7677832fbb09eb17d3c7bf62ecf Mon Sep 17 00:00:00 2001 From: Vishal Anand Date: Mon, 18 Sep 2023 14:57:42 +0530 Subject: [PATCH 2/3] Planner data changes. --- e6data_python_connector/e6data_grpc.py | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/e6data_python_connector/e6data_grpc.py b/e6data_python_connector/e6data_grpc.py index 3c96e4f..4cc80e8 100644 --- a/e6data_python_connector/e6data_grpc.py +++ b/e6data_python_connector/e6data_grpc.py @@ -603,21 +603,3 @@ class Error(Exception): for type_id in PRIMITIVE_TYPES: name = TypeId._VALUES_TO_NAMES[type_id] setattr(sys.modules[__name__], name, DBAPITypeObject([name])) - -if __name__ == '__main__': - conn = Connection( - host='e6data-vish04-s169o1w84r-532fd90e36b23261.elb.us-east-1.amazonaws.com', - port=80, - username='vishal@e6x.io', - password='521F6o7anSVDLPxbSDxfx2Skp1TiSm9evtGfKjrP1cF08qhoDas164zc' - ) - cursor = conn.cursor( - catalog_name='dsas', - db_name='tpcds_1000' - ) - qid = cursor.execute('select * from date_dim limit 2') - print(qid) - response = cursor.fetchall() - plan = cursor.explain_analyse() - print(plan) - conn.close() From 54f9a0af527b1ac13aebd600a13675009a894fe8 Mon Sep 17 00:00:00 2001 From: Vishal Anand Date: Mon, 18 Sep 2023 15:06:11 +0530 Subject: [PATCH 3/3] Version 1.1.6 changes. --- README.md | 2 +- setup.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 0696d72..976de55 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # e6data Python Connector -![version](https://img.shields.io/badge/version-1.1.5-blue.svg) +![version](https://img.shields.io/badge/version-1.1.6-blue.svg) ## Introduction diff --git a/setup.py b/setup.py index 5412722..f43e15d 100644 --- a/setup.py +++ b/setup.py @@ -12,7 +12,7 @@ import setuptools -VERSION = [1, 1, 5] +VERSION = [1, 1, 6] def get_long_desc():