Updated on 2023-09-13 GMT+08:00

Querying Comparison Results

Function

This API is used to query the comparion result.

Debugging

You can debug the API in API Explorer to support automatic authentication. API Explorer can automatically generate and debug example SDK code.

Constraints

This API can be called only after the API in Creating a Comparison Task is successfully called.

URI

POST /v3/{project_id}/jobs/query-compare-result

Table 1 Path parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID of a tenant in a region.

For details about how to obtain the project ID, see Obtaining a Project ID.

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

Content-Type

Yes

String

The content type.

The default value is application/json.

X-Auth-Token

Yes

String

User token obtained from IAM.

X-Language

No

String

Request language type

Default value: en-us

Values:

  • en-us
  • zh-cn
Table 3 Request body parameters

Parameter

Mandatory

Type

Description

job_id

Yes

String

Task ID

object_level_compare_id

No

String

ID of the object-level comparison task that requests the query result.

line_compare_id

No

String

ID of the row comparison task that requests the query result.

content_compare_id

No

String

ID of the value comparison task that requests the query result.

current_page

Yes

Integer

Current page number for pagination query, which is valid for the query result of comparison tasks.

per_page

Yes

Integer

Number of records on each page. This parameter is valid only for query results of comparison tasks.

Response Parameters

Status code: 200

Table 4 Response body parameters

Parameter

Type

Description

job_id

String

Task ID

object_level_compare_results

Object

Object-level comparison result.

For details, see Table 5.

line_compare_results

Object

Row comparison result.

For details, see Table 8.

content_compare_results

Object

Value comparison result.

For details, see Table 12.

compare_task_list_results

Object

List of comparison tasks.

For details, see Table 18.

error_code

String

Error code.

error_msg

String

Error message.

Table 5 Data structure description of field object_level_compare_results

Parameter

Type

Description

compare_task_id

String

ID of an object-level comparison task.

object_compare_overview

Array of objects

Overview of object comparison results.

For details, see Table 6.

object_compare_details

Map<String,Array<ObjectCompareResultDetails>>

Object comparison result details. The key value is the object type in the object comparison result overview.

For details, see Table 7.

error_code

String

Error code.

error_msg

String

Error message.

Table 6 Data structure description of field object_compare_overview

Parameter

Type

Description

object_type

String

Object type.

Values:

  • DB-database
  • TABLE-table
  • VIEW-view
  • EVENT-event
  • ROUTINE - stored procedure and function
  • INDEX: index
  • TRIGGER: trigger
  • SYNONYM - synonym
  • FUNCTION-function
  • PROCEDURE: stored procedure
  • TYPE: user-defined type
  • RULE-rule
  • DEFAULT_TYPE: default value
  • PLAN_GUIDE-execution plan
  • CONSTRAINT-constraint
  • FILE_GROUP-file group
  • PARTITION_FUNCTION-partition function
  • PARTITION_SCHEME-partition scheme
  • TABLE_COLLATION-table sorting rule
  • EXTENSIONS - Plugin

object_compare_result

String

Comparison result.

Values:

  • CONSISTENT: consistent
  • INCONSISTENT: inconsistent
  • COMPARING: The comparison is in progress
  • WAITING_FOR_COMPARISON: waiting for comparison
  • FAILED_TO_COMPARE: comparison failure
  • TARGET_DB_NOT_EXIT-Destination database does not exist
  • CAN_NOT_COMPARE-Cannot be compared

target_count

Integer

Number of objects of this type in the destination database.

source_count

Integer

Number of objects of this type in the source database.

diff_count

Integer

Number of differences between the source and destination databases.

Table 7 Data structure description of field object_compare_details

Parameter

Type

Description

source_db_name

String

Source database name.

target_db_name

String

Destination database name.

source_db_value

String

Value in the source database.

target_db_value

String

Value in the destination database.

error_message

String

Error message.

Table 8 Data structure description of field line_compare_results

Parameter

Type

Description

compare_task_id

String

ID of a row comparison task.

line_compare_overview

Array of objects

Row comparison result overview.

For details, see Table 9.

line_compare_overview_count

Integer

Row comparison result overview.

line_compare_details

Array of objects

Row comparison result details.

For details, see Table 10.

error_code

String

Error code.

error_msg

String

Error message.

Table 9 Data structure description of field line_compare_overview

Parameter

Type

Description

source_db_name

String

Source database name.

target_db_name

String

Destination database name.

line_compare_result

String

Comparison result.

Values:

  • CONSISTENT: consistent
  • INCONSISTENT: inconsistent
  • COMPARING: The comparison is in progress
  • WAITING_FOR_COMPARISON: waiting for comparison
  • FAILED_TO_COMPARE: comparison failure
  • TARGET_DB_NOT_EXIT-Destination database does not exist
  • CAN_NOT_COMPARE-Cannot be compared
Table 10 Data structure description of field line_compare_details

Parameter

Type

Description

source_db_name

String

Source database name.

line_compare_detail

Array of objects

Row comparison details of the tables in the database.

For details, see Table 11.

line_compare_detail_count

Integer

Total number of row comparison results in the database.

Table 11 Data structure description of field line_compare_detail

Parameter

Type

Description

source_table_name

String

Table name of the source database.

target_table_name

String

Table name of the destination database.

source_row_num

Integer

Number of table rows in the source database.

target_row_num

Integer

Number of table rows in the destination database.

diff_row_num

Integer

Difference between the tables in the source and destination databases.

line_compare_result

String

Comparison result.

Values:

  • CONSISTENT: consistent
  • INCONSISTENT: inconsistent
  • COMPARING: The comparison is in progress
  • WAITING_FOR_COMPARISON: waiting for comparison
  • FAILED_TO_COMPARE: comparison failure
  • TARGET_DB_NOT_EXIT-Destination database does not exist
  • CAN_NOT_COMPARE-Cannot be compared

message

String

Additional information.

Table 12 Data structure description of field content_compare_results

Parameter

Type

Description

compare_task_id

String

ID of a value comparison task.

content_compare_overview

Array of objects

Content comparison result overview.

For details, see Table 13.

content_compare_overview_count

Integer

Total number of value comparison results.

content_compare_details

Array of objects

Value comparison result details.

For details, see Table 14.

content_compare_diffs

Array of objects

The value comparison results are different.

For details, see Table 16.

error_code

String

Error code.

error_msg

String

Error message.

Table 13 Data structure description of field content_compare_overview

Parameter

Type

Description

source_db_name

String

Source database name.

target_db_name

String

Destination database name.

content_compare_result

String

Comparison result.

Values:

  • CONSISTENT: consistent
  • INCONSISTENT: inconsistent
  • COMPARING: The comparison is in progress
  • WAITING_FOR_COMPARISON: waiting for comparison
  • FAILED_TO_COMPARE: comparison failure
  • TARGET_DB_NOT_EXIT-Destination database does not exist
  • CAN_NOT_COMPARE-Cannot be compared
Table 14 Data structure description of field content_compare_details

Parameter

Type

Description

source_db_name

String

Source database name.

content_compare_detail

Array of objects

Value comparison details of the tables in the database.

For details, see Table 15.

content_compare_detail_count

Integer

Total number of value comparison results.

content_uncompare_detail

Array of objects

Value comparison details of tables in the database (tables that cannot be compared).

For details, see Table 15.

content_uncompare_detail_count

Integer

Total number of value comparison results (tables that cannot be compared).

Table 15 Data structure description of fields content_compare_detail and content_uncompare_detail

Parameter

Type

Description

source_db_name

String

Source database name.

target_db_name

String

Destination database name.

source_table_name

String

Source database name.

target_table_name

String

Name of a table in the destination database.

source_row_num

Integer

Number of rows in the table of the source database.

target_row_num

Integer

Number of rows in the table of the destination database.

diff_row_num

Integer

Difference between the tables in the source and destination databases.

line_compare_result

String

Row comparison result.

Values:

  • CONSISTENT: consistent
  • INCONSISTENT: inconsistent
  • COMPARING: The comparison is in progress
  • WAITING_FOR_COMPARISON: waiting for comparison
  • FAILED_TO_COMPARE: comparison failure
  • TARGET_DB_NOT_EXIT-Destination database does not exist
  • CAN_NOT_COMPARE-Cannot be compared

content_compare_result

String

Value comparison result.

Values:

  • CONSISTENT: consistent
  • INCONSISTENT: inconsistent
  • COMPARING: The comparison is in progress
  • WAITING_FOR_COMPARISON: waiting for comparison
  • FAILED_TO_COMPARE: comparison failure
  • TARGET_DB_NOT_EXIT-Destination database does not exist
  • CAN_NOT_COMPARE-Cannot be compared

message

String

Provides additional information.

Table 16 Data structure description of field content_compare_diffs

Parameter

Type

Description

source_db_name

String

Source database name.

source_table_name

String

Table name of the source database.

content_compare_diff

Array of objects

The value comparison results are different.

For details, see Table 17.

content_compare_diff_count

Integer

Total number of differences in the value comparison result.

Table 17 Data structure description of field content_compare_diff

Parameter

Type

Description

target_select_sql

String

Query the SQL statements of the destination database.

source_select_sql

String

Query the SQL statements of the source database.

source_key_value

Array of strings

Key value list of the source database.

target_key_value

Array of strings

Key value list of the destination database.

Table 18 Data structure description of field compare_task_list_results

Parameter

Type

Description

compare_task_list

Array of objects

List of comparison tasks.

For details, see Table 19.

compare_task_list_count

Integer

Total number of comparison tasks.

error_msg

String

Error message.

error_code

String

Error code.

Table 19 Data structure description of field compare_task_list

Parameter

Type

Description

compare_task_id

String

ID of a comparison task.

compare_type

String

Type of a comparison task.

compare_task_status

String

Status of a comparison task.

Values:

  • RUNNING: The instance is running.
  • WAITING_FOR_RUNNING: waiting to be started
  • SUCCESSFUL: complete
  • FAILED: The migration task failed.
  • CANCELLED: canceled
  • TIMEOUT_INTERRUPT: timeout interrupt
  • FULL_DOING: Full verification is in progress
  • INCRE_DOING: incremental verification in progress

create_time

String

Comparison start time

end_time

String

Comparison end time

Example Request

Request for querying the comparison result:

https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/query-compare-result

{
  "job_id" : "94800607-3cd8-4f7d-a340-63a10f8jb502",
  "object_level_compare_id" : "dc1683d9-bdf2-4be9-967f-6ef0953369bc",
  "line_compare_id" : "d45d569d-0a80-4cef-a412-da2a3bcdc9b7",
  "content_compare_id" : "79e206e6-13eb-4556-8cd5-c994c9cbd4e6",
  "current_page" : 1,
  "per_page" : 2
}

Example Response

Status code: 200

OK

{
  "job_id" : "c6e65e6a-de99-4112-9697-7c1923ajb201",
  "object_level_compare_results" : {
    "compare_task_id" : "dc1683d9-bdf2-4be9-967f-6ef0953369bc",
    "object_compare_overview" : [ {
      "object_type" : "DB",
      "object_compare_result" : "CONSISTENT",
      "source_count" : 1,
      "target_count" : 1,
      "diff_count" : 0
    }, {
      "object_type" : "INDEX",
      "object_compare_result" : "CONSISTENT",
      "source_count" : 12,
      "target_count" : 12,
      "diff_count" : 0
    }, {
      "object_type" : "TABLE",
      "object_compare_result" : "CONSISTENT",
      "source_count" : 6,
      "target_count" : 6,
      "diff_count" : 0
    } ],
    "object_compare_details" : {
      "TABLE" : [ {
        "source_db_name" : "may_5",
        "target_db_name" : "may_5",
        "source_db_value" : "add_table_name_0",
        "target_db_value" : "add_table_name_0"
      }, {
        "source_db_name" : "may_5",
        "target_db_name" : "may_5",
        "source_db_value" : "table_name_3",
        "target_db_value" : "table_name_3"
      } ],
      "INDEX" : [ {
        "source_db_name" : "may_5",
        "target_db_name" : "may_5",
        "source_db_value" : "`add_table_name_0`.`PRIMARY`",
        "target_db_value" : "`add_table_name_0`.`PRIMARY`"
      }, {
        "source_db_name" : "may_5",
        "target_db_name" : "may_5",
        "source_db_value" : "`add_table_name_0`.`bak0`",
        "target_db_value" : "`add_table_name_0`.`bak0`"
      } ],
      "DB" : [ {
        "source_db_name" : "may_5",
        "target_db_name" : "may_5",
        "source_db_value" : "may_5",
        "target_db_value" : "may_5"
      } ]
    }
  },
  "line_compare_results" : {
    "compare_task_id" : "d45d569d-0a80-4cef-a412-da2a3bcdc9b7",
    "line_compare_overview" : [ {
      "source_db_name" : "may_5",
      "target_db_name" : "may_5",
      "line_compare_result" : "INCONSISTENT"
    } ],
    "line_compare_overview_count" : 1,
    "line_compare_details" : [ {
      "source_db_name" : "may_5",
      "line_compare_detail" : [ {
        "source_table_name" : "table_name_0",
        "source_row_num" : 0,
        "target_table_name" : "table_name_0",
        "target_row_num" : 1,
        "diff_row_num" : 1,
        "line_compare_result" : "INCONSISTENT"
      }, {
        "source_table_name" : "table_name_1",
        "source_row_num" : 0,
        "target_table_name" : "table_name_1",
        "target_row_num" : 0,
        "diff_row_num" : 0,
        "line_compare_result" : "CONSISTENT"
      } ],
      "line_compare_detail_count" : 2
    } ]
  },
  "content_compare_results" : {
    "compare_task_id" : "79e206e6-13eb-4556-8cd5-c994c9cbd4e6",
    "content_compare_overview" : [ {
      "source_db_name" : "may_5",
      "target_db_name" : "may_5",
      "content_compare_result" : "INCONSISTENT"
    } ],
    "content_compare_overview_count" : 1,
    "content_compare_details" : [ {
      "source_db_name" : "may_5",
      "content_compare_detail" : [ {
        "source_db_name" : "may_5",
        "target_db_name" : "may_5",
        "source_table_name" : "table_name_0",
        "target_table_name" : "table_name_0",
        "source_row_num" : 0,
        "target_row_num" : 1,
        "diff_row_num" : 1,
        "line_compare_result" : "INCONSISTENT",
        "content_compare_result" : "INCONSISTENT"
      }, {
        "source_db_name" : "may_5",
        "target_db_name" : "may_5",
        "source_table_name" : "table_name_1",
        "target_table_name" : "table_name_1",
        "source_row_num" : 0,
        "target_row_num" : 0,
        "diff_row_num" : 0,
        "line_compare_result" : "CONSISTENT",
        "content_compare_result" : "CONSISTENT"
      } ],
      "content_compare_detail_count" : 2,
      "content_uncompare_detail" : [ ],
      "content_uncompare_detail_count" : 0
    } ],
    "content_compare_diffs" : [ {
      "source_db_name" : "may_5",
      "source_table_name" : "table_name_0",
      "content_compare_diff" : [ {
        "target_key_value" : [ "5" ],
        "target_select_sql" : "select * from may_5.table_name_0 where id = 5"
      } ],
      "content_compare_diff_count" : 1
    } ]
  },
  "compare_task_list_results" : {
    "compare_task_list_count" : 8,
    "compare_task_list" : [ {
      "compare_task_id" : "08cad1f8-9de2-42fa-b8ce-6c36daf730f6",
      "compare_type" : "contents",
      "compare_task_status" : "SUCCESSFUL",
      "create_time" : "1607766111833",
      "end_time" : "1607766310812"
    }, {
      "compare_task_id" : "dc1683d9-bdf2-4be9-967f-6ef0953369bc",
      "compare_type" : "object_comparison",
      "compare_task_status" : "SUCCESSFUL",
      "create_time" : "1607766110535",
      "end_time" : "1607766127373"
    } ]
  }
}

Status Code

Status Code

Description

200

OK

400

Bad Request

Error Code

For details, see Error Code.