Create a view in the given namespace
POST/v1/:prefix/namespaces/:namespace/views
Create a view in the given namespace.
Request
Path Parameters
- singlepart_namespace
- multipart_namespace
The catalog name in Gravitino, as returned in defaults.prefix by GET /v1/config
A namespace identifier as a single string. Multipart namespace parts must be separated by the namespace separator as indicated via the /config override namespace-separator, which defaults to the unit separator 0x1F byte (url encoded %1F). To be compatible with older clients, servers must use both the advertised separator and 0x1F as valid separators when decoding namespaces. The namespace-separator should be provided in a url encoded form.
Example: accounting
Example: accounting%1Ftax
- application/json
Body
required
Array [
- PrimitiveType
- ListType
- MapType
- BooleanTypeValue
- IntegerTypeValue
- LongTypeValue
- FloatTypeValue
- DoubleTypeValue
- DecimalTypeValue
- StringTypeValue
- UUIDTypeValue
- DateTypeValue
- TimeTypeValue
- TimestampTypeValue
- TimestampTzTypeValue
- TimestampNanoTypeValue
- TimestampTzNanoTypeValue
- FixedTypeValue
- BinaryTypeValue
- BooleanTypeValue
- IntegerTypeValue
- LongTypeValue
- FloatTypeValue
- DoubleTypeValue
- DecimalTypeValue
- StringTypeValue
- UUIDTypeValue
- DateTypeValue
- TimeTypeValue
- TimestampTypeValue
- TimestampTzTypeValue
- TimestampNanoTypeValue
- TimestampTzNanoTypeValue
- FixedTypeValue
- BinaryTypeValue
]
Array [
- SQLViewRepresentation
]
schema
object
required
fields
object[]
required
type
object
required
oneOf
string
initial-default
object
oneOf
boolean
integer
integer
number
number
Decimal type values are serialized as strings. Decimals with a positive scale serialize as numeric plain text, while decimals with a negative scale use scientific notation and the exponent will be equal to the negated scale. For instance, a decimal with a positive scale is '123.4500', with zero scale is '2', and with a negative scale is '2E+20'
string
string
UUID type values are serialized as a 36-character lowercase string in standard UUID format as specified by RFC-4122
string
Possible values: >= 36 characters and <= 36 characters, Value must match regular expression ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
Date type values follow the 'YYYY-MM-DD' ISO-8601 standard date format
string
Time type values follow the 'HH:MM:SS.ssssss' ISO-8601 format with microsecond precision
string
Timestamp type values follow the 'YYYY-MM-DDTHH:MM:SS.ssssss' ISO-8601 format with microsecond precision
string
TimestampTz type values follow the 'YYYY-MM-DDTHH:MM:SS.ssssss+00:00' ISO-8601 format with microsecond precision, and a timezone offset (+00:00 for UTC)
string
Timestamp_ns type values follow the 'YYYY-MM-DDTHH:MM:SS.sssssssss' ISO-8601 format with nanosecond precision
string
Timestamp_ns type values follow the 'YYYY-MM-DDTHH:MM:SS.sssssssss+00:00' ISO-8601 format with nanosecond precision, and a timezone offset (+00:00 for UTC)
string
Fixed length type values are stored and serialized as an uppercase hexadecimal string preserving the fixed length
string
Binary type values are stored and serialized as an uppercase hexadecimal string
string
write-default
object
oneOf
boolean
integer
integer
number
number
Decimal type values are serialized as strings. Decimals with a positive scale serialize as numeric plain text, while decimals with a negative scale use scientific notation and the exponent will be equal to the negated scale. For instance, a decimal with a positive scale is '123.4500', with zero scale is '2', and with a negative scale is '2E+20'
string
string
UUID type values are serialized as a 36-character lowercase string in standard UUID format as specified by RFC-4122
string
Possible values: >= 36 characters and <= 36 characters, Value must match regular expression ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
Date type values follow the 'YYYY-MM-DD' ISO-8601 standard date format
string
Time type values follow the 'HH:MM:SS.ssssss' ISO-8601 format with microsecond precision
string
Timestamp type values follow the 'YYYY-MM-DDTHH:MM:SS.ssssss' ISO-8601 format with microsecond precision
string
TimestampTz type values follow the 'YYYY-MM-DDTHH:MM:SS.ssssss+00:00' ISO-8601 format with microsecond precision, and a timezone offset (+00:00 for UTC)
string
Timestamp_ns type values follow the 'YYYY-MM-DDTHH:MM:SS.sssssssss' ISO-8601 format with nanosecond precision
string
Timestamp_ns type values follow the 'YYYY-MM-DDTHH:MM:SS.sssssssss+00:00' ISO-8601 format with nanosecond precision, and a timezone offset (+00:00 for UTC)
string
Fixed length type values are stored and serialized as an uppercase hexadecimal string preserving the fixed length
string
Binary type values are stored and serialized as an uppercase hexadecimal string
string
view-version
object
required
The view version to create, will replace the schema-id sent within the view-version with the id assigned to the provided schema
Schema ID to set as current, or -1 to set last added schema
summary
object
required
representations
object[]
required
oneOf
Reference to one or more levels of a namespace
properties
object
required
Responses
- 200
- 400
- 401
- 403
- 404
- 409
- 419
- 503
- 5XX
View metadata result when loading a view
- application/json
- Schema
- Example (from schema)
Schema
Array [
Array [
- SQLViewRepresentation
]
]
Array [
]
metadata
object
required
Possible values: >= 1 and <= 1
versions
object[]
required
Schema ID to set as current, or -1 to set last added schema
summary
object
required
representations
object[]
required
oneOf
Reference to one or more levels of a namespace
version-log
object[]
required
properties
object
config
object
{
"metadata-location": "string",
"metadata": {
"view-uuid": "string",
"format-version": 0,
"location": "string",
"current-version-id": 0,
"versions": [
{
"version-id": 0,
"timestamp-ms": 0,
"schema-id": 0,
"summary": {},
"representations": [
{}
],
"default-catalog": "string",
"default-namespace": [
"accounting",
"tax"
]
}
],
"version-log": [
{
"version-id": 0,
"timestamp-ms": 0
}
],
"schemas": [
{
"type": "string",
"fields": [
{
"id": 0,
"name": "string",
"type": [
"long",
"string",
"fixed[16]",
"decimal(10,2)"
],
"required": true,
"doc": "string",
"initial-default": true,
"write-default": true
}
],
"schema-id": 0,
"identifier-field-ids": [
0
]
}
],
"properties": {}
},
"config": {}
}
Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware.
- application/json
- Schema
- Example (from schema)
- Example
Schema
error
object
required
JSON error payload returned in a response with further details on the error
Human-readable error message
Internal type definition of the error
Possible values: >= 400 and <= 600
HTTP response code
{
"error": {
"message": "The server does not support this operation",
"type": "UnsupportedOperationException",
"code": 406
}
}
{
"error": {
"message": "Malformed request",
"type": "BadRequestException",
"code": 400
}
}
Unauthorized. The REST Catalog SHOULD respond with the 401 UnauthorizedResponse when the access token provided is expired, revoked, malformed, or invalid for other reasons. The client MAY request a new access token and retry the request.
- application/json
- Schema
- Example (from schema)
- Example
Schema
error
object
required
JSON error payload returned in a response with further details on the error
Human-readable error message
Internal type definition of the error
Possible values: >= 400 and <= 600
HTTP response code
{
"error": {
"message": "The server does not support this operation",
"type": "UnsupportedOperationException",
"code": 406
}
}
{
"error": {
"message": "Not authorized to make this request",
"type": "NotAuthorizedException",
"code": 401
}
}
Forbidden. Authenticated user does not have the necessary permissions.
- application/json
- Schema
- Example (from schema)
- Example
Schema
error
object
required
JSON error payload returned in a response with further details on the error
Human-readable error message
Internal type definition of the error
Possible values: >= 400 and <= 600
HTTP response code
{
"error": {
"message": "The server does not support this operation",
"type": "UnsupportedOperationException",
"code": 406
}
}
{
"error": {
"message": "Not authorized to make this request",
"type": "NotAuthorizedException",
"code": 403
}
}
Not Found - The namespace specified does not exist
- application/json
- Schema
- Example (from schema)
- NamespaceNotFound
Schema
Human-readable error message
Internal type definition of the error
Possible values: >= 400 and <= 600
HTTP response code
{
"message": "string",
"type": "NoSuchNamespaceException",
"code": 404,
"stack": [
"string"
]
}
The requested namespace does not exist
{
"error": {
"message": "The given namespace does not exist",
"type": "NoSuchNamespaceException",
"code": 404
}
}
Conflict - The identifier already exists as a table or view
- application/json
- Schema
- Example (from schema)
- ViewAlreadyExists
Schema
Human-readable error message
Internal type definition of the error
Possible values: >= 400 and <= 600
HTTP response code
{
"message": "string",
"type": "NoSuchNamespaceException",
"code": 404,
"stack": [
"string"
]
}
The requested view identifier already exists
{
"error": {
"message": "The requested view identifier already exists",
"type": "AlreadyExistsException",
"code": 409
}
}
This is an optional status response type that the REST Catalog can issue when the token has expired. The client MAY request a new access token and retry the request. 401 UnauthorizedResponse SHOULD be preferred over this response type on token expiry.
- application/json
- Schema
- Example (from schema)
- Example
Schema
error
object
required
JSON error payload returned in a response with further details on the error
Human-readable error message
Internal type definition of the error
Possible values: >= 400 and <= 600
HTTP response code
{
"error": {
"message": "The server does not support this operation",
"type": "UnsupportedOperationException",
"code": 406
}
}
{
"error": {
"message": "Credentials have timed out",
"type": "AuthenticationTimeoutException",
"code": 419
}
}
The service is not ready to handle the request, request could have been partially processed. The service may additionally send a Retry-After header to indicate when to retry, a non idempotent request should only be retried by the client when the Retry-After header is present.
- application/json
- Schema
- Example (from schema)
- Example
Schema
error
object
required
JSON error payload returned in a response with further details on the error
Human-readable error message
Internal type definition of the error
Possible values: >= 400 and <= 600
HTTP response code
{
"error": {
"message": "The server does not support this operation",
"type": "UnsupportedOperationException",
"code": 406
}
}
{
"error": {
"message": "Slow down",
"type": "SlowDownException",
"code": 503
}
}
A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes.
- application/json
- Schema
- Example (from schema)
- Example
Schema
error
object
required
JSON error payload returned in a response with further details on the error
Human-readable error message
Internal type definition of the error
Possible values: >= 400 and <= 600
HTTP response code
{
"error": {
"message": "The server does not support this operation",
"type": "UnsupportedOperationException",
"code": 406
}
}
{
"error": {
"message": "Internal Server Error",
"type": "InternalServerError",
"code": 500
}
}