-
Notifications
You must be signed in to change notification settings - Fork 605
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: Add SQL translation service to Bazel generation (#36)
* feat: Add SQL translation service to Bazel generation PiperOrigin-RevId: 512937316 Source-Link: googleapis/googleapis@178674c Source-Link: googleapis/googleapis-gen@131f327 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiMTMxZjMyNzEyNTZlMGE3YTJhYjk2ZDQyNTQwZWYwNWM5Y2FjZWM3ZCJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --------- Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
- Loading branch information
1 parent
6287614
commit 8b97120
Showing
13 changed files
with
3,604 additions
and
1 deletion.
There are no files selected for viewing
135 changes: 135 additions & 0 deletions
135
...gquery-migration/protos/google/cloud/bigquery/migration/v2alpha/translation_service.proto
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,135 @@ | ||
// Copyright 2021 Google LLC | ||
// | ||
// 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. | ||
|
||
syntax = "proto3"; | ||
|
||
package google.cloud.bigquery.migration.v2alpha; | ||
|
||
import "google/api/annotations.proto"; | ||
import "google/api/client.proto"; | ||
import "google/api/field_behavior.proto"; | ||
import "google/api/resource.proto"; | ||
|
||
option csharp_namespace = "Google.Cloud.BigQuery.Migration.V2Alpha"; | ||
option go_package = "cloud.google.com/go/bigquery/migration/apiv2alpha/migrationpb;migrationpb"; | ||
option java_multiple_files = true; | ||
option java_outer_classname = "TranslationServiceProto"; | ||
option java_package = "com.google.cloud.bigquery.migration.v2alpha"; | ||
option php_namespace = "Google\\Cloud\\BigQuery\\Migration\\V2alpha"; | ||
|
||
// Provides other SQL dialects to GoogleSQL translation operations. | ||
service SqlTranslationService { | ||
option (google.api.default_host) = "bigquerymigration.googleapis.com"; | ||
option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; | ||
|
||
// Translates input queries from source dialects to GoogleSQL. | ||
rpc TranslateQuery(TranslateQueryRequest) returns (TranslateQueryResponse) { | ||
option (google.api.http) = { | ||
post: "/v2alpha/{parent=projects/*/locations/*}:translateQuery" | ||
body: "*" | ||
}; | ||
option (google.api.method_signature) = "parent,source_dialect,query"; | ||
} | ||
} | ||
|
||
// The request of translating a SQL query to Standard SQL. | ||
message TranslateQueryRequest { | ||
// Supported SQL translation source dialects. | ||
enum SqlTranslationSourceDialect { | ||
// SqlTranslationSourceDialect not specified. | ||
SQL_TRANSLATION_SOURCE_DIALECT_UNSPECIFIED = 0; | ||
|
||
// Teradata SQL. | ||
TERADATA = 1; | ||
} | ||
|
||
// Required. The name of the project to which this translation request belongs. | ||
// Example: `projects/foo/locations/bar` | ||
string parent = 1 [ | ||
(google.api.field_behavior) = REQUIRED, | ||
(google.api.resource_reference) = { | ||
type: "locations.googleapis.com/Location" | ||
} | ||
]; | ||
|
||
// Required. The source SQL dialect of `queries`. | ||
SqlTranslationSourceDialect source_dialect = 2 [(google.api.field_behavior) = REQUIRED]; | ||
|
||
// Required. The query to be translated. | ||
string query = 3 [(google.api.field_behavior) = REQUIRED]; | ||
} | ||
|
||
// The response of translating a SQL query to Standard SQL. | ||
message TranslateQueryResponse { | ||
// Output only. Immutable. The unique identifier for the SQL translation job. | ||
// Example: `projects/123/locations/us/translation/1234` | ||
string translation_job = 4 [ | ||
(google.api.field_behavior) = OUTPUT_ONLY, | ||
(google.api.field_behavior) = IMMUTABLE | ||
]; | ||
|
||
// The translated result. This will be empty if the translation fails. | ||
string translated_query = 1; | ||
|
||
// The list of errors encountered during the translation, if present. | ||
repeated SqlTranslationError errors = 2; | ||
|
||
// The list of warnings encountered during the translation, if present, | ||
// indicates non-semantically correct translation. | ||
repeated SqlTranslationWarning warnings = 3; | ||
} | ||
|
||
// Structured error object capturing the error message and the location in the | ||
// source text where the error occurs. | ||
message SqlTranslationErrorDetail { | ||
// Specifies the row from the source text where the error occurred. | ||
int64 row = 1; | ||
|
||
// Specifie the column from the source texts where the error occurred. | ||
int64 column = 2; | ||
|
||
// A human-readable description of the error. | ||
string message = 3; | ||
} | ||
|
||
// The detailed error object if the SQL translation job fails. | ||
message SqlTranslationError { | ||
// The error type of the SQL translation job. | ||
enum SqlTranslationErrorType { | ||
// SqlTranslationErrorType not specified. | ||
SQL_TRANSLATION_ERROR_TYPE_UNSPECIFIED = 0; | ||
|
||
// Failed to parse the input text as a SQL query. | ||
SQL_PARSE_ERROR = 1; | ||
|
||
// Found unsupported functions in the input SQL query that are not able to | ||
// translate. | ||
UNSUPPORTED_SQL_FUNCTION = 2; | ||
} | ||
|
||
// The type of SQL translation error. | ||
SqlTranslationErrorType error_type = 1; | ||
|
||
// Specifies the details of the error, including the error message and | ||
// location from the source text. | ||
SqlTranslationErrorDetail error_detail = 2; | ||
} | ||
|
||
// The detailed warning object if the SQL translation job is completed but not | ||
// semantically correct. | ||
message SqlTranslationWarning { | ||
// Specifies the details of the warning, including the warning message and | ||
// location from the source text. | ||
SqlTranslationErrorDetail warning_detail = 1; | ||
} |
Oops, something went wrong.