Updated on 2023-06-16 GMT+08:00

Converting SQL Statements

Function

This API is used to convert SQL statements.

URI

POST /v1/{project_id}/sql-conversion

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

X-Auth-Token

Yes

String

User token obtained from IAM.

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

source_db_type

Yes

String

Source database type.

Value:

  • ORACLE

target_db_type

Yes

String

Target database type. GaussDB Centralized has been deprecated.

Value:

  • RDS for MySQL
  • GaussDB(for MySQL)
  • RDS for PostgreSQL
  • GaussDB Primary/Standby
  • GaussDB Centralized

target_db_version

Yes

String

Target database version.

CAUTION:

This parameter must be used with target_db_type to form a valid target database type and version. Currently, the following target database types and versions are supported: GaussDB Centralized-2.0 (deprecated), GaussDB Primary/Standby-2.0, RDS for PostgreSQL-11, RDS for PostgreSQL-Enhanced Edition, RDS for MySQL-5.7, and GaussDB(for MySQL)-8.0.

Value:

  • 5.7
  • 8.0
  • 11
  • 2.0
  • Enhanced Edition

sql_statement

Yes

String

SQL statements to be converted.

Response Parameters

Status code: 200

Table 4 Response body parameters

Parameter

Type

Description

is_support_conversion

Boolean

Whether the SQL statements can be converted.

converted_sql_statement

String

Converted SQL statements.

unsupported_items

Array of Table 5 objects

Details about unsupported SQL statements.

Table 5 UnSupportedItem

Parameter

Type

Description

reason

String

Reasons why the SQL statements cannot be converted.

suggestion

String

Modification suggestions for unsupported statements.

line_number

Integer

Line number.

position

Integer

Position.

Example Request

Converting SQL statements (The source database is Oracle and the target database is RDS for PostgreSQL 11.)

POST https://{EndPoint}/v1/{project_id}/sql-conversion 
 
{ 
  "source_db_type" : "ORACLE", 
  "target_db_type" : "RDS for PostgreSQL", 
  "sql_statement" : "create table ugo(col1 int, col2 varchar2);", 
  "target_db_version" : "11" 
}

Example Response

Status code: 200

Request succeeded.

{ 
  "converted_sql_statement" : "create table ugo(col1 NUMERIC(38), col2 VARCHAR);", 
  "is_support_conversion" : true 
}

Status Codes

Status Code

Description

200

Request succeeded.

Error Codes

For details, see Error Codes.