Browse Source

Support GetSQLReviewOptimizeDetail,ListSQLReviewOriginSQL Order API.

sdk-team 5 years ago
parent
commit
ec69dc6bc1

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2021-06-28 Version: 1.36.802
+- Support GetSQLReviewOptimizeDetail,ListSQLReviewOriginSQL Order API.
+
 2021-06-25 Version: 1.36.801
 - Supported new features for outbound.
 

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.801
+1.36.802

+ 4 - 0
dms-enterprise/CMakeLists.txt

@@ -101,6 +101,8 @@ set(dms-enterprise_public_header_model
 	include/alibabacloud/dms-enterprise/model/GetPhysicalDatabaseResult.h
 	include/alibabacloud/dms-enterprise/model/GetSQLReviewCheckResultStatusRequest.h
 	include/alibabacloud/dms-enterprise/model/GetSQLReviewCheckResultStatusResult.h
+	include/alibabacloud/dms-enterprise/model/GetSQLReviewOptimizeDetailRequest.h
+	include/alibabacloud/dms-enterprise/model/GetSQLReviewOptimizeDetailResult.h
 	include/alibabacloud/dms-enterprise/model/GetStructSyncExecSqlDetailRequest.h
 	include/alibabacloud/dms-enterprise/model/GetStructSyncExecSqlDetailResult.h
 	include/alibabacloud/dms-enterprise/model/GetStructSyncJobAnalyzeResultRequest.h
@@ -268,6 +270,8 @@ set(dms-enterprise_src
 	src/model/GetPhysicalDatabaseResult.cc
 	src/model/GetSQLReviewCheckResultStatusRequest.cc
 	src/model/GetSQLReviewCheckResultStatusResult.cc
+	src/model/GetSQLReviewOptimizeDetailRequest.cc
+	src/model/GetSQLReviewOptimizeDetailResult.cc
 	src/model/GetStructSyncExecSqlDetailRequest.cc
 	src/model/GetStructSyncExecSqlDetailResult.cc
 	src/model/GetStructSyncJobAnalyzeResultRequest.cc

+ 8 - 0
dms-enterprise/include/alibabacloud/dms-enterprise/Dms_enterpriseClient.h

@@ -102,6 +102,8 @@
 #include "model/GetPhysicalDatabaseResult.h"
 #include "model/GetSQLReviewCheckResultStatusRequest.h"
 #include "model/GetSQLReviewCheckResultStatusResult.h"
+#include "model/GetSQLReviewOptimizeDetailRequest.h"
+#include "model/GetSQLReviewOptimizeDetailResult.h"
 #include "model/GetStructSyncExecSqlDetailRequest.h"
 #include "model/GetStructSyncExecSqlDetailResult.h"
 #include "model/GetStructSyncJobAnalyzeResultRequest.h"
@@ -315,6 +317,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::GetSQLReviewCheckResultStatusResult> GetSQLReviewCheckResultStatusOutcome;
 			typedef std::future<GetSQLReviewCheckResultStatusOutcome> GetSQLReviewCheckResultStatusOutcomeCallable;
 			typedef std::function<void(const Dms_enterpriseClient*, const Model::GetSQLReviewCheckResultStatusRequest&, const GetSQLReviewCheckResultStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetSQLReviewCheckResultStatusAsyncHandler;
+			typedef Outcome<Error, Model::GetSQLReviewOptimizeDetailResult> GetSQLReviewOptimizeDetailOutcome;
+			typedef std::future<GetSQLReviewOptimizeDetailOutcome> GetSQLReviewOptimizeDetailOutcomeCallable;
+			typedef std::function<void(const Dms_enterpriseClient*, const Model::GetSQLReviewOptimizeDetailRequest&, const GetSQLReviewOptimizeDetailOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetSQLReviewOptimizeDetailAsyncHandler;
 			typedef Outcome<Error, Model::GetStructSyncExecSqlDetailResult> GetStructSyncExecSqlDetailOutcome;
 			typedef std::future<GetStructSyncExecSqlDetailOutcome> GetStructSyncExecSqlDetailOutcomeCallable;
 			typedef std::function<void(const Dms_enterpriseClient*, const Model::GetStructSyncExecSqlDetailRequest&, const GetStructSyncExecSqlDetailOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetStructSyncExecSqlDetailAsyncHandler;
@@ -566,6 +571,9 @@ namespace AlibabaCloud
 			GetSQLReviewCheckResultStatusOutcome getSQLReviewCheckResultStatus(const Model::GetSQLReviewCheckResultStatusRequest &request)const;
 			void getSQLReviewCheckResultStatusAsync(const Model::GetSQLReviewCheckResultStatusRequest& request, const GetSQLReviewCheckResultStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			GetSQLReviewCheckResultStatusOutcomeCallable getSQLReviewCheckResultStatusCallable(const Model::GetSQLReviewCheckResultStatusRequest& request) const;
+			GetSQLReviewOptimizeDetailOutcome getSQLReviewOptimizeDetail(const Model::GetSQLReviewOptimizeDetailRequest &request)const;
+			void getSQLReviewOptimizeDetailAsync(const Model::GetSQLReviewOptimizeDetailRequest& request, const GetSQLReviewOptimizeDetailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetSQLReviewOptimizeDetailOutcomeCallable getSQLReviewOptimizeDetailCallable(const Model::GetSQLReviewOptimizeDetailRequest& request) const;
 			GetStructSyncExecSqlDetailOutcome getStructSyncExecSqlDetail(const Model::GetStructSyncExecSqlDetailRequest &request)const;
 			void getStructSyncExecSqlDetailAsync(const Model::GetStructSyncExecSqlDetailRequest& request, const GetStructSyncExecSqlDetailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			GetStructSyncExecSqlDetailOutcomeCallable getStructSyncExecSqlDetailCallable(const Model::GetStructSyncExecSqlDetailRequest& request) const;

+ 45 - 0
dms-enterprise/include/alibabacloud/dms-enterprise/model/GetSQLReviewOptimizeDetailRequest.h

@@ -0,0 +1,45 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DMS_ENTERPRISE_MODEL_GETSQLREVIEWOPTIMIZEDETAILREQUEST_H_
+#define ALIBABACLOUD_DMS_ENTERPRISE_MODEL_GETSQLREVIEWOPTIMIZEDETAILREQUEST_H_
+
+#include <alibabacloud/dms-enterprise/Dms_enterpriseExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Dms_enterprise {
+namespace Model {
+class ALIBABACLOUD_DMS_ENTERPRISE_EXPORT GetSQLReviewOptimizeDetailRequest : public RpcServiceRequest {
+public:
+	GetSQLReviewOptimizeDetailRequest();
+	~GetSQLReviewOptimizeDetailRequest();
+	std::string getSQLReviewQueryKey() const;
+	void setSQLReviewQueryKey(const std::string &sQLReviewQueryKey);
+	long getTid() const;
+	void setTid(long tid);
+
+private:
+	std::string sQLReviewQueryKey_;
+	long tid_;
+};
+} // namespace Model
+} // namespace Dms_enterprise
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DMS_ENTERPRISE_MODEL_GETSQLREVIEWOPTIMIZEDETAILREQUEST_H_

+ 86 - 0
dms-enterprise/include/alibabacloud/dms-enterprise/model/GetSQLReviewOptimizeDetailResult.h

@@ -0,0 +1,86 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DMS_ENTERPRISE_MODEL_GETSQLREVIEWOPTIMIZEDETAILRESULT_H_
+#define ALIBABACLOUD_DMS_ENTERPRISE_MODEL_GETSQLREVIEWOPTIMIZEDETAILRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/dms-enterprise/Dms_enterpriseExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dms_enterprise
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DMS_ENTERPRISE_EXPORT GetSQLReviewOptimizeDetailResult : public ServiceResult
+			{
+			public:
+				struct OptimizeDetail
+				{
+					struct QualityResult
+					{
+						struct ResultsItem
+						{
+							struct ScriptsItem
+							{
+								std::string tableName;
+								std::string content;
+								std::string opType;
+							};
+							std::vector<std::string> messages;
+							std::vector<ResultsItem::ScriptsItem> scripts;
+							std::string feedback;
+							std::string comments;
+							std::string ruleType;
+							std::string ruleName;
+						};
+						bool occurError;
+						std::vector<ResultsItem> results;
+						std::string errorMessage;
+					};
+					int instanceId;
+					std::string queryKey;
+					int dbId;
+					std::string sqlType;
+					QualityResult qualityResult;
+				};
+
+
+				GetSQLReviewOptimizeDetailResult();
+				explicit GetSQLReviewOptimizeDetailResult(const std::string &payload);
+				~GetSQLReviewOptimizeDetailResult();
+				OptimizeDetail getOptimizeDetail()const;
+				std::string getErrorCode()const;
+				std::string getErrorMessage()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				OptimizeDetail optimizeDetail_;
+				std::string errorCode_;
+				std::string errorMessage_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DMS_ENTERPRISE_MODEL_GETSQLREVIEWOPTIMIZEDETAILRESULT_H_

+ 3 - 0
dms-enterprise/include/alibabacloud/dms-enterprise/model/ListSQLReviewOriginSQLResult.h

@@ -34,13 +34,16 @@ namespace AlibabaCloud
 			public:
 				struct OriginSQLListItem
 				{
+					std::string sqlHash;
 					std::string statusDesc;
 					std::string sQLContent;
 					std::string checkedTime;
 					std::string fileName;
 					std::string checkStatus;
 					long fileId;
+					std::string reviewSummary;
 					long sQLId;
+					std::string sQLReviewQueryKey;
 				};
 
 

+ 36 - 0
dms-enterprise/src/Dms-enterpriseClient.cc

@@ -1491,6 +1491,42 @@ Dms_enterpriseClient::GetSQLReviewCheckResultStatusOutcomeCallable Dms_enterpris
 	return task->get_future();
 }
 
+Dms_enterpriseClient::GetSQLReviewOptimizeDetailOutcome Dms_enterpriseClient::getSQLReviewOptimizeDetail(const GetSQLReviewOptimizeDetailRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetSQLReviewOptimizeDetailOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetSQLReviewOptimizeDetailOutcome(GetSQLReviewOptimizeDetailResult(outcome.result()));
+	else
+		return GetSQLReviewOptimizeDetailOutcome(outcome.error());
+}
+
+void Dms_enterpriseClient::getSQLReviewOptimizeDetailAsync(const GetSQLReviewOptimizeDetailRequest& request, const GetSQLReviewOptimizeDetailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getSQLReviewOptimizeDetail(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+Dms_enterpriseClient::GetSQLReviewOptimizeDetailOutcomeCallable Dms_enterpriseClient::getSQLReviewOptimizeDetailCallable(const GetSQLReviewOptimizeDetailRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetSQLReviewOptimizeDetailOutcome()>>(
+			[this, request]()
+			{
+			return this->getSQLReviewOptimizeDetail(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 Dms_enterpriseClient::GetStructSyncExecSqlDetailOutcome Dms_enterpriseClient::getStructSyncExecSqlDetail(const GetStructSyncExecSqlDetailRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 45 - 0
dms-enterprise/src/model/GetSQLReviewOptimizeDetailRequest.cc

@@ -0,0 +1,45 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/dms-enterprise/model/GetSQLReviewOptimizeDetailRequest.h>
+
+using AlibabaCloud::Dms_enterprise::Model::GetSQLReviewOptimizeDetailRequest;
+
+GetSQLReviewOptimizeDetailRequest::GetSQLReviewOptimizeDetailRequest()
+    : RpcServiceRequest("dms-enterprise", "2018-11-01", "GetSQLReviewOptimizeDetail") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+GetSQLReviewOptimizeDetailRequest::~GetSQLReviewOptimizeDetailRequest() {}
+
+std::string GetSQLReviewOptimizeDetailRequest::getSQLReviewQueryKey() const {
+  return sQLReviewQueryKey_;
+}
+
+void GetSQLReviewOptimizeDetailRequest::setSQLReviewQueryKey(const std::string &sQLReviewQueryKey) {
+  sQLReviewQueryKey_ = sQLReviewQueryKey;
+  setParameter(std::string("SQLReviewQueryKey"), sQLReviewQueryKey);
+}
+
+long GetSQLReviewOptimizeDetailRequest::getTid() const {
+  return tid_;
+}
+
+void GetSQLReviewOptimizeDetailRequest::setTid(long tid) {
+  tid_ = tid;
+  setParameter(std::string("Tid"), std::to_string(tid));
+}
+

+ 113 - 0
dms-enterprise/src/model/GetSQLReviewOptimizeDetailResult.cc

@@ -0,0 +1,113 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/dms-enterprise/model/GetSQLReviewOptimizeDetailResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Dms_enterprise;
+using namespace AlibabaCloud::Dms_enterprise::Model;
+
+GetSQLReviewOptimizeDetailResult::GetSQLReviewOptimizeDetailResult() :
+	ServiceResult()
+{}
+
+GetSQLReviewOptimizeDetailResult::GetSQLReviewOptimizeDetailResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+GetSQLReviewOptimizeDetailResult::~GetSQLReviewOptimizeDetailResult()
+{}
+
+void GetSQLReviewOptimizeDetailResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto optimizeDetailNode = value["OptimizeDetail"];
+	if(!optimizeDetailNode["QueryKey"].isNull())
+		optimizeDetail_.queryKey = optimizeDetailNode["QueryKey"].asString();
+	if(!optimizeDetailNode["InstanceId"].isNull())
+		optimizeDetail_.instanceId = std::stoi(optimizeDetailNode["InstanceId"].asString());
+	if(!optimizeDetailNode["DbId"].isNull())
+		optimizeDetail_.dbId = std::stoi(optimizeDetailNode["DbId"].asString());
+	if(!optimizeDetailNode["SqlType"].isNull())
+		optimizeDetail_.sqlType = optimizeDetailNode["SqlType"].asString();
+	auto qualityResultNode = optimizeDetailNode["QualityResult"];
+	if(!qualityResultNode["ErrorMessage"].isNull())
+		optimizeDetail_.qualityResult.errorMessage = qualityResultNode["ErrorMessage"].asString();
+	if(!qualityResultNode["OccurError"].isNull())
+		optimizeDetail_.qualityResult.occurError = qualityResultNode["OccurError"].asString() == "true";
+	auto allResultsNode = qualityResultNode["Results"]["ResultsItem"];
+	for (auto qualityResultNodeResultsResultsItem : allResultsNode)
+	{
+		OptimizeDetail::QualityResult::ResultsItem resultsItemObject;
+		if(!qualityResultNodeResultsResultsItem["RuleName"].isNull())
+			resultsItemObject.ruleName = qualityResultNodeResultsResultsItem["RuleName"].asString();
+		if(!qualityResultNodeResultsResultsItem["Feedback"].isNull())
+			resultsItemObject.feedback = qualityResultNodeResultsResultsItem["Feedback"].asString();
+		if(!qualityResultNodeResultsResultsItem["Comments"].isNull())
+			resultsItemObject.comments = qualityResultNodeResultsResultsItem["Comments"].asString();
+		if(!qualityResultNodeResultsResultsItem["RuleType"].isNull())
+			resultsItemObject.ruleType = qualityResultNodeResultsResultsItem["RuleType"].asString();
+		auto allScriptsNode = qualityResultNodeResultsResultsItem["Scripts"]["ScriptsItem"];
+		for (auto qualityResultNodeResultsResultsItemScriptsScriptsItem : allScriptsNode)
+		{
+			OptimizeDetail::QualityResult::ResultsItem::ScriptsItem scriptsObject;
+			if(!qualityResultNodeResultsResultsItemScriptsScriptsItem["OpType"].isNull())
+				scriptsObject.opType = qualityResultNodeResultsResultsItemScriptsScriptsItem["OpType"].asString();
+			if(!qualityResultNodeResultsResultsItemScriptsScriptsItem["Content"].isNull())
+				scriptsObject.content = qualityResultNodeResultsResultsItemScriptsScriptsItem["Content"].asString();
+			if(!qualityResultNodeResultsResultsItemScriptsScriptsItem["TableName"].isNull())
+				scriptsObject.tableName = qualityResultNodeResultsResultsItemScriptsScriptsItem["TableName"].asString();
+			resultsItemObject.scripts.push_back(scriptsObject);
+		}
+		auto allMessages = value["Messages"]["Messages"];
+		for (auto value : allMessages)
+			resultsItemObject.messages.push_back(value.asString());
+		optimizeDetail_.qualityResult.results.push_back(resultsItemObject);
+	}
+	if(!value["ErrorCode"].isNull())
+		errorCode_ = value["ErrorCode"].asString();
+	if(!value["ErrorMessage"].isNull())
+		errorMessage_ = value["ErrorMessage"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+GetSQLReviewOptimizeDetailResult::OptimizeDetail GetSQLReviewOptimizeDetailResult::getOptimizeDetail()const
+{
+	return optimizeDetail_;
+}
+
+std::string GetSQLReviewOptimizeDetailResult::getErrorCode()const
+{
+	return errorCode_;
+}
+
+std::string GetSQLReviewOptimizeDetailResult::getErrorMessage()const
+{
+	return errorMessage_;
+}
+
+bool GetSQLReviewOptimizeDetailResult::getSuccess()const
+{
+	return success_;
+}
+

+ 6 - 0
dms-enterprise/src/model/ListSQLReviewOriginSQLResult.cc

@@ -57,6 +57,12 @@ void ListSQLReviewOriginSQLResult::parse(const std::string &payload)
 			originSQLListObject.statusDesc = valueOriginSQLListOriginSQLListItem["StatusDesc"].asString();
 		if(!valueOriginSQLListOriginSQLListItem["CheckedTime"].isNull())
 			originSQLListObject.checkedTime = valueOriginSQLListOriginSQLListItem["CheckedTime"].asString();
+		if(!valueOriginSQLListOriginSQLListItem["SqlHash"].isNull())
+			originSQLListObject.sqlHash = valueOriginSQLListOriginSQLListItem["SqlHash"].asString();
+		if(!valueOriginSQLListOriginSQLListItem["ReviewSummary"].isNull())
+			originSQLListObject.reviewSummary = valueOriginSQLListOriginSQLListItem["ReviewSummary"].asString();
+		if(!valueOriginSQLListOriginSQLListItem["SQLReviewQueryKey"].isNull())
+			originSQLListObject.sQLReviewQueryKey = valueOriginSQLListOriginSQLListItem["SQLReviewQueryKey"].asString();
 		originSQLList_.push_back(originSQLListObject);
 	}
 	if(!value["ErrorCode"].isNull())