diff --git a/VERSION b/VERSION index e6723f495..2788da1d7 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.36.1544 \ No newline at end of file +1.36.1545 \ No newline at end of file diff --git a/dms-enterprise/CMakeLists.txt b/dms-enterprise/CMakeLists.txt index c00471c88..f603f2d66 100644 --- a/dms-enterprise/CMakeLists.txt +++ b/dms-enterprise/CMakeLists.txt @@ -153,6 +153,8 @@ set(dms-enterprise_public_header_model include/alibabacloud/dms-enterprise/model/GetDataExportDownloadURLResult.h include/alibabacloud/dms-enterprise/model/GetDataExportOrderDetailRequest.h include/alibabacloud/dms-enterprise/model/GetDataExportOrderDetailResult.h + include/alibabacloud/dms-enterprise/model/GetDataExportPreCheckDetailRequest.h + include/alibabacloud/dms-enterprise/model/GetDataExportPreCheckDetailResult.h include/alibabacloud/dms-enterprise/model/GetDataImportSQLRequest.h include/alibabacloud/dms-enterprise/model/GetDataImportSQLResult.h include/alibabacloud/dms-enterprise/model/GetDataTrackJobDegreeRequest.h @@ -560,6 +562,8 @@ set(dms-enterprise_src src/model/GetDataExportDownloadURLResult.cc src/model/GetDataExportOrderDetailRequest.cc src/model/GetDataExportOrderDetailResult.cc + src/model/GetDataExportPreCheckDetailRequest.cc + src/model/GetDataExportPreCheckDetailResult.cc src/model/GetDataImportSQLRequest.cc src/model/GetDataImportSQLResult.cc src/model/GetDataTrackJobDegreeRequest.cc diff --git a/dms-enterprise/include/alibabacloud/dms-enterprise/Dms_enterpriseClient.h b/dms-enterprise/include/alibabacloud/dms-enterprise/Dms_enterpriseClient.h index 408d42491..e933a291d 100644 --- a/dms-enterprise/include/alibabacloud/dms-enterprise/Dms_enterpriseClient.h +++ b/dms-enterprise/include/alibabacloud/dms-enterprise/Dms_enterpriseClient.h @@ -154,6 +154,8 @@ #include "model/GetDataExportDownloadURLResult.h" #include "model/GetDataExportOrderDetailRequest.h" #include "model/GetDataExportOrderDetailResult.h" +#include "model/GetDataExportPreCheckDetailRequest.h" +#include "model/GetDataExportPreCheckDetailResult.h" #include "model/GetDataImportSQLRequest.h" #include "model/GetDataImportSQLResult.h" #include "model/GetDataTrackJobDegreeRequest.h" @@ -633,6 +635,9 @@ namespace AlibabaCloud typedef Outcome GetDataExportOrderDetailOutcome; typedef std::future GetDataExportOrderDetailOutcomeCallable; typedef std::function&)> GetDataExportOrderDetailAsyncHandler; + typedef Outcome GetDataExportPreCheckDetailOutcome; + typedef std::future GetDataExportPreCheckDetailOutcomeCallable; + typedef std::function&)> GetDataExportPreCheckDetailAsyncHandler; typedef Outcome GetDataImportSQLOutcome; typedef std::future GetDataImportSQLOutcomeCallable; typedef std::function&)> GetDataImportSQLAsyncHandler; @@ -1244,6 +1249,9 @@ namespace AlibabaCloud GetDataExportOrderDetailOutcome getDataExportOrderDetail(const Model::GetDataExportOrderDetailRequest &request)const; void getDataExportOrderDetailAsync(const Model::GetDataExportOrderDetailRequest& request, const GetDataExportOrderDetailAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; GetDataExportOrderDetailOutcomeCallable getDataExportOrderDetailCallable(const Model::GetDataExportOrderDetailRequest& request) const; + GetDataExportPreCheckDetailOutcome getDataExportPreCheckDetail(const Model::GetDataExportPreCheckDetailRequest &request)const; + void getDataExportPreCheckDetailAsync(const Model::GetDataExportPreCheckDetailRequest& request, const GetDataExportPreCheckDetailAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + GetDataExportPreCheckDetailOutcomeCallable getDataExportPreCheckDetailCallable(const Model::GetDataExportPreCheckDetailRequest& request) const; GetDataImportSQLOutcome getDataImportSQL(const Model::GetDataImportSQLRequest &request)const; void getDataImportSQLAsync(const Model::GetDataImportSQLRequest& request, const GetDataImportSQLAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; GetDataImportSQLOutcomeCallable getDataImportSQLCallable(const Model::GetDataImportSQLRequest& request) const; diff --git a/dms-enterprise/include/alibabacloud/dms-enterprise/model/GetDataExportPreCheckDetailRequest.h b/dms-enterprise/include/alibabacloud/dms-enterprise/model/GetDataExportPreCheckDetailRequest.h new file mode 100644 index 000000000..d772dcc26 --- /dev/null +++ b/dms-enterprise/include/alibabacloud/dms-enterprise/model/GetDataExportPreCheckDetailRequest.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_GETDATAEXPORTPRECHECKDETAILREQUEST_H_ +#define ALIBABACLOUD_DMS_ENTERPRISE_MODEL_GETDATAEXPORTPRECHECKDETAILREQUEST_H_ + +#include +#include +#include +#include +#include + +namespace AlibabaCloud { +namespace Dms_enterprise { +namespace Model { +class ALIBABACLOUD_DMS_ENTERPRISE_EXPORT GetDataExportPreCheckDetailRequest : public RpcServiceRequest { +public: + GetDataExportPreCheckDetailRequest(); + ~GetDataExportPreCheckDetailRequest(); + long getTid() const; + void setTid(long tid); + long getOrderId() const; + void setOrderId(long orderId); + +private: + long tid_; + long orderId_; +}; +} // namespace Model +} // namespace Dms_enterprise +} // namespace AlibabaCloud +#endif // !ALIBABACLOUD_DMS_ENTERPRISE_MODEL_GETDATAEXPORTPRECHECKDETAILREQUEST_H_ diff --git a/dms-enterprise/include/alibabacloud/dms-enterprise/model/GetDataExportPreCheckDetailResult.h b/dms-enterprise/include/alibabacloud/dms-enterprise/model/GetDataExportPreCheckDetailResult.h new file mode 100644 index 000000000..565916c2e --- /dev/null +++ b/dms-enterprise/include/alibabacloud/dms-enterprise/model/GetDataExportPreCheckDetailResult.h @@ -0,0 +1,67 @@ +/* + * 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_GETDATAEXPORTPRECHECKDETAILRESULT_H_ +#define ALIBABACLOUD_DMS_ENTERPRISE_MODEL_GETDATAEXPORTPRECHECKDETAILRESULT_H_ + +#include +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Dms_enterprise + { + namespace Model + { + class ALIBABACLOUD_DMS_ENTERPRISE_EXPORT GetDataExportPreCheckDetailResult : public ServiceResult + { + public: + struct PreCheckResult + { + struct PreCheckDetailListItem + { + long affectRows; + std::string sQL; + }; + bool ignoreAffectRows; + std::vector preCheckDetailList; + }; + + + GetDataExportPreCheckDetailResult(); + explicit GetDataExportPreCheckDetailResult(const std::string &payload); + ~GetDataExportPreCheckDetailResult(); + PreCheckResult getPreCheckResult()const; + std::string getErrorCode()const; + std::string getErrorMessage()const; + bool getSuccess()const; + + protected: + void parse(const std::string &payload); + private: + PreCheckResult preCheckResult_; + std::string errorCode_; + std::string errorMessage_; + bool success_; + + }; + } + } +} +#endif // !ALIBABACLOUD_DMS_ENTERPRISE_MODEL_GETDATAEXPORTPRECHECKDETAILRESULT_H_ \ No newline at end of file diff --git a/dms-enterprise/include/alibabacloud/dms-enterprise/model/GetOpLogRequest.h b/dms-enterprise/include/alibabacloud/dms-enterprise/model/GetOpLogRequest.h index 39e27e851..8d948e678 100644 --- a/dms-enterprise/include/alibabacloud/dms-enterprise/model/GetOpLogRequest.h +++ b/dms-enterprise/include/alibabacloud/dms-enterprise/model/GetOpLogRequest.h @@ -30,6 +30,8 @@ class ALIBABACLOUD_DMS_ENTERPRISE_EXPORT GetOpLogRequest : public RpcServiceRequ public: GetOpLogRequest(); ~GetOpLogRequest(); + std::string getUserNick() const; + void setUserNick(const std::string &userNick); std::string getStartTime() const; void setStartTime(const std::string &startTime); long getTid() const; @@ -42,14 +44,18 @@ public: void setModule(const std::string &module); std::string getEndTime() const; void setEndTime(const std::string &endTime); + std::string getDatabaseName() const; + void setDatabaseName(const std::string &databaseName); private: + std::string userNick_; std::string startTime_; long tid_; int pageNumber_; int pageSize_; std::string module_; std::string endTime_; + std::string databaseName_; }; } // namespace Model } // namespace Dms_enterprise diff --git a/dms-enterprise/src/Dms-enterpriseClient.cc b/dms-enterprise/src/Dms-enterpriseClient.cc index 259543933..db28329cd 100644 --- a/dms-enterprise/src/Dms-enterpriseClient.cc +++ b/dms-enterprise/src/Dms-enterpriseClient.cc @@ -2427,6 +2427,42 @@ Dms_enterpriseClient::GetDataExportOrderDetailOutcomeCallable Dms_enterpriseClie return task->get_future(); } +Dms_enterpriseClient::GetDataExportPreCheckDetailOutcome Dms_enterpriseClient::getDataExportPreCheckDetail(const GetDataExportPreCheckDetailRequest &request) const +{ + auto endpointOutcome = endpointProvider_->getEndpoint(); + if (!endpointOutcome.isSuccess()) + return GetDataExportPreCheckDetailOutcome(endpointOutcome.error()); + + auto outcome = makeRequest(endpointOutcome.result(), request); + + if (outcome.isSuccess()) + return GetDataExportPreCheckDetailOutcome(GetDataExportPreCheckDetailResult(outcome.result())); + else + return GetDataExportPreCheckDetailOutcome(outcome.error()); +} + +void Dms_enterpriseClient::getDataExportPreCheckDetailAsync(const GetDataExportPreCheckDetailRequest& request, const GetDataExportPreCheckDetailAsyncHandler& handler, const std::shared_ptr& context) const +{ + auto fn = [this, request, handler, context]() + { + handler(this, request, getDataExportPreCheckDetail(request), context); + }; + + asyncExecute(new Runnable(fn)); +} + +Dms_enterpriseClient::GetDataExportPreCheckDetailOutcomeCallable Dms_enterpriseClient::getDataExportPreCheckDetailCallable(const GetDataExportPreCheckDetailRequest &request) const +{ + auto task = std::make_shared>( + [this, request]() + { + return this->getDataExportPreCheckDetail(request); + }); + + asyncExecute(new Runnable([task]() { (*task)(); })); + return task->get_future(); +} + Dms_enterpriseClient::GetDataImportSQLOutcome Dms_enterpriseClient::getDataImportSQL(const GetDataImportSQLRequest &request) const { auto endpointOutcome = endpointProvider_->getEndpoint(); diff --git a/dms-enterprise/src/model/GetDataExportPreCheckDetailRequest.cc b/dms-enterprise/src/model/GetDataExportPreCheckDetailRequest.cc new file mode 100644 index 000000000..952a7389f --- /dev/null +++ b/dms-enterprise/src/model/GetDataExportPreCheckDetailRequest.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 + +using AlibabaCloud::Dms_enterprise::Model::GetDataExportPreCheckDetailRequest; + +GetDataExportPreCheckDetailRequest::GetDataExportPreCheckDetailRequest() + : RpcServiceRequest("dms-enterprise", "2018-11-01", "GetDataExportPreCheckDetail") { + setMethod(HttpRequest::Method::Post); +} + +GetDataExportPreCheckDetailRequest::~GetDataExportPreCheckDetailRequest() {} + +long GetDataExportPreCheckDetailRequest::getTid() const { + return tid_; +} + +void GetDataExportPreCheckDetailRequest::setTid(long tid) { + tid_ = tid; + setParameter(std::string("Tid"), std::to_string(tid)); +} + +long GetDataExportPreCheckDetailRequest::getOrderId() const { + return orderId_; +} + +void GetDataExportPreCheckDetailRequest::setOrderId(long orderId) { + orderId_ = orderId; + setParameter(std::string("OrderId"), std::to_string(orderId)); +} + diff --git a/dms-enterprise/src/model/GetDataExportPreCheckDetailResult.cc b/dms-enterprise/src/model/GetDataExportPreCheckDetailResult.cc new file mode 100644 index 000000000..96ac521db --- /dev/null +++ b/dms-enterprise/src/model/GetDataExportPreCheckDetailResult.cc @@ -0,0 +1,83 @@ +/* + * 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 +#include + +using namespace AlibabaCloud::Dms_enterprise; +using namespace AlibabaCloud::Dms_enterprise::Model; + +GetDataExportPreCheckDetailResult::GetDataExportPreCheckDetailResult() : + ServiceResult() +{} + +GetDataExportPreCheckDetailResult::GetDataExportPreCheckDetailResult(const std::string &payload) : + ServiceResult() +{ + parse(payload); +} + +GetDataExportPreCheckDetailResult::~GetDataExportPreCheckDetailResult() +{} + +void GetDataExportPreCheckDetailResult::parse(const std::string &payload) +{ + Json::Reader reader; + Json::Value value; + reader.parse(payload, value); + setRequestId(value["RequestId"].asString()); + auto preCheckResultNode = value["PreCheckResult"]; + if(!preCheckResultNode["IgnoreAffectRows"].isNull()) + preCheckResult_.ignoreAffectRows = preCheckResultNode["IgnoreAffectRows"].asString() == "true"; + auto allPreCheckDetailListNode = preCheckResultNode["PreCheckDetailList"]["PreCheckDetailListItem"]; + for (auto preCheckResultNodePreCheckDetailListPreCheckDetailListItem : allPreCheckDetailListNode) + { + PreCheckResult::PreCheckDetailListItem preCheckDetailListItemObject; + if(!preCheckResultNodePreCheckDetailListPreCheckDetailListItem["AffectRows"].isNull()) + preCheckDetailListItemObject.affectRows = std::stol(preCheckResultNodePreCheckDetailListPreCheckDetailListItem["AffectRows"].asString()); + if(!preCheckResultNodePreCheckDetailListPreCheckDetailListItem["SQL"].isNull()) + preCheckDetailListItemObject.sQL = preCheckResultNodePreCheckDetailListPreCheckDetailListItem["SQL"].asString(); + preCheckResult_.preCheckDetailList.push_back(preCheckDetailListItemObject); + } + 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"; + +} + +GetDataExportPreCheckDetailResult::PreCheckResult GetDataExportPreCheckDetailResult::getPreCheckResult()const +{ + return preCheckResult_; +} + +std::string GetDataExportPreCheckDetailResult::getErrorCode()const +{ + return errorCode_; +} + +std::string GetDataExportPreCheckDetailResult::getErrorMessage()const +{ + return errorMessage_; +} + +bool GetDataExportPreCheckDetailResult::getSuccess()const +{ + return success_; +} + diff --git a/dms-enterprise/src/model/GetOpLogRequest.cc b/dms-enterprise/src/model/GetOpLogRequest.cc index 9170ba6bf..9f34939f5 100644 --- a/dms-enterprise/src/model/GetOpLogRequest.cc +++ b/dms-enterprise/src/model/GetOpLogRequest.cc @@ -25,6 +25,15 @@ GetOpLogRequest::GetOpLogRequest() GetOpLogRequest::~GetOpLogRequest() {} +std::string GetOpLogRequest::getUserNick() const { + return userNick_; +} + +void GetOpLogRequest::setUserNick(const std::string &userNick) { + userNick_ = userNick; + setParameter(std::string("UserNick"), userNick); +} + std::string GetOpLogRequest::getStartTime() const { return startTime_; } @@ -79,3 +88,12 @@ void GetOpLogRequest::setEndTime(const std::string &endTime) { setParameter(std::string("EndTime"), endTime); } +std::string GetOpLogRequest::getDatabaseName() const { + return databaseName_; +} + +void GetOpLogRequest::setDatabaseName(const std::string &databaseName) { + databaseName_ = databaseName; + setParameter(std::string("DatabaseName"), databaseName); +} +