diff --git a/docs/src/rest.yaml b/docs/src/rest.yaml index 0e0dbfc5..3b4a0948 100644 --- a/docs/src/rest.yaml +++ b/docs/src/rest.yaml @@ -1958,6 +1958,8 @@ components: * Overwrite: the existing namespace is dropped and a new empty namespace with this name is created. properties: type: object + description: | + Properties stored on the namespace, if supported by the implementation. additionalProperties: type: string @@ -2067,6 +2069,8 @@ components: properties: properties: type: object + description: | + If the implementation does not support namespace properties, it should return null for this field. Otherwise it should return the properties. additionalProperties: type: string transaction_id: @@ -2140,6 +2144,8 @@ components: * Overwrite: the existing table registration is replaced with the new registration. properties: type: object + description: | + Properties stored on the table, if supported by the implementation. additionalProperties: type: string @@ -2153,6 +2159,8 @@ components: type: string properties: type: object + description: | + If the implementation does not support table properties, it should return null for this field. Otherwise, it should return the properties. additionalProperties: type: string @@ -2287,6 +2295,17 @@ components: Optional table metadata as key-value pairs. additionalProperties: type: string + properties: + type: object + description: + Properties stored on the table, if supported by the server. + If the server does not support table properties, it should return null for this field. + If table properties are supported, but none are set, it should return an empty object. + additionalProperties: + type: string + example: { "owner": "Ralph", 'created_at': '1452120468' } + default: { } + nullable: true TableBasicStats: type: object @@ -2463,6 +2482,12 @@ components: items: type: string description: List of column updates as [column_name, expression] pairs + properties: + type: object + description: | + Properties stored on the table, if supported by the implementation. + additionalProperties: + type: string UpdateTableResponse: type: object @@ -2483,6 +2508,12 @@ components: format: int64 description: The commit version associated with the operation minimum: 0 + properties: + type: object + description: | + If the implementation does not support table properties, it should return null for this field. Otherwise, it should return the properties. + additionalProperties: + type: string DeleteFromTableRequest: type: object @@ -2903,6 +2934,12 @@ components: * Create: the operation fails with 409. * ExistOk: the operation succeeds and the existing table is kept. * Overwrite: the existing table is dropped and a new table with this name is created. + properties: + type: object + description: | + Properties stored on the table, if supported by the implementation. + additionalProperties: + type: string CreateTableResponse: type: object @@ -2924,6 +2961,15 @@ components: passed directly to Lance to initialize storage access. additionalProperties: type: string + properties: + type: object + description: | + If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties. + additionalProperties: + type: string + example: { "owner": "Ralph", 'created_at': '1452120468' } + default: { } + nullable: true CreateEmptyTableRequest: type: object @@ -2952,6 +2998,12 @@ components: When true, the implementation should provide vended credentials for accessing storage. When not set, the implementation can decide whether to return vended credentials. type: boolean + properties: + type: object + description: | + Properties stored on the table, if supported by the server. + additionalProperties: + type: string CreateEmptyTableResponse: type: object @@ -2974,6 +3026,15 @@ components: passed directly to Lance to initialize storage access. additionalProperties: type: string + properties: + type: object + description: | + If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties. + additionalProperties: + type: string + example: { "owner": "Ralph", 'created_at': '1452120468' } + default: { } + nullable: true DeclareTableRequest: type: object @@ -2999,6 +3060,12 @@ components: When true, the implementation should provide vended credentials for accessing storage. When not set, the implementation can decide whether to return vended credentials. type: boolean + properties: + type: object + description: | + Properties stored on the table, if supported by the server. + additionalProperties: + type: string DeclareTableResponse: type: object @@ -3018,6 +3085,15 @@ components: passed directly to Lance to initialize storage access. additionalProperties: type: string + properties: + type: object + description: | + If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties. + additionalProperties: + type: string + example: { "owner": "Ralph", 'created_at': '1452120468' } + default: { } + nullable: true TableExistsRequest: type: object @@ -3193,8 +3269,13 @@ components: type: string properties: type: object + description: | + If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties. additionalProperties: type: string + example: { "owner": "Ralph", 'created_at': '1452120468' } + default: { } + nullable: true DeregisterTableRequest: type: object @@ -3224,8 +3305,13 @@ components: type: string properties: type: object + description: | + If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties. additionalProperties: type: string + example: { "owner": "Ralph", 'created_at': '1452120468' } + default: { } + nullable: true StringFtsQuery: type: object diff --git a/java/lance-namespace-apache-client/api/openapi.yaml b/java/lance-namespace-apache-client/api/openapi.yaml index 25347ff3..a16aebf5 100644 --- a/java/lance-namespace-apache-client/api/openapi.yaml +++ b/java/lance-namespace-apache-client/api/openapi.yaml @@ -2661,6 +2661,8 @@ components: properties: additionalProperties: type: string + description: | + Properties stored on the namespace, if supported by the implementation. CreateNamespaceResponse: example: transaction_id: transaction_id @@ -2846,6 +2848,8 @@ components: properties: additionalProperties: type: string + description: | + If the implementation does not support namespace properties, it should return null for this field. Otherwise it should return the properties. transaction_id: description: | If present, indicating the operation is long running and should be tracked using DescribeTransaction @@ -2943,6 +2947,8 @@ components: properties: additionalProperties: type: string + description: | + Properties stored on the table, if supported by the implementation. required: - location RegisterTableResponse: @@ -2960,6 +2966,8 @@ components: properties: additionalProperties: type: string + description: | + If the implementation does not support table properties, it should return null for this field. Otherwise, it should return the properties. ListTablesRequest: properties: identity: @@ -3125,6 +3133,9 @@ components: location: location version: 0 table: table + properties: + owner: Ralph + created_at: "1452120468" storage_options: key: storage_options properties: @@ -3175,6 +3186,18 @@ components: type: string description: | Optional table metadata as key-value pairs. + properties: + additionalProperties: + type: string + default: {} + description: "Properties stored on the table, if supported by the server.\ + \ If the server does not support table properties, it should return null\ + \ for this field. If table properties are supported, but none are set,\ + \ it should return an empty object." + example: + owner: Ralph + created_at: "1452120468" + nullable: true TableBasicStats: example: num_deleted_rows: 0 @@ -3378,6 +3401,8 @@ components: - updates - - updates - updates + properties: + key: properties properties: identity: $ref: '#/components/schemas/Identity' @@ -3409,6 +3434,11 @@ components: minItems: 2 type: array type: array + properties: + additionalProperties: + type: string + description: | + Properties stored on the table, if supported by the implementation. required: - updates UpdateTableResponse: @@ -3416,6 +3446,8 @@ components: transaction_id: transaction_id updated_rows: 0 version: 0 + properties: + key: properties properties: transaction_id: description: Optional transaction identifier @@ -3430,6 +3462,11 @@ components: format: int64 minimum: 0 type: integer + properties: + additionalProperties: + type: string + description: | + If the implementation does not support table properties, it should return null for this field. Otherwise, it should return the properties. required: - updated_rows - version @@ -4080,11 +4117,19 @@ components: * ExistOk: the operation succeeds and the existing table is kept. * Overwrite: the existing table is dropped and a new table with this name is created. type: string + properties: + additionalProperties: + type: string + description: | + Properties stored on the table, if supported by the implementation. CreateTableResponse: example: transaction_id: transaction_id location: location version: 0 + properties: + owner: Ralph + created_at: "1452120468" storage_options: key: storage_options properties: @@ -4104,6 +4149,16 @@ components: Configuration options to be used to access storage. The available options depend on the type of storage in use. These will be passed directly to Lance to initialize storage access. + properties: + additionalProperties: + type: string + default: {} + description: | + If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties. + example: + owner: Ralph + created_at: "1452120468" + nullable: true CreateEmptyTableRequest: deprecated: true description: | @@ -4120,6 +4175,8 @@ components: id: - id - id + properties: + key: properties vend_credentials: true properties: identity: @@ -4150,6 +4207,11 @@ components: When true, the implementation should provide vended credentials for accessing storage. When not set, the implementation can decide whether to return vended credentials. type: boolean + properties: + additionalProperties: + type: string + description: | + Properties stored on the table, if supported by the server. CreateEmptyTableResponse: deprecated: true description: | @@ -4159,6 +4221,9 @@ components: example: transaction_id: transaction_id location: location + properties: + owner: Ralph + created_at: "1452120468" storage_options: key: storage_options properties: @@ -4174,6 +4239,16 @@ components: Configuration options to be used to access storage. The available options depend on the type of storage in use. These will be passed directly to Lance to initialize storage access. + properties: + additionalProperties: + type: string + default: {} + description: | + If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties. + example: + owner: Ralph + created_at: "1452120468" + nullable: true DeclareTableRequest: description: | Request for declaring a table. @@ -4187,6 +4262,8 @@ components: id: - id - id + properties: + key: properties vend_credentials: true properties: identity: @@ -4217,12 +4294,20 @@ components: When true, the implementation should provide vended credentials for accessing storage. When not set, the implementation can decide whether to return vended credentials. type: boolean + properties: + additionalProperties: + type: string + description: | + Properties stored on the table, if supported by the server. DeclareTableResponse: description: | Response for declaring a table. example: transaction_id: transaction_id location: location + properties: + owner: Ralph + created_at: "1452120468" storage_options: key: storage_options properties: @@ -4238,6 +4323,16 @@ components: Configuration options to be used to access storage. The available options depend on the type of storage in use. These will be passed directly to Lance to initialize storage access. + properties: + additionalProperties: + type: string + default: {} + description: | + If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties. + example: + owner: Ralph + created_at: "1452120468" + nullable: true TableExistsRequest: example: identity: @@ -4526,7 +4621,8 @@ components: - id - id properties: - key: properties + owner: Ralph + created_at: "1452120468" properties: transaction_id: description: Optional transaction identifier @@ -4540,6 +4636,13 @@ components: properties: additionalProperties: type: string + default: {} + description: | + If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties. + example: + owner: Ralph + created_at: "1452120468" + nullable: true DeregisterTableRequest: description: | The table content remains available in the storage. @@ -4578,7 +4681,8 @@ components: - id - id properties: - key: properties + owner: Ralph + created_at: "1452120468" properties: transaction_id: description: Optional transaction identifier @@ -4592,6 +4696,13 @@ components: properties: additionalProperties: type: string + default: {} + description: | + If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties. + example: + owner: Ralph + created_at: "1452120468" + nullable: true StringFtsQuery: example: columns: diff --git a/java/lance-namespace-apache-client/docs/CreateEmptyTableRequest.md b/java/lance-namespace-apache-client/docs/CreateEmptyTableRequest.md index f51ecf49..ed3845f4 100644 --- a/java/lance-namespace-apache-client/docs/CreateEmptyTableRequest.md +++ b/java/lance-namespace-apache-client/docs/CreateEmptyTableRequest.md @@ -13,6 +13,7 @@ Request for creating an empty table. **Deprecated**: Use `DeclareTableRequest` |**id** | **List<String>** | | [optional] | |**location** | **String** | Optional storage location for the table. If not provided, the namespace implementation should determine the table location. | [optional] | |**vendCredentials** | **Boolean** | Whether to include vended credentials in the response `storage_options`. When true, the implementation should provide vended credentials for accessing storage. When not set, the implementation can decide whether to return vended credentials. | [optional] | +|**properties** | **Map<String, String>** | Properties stored on the table, if supported by the server. | [optional] | diff --git a/java/lance-namespace-apache-client/docs/CreateEmptyTableResponse.md b/java/lance-namespace-apache-client/docs/CreateEmptyTableResponse.md index cd2ac542..39ce092a 100644 --- a/java/lance-namespace-apache-client/docs/CreateEmptyTableResponse.md +++ b/java/lance-namespace-apache-client/docs/CreateEmptyTableResponse.md @@ -11,6 +11,7 @@ Response for creating an empty table. **Deprecated**: Use `DeclareTableResponse |**transactionId** | **String** | Optional transaction identifier | [optional] | |**location** | **String** | | [optional] | |**storageOptions** | **Map<String, String>** | Configuration options to be used to access storage. The available options depend on the type of storage in use. These will be passed directly to Lance to initialize storage access. | [optional] | +|**properties** | **Map<String, String>** | If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties. | [optional] | diff --git a/java/lance-namespace-apache-client/docs/CreateNamespaceRequest.md b/java/lance-namespace-apache-client/docs/CreateNamespaceRequest.md index ea97059d..592fe0c1 100644 --- a/java/lance-namespace-apache-client/docs/CreateNamespaceRequest.md +++ b/java/lance-namespace-apache-client/docs/CreateNamespaceRequest.md @@ -11,7 +11,7 @@ |**context** | **Map<String, String>** | Arbitrary context for a request as key-value pairs. How to use the context is custom to the specific implementation. REST NAMESPACE ONLY Context entries are passed via HTTP headers using the naming convention `x-lance-ctx-<key>: <value>`. For example, a context entry `{\"trace_id\": \"abc123\"}` would be sent as the header `x-lance-ctx-trace_id: abc123`. | [optional] | |**id** | **List<String>** | | [optional] | |**mode** | **String** | There are three modes when trying to create a namespace, to differentiate the behavior when a namespace of the same name already exists. Case insensitive, supports both PascalCase and snake_case. Valid values are: * Create: the operation fails with 409. * ExistOk: the operation succeeds and the existing namespace is kept. * Overwrite: the existing namespace is dropped and a new empty namespace with this name is created. | [optional] | -|**properties** | **Map<String, String>** | | [optional] | +|**properties** | **Map<String, String>** | Properties stored on the namespace, if supported by the implementation. | [optional] | diff --git a/java/lance-namespace-apache-client/docs/CreateTableRequest.md b/java/lance-namespace-apache-client/docs/CreateTableRequest.md index a4f6af4c..38a18eba 100644 --- a/java/lance-namespace-apache-client/docs/CreateTableRequest.md +++ b/java/lance-namespace-apache-client/docs/CreateTableRequest.md @@ -12,6 +12,7 @@ Request for creating a table, excluding the Arrow IPC stream. |**context** | **Map<String, String>** | Arbitrary context for a request as key-value pairs. How to use the context is custom to the specific implementation. REST NAMESPACE ONLY Context entries are passed via HTTP headers using the naming convention `x-lance-ctx-<key>: <value>`. For example, a context entry `{\"trace_id\": \"abc123\"}` would be sent as the header `x-lance-ctx-trace_id: abc123`. | [optional] | |**id** | **List<String>** | | [optional] | |**mode** | **String** | There are three modes when trying to create a table, to differentiate the behavior when a table of the same name already exists. Case insensitive, supports both PascalCase and snake_case. Valid values are: * Create: the operation fails with 409. * ExistOk: the operation succeeds and the existing table is kept. * Overwrite: the existing table is dropped and a new table with this name is created. | [optional] | +|**properties** | **Map<String, String>** | Properties stored on the table, if supported by the implementation. | [optional] | diff --git a/java/lance-namespace-apache-client/docs/CreateTableResponse.md b/java/lance-namespace-apache-client/docs/CreateTableResponse.md index 8cf7d78c..3997eb4d 100644 --- a/java/lance-namespace-apache-client/docs/CreateTableResponse.md +++ b/java/lance-namespace-apache-client/docs/CreateTableResponse.md @@ -11,6 +11,7 @@ |**location** | **String** | | [optional] | |**version** | **Long** | | [optional] | |**storageOptions** | **Map<String, String>** | Configuration options to be used to access storage. The available options depend on the type of storage in use. These will be passed directly to Lance to initialize storage access. | [optional] | +|**properties** | **Map<String, String>** | If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties. | [optional] | diff --git a/java/lance-namespace-apache-client/docs/DeclareTableRequest.md b/java/lance-namespace-apache-client/docs/DeclareTableRequest.md index 9ace976e..7a58a831 100644 --- a/java/lance-namespace-apache-client/docs/DeclareTableRequest.md +++ b/java/lance-namespace-apache-client/docs/DeclareTableRequest.md @@ -13,6 +13,7 @@ Request for declaring a table. |**id** | **List<String>** | | [optional] | |**location** | **String** | Optional storage location for the table. If not provided, the namespace implementation should determine the table location. | [optional] | |**vendCredentials** | **Boolean** | Whether to include vended credentials in the response `storage_options`. When true, the implementation should provide vended credentials for accessing storage. When not set, the implementation can decide whether to return vended credentials. | [optional] | +|**properties** | **Map<String, String>** | Properties stored on the table, if supported by the server. | [optional] | diff --git a/java/lance-namespace-apache-client/docs/DeclareTableResponse.md b/java/lance-namespace-apache-client/docs/DeclareTableResponse.md index d6dd9307..4ca65446 100644 --- a/java/lance-namespace-apache-client/docs/DeclareTableResponse.md +++ b/java/lance-namespace-apache-client/docs/DeclareTableResponse.md @@ -11,6 +11,7 @@ Response for declaring a table. |**transactionId** | **String** | Optional transaction identifier | [optional] | |**location** | **String** | | [optional] | |**storageOptions** | **Map<String, String>** | Configuration options to be used to access storage. The available options depend on the type of storage in use. These will be passed directly to Lance to initialize storage access. | [optional] | +|**properties** | **Map<String, String>** | If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties. | [optional] | diff --git a/java/lance-namespace-apache-client/docs/DeregisterTableResponse.md b/java/lance-namespace-apache-client/docs/DeregisterTableResponse.md index 36a958f8..cddb6240 100644 --- a/java/lance-namespace-apache-client/docs/DeregisterTableResponse.md +++ b/java/lance-namespace-apache-client/docs/DeregisterTableResponse.md @@ -10,7 +10,7 @@ |**transactionId** | **String** | Optional transaction identifier | [optional] | |**id** | **List<String>** | | [optional] | |**location** | **String** | | [optional] | -|**properties** | **Map<String, String>** | | [optional] | +|**properties** | **Map<String, String>** | If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties. | [optional] | diff --git a/java/lance-namespace-apache-client/docs/DescribeTableResponse.md b/java/lance-namespace-apache-client/docs/DescribeTableResponse.md index 4048c5aa..52322787 100644 --- a/java/lance-namespace-apache-client/docs/DescribeTableResponse.md +++ b/java/lance-namespace-apache-client/docs/DescribeTableResponse.md @@ -16,6 +16,7 @@ |**storageOptions** | **Map<String, String>** | Configuration options to be used to access storage. The available options depend on the type of storage in use. These will be passed directly to Lance to initialize storage access. When `vend_credentials` is true, this field may include vended credentials. If the vended credentials are temporary, the `expires_at_millis` key should be included to indicate the millisecond timestamp when the credentials expire. | [optional] | |**stats** | [**TableBasicStats**](TableBasicStats.md) | Table statistics. Only populated when `load_detailed_metadata` is true. | [optional] | |**metadata** | **Map<String, String>** | Optional table metadata as key-value pairs. | [optional] | +|**properties** | **Map<String, String>** | Properties stored on the table, if supported by the server. If the server does not support table properties, it should return null for this field. If table properties are supported, but none are set, it should return an empty object. | [optional] | diff --git a/java/lance-namespace-apache-client/docs/DropNamespaceResponse.md b/java/lance-namespace-apache-client/docs/DropNamespaceResponse.md index faa225d7..6eacbdec 100644 --- a/java/lance-namespace-apache-client/docs/DropNamespaceResponse.md +++ b/java/lance-namespace-apache-client/docs/DropNamespaceResponse.md @@ -7,7 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| -|**properties** | **Map<String, String>** | | [optional] | +|**properties** | **Map<String, String>** | If the implementation does not support namespace properties, it should return null for this field. Otherwise it should return the properties. | [optional] | |**transactionId** | **List<String>** | If present, indicating the operation is long running and should be tracked using DescribeTransaction | [optional] | diff --git a/java/lance-namespace-apache-client/docs/DropTableResponse.md b/java/lance-namespace-apache-client/docs/DropTableResponse.md index e3abe3fa..bbc9a98e 100644 --- a/java/lance-namespace-apache-client/docs/DropTableResponse.md +++ b/java/lance-namespace-apache-client/docs/DropTableResponse.md @@ -10,7 +10,7 @@ |**transactionId** | **String** | Optional transaction identifier | [optional] | |**id** | **List<String>** | | [optional] | |**location** | **String** | | [optional] | -|**properties** | **Map<String, String>** | | [optional] | +|**properties** | **Map<String, String>** | If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties. | [optional] | diff --git a/java/lance-namespace-apache-client/docs/RegisterTableRequest.md b/java/lance-namespace-apache-client/docs/RegisterTableRequest.md index 69ec00dd..06fb64e2 100644 --- a/java/lance-namespace-apache-client/docs/RegisterTableRequest.md +++ b/java/lance-namespace-apache-client/docs/RegisterTableRequest.md @@ -12,7 +12,7 @@ |**id** | **List<String>** | | [optional] | |**location** | **String** | | | |**mode** | **String** | There are two modes when trying to register a table, to differentiate the behavior when a table of the same name already exists. Case insensitive, supports both PascalCase and snake_case. Valid values are: * Create (default): the operation fails with 409. * Overwrite: the existing table registration is replaced with the new registration. | [optional] | -|**properties** | **Map<String, String>** | | [optional] | +|**properties** | **Map<String, String>** | Properties stored on the table, if supported by the implementation. | [optional] | diff --git a/java/lance-namespace-apache-client/docs/RegisterTableResponse.md b/java/lance-namespace-apache-client/docs/RegisterTableResponse.md index 5f2d01c2..8bdf21fb 100644 --- a/java/lance-namespace-apache-client/docs/RegisterTableResponse.md +++ b/java/lance-namespace-apache-client/docs/RegisterTableResponse.md @@ -9,7 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**transactionId** | **String** | Optional transaction identifier | [optional] | |**location** | **String** | | [optional] | -|**properties** | **Map<String, String>** | | [optional] | +|**properties** | **Map<String, String>** | If the implementation does not support table properties, it should return null for this field. Otherwise, it should return the properties. | [optional] | diff --git a/java/lance-namespace-apache-client/docs/UpdateTableRequest.md b/java/lance-namespace-apache-client/docs/UpdateTableRequest.md index bf227aed..121456ed 100644 --- a/java/lance-namespace-apache-client/docs/UpdateTableRequest.md +++ b/java/lance-namespace-apache-client/docs/UpdateTableRequest.md @@ -13,6 +13,7 @@ Each update consists of a column name and an SQL expression that will be evaluat |**id** | **List<String>** | | [optional] | |**predicate** | **String** | Optional SQL predicate to filter rows for update | [optional] | |**updates** | **List<List<String>>** | List of column updates as [column_name, expression] pairs | | +|**properties** | **Map<String, String>** | Properties stored on the table, if supported by the implementation. | [optional] | diff --git a/java/lance-namespace-apache-client/docs/UpdateTableResponse.md b/java/lance-namespace-apache-client/docs/UpdateTableResponse.md index e74171f0..bb5daf62 100644 --- a/java/lance-namespace-apache-client/docs/UpdateTableResponse.md +++ b/java/lance-namespace-apache-client/docs/UpdateTableResponse.md @@ -10,6 +10,7 @@ |**transactionId** | **String** | Optional transaction identifier | [optional] | |**updatedRows** | **Long** | Number of rows updated | | |**version** | **Long** | The commit version associated with the operation | | +|**properties** | **Map<String, String>** | If the implementation does not support table properties, it should return null for this field. Otherwise, it should return the properties. | [optional] | diff --git a/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/CreateEmptyTableRequest.java b/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/CreateEmptyTableRequest.java index a40e1686..8bf2c730 100644 --- a/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/CreateEmptyTableRequest.java +++ b/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/CreateEmptyTableRequest.java @@ -37,7 +37,8 @@ CreateEmptyTableRequest.JSON_PROPERTY_CONTEXT, CreateEmptyTableRequest.JSON_PROPERTY_ID, CreateEmptyTableRequest.JSON_PROPERTY_LOCATION, - CreateEmptyTableRequest.JSON_PROPERTY_VEND_CREDENTIALS + CreateEmptyTableRequest.JSON_PROPERTY_VEND_CREDENTIALS, + CreateEmptyTableRequest.JSON_PROPERTY_PROPERTIES }) @javax.annotation.Generated( value = "org.openapitools.codegen.languages.JavaClientCodegen", @@ -58,6 +59,9 @@ public class CreateEmptyTableRequest { public static final String JSON_PROPERTY_VEND_CREDENTIALS = "vend_credentials"; @javax.annotation.Nullable private Boolean vendCredentials; + public static final String JSON_PROPERTY_PROPERTIES = "properties"; + @javax.annotation.Nullable private Map properties = new HashMap<>(); + public CreateEmptyTableRequest() {} public CreateEmptyTableRequest identity(@javax.annotation.Nullable Identity identity) { @@ -204,6 +208,39 @@ public void setVendCredentials(@javax.annotation.Nullable Boolean vendCredential this.vendCredentials = vendCredentials; } + public CreateEmptyTableRequest properties( + @javax.annotation.Nullable Map properties) { + + this.properties = properties; + return this; + } + + public CreateEmptyTableRequest putPropertiesItem(String key, String propertiesItem) { + if (this.properties == null) { + this.properties = new HashMap<>(); + } + this.properties.put(key, propertiesItem); + return this; + } + + /** + * Properties stored on the table, if supported by the server. + * + * @return properties + */ + @javax.annotation.Nullable + @JsonProperty(JSON_PROPERTY_PROPERTIES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Map getProperties() { + return properties; + } + + @JsonProperty(JSON_PROPERTY_PROPERTIES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setProperties(@javax.annotation.Nullable Map properties) { + this.properties = properties; + } + @Override public boolean equals(Object o) { if (this == o) { @@ -217,12 +254,13 @@ public boolean equals(Object o) { && Objects.equals(this.context, createEmptyTableRequest.context) && Objects.equals(this.id, createEmptyTableRequest.id) && Objects.equals(this.location, createEmptyTableRequest.location) - && Objects.equals(this.vendCredentials, createEmptyTableRequest.vendCredentials); + && Objects.equals(this.vendCredentials, createEmptyTableRequest.vendCredentials) + && Objects.equals(this.properties, createEmptyTableRequest.properties); } @Override public int hashCode() { - return Objects.hash(identity, context, id, location, vendCredentials); + return Objects.hash(identity, context, id, location, vendCredentials, properties); } @Override @@ -234,6 +272,7 @@ public String toString() { sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" location: ").append(toIndentedString(location)).append("\n"); sb.append(" vendCredentials: ").append(toIndentedString(vendCredentials)).append("\n"); + sb.append(" properties: ").append(toIndentedString(properties)).append("\n"); sb.append("}"); return sb.toString(); } @@ -360,6 +399,28 @@ public String toUrlQueryString(String prefix) { } } + // add `properties` to the URL query string + if (getProperties() != null) { + for (String _key : getProperties().keySet()) { + try { + joiner.add( + String.format( + "%sproperties%s%s=%s", + prefix, + suffix, + "".equals(suffix) + ? "" + : String.format("%s%d%s", containerPrefix, _key, containerSuffix), + getProperties().get(_key), + URLEncoder.encode(String.valueOf(getProperties().get(_key)), "UTF-8") + .replaceAll("\\+", "%20"))); + } catch (UnsupportedEncodingException e) { + // Should never happen, UTF-8 is always supported + throw new RuntimeException(e); + } + } + } + return joiner.toString(); } } diff --git a/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/CreateEmptyTableResponse.java b/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/CreateEmptyTableResponse.java index 5a696503..cbd193f7 100644 --- a/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/CreateEmptyTableResponse.java +++ b/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/CreateEmptyTableResponse.java @@ -34,7 +34,8 @@ @JsonPropertyOrder({ CreateEmptyTableResponse.JSON_PROPERTY_TRANSACTION_ID, CreateEmptyTableResponse.JSON_PROPERTY_LOCATION, - CreateEmptyTableResponse.JSON_PROPERTY_STORAGE_OPTIONS + CreateEmptyTableResponse.JSON_PROPERTY_STORAGE_OPTIONS, + CreateEmptyTableResponse.JSON_PROPERTY_PROPERTIES }) @javax.annotation.Generated( value = "org.openapitools.codegen.languages.JavaClientCodegen", @@ -49,6 +50,9 @@ public class CreateEmptyTableResponse { public static final String JSON_PROPERTY_STORAGE_OPTIONS = "storage_options"; @javax.annotation.Nullable private Map storageOptions = new HashMap<>(); + public static final String JSON_PROPERTY_PROPERTIES = "properties"; + @javax.annotation.Nullable private Map properties = new HashMap<>(); + public CreateEmptyTableResponse() {} public CreateEmptyTableResponse transactionId(@javax.annotation.Nullable String transactionId) { @@ -133,6 +137,40 @@ public void setStorageOptions(@javax.annotation.Nullable Map sto this.storageOptions = storageOptions; } + public CreateEmptyTableResponse properties( + @javax.annotation.Nullable Map properties) { + + this.properties = properties; + return this; + } + + public CreateEmptyTableResponse putPropertiesItem(String key, String propertiesItem) { + if (this.properties == null) { + this.properties = new HashMap<>(); + } + this.properties.put(key, propertiesItem); + return this; + } + + /** + * If the implementation does not support table properties, it should return null for this field. + * Otherwise it should return the properties. + * + * @return properties + */ + @javax.annotation.Nullable + @JsonProperty(JSON_PROPERTY_PROPERTIES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Map getProperties() { + return properties; + } + + @JsonProperty(JSON_PROPERTY_PROPERTIES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setProperties(@javax.annotation.Nullable Map properties) { + this.properties = properties; + } + @Override public boolean equals(Object o) { if (this == o) { @@ -144,12 +182,13 @@ public boolean equals(Object o) { CreateEmptyTableResponse createEmptyTableResponse = (CreateEmptyTableResponse) o; return Objects.equals(this.transactionId, createEmptyTableResponse.transactionId) && Objects.equals(this.location, createEmptyTableResponse.location) - && Objects.equals(this.storageOptions, createEmptyTableResponse.storageOptions); + && Objects.equals(this.storageOptions, createEmptyTableResponse.storageOptions) + && Objects.equals(this.properties, createEmptyTableResponse.properties); } @Override public int hashCode() { - return Objects.hash(transactionId, location, storageOptions); + return Objects.hash(transactionId, location, storageOptions, properties); } @Override @@ -159,6 +198,7 @@ public String toString() { sb.append(" transactionId: ").append(toIndentedString(transactionId)).append("\n"); sb.append(" location: ").append(toIndentedString(location)).append("\n"); sb.append(" storageOptions: ").append(toIndentedString(storageOptions)).append("\n"); + sb.append(" properties: ").append(toIndentedString(properties)).append("\n"); sb.append("}"); return sb.toString(); } @@ -259,6 +299,28 @@ public String toUrlQueryString(String prefix) { } } + // add `properties` to the URL query string + if (getProperties() != null) { + for (String _key : getProperties().keySet()) { + try { + joiner.add( + String.format( + "%sproperties%s%s=%s", + prefix, + suffix, + "".equals(suffix) + ? "" + : String.format("%s%d%s", containerPrefix, _key, containerSuffix), + getProperties().get(_key), + URLEncoder.encode(String.valueOf(getProperties().get(_key)), "UTF-8") + .replaceAll("\\+", "%20"))); + } catch (UnsupportedEncodingException e) { + // Should never happen, UTF-8 is always supported + throw new RuntimeException(e); + } + } + } + return joiner.toString(); } } diff --git a/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/CreateNamespaceRequest.java b/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/CreateNamespaceRequest.java index 664408ac..606d5ad7 100644 --- a/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/CreateNamespaceRequest.java +++ b/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/CreateNamespaceRequest.java @@ -191,7 +191,7 @@ public CreateNamespaceRequest putPropertiesItem(String key, String propertiesIte } /** - * Get properties + * Properties stored on the namespace, if supported by the implementation. * * @return properties */ diff --git a/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/CreateTableRequest.java b/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/CreateTableRequest.java index 993f35c2..45e91238 100644 --- a/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/CreateTableRequest.java +++ b/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/CreateTableRequest.java @@ -31,7 +31,8 @@ CreateTableRequest.JSON_PROPERTY_IDENTITY, CreateTableRequest.JSON_PROPERTY_CONTEXT, CreateTableRequest.JSON_PROPERTY_ID, - CreateTableRequest.JSON_PROPERTY_MODE + CreateTableRequest.JSON_PROPERTY_MODE, + CreateTableRequest.JSON_PROPERTY_PROPERTIES }) @javax.annotation.Generated( value = "org.openapitools.codegen.languages.JavaClientCodegen", @@ -49,6 +50,9 @@ public class CreateTableRequest { public static final String JSON_PROPERTY_MODE = "mode"; @javax.annotation.Nullable private String mode; + public static final String JSON_PROPERTY_PROPERTIES = "properties"; + @javax.annotation.Nullable private Map properties = new HashMap<>(); + public CreateTableRequest() {} public CreateTableRequest identity(@javax.annotation.Nullable Identity identity) { @@ -171,6 +175,38 @@ public void setMode(@javax.annotation.Nullable String mode) { this.mode = mode; } + public CreateTableRequest properties(@javax.annotation.Nullable Map properties) { + + this.properties = properties; + return this; + } + + public CreateTableRequest putPropertiesItem(String key, String propertiesItem) { + if (this.properties == null) { + this.properties = new HashMap<>(); + } + this.properties.put(key, propertiesItem); + return this; + } + + /** + * Properties stored on the table, if supported by the implementation. + * + * @return properties + */ + @javax.annotation.Nullable + @JsonProperty(JSON_PROPERTY_PROPERTIES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Map getProperties() { + return properties; + } + + @JsonProperty(JSON_PROPERTY_PROPERTIES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setProperties(@javax.annotation.Nullable Map properties) { + this.properties = properties; + } + @Override public boolean equals(Object o) { if (this == o) { @@ -183,12 +219,13 @@ public boolean equals(Object o) { return Objects.equals(this.identity, createTableRequest.identity) && Objects.equals(this.context, createTableRequest.context) && Objects.equals(this.id, createTableRequest.id) - && Objects.equals(this.mode, createTableRequest.mode); + && Objects.equals(this.mode, createTableRequest.mode) + && Objects.equals(this.properties, createTableRequest.properties); } @Override public int hashCode() { - return Objects.hash(identity, context, id, mode); + return Objects.hash(identity, context, id, mode, properties); } @Override @@ -199,6 +236,7 @@ public String toString() { sb.append(" context: ").append(toIndentedString(context)).append("\n"); sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" mode: ").append(toIndentedString(mode)).append("\n"); + sb.append(" properties: ").append(toIndentedString(properties)).append("\n"); sb.append("}"); return sb.toString(); } @@ -308,6 +346,28 @@ public String toUrlQueryString(String prefix) { } } + // add `properties` to the URL query string + if (getProperties() != null) { + for (String _key : getProperties().keySet()) { + try { + joiner.add( + String.format( + "%sproperties%s%s=%s", + prefix, + suffix, + "".equals(suffix) + ? "" + : String.format("%s%d%s", containerPrefix, _key, containerSuffix), + getProperties().get(_key), + URLEncoder.encode(String.valueOf(getProperties().get(_key)), "UTF-8") + .replaceAll("\\+", "%20"))); + } catch (UnsupportedEncodingException e) { + // Should never happen, UTF-8 is always supported + throw new RuntimeException(e); + } + } + } + return joiner.toString(); } } diff --git a/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/CreateTableResponse.java b/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/CreateTableResponse.java index d06a3518..9d3b5196 100644 --- a/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/CreateTableResponse.java +++ b/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/CreateTableResponse.java @@ -29,7 +29,8 @@ CreateTableResponse.JSON_PROPERTY_TRANSACTION_ID, CreateTableResponse.JSON_PROPERTY_LOCATION, CreateTableResponse.JSON_PROPERTY_VERSION, - CreateTableResponse.JSON_PROPERTY_STORAGE_OPTIONS + CreateTableResponse.JSON_PROPERTY_STORAGE_OPTIONS, + CreateTableResponse.JSON_PROPERTY_PROPERTIES }) @javax.annotation.Generated( value = "org.openapitools.codegen.languages.JavaClientCodegen", @@ -47,6 +48,9 @@ public class CreateTableResponse { public static final String JSON_PROPERTY_STORAGE_OPTIONS = "storage_options"; @javax.annotation.Nullable private Map storageOptions = new HashMap<>(); + public static final String JSON_PROPERTY_PROPERTIES = "properties"; + @javax.annotation.Nullable private Map properties = new HashMap<>(); + public CreateTableResponse() {} public CreateTableResponse transactionId(@javax.annotation.Nullable String transactionId) { @@ -155,6 +159,39 @@ public void setStorageOptions(@javax.annotation.Nullable Map sto this.storageOptions = storageOptions; } + public CreateTableResponse properties(@javax.annotation.Nullable Map properties) { + + this.properties = properties; + return this; + } + + public CreateTableResponse putPropertiesItem(String key, String propertiesItem) { + if (this.properties == null) { + this.properties = new HashMap<>(); + } + this.properties.put(key, propertiesItem); + return this; + } + + /** + * If the implementation does not support table properties, it should return null for this field. + * Otherwise it should return the properties. + * + * @return properties + */ + @javax.annotation.Nullable + @JsonProperty(JSON_PROPERTY_PROPERTIES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Map getProperties() { + return properties; + } + + @JsonProperty(JSON_PROPERTY_PROPERTIES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setProperties(@javax.annotation.Nullable Map properties) { + this.properties = properties; + } + @Override public boolean equals(Object o) { if (this == o) { @@ -167,12 +204,13 @@ public boolean equals(Object o) { return Objects.equals(this.transactionId, createTableResponse.transactionId) && Objects.equals(this.location, createTableResponse.location) && Objects.equals(this.version, createTableResponse.version) - && Objects.equals(this.storageOptions, createTableResponse.storageOptions); + && Objects.equals(this.storageOptions, createTableResponse.storageOptions) + && Objects.equals(this.properties, createTableResponse.properties); } @Override public int hashCode() { - return Objects.hash(transactionId, location, version, storageOptions); + return Objects.hash(transactionId, location, version, storageOptions, properties); } @Override @@ -183,6 +221,7 @@ public String toString() { sb.append(" location: ").append(toIndentedString(location)).append("\n"); sb.append(" version: ").append(toIndentedString(version)).append("\n"); sb.append(" storageOptions: ").append(toIndentedString(storageOptions)).append("\n"); + sb.append(" properties: ").append(toIndentedString(properties)).append("\n"); sb.append("}"); return sb.toString(); } @@ -298,6 +337,28 @@ public String toUrlQueryString(String prefix) { } } + // add `properties` to the URL query string + if (getProperties() != null) { + for (String _key : getProperties().keySet()) { + try { + joiner.add( + String.format( + "%sproperties%s%s=%s", + prefix, + suffix, + "".equals(suffix) + ? "" + : String.format("%s%d%s", containerPrefix, _key, containerSuffix), + getProperties().get(_key), + URLEncoder.encode(String.valueOf(getProperties().get(_key)), "UTF-8") + .replaceAll("\\+", "%20"))); + } catch (UnsupportedEncodingException e) { + // Should never happen, UTF-8 is always supported + throw new RuntimeException(e); + } + } + } + return joiner.toString(); } } diff --git a/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/DeclareTableRequest.java b/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/DeclareTableRequest.java index c9c0761d..462ce2ef 100644 --- a/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/DeclareTableRequest.java +++ b/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/DeclareTableRequest.java @@ -32,7 +32,8 @@ DeclareTableRequest.JSON_PROPERTY_CONTEXT, DeclareTableRequest.JSON_PROPERTY_ID, DeclareTableRequest.JSON_PROPERTY_LOCATION, - DeclareTableRequest.JSON_PROPERTY_VEND_CREDENTIALS + DeclareTableRequest.JSON_PROPERTY_VEND_CREDENTIALS, + DeclareTableRequest.JSON_PROPERTY_PROPERTIES }) @javax.annotation.Generated( value = "org.openapitools.codegen.languages.JavaClientCodegen", @@ -53,6 +54,9 @@ public class DeclareTableRequest { public static final String JSON_PROPERTY_VEND_CREDENTIALS = "vend_credentials"; @javax.annotation.Nullable private Boolean vendCredentials; + public static final String JSON_PROPERTY_PROPERTIES = "properties"; + @javax.annotation.Nullable private Map properties = new HashMap<>(); + public DeclareTableRequest() {} public DeclareTableRequest identity(@javax.annotation.Nullable Identity identity) { @@ -198,6 +202,38 @@ public void setVendCredentials(@javax.annotation.Nullable Boolean vendCredential this.vendCredentials = vendCredentials; } + public DeclareTableRequest properties(@javax.annotation.Nullable Map properties) { + + this.properties = properties; + return this; + } + + public DeclareTableRequest putPropertiesItem(String key, String propertiesItem) { + if (this.properties == null) { + this.properties = new HashMap<>(); + } + this.properties.put(key, propertiesItem); + return this; + } + + /** + * Properties stored on the table, if supported by the server. + * + * @return properties + */ + @javax.annotation.Nullable + @JsonProperty(JSON_PROPERTY_PROPERTIES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Map getProperties() { + return properties; + } + + @JsonProperty(JSON_PROPERTY_PROPERTIES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setProperties(@javax.annotation.Nullable Map properties) { + this.properties = properties; + } + @Override public boolean equals(Object o) { if (this == o) { @@ -211,12 +247,13 @@ public boolean equals(Object o) { && Objects.equals(this.context, declareTableRequest.context) && Objects.equals(this.id, declareTableRequest.id) && Objects.equals(this.location, declareTableRequest.location) - && Objects.equals(this.vendCredentials, declareTableRequest.vendCredentials); + && Objects.equals(this.vendCredentials, declareTableRequest.vendCredentials) + && Objects.equals(this.properties, declareTableRequest.properties); } @Override public int hashCode() { - return Objects.hash(identity, context, id, location, vendCredentials); + return Objects.hash(identity, context, id, location, vendCredentials, properties); } @Override @@ -228,6 +265,7 @@ public String toString() { sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" location: ").append(toIndentedString(location)).append("\n"); sb.append(" vendCredentials: ").append(toIndentedString(vendCredentials)).append("\n"); + sb.append(" properties: ").append(toIndentedString(properties)).append("\n"); sb.append("}"); return sb.toString(); } @@ -354,6 +392,28 @@ public String toUrlQueryString(String prefix) { } } + // add `properties` to the URL query string + if (getProperties() != null) { + for (String _key : getProperties().keySet()) { + try { + joiner.add( + String.format( + "%sproperties%s%s=%s", + prefix, + suffix, + "".equals(suffix) + ? "" + : String.format("%s%d%s", containerPrefix, _key, containerSuffix), + getProperties().get(_key), + URLEncoder.encode(String.valueOf(getProperties().get(_key)), "UTF-8") + .replaceAll("\\+", "%20"))); + } catch (UnsupportedEncodingException e) { + // Should never happen, UTF-8 is always supported + throw new RuntimeException(e); + } + } + } + return joiner.toString(); } } diff --git a/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/DeclareTableResponse.java b/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/DeclareTableResponse.java index 9320feda..1cdbb891 100644 --- a/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/DeclareTableResponse.java +++ b/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/DeclareTableResponse.java @@ -28,7 +28,8 @@ @JsonPropertyOrder({ DeclareTableResponse.JSON_PROPERTY_TRANSACTION_ID, DeclareTableResponse.JSON_PROPERTY_LOCATION, - DeclareTableResponse.JSON_PROPERTY_STORAGE_OPTIONS + DeclareTableResponse.JSON_PROPERTY_STORAGE_OPTIONS, + DeclareTableResponse.JSON_PROPERTY_PROPERTIES }) @javax.annotation.Generated( value = "org.openapitools.codegen.languages.JavaClientCodegen", @@ -43,6 +44,9 @@ public class DeclareTableResponse { public static final String JSON_PROPERTY_STORAGE_OPTIONS = "storage_options"; @javax.annotation.Nullable private Map storageOptions = new HashMap<>(); + public static final String JSON_PROPERTY_PROPERTIES = "properties"; + @javax.annotation.Nullable private Map properties = new HashMap<>(); + public DeclareTableResponse() {} public DeclareTableResponse transactionId(@javax.annotation.Nullable String transactionId) { @@ -127,6 +131,40 @@ public void setStorageOptions(@javax.annotation.Nullable Map sto this.storageOptions = storageOptions; } + public DeclareTableResponse properties( + @javax.annotation.Nullable Map properties) { + + this.properties = properties; + return this; + } + + public DeclareTableResponse putPropertiesItem(String key, String propertiesItem) { + if (this.properties == null) { + this.properties = new HashMap<>(); + } + this.properties.put(key, propertiesItem); + return this; + } + + /** + * If the implementation does not support table properties, it should return null for this field. + * Otherwise it should return the properties. + * + * @return properties + */ + @javax.annotation.Nullable + @JsonProperty(JSON_PROPERTY_PROPERTIES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Map getProperties() { + return properties; + } + + @JsonProperty(JSON_PROPERTY_PROPERTIES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setProperties(@javax.annotation.Nullable Map properties) { + this.properties = properties; + } + @Override public boolean equals(Object o) { if (this == o) { @@ -138,12 +176,13 @@ public boolean equals(Object o) { DeclareTableResponse declareTableResponse = (DeclareTableResponse) o; return Objects.equals(this.transactionId, declareTableResponse.transactionId) && Objects.equals(this.location, declareTableResponse.location) - && Objects.equals(this.storageOptions, declareTableResponse.storageOptions); + && Objects.equals(this.storageOptions, declareTableResponse.storageOptions) + && Objects.equals(this.properties, declareTableResponse.properties); } @Override public int hashCode() { - return Objects.hash(transactionId, location, storageOptions); + return Objects.hash(transactionId, location, storageOptions, properties); } @Override @@ -153,6 +192,7 @@ public String toString() { sb.append(" transactionId: ").append(toIndentedString(transactionId)).append("\n"); sb.append(" location: ").append(toIndentedString(location)).append("\n"); sb.append(" storageOptions: ").append(toIndentedString(storageOptions)).append("\n"); + sb.append(" properties: ").append(toIndentedString(properties)).append("\n"); sb.append("}"); return sb.toString(); } @@ -253,6 +293,28 @@ public String toUrlQueryString(String prefix) { } } + // add `properties` to the URL query string + if (getProperties() != null) { + for (String _key : getProperties().keySet()) { + try { + joiner.add( + String.format( + "%sproperties%s%s=%s", + prefix, + suffix, + "".equals(suffix) + ? "" + : String.format("%s%d%s", containerPrefix, _key, containerSuffix), + getProperties().get(_key), + URLEncoder.encode(String.valueOf(getProperties().get(_key)), "UTF-8") + .replaceAll("\\+", "%20"))); + } catch (UnsupportedEncodingException e) { + // Should never happen, UTF-8 is always supported + throw new RuntimeException(e); + } + } + } + return joiner.toString(); } } diff --git a/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/DeregisterTableResponse.java b/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/DeregisterTableResponse.java index ba2cd1b0..9856a43e 100644 --- a/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/DeregisterTableResponse.java +++ b/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/DeregisterTableResponse.java @@ -147,7 +147,8 @@ public DeregisterTableResponse putPropertiesItem(String key, String propertiesIt } /** - * Get properties + * If the implementation does not support table properties, it should return null for this field. + * Otherwise it should return the properties. * * @return properties */ diff --git a/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/DescribeTableResponse.java b/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/DescribeTableResponse.java index 5ac476c6..3a9b3fa8 100644 --- a/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/DescribeTableResponse.java +++ b/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/DescribeTableResponse.java @@ -36,7 +36,8 @@ DescribeTableResponse.JSON_PROPERTY_SCHEMA, DescribeTableResponse.JSON_PROPERTY_STORAGE_OPTIONS, DescribeTableResponse.JSON_PROPERTY_STATS, - DescribeTableResponse.JSON_PROPERTY_METADATA + DescribeTableResponse.JSON_PROPERTY_METADATA, + DescribeTableResponse.JSON_PROPERTY_PROPERTIES }) @javax.annotation.Generated( value = "org.openapitools.codegen.languages.JavaClientCodegen", @@ -69,6 +70,9 @@ public class DescribeTableResponse { public static final String JSON_PROPERTY_METADATA = "metadata"; @javax.annotation.Nullable private Map metadata = new HashMap<>(); + public static final String JSON_PROPERTY_PROPERTIES = "properties"; + @javax.annotation.Nullable private Map properties = new HashMap<>(); + public DescribeTableResponse() {} public DescribeTableResponse table(@javax.annotation.Nullable String table) { @@ -320,6 +324,41 @@ public void setMetadata(@javax.annotation.Nullable Map metadata) this.metadata = metadata; } + public DescribeTableResponse properties( + @javax.annotation.Nullable Map properties) { + + this.properties = properties; + return this; + } + + public DescribeTableResponse putPropertiesItem(String key, String propertiesItem) { + if (this.properties == null) { + this.properties = new HashMap<>(); + } + this.properties.put(key, propertiesItem); + return this; + } + + /** + * Properties stored on the table, if supported by the server. If the server does not support + * table properties, it should return null for this field. If table properties are supported, but + * none are set, it should return an empty object. + * + * @return properties + */ + @javax.annotation.Nullable + @JsonProperty(JSON_PROPERTY_PROPERTIES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Map getProperties() { + return properties; + } + + @JsonProperty(JSON_PROPERTY_PROPERTIES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setProperties(@javax.annotation.Nullable Map properties) { + this.properties = properties; + } + @Override public boolean equals(Object o) { if (this == o) { @@ -337,13 +376,23 @@ public boolean equals(Object o) { && Objects.equals(this.schema, describeTableResponse.schema) && Objects.equals(this.storageOptions, describeTableResponse.storageOptions) && Objects.equals(this.stats, describeTableResponse.stats) - && Objects.equals(this.metadata, describeTableResponse.metadata); + && Objects.equals(this.metadata, describeTableResponse.metadata) + && Objects.equals(this.properties, describeTableResponse.properties); } @Override public int hashCode() { return Objects.hash( - table, namespace, version, location, tableUri, schema, storageOptions, stats, metadata); + table, + namespace, + version, + location, + tableUri, + schema, + storageOptions, + stats, + metadata, + properties); } @Override @@ -359,6 +408,7 @@ public String toString() { sb.append(" storageOptions: ").append(toIndentedString(storageOptions)).append("\n"); sb.append(" stats: ").append(toIndentedString(stats)).append("\n"); sb.append(" metadata: ").append(toIndentedString(metadata)).append("\n"); + sb.append(" properties: ").append(toIndentedString(properties)).append("\n"); sb.append("}"); return sb.toString(); } @@ -542,6 +592,28 @@ public String toUrlQueryString(String prefix) { } } + // add `properties` to the URL query string + if (getProperties() != null) { + for (String _key : getProperties().keySet()) { + try { + joiner.add( + String.format( + "%sproperties%s%s=%s", + prefix, + suffix, + "".equals(suffix) + ? "" + : String.format("%s%d%s", containerPrefix, _key, containerSuffix), + getProperties().get(_key), + URLEncoder.encode(String.valueOf(getProperties().get(_key)), "UTF-8") + .replaceAll("\\+", "%20"))); + } catch (UnsupportedEncodingException e) { + // Should never happen, UTF-8 is always supported + throw new RuntimeException(e); + } + } + } + return joiner.toString(); } } diff --git a/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/DropNamespaceResponse.java b/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/DropNamespaceResponse.java index cb45e965..bc8d0483 100644 --- a/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/DropNamespaceResponse.java +++ b/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/DropNamespaceResponse.java @@ -59,7 +59,8 @@ public DropNamespaceResponse putPropertiesItem(String key, String propertiesItem } /** - * Get properties + * If the implementation does not support namespace properties, it should return null for this + * field. Otherwise it should return the properties. * * @return properties */ diff --git a/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/DropTableResponse.java b/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/DropTableResponse.java index ae856754..995ebf30 100644 --- a/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/DropTableResponse.java +++ b/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/DropTableResponse.java @@ -146,7 +146,8 @@ public DropTableResponse putPropertiesItem(String key, String propertiesItem) { } /** - * Get properties + * If the implementation does not support table properties, it should return null for this field. + * Otherwise it should return the properties. * * @return properties */ diff --git a/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/RegisterTableRequest.java b/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/RegisterTableRequest.java index 2543381f..6ec6da2d 100644 --- a/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/RegisterTableRequest.java +++ b/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/RegisterTableRequest.java @@ -218,7 +218,7 @@ public RegisterTableRequest putPropertiesItem(String key, String propertiesItem) } /** - * Get properties + * Properties stored on the table, if supported by the implementation. * * @return properties */ diff --git a/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/RegisterTableResponse.java b/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/RegisterTableResponse.java index 8b73d8fd..fc0861ef 100644 --- a/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/RegisterTableResponse.java +++ b/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/RegisterTableResponse.java @@ -109,7 +109,8 @@ public RegisterTableResponse putPropertiesItem(String key, String propertiesItem } /** - * Get properties + * If the implementation does not support table properties, it should return null for this field. + * Otherwise, it should return the properties. * * @return properties */ diff --git a/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/UpdateTableRequest.java b/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/UpdateTableRequest.java index dde43baa..b24bf47b 100644 --- a/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/UpdateTableRequest.java +++ b/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/UpdateTableRequest.java @@ -35,7 +35,8 @@ UpdateTableRequest.JSON_PROPERTY_CONTEXT, UpdateTableRequest.JSON_PROPERTY_ID, UpdateTableRequest.JSON_PROPERTY_PREDICATE, - UpdateTableRequest.JSON_PROPERTY_UPDATES + UpdateTableRequest.JSON_PROPERTY_UPDATES, + UpdateTableRequest.JSON_PROPERTY_PROPERTIES }) @javax.annotation.Generated( value = "org.openapitools.codegen.languages.JavaClientCodegen", @@ -56,6 +57,9 @@ public class UpdateTableRequest { public static final String JSON_PROPERTY_UPDATES = "updates"; @javax.annotation.Nonnull private List> updates = new ArrayList<>(); + public static final String JSON_PROPERTY_PROPERTIES = "properties"; + @javax.annotation.Nullable private Map properties = new HashMap<>(); + public UpdateTableRequest() {} public UpdateTableRequest identity(@javax.annotation.Nullable Identity identity) { @@ -206,6 +210,38 @@ public void setUpdates(@javax.annotation.Nonnull List> updates) { this.updates = updates; } + public UpdateTableRequest properties(@javax.annotation.Nullable Map properties) { + + this.properties = properties; + return this; + } + + public UpdateTableRequest putPropertiesItem(String key, String propertiesItem) { + if (this.properties == null) { + this.properties = new HashMap<>(); + } + this.properties.put(key, propertiesItem); + return this; + } + + /** + * Properties stored on the table, if supported by the implementation. + * + * @return properties + */ + @javax.annotation.Nullable + @JsonProperty(JSON_PROPERTY_PROPERTIES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Map getProperties() { + return properties; + } + + @JsonProperty(JSON_PROPERTY_PROPERTIES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setProperties(@javax.annotation.Nullable Map properties) { + this.properties = properties; + } + @Override public boolean equals(Object o) { if (this == o) { @@ -219,12 +255,13 @@ public boolean equals(Object o) { && Objects.equals(this.context, updateTableRequest.context) && Objects.equals(this.id, updateTableRequest.id) && Objects.equals(this.predicate, updateTableRequest.predicate) - && Objects.equals(this.updates, updateTableRequest.updates); + && Objects.equals(this.updates, updateTableRequest.updates) + && Objects.equals(this.properties, updateTableRequest.properties); } @Override public int hashCode() { - return Objects.hash(identity, context, id, predicate, updates); + return Objects.hash(identity, context, id, predicate, updates, properties); } @Override @@ -236,6 +273,7 @@ public String toString() { sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" predicate: ").append(toIndentedString(predicate)).append("\n"); sb.append(" updates: ").append(toIndentedString(updates)).append("\n"); + sb.append(" properties: ").append(toIndentedString(properties)).append("\n"); sb.append("}"); return sb.toString(); } @@ -367,6 +405,28 @@ public String toUrlQueryString(String prefix) { } } + // add `properties` to the URL query string + if (getProperties() != null) { + for (String _key : getProperties().keySet()) { + try { + joiner.add( + String.format( + "%sproperties%s%s=%s", + prefix, + suffix, + "".equals(suffix) + ? "" + : String.format("%s%d%s", containerPrefix, _key, containerSuffix), + getProperties().get(_key), + URLEncoder.encode(String.valueOf(getProperties().get(_key)), "UTF-8") + .replaceAll("\\+", "%20"))); + } catch (UnsupportedEncodingException e) { + // Should never happen, UTF-8 is always supported + throw new RuntimeException(e); + } + } + } + return joiner.toString(); } } diff --git a/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/UpdateTableResponse.java b/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/UpdateTableResponse.java index 074f4965..a908516c 100644 --- a/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/UpdateTableResponse.java +++ b/java/lance-namespace-apache-client/src/main/java/org/lance/namespace/model/UpdateTableResponse.java @@ -19,6 +19,8 @@ import java.io.UnsupportedEncodingException; import java.net.URLEncoder; +import java.util.HashMap; +import java.util.Map; import java.util.Objects; import java.util.StringJoiner; @@ -26,7 +28,8 @@ @JsonPropertyOrder({ UpdateTableResponse.JSON_PROPERTY_TRANSACTION_ID, UpdateTableResponse.JSON_PROPERTY_UPDATED_ROWS, - UpdateTableResponse.JSON_PROPERTY_VERSION + UpdateTableResponse.JSON_PROPERTY_VERSION, + UpdateTableResponse.JSON_PROPERTY_PROPERTIES }) @javax.annotation.Generated( value = "org.openapitools.codegen.languages.JavaClientCodegen", @@ -41,6 +44,9 @@ public class UpdateTableResponse { public static final String JSON_PROPERTY_VERSION = "version"; @javax.annotation.Nonnull private Long version; + public static final String JSON_PROPERTY_PROPERTIES = "properties"; + @javax.annotation.Nullable private Map properties = new HashMap<>(); + public UpdateTableResponse() {} public UpdateTableResponse transactionId(@javax.annotation.Nullable String transactionId) { @@ -115,6 +121,39 @@ public void setVersion(@javax.annotation.Nonnull Long version) { this.version = version; } + public UpdateTableResponse properties(@javax.annotation.Nullable Map properties) { + + this.properties = properties; + return this; + } + + public UpdateTableResponse putPropertiesItem(String key, String propertiesItem) { + if (this.properties == null) { + this.properties = new HashMap<>(); + } + this.properties.put(key, propertiesItem); + return this; + } + + /** + * If the implementation does not support table properties, it should return null for this field. + * Otherwise, it should return the properties. + * + * @return properties + */ + @javax.annotation.Nullable + @JsonProperty(JSON_PROPERTY_PROPERTIES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Map getProperties() { + return properties; + } + + @JsonProperty(JSON_PROPERTY_PROPERTIES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setProperties(@javax.annotation.Nullable Map properties) { + this.properties = properties; + } + @Override public boolean equals(Object o) { if (this == o) { @@ -126,12 +165,13 @@ public boolean equals(Object o) { UpdateTableResponse updateTableResponse = (UpdateTableResponse) o; return Objects.equals(this.transactionId, updateTableResponse.transactionId) && Objects.equals(this.updatedRows, updateTableResponse.updatedRows) - && Objects.equals(this.version, updateTableResponse.version); + && Objects.equals(this.version, updateTableResponse.version) + && Objects.equals(this.properties, updateTableResponse.properties); } @Override public int hashCode() { - return Objects.hash(transactionId, updatedRows, version); + return Objects.hash(transactionId, updatedRows, version, properties); } @Override @@ -141,6 +181,7 @@ public String toString() { sb.append(" transactionId: ").append(toIndentedString(transactionId)).append("\n"); sb.append(" updatedRows: ").append(toIndentedString(updatedRows)).append("\n"); sb.append(" version: ").append(toIndentedString(version)).append("\n"); + sb.append(" properties: ").append(toIndentedString(properties)).append("\n"); sb.append("}"); return sb.toString(); } @@ -234,6 +275,28 @@ public String toUrlQueryString(String prefix) { } } + // add `properties` to the URL query string + if (getProperties() != null) { + for (String _key : getProperties().keySet()) { + try { + joiner.add( + String.format( + "%sproperties%s%s=%s", + prefix, + suffix, + "".equals(suffix) + ? "" + : String.format("%s%d%s", containerPrefix, _key, containerSuffix), + getProperties().get(_key), + URLEncoder.encode(String.valueOf(getProperties().get(_key)), "UTF-8") + .replaceAll("\\+", "%20"))); + } catch (UnsupportedEncodingException e) { + // Should never happen, UTF-8 is always supported + throw new RuntimeException(e); + } + } + } + return joiner.toString(); } } diff --git a/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/api/TableApi.java b/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/api/TableApi.java index 121f28e0..5c8dca35 100644 --- a/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/api/TableApi.java +++ b/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/api/TableApi.java @@ -1111,7 +1111,7 @@ default ResponseEntity createEmptyTable( for (MediaType mediaType : MediaType.parseMediaTypes(request.getHeader("Accept"))) { if (mediaType.isCompatibleWith(MediaType.valueOf("application/json"))) { String exampleString = - "{ \"transaction_id\" : \"transaction_id\", \"location\" : \"location\", \"storage_options\" : { \"key\" : \"storage_options\" } }"; + "{ \"transaction_id\" : \"transaction_id\", \"location\" : \"location\", \"properties\" : { \"owner\" : \"Ralph\", \"created_at\" : \"1452120468\" }, \"storage_options\" : { \"key\" : \"storage_options\" } }"; ApiUtil.setExampleResponse(request, "application/json", exampleString); break; } @@ -1300,7 +1300,7 @@ default ResponseEntity createTable( for (MediaType mediaType : MediaType.parseMediaTypes(request.getHeader("Accept"))) { if (mediaType.isCompatibleWith(MediaType.valueOf("application/json"))) { String exampleString = - "{ \"transaction_id\" : \"transaction_id\", \"location\" : \"location\", \"version\" : 0, \"storage_options\" : { \"key\" : \"storage_options\" } }"; + "{ \"transaction_id\" : \"transaction_id\", \"location\" : \"location\", \"version\" : 0, \"properties\" : { \"owner\" : \"Ralph\", \"created_at\" : \"1452120468\" }, \"storage_options\" : { \"key\" : \"storage_options\" } }"; ApiUtil.setExampleResponse(request, "application/json", exampleString); break; } @@ -2035,7 +2035,7 @@ default ResponseEntity declareTable( for (MediaType mediaType : MediaType.parseMediaTypes(request.getHeader("Accept"))) { if (mediaType.isCompatibleWith(MediaType.valueOf("application/json"))) { String exampleString = - "{ \"transaction_id\" : \"transaction_id\", \"location\" : \"location\", \"storage_options\" : { \"key\" : \"storage_options\" } }"; + "{ \"transaction_id\" : \"transaction_id\", \"location\" : \"location\", \"properties\" : { \"owner\" : \"Ralph\", \"created_at\" : \"1452120468\" }, \"storage_options\" : { \"key\" : \"storage_options\" } }"; ApiUtil.setExampleResponse(request, "application/json", exampleString); break; } @@ -2561,7 +2561,7 @@ default ResponseEntity deregisterTable( for (MediaType mediaType : MediaType.parseMediaTypes(request.getHeader("Accept"))) { if (mediaType.isCompatibleWith(MediaType.valueOf("application/json"))) { String exampleString = - "{ \"transaction_id\" : \"transaction_id\", \"location\" : \"location\", \"id\" : [ \"id\", \"id\" ], \"properties\" : { \"key\" : \"properties\" } }"; + "{ \"transaction_id\" : \"transaction_id\", \"location\" : \"location\", \"id\" : [ \"id\", \"id\" ], \"properties\" : { \"owner\" : \"Ralph\", \"created_at\" : \"1452120468\" } }"; ApiUtil.setExampleResponse(request, "application/json", exampleString); break; } @@ -2759,7 +2759,7 @@ default ResponseEntity describeTable( for (MediaType mediaType : MediaType.parseMediaTypes(request.getHeader("Accept"))) { if (mediaType.isCompatibleWith(MediaType.valueOf("application/json"))) { String exampleString = - "{ \"schema\" : { \"metadata\" : { \"key\" : \"metadata\" }, \"fields\" : [ { \"metadata\" : { \"key\" : \"metadata\" }, \"nullable\" : true, \"name\" : \"name\", \"type\" : { \"length\" : 0, \"fields\" : [ null, null ], \"type\" : \"type\" } }, { \"metadata\" : { \"key\" : \"metadata\" }, \"nullable\" : true, \"name\" : \"name\", \"type\" : { \"length\" : 0, \"fields\" : [ null, null ], \"type\" : \"type\" } } ] }, \"metadata\" : { \"key\" : \"metadata\" }, \"table_uri\" : \"table_uri\", \"stats\" : { \"num_deleted_rows\" : 0, \"num_fragments\" : 0 }, \"namespace\" : [ \"namespace\", \"namespace\" ], \"location\" : \"location\", \"version\" : 0, \"table\" : \"table\", \"storage_options\" : { \"key\" : \"storage_options\" } }"; + "{ \"schema\" : { \"metadata\" : { \"key\" : \"metadata\" }, \"fields\" : [ { \"metadata\" : { \"key\" : \"metadata\" }, \"nullable\" : true, \"name\" : \"name\", \"type\" : { \"length\" : 0, \"fields\" : [ null, null ], \"type\" : \"type\" } }, { \"metadata\" : { \"key\" : \"metadata\" }, \"nullable\" : true, \"name\" : \"name\", \"type\" : { \"length\" : 0, \"fields\" : [ null, null ], \"type\" : \"type\" } } ] }, \"metadata\" : { \"key\" : \"metadata\" }, \"table_uri\" : \"table_uri\", \"stats\" : { \"num_deleted_rows\" : 0, \"num_fragments\" : 0 }, \"namespace\" : [ \"namespace\", \"namespace\" ], \"location\" : \"location\", \"version\" : 0, \"table\" : \"table\", \"properties\" : { \"owner\" : \"Ralph\", \"created_at\" : \"1452120468\" }, \"storage_options\" : { \"key\" : \"storage_options\" } }"; ApiUtil.setExampleResponse(request, "application/json", exampleString); break; } @@ -3117,7 +3117,7 @@ default ResponseEntity dropTable( for (MediaType mediaType : MediaType.parseMediaTypes(request.getHeader("Accept"))) { if (mediaType.isCompatibleWith(MediaType.valueOf("application/json"))) { String exampleString = - "{ \"transaction_id\" : \"transaction_id\", \"location\" : \"location\", \"id\" : [ \"id\", \"id\" ], \"properties\" : { \"key\" : \"properties\" } }"; + "{ \"transaction_id\" : \"transaction_id\", \"location\" : \"location\", \"id\" : [ \"id\", \"id\" ], \"properties\" : { \"owner\" : \"Ralph\", \"created_at\" : \"1452120468\" } }"; ApiUtil.setExampleResponse(request, "application/json", exampleString); break; } @@ -6084,7 +6084,7 @@ default ResponseEntity updateTable( for (MediaType mediaType : MediaType.parseMediaTypes(request.getHeader("Accept"))) { if (mediaType.isCompatibleWith(MediaType.valueOf("application/json"))) { String exampleString = - "{ \"transaction_id\" : \"transaction_id\", \"updated_rows\" : 0, \"version\" : 0 }"; + "{ \"transaction_id\" : \"transaction_id\", \"updated_rows\" : 0, \"version\" : 0, \"properties\" : { \"key\" : \"properties\" } }"; ApiUtil.setExampleResponse(request, "application/json", exampleString); break; } diff --git a/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/CreateEmptyTableRequest.java b/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/CreateEmptyTableRequest.java index 01d3eb9f..cedbd31c 100644 --- a/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/CreateEmptyTableRequest.java +++ b/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/CreateEmptyTableRequest.java @@ -51,6 +51,8 @@ public class CreateEmptyTableRequest { private Boolean vendCredentials; + @Valid private Map properties = new HashMap<>(); + public CreateEmptyTableRequest identity(Identity identity) { this.identity = identity; return this; @@ -186,6 +188,37 @@ public void setVendCredentials(Boolean vendCredentials) { this.vendCredentials = vendCredentials; } + public CreateEmptyTableRequest properties(Map properties) { + this.properties = properties; + return this; + } + + public CreateEmptyTableRequest putPropertiesItem(String key, String propertiesItem) { + if (this.properties == null) { + this.properties = new HashMap<>(); + } + this.properties.put(key, propertiesItem); + return this; + } + + /** + * Properties stored on the table, if supported by the server. + * + * @return properties + */ + @Schema( + name = "properties", + description = "Properties stored on the table, if supported by the server. ", + requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @JsonProperty("properties") + public Map getProperties() { + return properties; + } + + public void setProperties(Map properties) { + this.properties = properties; + } + @Override public boolean equals(Object o) { if (this == o) { @@ -199,12 +232,13 @@ public boolean equals(Object o) { && Objects.equals(this.context, createEmptyTableRequest.context) && Objects.equals(this.id, createEmptyTableRequest.id) && Objects.equals(this.location, createEmptyTableRequest.location) - && Objects.equals(this.vendCredentials, createEmptyTableRequest.vendCredentials); + && Objects.equals(this.vendCredentials, createEmptyTableRequest.vendCredentials) + && Objects.equals(this.properties, createEmptyTableRequest.properties); } @Override public int hashCode() { - return Objects.hash(identity, context, id, location, vendCredentials); + return Objects.hash(identity, context, id, location, vendCredentials, properties); } @Override @@ -216,6 +250,7 @@ public String toString() { sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" location: ").append(toIndentedString(location)).append("\n"); sb.append(" vendCredentials: ").append(toIndentedString(vendCredentials)).append("\n"); + sb.append(" properties: ").append(toIndentedString(properties)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/CreateEmptyTableResponse.java b/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/CreateEmptyTableResponse.java index 18c7f881..d314bdb6 100644 --- a/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/CreateEmptyTableResponse.java +++ b/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/CreateEmptyTableResponse.java @@ -46,6 +46,8 @@ public class CreateEmptyTableResponse { @Valid private Map storageOptions = new HashMap<>(); + @Valid private Map properties = new HashMap<>(); + public CreateEmptyTableResponse transactionId(String transactionId) { this.transactionId = transactionId; return this; @@ -122,6 +124,40 @@ public void setStorageOptions(Map storageOptions) { this.storageOptions = storageOptions; } + public CreateEmptyTableResponse properties(Map properties) { + this.properties = properties; + return this; + } + + public CreateEmptyTableResponse putPropertiesItem(String key, String propertiesItem) { + if (this.properties == null) { + this.properties = new HashMap<>(); + } + this.properties.put(key, propertiesItem); + return this; + } + + /** + * If the implementation does not support table properties, it should return null for this field. + * Otherwise it should return the properties. + * + * @return properties + */ + @Schema( + name = "properties", + example = "{owner=Ralph, created_at=1452120468}", + description = + "If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties. ", + requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @JsonProperty("properties") + public Map getProperties() { + return properties; + } + + public void setProperties(Map properties) { + this.properties = properties; + } + @Override public boolean equals(Object o) { if (this == o) { @@ -133,12 +169,13 @@ public boolean equals(Object o) { CreateEmptyTableResponse createEmptyTableResponse = (CreateEmptyTableResponse) o; return Objects.equals(this.transactionId, createEmptyTableResponse.transactionId) && Objects.equals(this.location, createEmptyTableResponse.location) - && Objects.equals(this.storageOptions, createEmptyTableResponse.storageOptions); + && Objects.equals(this.storageOptions, createEmptyTableResponse.storageOptions) + && Objects.equals(this.properties, createEmptyTableResponse.properties); } @Override public int hashCode() { - return Objects.hash(transactionId, location, storageOptions); + return Objects.hash(transactionId, location, storageOptions, properties); } @Override @@ -148,6 +185,7 @@ public String toString() { sb.append(" transactionId: ").append(toIndentedString(transactionId)).append("\n"); sb.append(" location: ").append(toIndentedString(location)).append("\n"); sb.append(" storageOptions: ").append(toIndentedString(storageOptions)).append("\n"); + sb.append(" properties: ").append(toIndentedString(properties)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/CreateNamespaceRequest.java b/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/CreateNamespaceRequest.java index 251c099f..d153ca81 100644 --- a/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/CreateNamespaceRequest.java +++ b/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/CreateNamespaceRequest.java @@ -168,11 +168,14 @@ public CreateNamespaceRequest putPropertiesItem(String key, String propertiesIte } /** - * Get properties + * Properties stored on the namespace, if supported by the implementation. * * @return properties */ - @Schema(name = "properties", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @Schema( + name = "properties", + description = "Properties stored on the namespace, if supported by the implementation. ", + requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("properties") public Map getProperties() { return properties; diff --git a/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/CreateTableRequest.java b/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/CreateTableRequest.java index d79a753f..b8bd4000 100644 --- a/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/CreateTableRequest.java +++ b/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/CreateTableRequest.java @@ -43,6 +43,8 @@ public class CreateTableRequest { private String mode; + @Valid private Map properties = new HashMap<>(); + public CreateTableRequest identity(Identity identity) { this.identity = identity; return this; @@ -155,6 +157,37 @@ public void setMode(String mode) { this.mode = mode; } + public CreateTableRequest properties(Map properties) { + this.properties = properties; + return this; + } + + public CreateTableRequest putPropertiesItem(String key, String propertiesItem) { + if (this.properties == null) { + this.properties = new HashMap<>(); + } + this.properties.put(key, propertiesItem); + return this; + } + + /** + * Properties stored on the table, if supported by the implementation. + * + * @return properties + */ + @Schema( + name = "properties", + description = "Properties stored on the table, if supported by the implementation. ", + requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @JsonProperty("properties") + public Map getProperties() { + return properties; + } + + public void setProperties(Map properties) { + this.properties = properties; + } + @Override public boolean equals(Object o) { if (this == o) { @@ -167,12 +200,13 @@ public boolean equals(Object o) { return Objects.equals(this.identity, createTableRequest.identity) && Objects.equals(this.context, createTableRequest.context) && Objects.equals(this.id, createTableRequest.id) - && Objects.equals(this.mode, createTableRequest.mode); + && Objects.equals(this.mode, createTableRequest.mode) + && Objects.equals(this.properties, createTableRequest.properties); } @Override public int hashCode() { - return Objects.hash(identity, context, id, mode); + return Objects.hash(identity, context, id, mode, properties); } @Override @@ -183,6 +217,7 @@ public String toString() { sb.append(" context: ").append(toIndentedString(context)).append("\n"); sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" mode: ").append(toIndentedString(mode)).append("\n"); + sb.append(" properties: ").append(toIndentedString(properties)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/CreateTableResponse.java b/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/CreateTableResponse.java index 161ca3ec..4ccb4a61 100644 --- a/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/CreateTableResponse.java +++ b/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/CreateTableResponse.java @@ -38,6 +38,8 @@ public class CreateTableResponse { @Valid private Map storageOptions = new HashMap<>(); + @Valid private Map properties = new HashMap<>(); + public CreateTableResponse transactionId(String transactionId) { this.transactionId = transactionId; return this; @@ -135,6 +137,40 @@ public void setStorageOptions(Map storageOptions) { this.storageOptions = storageOptions; } + public CreateTableResponse properties(Map properties) { + this.properties = properties; + return this; + } + + public CreateTableResponse putPropertiesItem(String key, String propertiesItem) { + if (this.properties == null) { + this.properties = new HashMap<>(); + } + this.properties.put(key, propertiesItem); + return this; + } + + /** + * If the implementation does not support table properties, it should return null for this field. + * Otherwise it should return the properties. + * + * @return properties + */ + @Schema( + name = "properties", + example = "{owner=Ralph, created_at=1452120468}", + description = + "If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties. ", + requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @JsonProperty("properties") + public Map getProperties() { + return properties; + } + + public void setProperties(Map properties) { + this.properties = properties; + } + @Override public boolean equals(Object o) { if (this == o) { @@ -147,12 +183,13 @@ public boolean equals(Object o) { return Objects.equals(this.transactionId, createTableResponse.transactionId) && Objects.equals(this.location, createTableResponse.location) && Objects.equals(this.version, createTableResponse.version) - && Objects.equals(this.storageOptions, createTableResponse.storageOptions); + && Objects.equals(this.storageOptions, createTableResponse.storageOptions) + && Objects.equals(this.properties, createTableResponse.properties); } @Override public int hashCode() { - return Objects.hash(transactionId, location, version, storageOptions); + return Objects.hash(transactionId, location, version, storageOptions, properties); } @Override @@ -163,6 +200,7 @@ public String toString() { sb.append(" location: ").append(toIndentedString(location)).append("\n"); sb.append(" version: ").append(toIndentedString(version)).append("\n"); sb.append(" storageOptions: ").append(toIndentedString(storageOptions)).append("\n"); + sb.append(" properties: ").append(toIndentedString(properties)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/DeclareTableRequest.java b/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/DeclareTableRequest.java index ecd33352..a4ccdb4c 100644 --- a/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/DeclareTableRequest.java +++ b/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/DeclareTableRequest.java @@ -43,6 +43,8 @@ public class DeclareTableRequest { private Boolean vendCredentials; + @Valid private Map properties = new HashMap<>(); + public DeclareTableRequest identity(Identity identity) { this.identity = identity; return this; @@ -178,6 +180,37 @@ public void setVendCredentials(Boolean vendCredentials) { this.vendCredentials = vendCredentials; } + public DeclareTableRequest properties(Map properties) { + this.properties = properties; + return this; + } + + public DeclareTableRequest putPropertiesItem(String key, String propertiesItem) { + if (this.properties == null) { + this.properties = new HashMap<>(); + } + this.properties.put(key, propertiesItem); + return this; + } + + /** + * Properties stored on the table, if supported by the server. + * + * @return properties + */ + @Schema( + name = "properties", + description = "Properties stored on the table, if supported by the server. ", + requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @JsonProperty("properties") + public Map getProperties() { + return properties; + } + + public void setProperties(Map properties) { + this.properties = properties; + } + @Override public boolean equals(Object o) { if (this == o) { @@ -191,12 +224,13 @@ public boolean equals(Object o) { && Objects.equals(this.context, declareTableRequest.context) && Objects.equals(this.id, declareTableRequest.id) && Objects.equals(this.location, declareTableRequest.location) - && Objects.equals(this.vendCredentials, declareTableRequest.vendCredentials); + && Objects.equals(this.vendCredentials, declareTableRequest.vendCredentials) + && Objects.equals(this.properties, declareTableRequest.properties); } @Override public int hashCode() { - return Objects.hash(identity, context, id, location, vendCredentials); + return Objects.hash(identity, context, id, location, vendCredentials, properties); } @Override @@ -208,6 +242,7 @@ public String toString() { sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" location: ").append(toIndentedString(location)).append("\n"); sb.append(" vendCredentials: ").append(toIndentedString(vendCredentials)).append("\n"); + sb.append(" properties: ").append(toIndentedString(properties)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/DeclareTableResponse.java b/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/DeclareTableResponse.java index f7a44d26..34737bc9 100644 --- a/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/DeclareTableResponse.java +++ b/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/DeclareTableResponse.java @@ -37,6 +37,8 @@ public class DeclareTableResponse { @Valid private Map storageOptions = new HashMap<>(); + @Valid private Map properties = new HashMap<>(); + public DeclareTableResponse transactionId(String transactionId) { this.transactionId = transactionId; return this; @@ -113,6 +115,40 @@ public void setStorageOptions(Map storageOptions) { this.storageOptions = storageOptions; } + public DeclareTableResponse properties(Map properties) { + this.properties = properties; + return this; + } + + public DeclareTableResponse putPropertiesItem(String key, String propertiesItem) { + if (this.properties == null) { + this.properties = new HashMap<>(); + } + this.properties.put(key, propertiesItem); + return this; + } + + /** + * If the implementation does not support table properties, it should return null for this field. + * Otherwise it should return the properties. + * + * @return properties + */ + @Schema( + name = "properties", + example = "{owner=Ralph, created_at=1452120468}", + description = + "If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties. ", + requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @JsonProperty("properties") + public Map getProperties() { + return properties; + } + + public void setProperties(Map properties) { + this.properties = properties; + } + @Override public boolean equals(Object o) { if (this == o) { @@ -124,12 +160,13 @@ public boolean equals(Object o) { DeclareTableResponse declareTableResponse = (DeclareTableResponse) o; return Objects.equals(this.transactionId, declareTableResponse.transactionId) && Objects.equals(this.location, declareTableResponse.location) - && Objects.equals(this.storageOptions, declareTableResponse.storageOptions); + && Objects.equals(this.storageOptions, declareTableResponse.storageOptions) + && Objects.equals(this.properties, declareTableResponse.properties); } @Override public int hashCode() { - return Objects.hash(transactionId, location, storageOptions); + return Objects.hash(transactionId, location, storageOptions, properties); } @Override @@ -139,6 +176,7 @@ public String toString() { sb.append(" transactionId: ").append(toIndentedString(transactionId)).append("\n"); sb.append(" location: ").append(toIndentedString(location)).append("\n"); sb.append(" storageOptions: ").append(toIndentedString(storageOptions)).append("\n"); + sb.append(" properties: ").append(toIndentedString(properties)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/DeregisterTableResponse.java b/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/DeregisterTableResponse.java index 7e0d6cbe..3eea4e82 100644 --- a/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/DeregisterTableResponse.java +++ b/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/DeregisterTableResponse.java @@ -125,11 +125,17 @@ public DeregisterTableResponse putPropertiesItem(String key, String propertiesIt } /** - * Get properties + * If the implementation does not support table properties, it should return null for this field. + * Otherwise it should return the properties. * * @return properties */ - @Schema(name = "properties", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @Schema( + name = "properties", + example = "{owner=Ralph, created_at=1452120468}", + description = + "If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties. ", + requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("properties") public Map getProperties() { return properties; diff --git a/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/DescribeTableResponse.java b/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/DescribeTableResponse.java index a6bfd821..5d72c647 100644 --- a/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/DescribeTableResponse.java +++ b/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/DescribeTableResponse.java @@ -50,6 +50,8 @@ public class DescribeTableResponse { @Valid private Map metadata = new HashMap<>(); + @Valid private Map properties = new HashMap<>(); + public DescribeTableResponse table(String table) { this.table = table; return this; @@ -294,6 +296,41 @@ public void setMetadata(Map metadata) { this.metadata = metadata; } + public DescribeTableResponse properties(Map properties) { + this.properties = properties; + return this; + } + + public DescribeTableResponse putPropertiesItem(String key, String propertiesItem) { + if (this.properties == null) { + this.properties = new HashMap<>(); + } + this.properties.put(key, propertiesItem); + return this; + } + + /** + * Properties stored on the table, if supported by the server. If the server does not support + * table properties, it should return null for this field. If table properties are supported, but + * none are set, it should return an empty object. + * + * @return properties + */ + @Schema( + name = "properties", + example = "{owner=Ralph, created_at=1452120468}", + description = + "Properties stored on the table, if supported by the server. If the server does not support table properties, it should return null for this field. If table properties are supported, but none are set, it should return an empty object.", + requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @JsonProperty("properties") + public Map getProperties() { + return properties; + } + + public void setProperties(Map properties) { + this.properties = properties; + } + @Override public boolean equals(Object o) { if (this == o) { @@ -311,13 +348,23 @@ public boolean equals(Object o) { && Objects.equals(this.schema, describeTableResponse.schema) && Objects.equals(this.storageOptions, describeTableResponse.storageOptions) && Objects.equals(this.stats, describeTableResponse.stats) - && Objects.equals(this.metadata, describeTableResponse.metadata); + && Objects.equals(this.metadata, describeTableResponse.metadata) + && Objects.equals(this.properties, describeTableResponse.properties); } @Override public int hashCode() { return Objects.hash( - table, namespace, version, location, tableUri, schema, storageOptions, stats, metadata); + table, + namespace, + version, + location, + tableUri, + schema, + storageOptions, + stats, + metadata, + properties); } @Override @@ -333,6 +380,7 @@ public String toString() { sb.append(" storageOptions: ").append(toIndentedString(storageOptions)).append("\n"); sb.append(" stats: ").append(toIndentedString(stats)).append("\n"); sb.append(" metadata: ").append(toIndentedString(metadata)).append("\n"); + sb.append(" properties: ").append(toIndentedString(properties)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/DropNamespaceResponse.java b/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/DropNamespaceResponse.java index 1bee1981..1b7e8edb 100644 --- a/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/DropNamespaceResponse.java +++ b/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/DropNamespaceResponse.java @@ -50,11 +50,16 @@ public DropNamespaceResponse putPropertiesItem(String key, String propertiesItem } /** - * Get properties + * If the implementation does not support namespace properties, it should return null for this + * field. Otherwise it should return the properties. * * @return properties */ - @Schema(name = "properties", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @Schema( + name = "properties", + description = + "If the implementation does not support namespace properties, it should return null for this field. Otherwise it should return the properties. ", + requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("properties") public Map getProperties() { return properties; diff --git a/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/DropTableResponse.java b/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/DropTableResponse.java index 966bb54f..998bca14 100644 --- a/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/DropTableResponse.java +++ b/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/DropTableResponse.java @@ -125,11 +125,17 @@ public DropTableResponse putPropertiesItem(String key, String propertiesItem) { } /** - * Get properties + * If the implementation does not support table properties, it should return null for this field. + * Otherwise it should return the properties. * * @return properties */ - @Schema(name = "properties", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @Schema( + name = "properties", + example = "{owner=Ralph, created_at=1452120468}", + description = + "If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties. ", + requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("properties") public Map getProperties() { return properties; diff --git a/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/RegisterTableRequest.java b/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/RegisterTableRequest.java index 5b92e5ab..24d41d36 100644 --- a/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/RegisterTableRequest.java +++ b/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/RegisterTableRequest.java @@ -199,11 +199,14 @@ public RegisterTableRequest putPropertiesItem(String key, String propertiesItem) } /** - * Get properties + * Properties stored on the table, if supported by the implementation. * * @return properties */ - @Schema(name = "properties", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @Schema( + name = "properties", + description = "Properties stored on the table, if supported by the implementation. ", + requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("properties") public Map getProperties() { return properties; diff --git a/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/RegisterTableResponse.java b/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/RegisterTableResponse.java index a031cb46..53f427d1 100644 --- a/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/RegisterTableResponse.java +++ b/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/RegisterTableResponse.java @@ -93,11 +93,16 @@ public RegisterTableResponse putPropertiesItem(String key, String propertiesItem } /** - * Get properties + * If the implementation does not support table properties, it should return null for this field. + * Otherwise, it should return the properties. * * @return properties */ - @Schema(name = "properties", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @Schema( + name = "properties", + description = + "If the implementation does not support table properties, it should return null for this field. Otherwise, it should return the properties. ", + requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("properties") public Map getProperties() { return properties; diff --git a/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/UpdateTableRequest.java b/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/UpdateTableRequest.java index 022ecf22..967ea710 100644 --- a/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/UpdateTableRequest.java +++ b/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/UpdateTableRequest.java @@ -49,6 +49,8 @@ public class UpdateTableRequest { @Valid private List> updates = new ArrayList<>(); + @Valid private Map properties = new HashMap<>(); + public UpdateTableRequest() { super(); } @@ -198,6 +200,37 @@ public void setUpdates(List> updates) { this.updates = updates; } + public UpdateTableRequest properties(Map properties) { + this.properties = properties; + return this; + } + + public UpdateTableRequest putPropertiesItem(String key, String propertiesItem) { + if (this.properties == null) { + this.properties = new HashMap<>(); + } + this.properties.put(key, propertiesItem); + return this; + } + + /** + * Properties stored on the table, if supported by the implementation. + * + * @return properties + */ + @Schema( + name = "properties", + description = "Properties stored on the table, if supported by the implementation. ", + requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @JsonProperty("properties") + public Map getProperties() { + return properties; + } + + public void setProperties(Map properties) { + this.properties = properties; + } + @Override public boolean equals(Object o) { if (this == o) { @@ -211,12 +244,13 @@ public boolean equals(Object o) { && Objects.equals(this.context, updateTableRequest.context) && Objects.equals(this.id, updateTableRequest.id) && Objects.equals(this.predicate, updateTableRequest.predicate) - && Objects.equals(this.updates, updateTableRequest.updates); + && Objects.equals(this.updates, updateTableRequest.updates) + && Objects.equals(this.properties, updateTableRequest.properties); } @Override public int hashCode() { - return Objects.hash(identity, context, id, predicate, updates); + return Objects.hash(identity, context, id, predicate, updates, properties); } @Override @@ -228,6 +262,7 @@ public String toString() { sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" predicate: ").append(toIndentedString(predicate)).append("\n"); sb.append(" updates: ").append(toIndentedString(updates)).append("\n"); + sb.append(" properties: ").append(toIndentedString(properties)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/UpdateTableResponse.java b/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/UpdateTableResponse.java index 868da452..3131bd3e 100644 --- a/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/UpdateTableResponse.java +++ b/java/lance-namespace-springboot-server/src/main/java/org/lance/namespace/server/springboot/model/UpdateTableResponse.java @@ -16,9 +16,12 @@ import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.annotation.Generated; +import jakarta.validation.Valid; import jakarta.validation.constraints.*; import java.util.*; +import java.util.HashMap; +import java.util.Map; import java.util.Objects; /** UpdateTableResponse */ @@ -33,6 +36,8 @@ public class UpdateTableResponse { private Long version; + @Valid private Map properties = new HashMap<>(); + public UpdateTableResponse() { super(); } @@ -116,6 +121,39 @@ public void setVersion(Long version) { this.version = version; } + public UpdateTableResponse properties(Map properties) { + this.properties = properties; + return this; + } + + public UpdateTableResponse putPropertiesItem(String key, String propertiesItem) { + if (this.properties == null) { + this.properties = new HashMap<>(); + } + this.properties.put(key, propertiesItem); + return this; + } + + /** + * If the implementation does not support table properties, it should return null for this field. + * Otherwise, it should return the properties. + * + * @return properties + */ + @Schema( + name = "properties", + description = + "If the implementation does not support table properties, it should return null for this field. Otherwise, it should return the properties. ", + requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @JsonProperty("properties") + public Map getProperties() { + return properties; + } + + public void setProperties(Map properties) { + this.properties = properties; + } + @Override public boolean equals(Object o) { if (this == o) { @@ -127,12 +165,13 @@ public boolean equals(Object o) { UpdateTableResponse updateTableResponse = (UpdateTableResponse) o; return Objects.equals(this.transactionId, updateTableResponse.transactionId) && Objects.equals(this.updatedRows, updateTableResponse.updatedRows) - && Objects.equals(this.version, updateTableResponse.version); + && Objects.equals(this.version, updateTableResponse.version) + && Objects.equals(this.properties, updateTableResponse.properties); } @Override public int hashCode() { - return Objects.hash(transactionId, updatedRows, version); + return Objects.hash(transactionId, updatedRows, version, properties); } @Override @@ -142,6 +181,7 @@ public String toString() { sb.append(" transactionId: ").append(toIndentedString(transactionId)).append("\n"); sb.append(" updatedRows: ").append(toIndentedString(updatedRows)).append("\n"); sb.append(" version: ").append(toIndentedString(version)).append("\n"); + sb.append(" properties: ").append(toIndentedString(properties)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/python/lance_namespace_urllib3_client/docs/CreateEmptyTableRequest.md b/python/lance_namespace_urllib3_client/docs/CreateEmptyTableRequest.md index 4ce43a9c..eb7fc6ca 100644 --- a/python/lance_namespace_urllib3_client/docs/CreateEmptyTableRequest.md +++ b/python/lance_namespace_urllib3_client/docs/CreateEmptyTableRequest.md @@ -11,6 +11,7 @@ Name | Type | Description | Notes **id** | **List[str]** | | [optional] **location** | **str** | Optional storage location for the table. If not provided, the namespace implementation should determine the table location. | [optional] **vend_credentials** | **bool** | Whether to include vended credentials in the response `storage_options`. When true, the implementation should provide vended credentials for accessing storage. When not set, the implementation can decide whether to return vended credentials. | [optional] +**properties** | **Dict[str, str]** | Properties stored on the table, if supported by the server. | [optional] ## Example diff --git a/python/lance_namespace_urllib3_client/docs/CreateEmptyTableResponse.md b/python/lance_namespace_urllib3_client/docs/CreateEmptyTableResponse.md index 8d7286ce..e8fb1ab2 100644 --- a/python/lance_namespace_urllib3_client/docs/CreateEmptyTableResponse.md +++ b/python/lance_namespace_urllib3_client/docs/CreateEmptyTableResponse.md @@ -9,6 +9,7 @@ Name | Type | Description | Notes **transaction_id** | **str** | Optional transaction identifier | [optional] **location** | **str** | | [optional] **storage_options** | **Dict[str, str]** | Configuration options to be used to access storage. The available options depend on the type of storage in use. These will be passed directly to Lance to initialize storage access. | [optional] +**properties** | **Dict[str, str]** | If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties. | [optional] ## Example diff --git a/python/lance_namespace_urllib3_client/docs/CreateNamespaceRequest.md b/python/lance_namespace_urllib3_client/docs/CreateNamespaceRequest.md index a5f789f0..b3965576 100644 --- a/python/lance_namespace_urllib3_client/docs/CreateNamespaceRequest.md +++ b/python/lance_namespace_urllib3_client/docs/CreateNamespaceRequest.md @@ -9,7 +9,7 @@ Name | Type | Description | Notes **context** | **Dict[str, str]** | Arbitrary context for a request as key-value pairs. How to use the context is custom to the specific implementation. REST NAMESPACE ONLY Context entries are passed via HTTP headers using the naming convention `x-lance-ctx-<key>: <value>`. For example, a context entry `{\"trace_id\": \"abc123\"}` would be sent as the header `x-lance-ctx-trace_id: abc123`. | [optional] **id** | **List[str]** | | [optional] **mode** | **str** | There are three modes when trying to create a namespace, to differentiate the behavior when a namespace of the same name already exists. Case insensitive, supports both PascalCase and snake_case. Valid values are: * Create: the operation fails with 409. * ExistOk: the operation succeeds and the existing namespace is kept. * Overwrite: the existing namespace is dropped and a new empty namespace with this name is created. | [optional] -**properties** | **Dict[str, str]** | | [optional] +**properties** | **Dict[str, str]** | Properties stored on the namespace, if supported by the implementation. | [optional] ## Example diff --git a/python/lance_namespace_urllib3_client/docs/CreateTableRequest.md b/python/lance_namespace_urllib3_client/docs/CreateTableRequest.md index bf67ee8e..6dbf2bdc 100644 --- a/python/lance_namespace_urllib3_client/docs/CreateTableRequest.md +++ b/python/lance_namespace_urllib3_client/docs/CreateTableRequest.md @@ -10,6 +10,7 @@ Name | Type | Description | Notes **context** | **Dict[str, str]** | Arbitrary context for a request as key-value pairs. How to use the context is custom to the specific implementation. REST NAMESPACE ONLY Context entries are passed via HTTP headers using the naming convention `x-lance-ctx-<key>: <value>`. For example, a context entry `{\"trace_id\": \"abc123\"}` would be sent as the header `x-lance-ctx-trace_id: abc123`. | [optional] **id** | **List[str]** | | [optional] **mode** | **str** | There are three modes when trying to create a table, to differentiate the behavior when a table of the same name already exists. Case insensitive, supports both PascalCase and snake_case. Valid values are: * Create: the operation fails with 409. * ExistOk: the operation succeeds and the existing table is kept. * Overwrite: the existing table is dropped and a new table with this name is created. | [optional] +**properties** | **Dict[str, str]** | Properties stored on the table, if supported by the implementation. | [optional] ## Example diff --git a/python/lance_namespace_urllib3_client/docs/CreateTableResponse.md b/python/lance_namespace_urllib3_client/docs/CreateTableResponse.md index 00ac75ff..8c5eb308 100644 --- a/python/lance_namespace_urllib3_client/docs/CreateTableResponse.md +++ b/python/lance_namespace_urllib3_client/docs/CreateTableResponse.md @@ -9,6 +9,7 @@ Name | Type | Description | Notes **location** | **str** | | [optional] **version** | **int** | | [optional] **storage_options** | **Dict[str, str]** | Configuration options to be used to access storage. The available options depend on the type of storage in use. These will be passed directly to Lance to initialize storage access. | [optional] +**properties** | **Dict[str, str]** | If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties. | [optional] ## Example diff --git a/python/lance_namespace_urllib3_client/docs/DeclareTableRequest.md b/python/lance_namespace_urllib3_client/docs/DeclareTableRequest.md index 72f81e38..5e4c735b 100644 --- a/python/lance_namespace_urllib3_client/docs/DeclareTableRequest.md +++ b/python/lance_namespace_urllib3_client/docs/DeclareTableRequest.md @@ -11,6 +11,7 @@ Name | Type | Description | Notes **id** | **List[str]** | | [optional] **location** | **str** | Optional storage location for the table. If not provided, the namespace implementation should determine the table location. | [optional] **vend_credentials** | **bool** | Whether to include vended credentials in the response `storage_options`. When true, the implementation should provide vended credentials for accessing storage. When not set, the implementation can decide whether to return vended credentials. | [optional] +**properties** | **Dict[str, str]** | Properties stored on the table, if supported by the server. | [optional] ## Example diff --git a/python/lance_namespace_urllib3_client/docs/DeclareTableResponse.md b/python/lance_namespace_urllib3_client/docs/DeclareTableResponse.md index c590168e..366c4109 100644 --- a/python/lance_namespace_urllib3_client/docs/DeclareTableResponse.md +++ b/python/lance_namespace_urllib3_client/docs/DeclareTableResponse.md @@ -9,6 +9,7 @@ Name | Type | Description | Notes **transaction_id** | **str** | Optional transaction identifier | [optional] **location** | **str** | | [optional] **storage_options** | **Dict[str, str]** | Configuration options to be used to access storage. The available options depend on the type of storage in use. These will be passed directly to Lance to initialize storage access. | [optional] +**properties** | **Dict[str, str]** | If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties. | [optional] ## Example diff --git a/python/lance_namespace_urllib3_client/docs/DeregisterTableResponse.md b/python/lance_namespace_urllib3_client/docs/DeregisterTableResponse.md index 07a9e6ea..162f3857 100644 --- a/python/lance_namespace_urllib3_client/docs/DeregisterTableResponse.md +++ b/python/lance_namespace_urllib3_client/docs/DeregisterTableResponse.md @@ -8,7 +8,7 @@ Name | Type | Description | Notes **transaction_id** | **str** | Optional transaction identifier | [optional] **id** | **List[str]** | | [optional] **location** | **str** | | [optional] -**properties** | **Dict[str, str]** | | [optional] +**properties** | **Dict[str, str]** | If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties. | [optional] ## Example diff --git a/python/lance_namespace_urllib3_client/docs/DescribeTableResponse.md b/python/lance_namespace_urllib3_client/docs/DescribeTableResponse.md index 6dfa1d19..5d164c9b 100644 --- a/python/lance_namespace_urllib3_client/docs/DescribeTableResponse.md +++ b/python/lance_namespace_urllib3_client/docs/DescribeTableResponse.md @@ -14,6 +14,7 @@ Name | Type | Description | Notes **storage_options** | **Dict[str, str]** | Configuration options to be used to access storage. The available options depend on the type of storage in use. These will be passed directly to Lance to initialize storage access. When `vend_credentials` is true, this field may include vended credentials. If the vended credentials are temporary, the `expires_at_millis` key should be included to indicate the millisecond timestamp when the credentials expire. | [optional] **stats** | [**TableBasicStats**](TableBasicStats.md) | Table statistics. Only populated when `load_detailed_metadata` is true. | [optional] **metadata** | **Dict[str, str]** | Optional table metadata as key-value pairs. | [optional] +**properties** | **Dict[str, str]** | Properties stored on the table, if supported by the server. If the server does not support table properties, it should return null for this field. If table properties are supported, but none are set, it should return an empty object. | [optional] ## Example diff --git a/python/lance_namespace_urllib3_client/docs/DropNamespaceResponse.md b/python/lance_namespace_urllib3_client/docs/DropNamespaceResponse.md index cd9f9aba..b58003c9 100644 --- a/python/lance_namespace_urllib3_client/docs/DropNamespaceResponse.md +++ b/python/lance_namespace_urllib3_client/docs/DropNamespaceResponse.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**properties** | **Dict[str, str]** | | [optional] +**properties** | **Dict[str, str]** | If the implementation does not support namespace properties, it should return null for this field. Otherwise it should return the properties. | [optional] **transaction_id** | **List[str]** | If present, indicating the operation is long running and should be tracked using DescribeTransaction | [optional] ## Example diff --git a/python/lance_namespace_urllib3_client/docs/DropTableResponse.md b/python/lance_namespace_urllib3_client/docs/DropTableResponse.md index 742b1982..1e0a6575 100644 --- a/python/lance_namespace_urllib3_client/docs/DropTableResponse.md +++ b/python/lance_namespace_urllib3_client/docs/DropTableResponse.md @@ -8,7 +8,7 @@ Name | Type | Description | Notes **transaction_id** | **str** | Optional transaction identifier | [optional] **id** | **List[str]** | | [optional] **location** | **str** | | [optional] -**properties** | **Dict[str, str]** | | [optional] +**properties** | **Dict[str, str]** | If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties. | [optional] ## Example diff --git a/python/lance_namespace_urllib3_client/docs/RegisterTableRequest.md b/python/lance_namespace_urllib3_client/docs/RegisterTableRequest.md index 7821b82e..196a66ee 100644 --- a/python/lance_namespace_urllib3_client/docs/RegisterTableRequest.md +++ b/python/lance_namespace_urllib3_client/docs/RegisterTableRequest.md @@ -10,7 +10,7 @@ Name | Type | Description | Notes **id** | **List[str]** | | [optional] **location** | **str** | | **mode** | **str** | There are two modes when trying to register a table, to differentiate the behavior when a table of the same name already exists. Case insensitive, supports both PascalCase and snake_case. Valid values are: * Create (default): the operation fails with 409. * Overwrite: the existing table registration is replaced with the new registration. | [optional] -**properties** | **Dict[str, str]** | | [optional] +**properties** | **Dict[str, str]** | Properties stored on the table, if supported by the implementation. | [optional] ## Example diff --git a/python/lance_namespace_urllib3_client/docs/RegisterTableResponse.md b/python/lance_namespace_urllib3_client/docs/RegisterTableResponse.md index f4149fbb..7940fb9f 100644 --- a/python/lance_namespace_urllib3_client/docs/RegisterTableResponse.md +++ b/python/lance_namespace_urllib3_client/docs/RegisterTableResponse.md @@ -7,7 +7,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **transaction_id** | **str** | Optional transaction identifier | [optional] **location** | **str** | | [optional] -**properties** | **Dict[str, str]** | | [optional] +**properties** | **Dict[str, str]** | If the implementation does not support table properties, it should return null for this field. Otherwise, it should return the properties. | [optional] ## Example diff --git a/python/lance_namespace_urllib3_client/docs/UpdateTableRequest.md b/python/lance_namespace_urllib3_client/docs/UpdateTableRequest.md index c069e8e3..a3bce235 100644 --- a/python/lance_namespace_urllib3_client/docs/UpdateTableRequest.md +++ b/python/lance_namespace_urllib3_client/docs/UpdateTableRequest.md @@ -11,6 +11,7 @@ Name | Type | Description | Notes **id** | **List[str]** | | [optional] **predicate** | **str** | Optional SQL predicate to filter rows for update | [optional] **updates** | **List[List[str]]** | List of column updates as [column_name, expression] pairs | +**properties** | **Dict[str, str]** | Properties stored on the table, if supported by the implementation. | [optional] ## Example diff --git a/python/lance_namespace_urllib3_client/docs/UpdateTableResponse.md b/python/lance_namespace_urllib3_client/docs/UpdateTableResponse.md index 4fe65eaa..bd9cdd50 100644 --- a/python/lance_namespace_urllib3_client/docs/UpdateTableResponse.md +++ b/python/lance_namespace_urllib3_client/docs/UpdateTableResponse.md @@ -8,6 +8,7 @@ Name | Type | Description | Notes **transaction_id** | **str** | Optional transaction identifier | [optional] **updated_rows** | **int** | Number of rows updated | **version** | **int** | The commit version associated with the operation | +**properties** | **Dict[str, str]** | If the implementation does not support table properties, it should return null for this field. Otherwise, it should return the properties. | [optional] ## Example diff --git a/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/create_empty_table_request.py b/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/create_empty_table_request.py index e5c9f1ef..3dc517f0 100644 --- a/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/create_empty_table_request.py +++ b/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/create_empty_table_request.py @@ -32,7 +32,8 @@ class CreateEmptyTableRequest(BaseModel): id: Optional[List[StrictStr]] = None location: Optional[StrictStr] = Field(default=None, description="Optional storage location for the table. If not provided, the namespace implementation should determine the table location. ") vend_credentials: Optional[StrictBool] = Field(default=None, description="Whether to include vended credentials in the response `storage_options`. When true, the implementation should provide vended credentials for accessing storage. When not set, the implementation can decide whether to return vended credentials. ") - __properties: ClassVar[List[str]] = ["identity", "context", "id", "location", "vend_credentials"] + properties: Optional[Dict[str, StrictStr]] = Field(default=None, description="Properties stored on the table, if supported by the server. ") + __properties: ClassVar[List[str]] = ["identity", "context", "id", "location", "vend_credentials", "properties"] model_config = ConfigDict( populate_by_name=True, @@ -92,7 +93,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "context": obj.get("context"), "id": obj.get("id"), "location": obj.get("location"), - "vend_credentials": obj.get("vend_credentials") + "vend_credentials": obj.get("vend_credentials"), + "properties": obj.get("properties") }) return _obj diff --git a/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/create_empty_table_response.py b/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/create_empty_table_response.py index 86b9b5f9..c18e0142 100644 --- a/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/create_empty_table_response.py +++ b/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/create_empty_table_response.py @@ -29,7 +29,8 @@ class CreateEmptyTableResponse(BaseModel): transaction_id: Optional[StrictStr] = Field(default=None, description="Optional transaction identifier") location: Optional[StrictStr] = None storage_options: Optional[Dict[str, StrictStr]] = Field(default=None, description="Configuration options to be used to access storage. The available options depend on the type of storage in use. These will be passed directly to Lance to initialize storage access. ") - __properties: ClassVar[List[str]] = ["transaction_id", "location", "storage_options"] + properties: Optional[Dict[str, StrictStr]] = Field(default=None, description="If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties. ") + __properties: ClassVar[List[str]] = ["transaction_id", "location", "storage_options", "properties"] model_config = ConfigDict( populate_by_name=True, @@ -84,7 +85,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate({ "transaction_id": obj.get("transaction_id"), "location": obj.get("location"), - "storage_options": obj.get("storage_options") + "storage_options": obj.get("storage_options"), + "properties": obj.get("properties") }) return _obj diff --git a/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/create_namespace_request.py b/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/create_namespace_request.py index d9dcdaae..5d2d527e 100644 --- a/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/create_namespace_request.py +++ b/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/create_namespace_request.py @@ -31,7 +31,7 @@ class CreateNamespaceRequest(BaseModel): context: Optional[Dict[str, StrictStr]] = Field(default=None, description="Arbitrary context for a request as key-value pairs. How to use the context is custom to the specific implementation. REST NAMESPACE ONLY Context entries are passed via HTTP headers using the naming convention `x-lance-ctx-: `. For example, a context entry `{\"trace_id\": \"abc123\"}` would be sent as the header `x-lance-ctx-trace_id: abc123`. ") id: Optional[List[StrictStr]] = None mode: Optional[StrictStr] = Field(default=None, description="There are three modes when trying to create a namespace, to differentiate the behavior when a namespace of the same name already exists. Case insensitive, supports both PascalCase and snake_case. Valid values are: * Create: the operation fails with 409. * ExistOk: the operation succeeds and the existing namespace is kept. * Overwrite: the existing namespace is dropped and a new empty namespace with this name is created. ") - properties: Optional[Dict[str, StrictStr]] = None + properties: Optional[Dict[str, StrictStr]] = Field(default=None, description="Properties stored on the namespace, if supported by the implementation. ") __properties: ClassVar[List[str]] = ["identity", "context", "id", "mode", "properties"] model_config = ConfigDict( diff --git a/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/create_table_request.py b/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/create_table_request.py index fef5fe44..68fca034 100644 --- a/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/create_table_request.py +++ b/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/create_table_request.py @@ -31,7 +31,8 @@ class CreateTableRequest(BaseModel): context: Optional[Dict[str, StrictStr]] = Field(default=None, description="Arbitrary context for a request as key-value pairs. How to use the context is custom to the specific implementation. REST NAMESPACE ONLY Context entries are passed via HTTP headers using the naming convention `x-lance-ctx-: `. For example, a context entry `{\"trace_id\": \"abc123\"}` would be sent as the header `x-lance-ctx-trace_id: abc123`. ") id: Optional[List[StrictStr]] = None mode: Optional[StrictStr] = Field(default=None, description="There are three modes when trying to create a table, to differentiate the behavior when a table of the same name already exists. Case insensitive, supports both PascalCase and snake_case. Valid values are: * Create: the operation fails with 409. * ExistOk: the operation succeeds and the existing table is kept. * Overwrite: the existing table is dropped and a new table with this name is created. ") - __properties: ClassVar[List[str]] = ["identity", "context", "id", "mode"] + properties: Optional[Dict[str, StrictStr]] = Field(default=None, description="Properties stored on the table, if supported by the implementation. ") + __properties: ClassVar[List[str]] = ["identity", "context", "id", "mode", "properties"] model_config = ConfigDict( populate_by_name=True, @@ -90,7 +91,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "identity": Identity.from_dict(obj["identity"]) if obj.get("identity") is not None else None, "context": obj.get("context"), "id": obj.get("id"), - "mode": obj.get("mode") + "mode": obj.get("mode"), + "properties": obj.get("properties") }) return _obj diff --git a/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/create_table_response.py b/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/create_table_response.py index fb562c2d..3b402269 100644 --- a/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/create_table_response.py +++ b/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/create_table_response.py @@ -31,7 +31,8 @@ class CreateTableResponse(BaseModel): location: Optional[StrictStr] = None version: Optional[Annotated[int, Field(strict=True, ge=0)]] = None storage_options: Optional[Dict[str, StrictStr]] = Field(default=None, description="Configuration options to be used to access storage. The available options depend on the type of storage in use. These will be passed directly to Lance to initialize storage access. ") - __properties: ClassVar[List[str]] = ["transaction_id", "location", "version", "storage_options"] + properties: Optional[Dict[str, StrictStr]] = Field(default=None, description="If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties. ") + __properties: ClassVar[List[str]] = ["transaction_id", "location", "version", "storage_options", "properties"] model_config = ConfigDict( populate_by_name=True, @@ -87,7 +88,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "transaction_id": obj.get("transaction_id"), "location": obj.get("location"), "version": obj.get("version"), - "storage_options": obj.get("storage_options") + "storage_options": obj.get("storage_options"), + "properties": obj.get("properties") }) return _obj diff --git a/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/declare_table_request.py b/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/declare_table_request.py index 022b1706..64a17f17 100644 --- a/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/declare_table_request.py +++ b/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/declare_table_request.py @@ -32,7 +32,8 @@ class DeclareTableRequest(BaseModel): id: Optional[List[StrictStr]] = None location: Optional[StrictStr] = Field(default=None, description="Optional storage location for the table. If not provided, the namespace implementation should determine the table location. ") vend_credentials: Optional[StrictBool] = Field(default=None, description="Whether to include vended credentials in the response `storage_options`. When true, the implementation should provide vended credentials for accessing storage. When not set, the implementation can decide whether to return vended credentials. ") - __properties: ClassVar[List[str]] = ["identity", "context", "id", "location", "vend_credentials"] + properties: Optional[Dict[str, StrictStr]] = Field(default=None, description="Properties stored on the table, if supported by the server. ") + __properties: ClassVar[List[str]] = ["identity", "context", "id", "location", "vend_credentials", "properties"] model_config = ConfigDict( populate_by_name=True, @@ -92,7 +93,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "context": obj.get("context"), "id": obj.get("id"), "location": obj.get("location"), - "vend_credentials": obj.get("vend_credentials") + "vend_credentials": obj.get("vend_credentials"), + "properties": obj.get("properties") }) return _obj diff --git a/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/declare_table_response.py b/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/declare_table_response.py index 60fb8a49..4a2c9ba2 100644 --- a/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/declare_table_response.py +++ b/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/declare_table_response.py @@ -29,7 +29,8 @@ class DeclareTableResponse(BaseModel): transaction_id: Optional[StrictStr] = Field(default=None, description="Optional transaction identifier") location: Optional[StrictStr] = None storage_options: Optional[Dict[str, StrictStr]] = Field(default=None, description="Configuration options to be used to access storage. The available options depend on the type of storage in use. These will be passed directly to Lance to initialize storage access. ") - __properties: ClassVar[List[str]] = ["transaction_id", "location", "storage_options"] + properties: Optional[Dict[str, StrictStr]] = Field(default=None, description="If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties. ") + __properties: ClassVar[List[str]] = ["transaction_id", "location", "storage_options", "properties"] model_config = ConfigDict( populate_by_name=True, @@ -84,7 +85,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate({ "transaction_id": obj.get("transaction_id"), "location": obj.get("location"), - "storage_options": obj.get("storage_options") + "storage_options": obj.get("storage_options"), + "properties": obj.get("properties") }) return _obj diff --git a/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/deregister_table_response.py b/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/deregister_table_response.py index f53b8786..30084d10 100644 --- a/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/deregister_table_response.py +++ b/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/deregister_table_response.py @@ -29,7 +29,7 @@ class DeregisterTableResponse(BaseModel): transaction_id: Optional[StrictStr] = Field(default=None, description="Optional transaction identifier") id: Optional[List[StrictStr]] = None location: Optional[StrictStr] = None - properties: Optional[Dict[str, StrictStr]] = None + properties: Optional[Dict[str, StrictStr]] = Field(default=None, description="If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties. ") __properties: ClassVar[List[str]] = ["transaction_id", "id", "location", "properties"] model_config = ConfigDict( diff --git a/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/describe_table_response.py b/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/describe_table_response.py index f941bf7b..9a5cc417 100644 --- a/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/describe_table_response.py +++ b/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/describe_table_response.py @@ -38,7 +38,8 @@ class DescribeTableResponse(BaseModel): storage_options: Optional[Dict[str, StrictStr]] = Field(default=None, description="Configuration options to be used to access storage. The available options depend on the type of storage in use. These will be passed directly to Lance to initialize storage access. When `vend_credentials` is true, this field may include vended credentials. If the vended credentials are temporary, the `expires_at_millis` key should be included to indicate the millisecond timestamp when the credentials expire. ") stats: Optional[TableBasicStats] = Field(default=None, description="Table statistics. Only populated when `load_detailed_metadata` is true. ") metadata: Optional[Dict[str, StrictStr]] = Field(default=None, description="Optional table metadata as key-value pairs. ") - __properties: ClassVar[List[str]] = ["table", "namespace", "version", "location", "table_uri", "schema", "storage_options", "stats", "metadata"] + properties: Optional[Dict[str, StrictStr]] = Field(default=None, description="Properties stored on the table, if supported by the server. If the server does not support table properties, it should return null for this field. If table properties are supported, but none are set, it should return an empty object.") + __properties: ClassVar[List[str]] = ["table", "namespace", "version", "location", "table_uri", "schema", "storage_options", "stats", "metadata", "properties"] model_config = ConfigDict( populate_by_name=True, @@ -105,7 +106,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "schema": JsonArrowSchema.from_dict(obj["schema"]) if obj.get("schema") is not None else None, "storage_options": obj.get("storage_options"), "stats": TableBasicStats.from_dict(obj["stats"]) if obj.get("stats") is not None else None, - "metadata": obj.get("metadata") + "metadata": obj.get("metadata"), + "properties": obj.get("properties") }) return _obj diff --git a/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/drop_namespace_response.py b/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/drop_namespace_response.py index fcc3fd50..4d5d4f58 100644 --- a/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/drop_namespace_response.py +++ b/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/drop_namespace_response.py @@ -26,7 +26,7 @@ class DropNamespaceResponse(BaseModel): """ DropNamespaceResponse """ # noqa: E501 - properties: Optional[Dict[str, StrictStr]] = None + properties: Optional[Dict[str, StrictStr]] = Field(default=None, description="If the implementation does not support namespace properties, it should return null for this field. Otherwise it should return the properties. ") transaction_id: Optional[List[StrictStr]] = Field(default=None, description="If present, indicating the operation is long running and should be tracked using DescribeTransaction ") __properties: ClassVar[List[str]] = ["properties", "transaction_id"] diff --git a/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/drop_table_response.py b/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/drop_table_response.py index ea7638c8..a6954fca 100644 --- a/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/drop_table_response.py +++ b/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/drop_table_response.py @@ -29,7 +29,7 @@ class DropTableResponse(BaseModel): transaction_id: Optional[StrictStr] = Field(default=None, description="Optional transaction identifier") id: Optional[List[StrictStr]] = None location: Optional[StrictStr] = None - properties: Optional[Dict[str, StrictStr]] = None + properties: Optional[Dict[str, StrictStr]] = Field(default=None, description="If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties. ") __properties: ClassVar[List[str]] = ["transaction_id", "id", "location", "properties"] model_config = ConfigDict( diff --git a/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/register_table_request.py b/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/register_table_request.py index 827f0d6c..fb65aa63 100644 --- a/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/register_table_request.py +++ b/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/register_table_request.py @@ -32,7 +32,7 @@ class RegisterTableRequest(BaseModel): id: Optional[List[StrictStr]] = None location: StrictStr mode: Optional[StrictStr] = Field(default=None, description="There are two modes when trying to register a table, to differentiate the behavior when a table of the same name already exists. Case insensitive, supports both PascalCase and snake_case. Valid values are: * Create (default): the operation fails with 409. * Overwrite: the existing table registration is replaced with the new registration. ") - properties: Optional[Dict[str, StrictStr]] = None + properties: Optional[Dict[str, StrictStr]] = Field(default=None, description="Properties stored on the table, if supported by the implementation. ") __properties: ClassVar[List[str]] = ["identity", "context", "id", "location", "mode", "properties"] model_config = ConfigDict( diff --git a/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/register_table_response.py b/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/register_table_response.py index 4025ab22..20a63e56 100644 --- a/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/register_table_response.py +++ b/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/register_table_response.py @@ -28,7 +28,7 @@ class RegisterTableResponse(BaseModel): """ # noqa: E501 transaction_id: Optional[StrictStr] = Field(default=None, description="Optional transaction identifier") location: Optional[StrictStr] = None - properties: Optional[Dict[str, StrictStr]] = None + properties: Optional[Dict[str, StrictStr]] = Field(default=None, description="If the implementation does not support table properties, it should return null for this field. Otherwise, it should return the properties. ") __properties: ClassVar[List[str]] = ["transaction_id", "location", "properties"] model_config = ConfigDict( diff --git a/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/update_table_request.py b/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/update_table_request.py index 39a8ed4b..ed2047b4 100644 --- a/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/update_table_request.py +++ b/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/update_table_request.py @@ -33,7 +33,8 @@ class UpdateTableRequest(BaseModel): id: Optional[List[StrictStr]] = None predicate: Optional[StrictStr] = Field(default=None, description="Optional SQL predicate to filter rows for update") updates: List[Annotated[List[StrictStr], Field(min_length=2, max_length=2)]] = Field(description="List of column updates as [column_name, expression] pairs") - __properties: ClassVar[List[str]] = ["identity", "context", "id", "predicate", "updates"] + properties: Optional[Dict[str, StrictStr]] = Field(default=None, description="Properties stored on the table, if supported by the implementation. ") + __properties: ClassVar[List[str]] = ["identity", "context", "id", "predicate", "updates", "properties"] model_config = ConfigDict( populate_by_name=True, @@ -93,7 +94,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "context": obj.get("context"), "id": obj.get("id"), "predicate": obj.get("predicate"), - "updates": obj.get("updates") + "updates": obj.get("updates"), + "properties": obj.get("properties") }) return _obj diff --git a/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/update_table_response.py b/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/update_table_response.py index ee016b9f..e8d97a58 100644 --- a/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/update_table_response.py +++ b/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/update_table_response.py @@ -30,7 +30,8 @@ class UpdateTableResponse(BaseModel): transaction_id: Optional[StrictStr] = Field(default=None, description="Optional transaction identifier") updated_rows: Annotated[int, Field(strict=True, ge=0)] = Field(description="Number of rows updated") version: Annotated[int, Field(strict=True, ge=0)] = Field(description="The commit version associated with the operation") - __properties: ClassVar[List[str]] = ["transaction_id", "updated_rows", "version"] + properties: Optional[Dict[str, StrictStr]] = Field(default=None, description="If the implementation does not support table properties, it should return null for this field. Otherwise, it should return the properties. ") + __properties: ClassVar[List[str]] = ["transaction_id", "updated_rows", "version", "properties"] model_config = ConfigDict( populate_by_name=True, @@ -85,7 +86,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate({ "transaction_id": obj.get("transaction_id"), "updated_rows": obj.get("updated_rows"), - "version": obj.get("version") + "version": obj.get("version"), + "properties": obj.get("properties") }) return _obj diff --git a/python/lance_namespace_urllib3_client/test/test_create_empty_table_request.py b/python/lance_namespace_urllib3_client/test/test_create_empty_table_request.py index 4051377b..48727f97 100644 --- a/python/lance_namespace_urllib3_client/test/test_create_empty_table_request.py +++ b/python/lance_namespace_urllib3_client/test/test_create_empty_table_request.py @@ -45,7 +45,10 @@ def make_instance(self, include_optional) -> CreateEmptyTableRequest: '' ], location = '', - vend_credentials = True + vend_credentials = True, + properties = { + 'key' : '' + } ) else: return CreateEmptyTableRequest( diff --git a/python/lance_namespace_urllib3_client/test/test_create_empty_table_response.py b/python/lance_namespace_urllib3_client/test/test_create_empty_table_response.py index 0d6bdc8d..036ebdbe 100644 --- a/python/lance_namespace_urllib3_client/test/test_create_empty_table_response.py +++ b/python/lance_namespace_urllib3_client/test/test_create_empty_table_response.py @@ -39,7 +39,8 @@ def make_instance(self, include_optional) -> CreateEmptyTableResponse: location = '', storage_options = { 'key' : '' - } + }, + properties = {owner=Ralph, created_at=1452120468} ) else: return CreateEmptyTableResponse( diff --git a/python/lance_namespace_urllib3_client/test/test_create_table_request.py b/python/lance_namespace_urllib3_client/test/test_create_table_request.py index f6e45fc0..b2f9efab 100644 --- a/python/lance_namespace_urllib3_client/test/test_create_table_request.py +++ b/python/lance_namespace_urllib3_client/test/test_create_table_request.py @@ -44,7 +44,10 @@ def make_instance(self, include_optional) -> CreateTableRequest: id = [ '' ], - mode = '' + mode = '', + properties = { + 'key' : '' + } ) else: return CreateTableRequest( diff --git a/python/lance_namespace_urllib3_client/test/test_create_table_response.py b/python/lance_namespace_urllib3_client/test/test_create_table_response.py index 2b79672c..16ebc46b 100644 --- a/python/lance_namespace_urllib3_client/test/test_create_table_response.py +++ b/python/lance_namespace_urllib3_client/test/test_create_table_response.py @@ -40,7 +40,8 @@ def make_instance(self, include_optional) -> CreateTableResponse: version = 0, storage_options = { 'key' : '' - } + }, + properties = {owner=Ralph, created_at=1452120468} ) else: return CreateTableResponse( diff --git a/python/lance_namespace_urllib3_client/test/test_declare_table_request.py b/python/lance_namespace_urllib3_client/test/test_declare_table_request.py index 54651f2b..3618ed53 100644 --- a/python/lance_namespace_urllib3_client/test/test_declare_table_request.py +++ b/python/lance_namespace_urllib3_client/test/test_declare_table_request.py @@ -45,7 +45,10 @@ def make_instance(self, include_optional) -> DeclareTableRequest: '' ], location = '', - vend_credentials = True + vend_credentials = True, + properties = { + 'key' : '' + } ) else: return DeclareTableRequest( diff --git a/python/lance_namespace_urllib3_client/test/test_declare_table_response.py b/python/lance_namespace_urllib3_client/test/test_declare_table_response.py index f979020e..3af37b28 100644 --- a/python/lance_namespace_urllib3_client/test/test_declare_table_response.py +++ b/python/lance_namespace_urllib3_client/test/test_declare_table_response.py @@ -39,7 +39,8 @@ def make_instance(self, include_optional) -> DeclareTableResponse: location = '', storage_options = { 'key' : '' - } + }, + properties = {owner=Ralph, created_at=1452120468} ) else: return DeclareTableResponse( diff --git a/python/lance_namespace_urllib3_client/test/test_deregister_table_response.py b/python/lance_namespace_urllib3_client/test/test_deregister_table_response.py index dcfd385e..b102262c 100644 --- a/python/lance_namespace_urllib3_client/test/test_deregister_table_response.py +++ b/python/lance_namespace_urllib3_client/test/test_deregister_table_response.py @@ -40,9 +40,7 @@ def make_instance(self, include_optional) -> DeregisterTableResponse: '' ], location = '', - properties = { - 'key' : '' - } + properties = {owner=Ralph, created_at=1452120468} ) else: return DeregisterTableResponse( diff --git a/python/lance_namespace_urllib3_client/test/test_describe_table_response.py b/python/lance_namespace_urllib3_client/test/test_describe_table_response.py index 794b6673..86723e05 100644 --- a/python/lance_namespace_urllib3_client/test/test_describe_table_response.py +++ b/python/lance_namespace_urllib3_client/test/test_describe_table_response.py @@ -65,7 +65,8 @@ def make_instance(self, include_optional) -> DescribeTableResponse: num_fragments = 0, ), metadata = { 'key' : '' - } + }, + properties = {owner=Ralph, created_at=1452120468} ) else: return DescribeTableResponse( diff --git a/python/lance_namespace_urllib3_client/test/test_drop_table_response.py b/python/lance_namespace_urllib3_client/test/test_drop_table_response.py index b91a245f..d2abb296 100644 --- a/python/lance_namespace_urllib3_client/test/test_drop_table_response.py +++ b/python/lance_namespace_urllib3_client/test/test_drop_table_response.py @@ -40,9 +40,7 @@ def make_instance(self, include_optional) -> DropTableResponse: '' ], location = '', - properties = { - 'key' : '' - } + properties = {owner=Ralph, created_at=1452120468} ) else: return DropTableResponse( diff --git a/python/lance_namespace_urllib3_client/test/test_update_table_request.py b/python/lance_namespace_urllib3_client/test/test_update_table_request.py index 6d542a6e..92788f72 100644 --- a/python/lance_namespace_urllib3_client/test/test_update_table_request.py +++ b/python/lance_namespace_urllib3_client/test/test_update_table_request.py @@ -49,7 +49,10 @@ def make_instance(self, include_optional) -> UpdateTableRequest: [ '' ] - ] + ], + properties = { + 'key' : '' + } ) else: return UpdateTableRequest( diff --git a/python/lance_namespace_urllib3_client/test/test_update_table_response.py b/python/lance_namespace_urllib3_client/test/test_update_table_response.py index 0aba50b4..7a249455 100644 --- a/python/lance_namespace_urllib3_client/test/test_update_table_response.py +++ b/python/lance_namespace_urllib3_client/test/test_update_table_response.py @@ -37,7 +37,10 @@ def make_instance(self, include_optional) -> UpdateTableResponse: return UpdateTableResponse( transaction_id = '', updated_rows = 0, - version = 0 + version = 0, + properties = { + 'key' : '' + } ) else: return UpdateTableResponse( diff --git a/rust/lance-namespace-reqwest-client/docs/CreateEmptyTableRequest.md b/rust/lance-namespace-reqwest-client/docs/CreateEmptyTableRequest.md index 62b89981..4129821a 100644 --- a/rust/lance-namespace-reqwest-client/docs/CreateEmptyTableRequest.md +++ b/rust/lance-namespace-reqwest-client/docs/CreateEmptyTableRequest.md @@ -9,6 +9,7 @@ Name | Type | Description | Notes **id** | Option<**Vec**> | | [optional] **location** | Option<**String**> | Optional storage location for the table. If not provided, the namespace implementation should determine the table location. | [optional] **vend_credentials** | Option<**bool**> | Whether to include vended credentials in the response `storage_options`. When true, the implementation should provide vended credentials for accessing storage. When not set, the implementation can decide whether to return vended credentials. | [optional] +**properties** | Option<**std::collections::HashMap**> | Properties stored on the table, if supported by the server. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/rust/lance-namespace-reqwest-client/docs/CreateEmptyTableResponse.md b/rust/lance-namespace-reqwest-client/docs/CreateEmptyTableResponse.md index b2898c42..16b655e8 100644 --- a/rust/lance-namespace-reqwest-client/docs/CreateEmptyTableResponse.md +++ b/rust/lance-namespace-reqwest-client/docs/CreateEmptyTableResponse.md @@ -7,6 +7,7 @@ Name | Type | Description | Notes **transaction_id** | Option<**String**> | Optional transaction identifier | [optional] **location** | Option<**String**> | | [optional] **storage_options** | Option<**std::collections::HashMap**> | Configuration options to be used to access storage. The available options depend on the type of storage in use. These will be passed directly to Lance to initialize storage access. | [optional] +**properties** | Option<**std::collections::HashMap**> | If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties. | [optional][default to {}] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/rust/lance-namespace-reqwest-client/docs/CreateNamespaceRequest.md b/rust/lance-namespace-reqwest-client/docs/CreateNamespaceRequest.md index fb113670..ecff7a77 100644 --- a/rust/lance-namespace-reqwest-client/docs/CreateNamespaceRequest.md +++ b/rust/lance-namespace-reqwest-client/docs/CreateNamespaceRequest.md @@ -8,7 +8,7 @@ Name | Type | Description | Notes **context** | Option<**std::collections::HashMap**> | Arbitrary context for a request as key-value pairs. How to use the context is custom to the specific implementation. REST NAMESPACE ONLY Context entries are passed via HTTP headers using the naming convention `x-lance-ctx-: `. For example, a context entry `{\"trace_id\": \"abc123\"}` would be sent as the header `x-lance-ctx-trace_id: abc123`. | [optional] **id** | Option<**Vec**> | | [optional] **mode** | Option<**String**> | There are three modes when trying to create a namespace, to differentiate the behavior when a namespace of the same name already exists. Case insensitive, supports both PascalCase and snake_case. Valid values are: * Create: the operation fails with 409. * ExistOk: the operation succeeds and the existing namespace is kept. * Overwrite: the existing namespace is dropped and a new empty namespace with this name is created. | [optional] -**properties** | Option<**std::collections::HashMap**> | | [optional] +**properties** | Option<**std::collections::HashMap**> | Properties stored on the namespace, if supported by the implementation. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/rust/lance-namespace-reqwest-client/docs/CreateTableRequest.md b/rust/lance-namespace-reqwest-client/docs/CreateTableRequest.md index 65bf35cf..3939dbd0 100644 --- a/rust/lance-namespace-reqwest-client/docs/CreateTableRequest.md +++ b/rust/lance-namespace-reqwest-client/docs/CreateTableRequest.md @@ -8,6 +8,7 @@ Name | Type | Description | Notes **context** | Option<**std::collections::HashMap**> | Arbitrary context for a request as key-value pairs. How to use the context is custom to the specific implementation. REST NAMESPACE ONLY Context entries are passed via HTTP headers using the naming convention `x-lance-ctx-: `. For example, a context entry `{\"trace_id\": \"abc123\"}` would be sent as the header `x-lance-ctx-trace_id: abc123`. | [optional] **id** | Option<**Vec**> | | [optional] **mode** | Option<**String**> | There are three modes when trying to create a table, to differentiate the behavior when a table of the same name already exists. Case insensitive, supports both PascalCase and snake_case. Valid values are: * Create: the operation fails with 409. * ExistOk: the operation succeeds and the existing table is kept. * Overwrite: the existing table is dropped and a new table with this name is created. | [optional] +**properties** | Option<**std::collections::HashMap**> | Properties stored on the table, if supported by the implementation. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/rust/lance-namespace-reqwest-client/docs/CreateTableResponse.md b/rust/lance-namespace-reqwest-client/docs/CreateTableResponse.md index 021c010c..657c9ac9 100644 --- a/rust/lance-namespace-reqwest-client/docs/CreateTableResponse.md +++ b/rust/lance-namespace-reqwest-client/docs/CreateTableResponse.md @@ -8,6 +8,7 @@ Name | Type | Description | Notes **location** | Option<**String**> | | [optional] **version** | Option<**i64**> | | [optional] **storage_options** | Option<**std::collections::HashMap**> | Configuration options to be used to access storage. The available options depend on the type of storage in use. These will be passed directly to Lance to initialize storage access. | [optional] +**properties** | Option<**std::collections::HashMap**> | If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties. | [optional][default to {}] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/rust/lance-namespace-reqwest-client/docs/DeclareTableRequest.md b/rust/lance-namespace-reqwest-client/docs/DeclareTableRequest.md index f8c73a75..7ff39fc6 100644 --- a/rust/lance-namespace-reqwest-client/docs/DeclareTableRequest.md +++ b/rust/lance-namespace-reqwest-client/docs/DeclareTableRequest.md @@ -9,6 +9,7 @@ Name | Type | Description | Notes **id** | Option<**Vec**> | | [optional] **location** | Option<**String**> | Optional storage location for the table. If not provided, the namespace implementation should determine the table location. | [optional] **vend_credentials** | Option<**bool**> | Whether to include vended credentials in the response `storage_options`. When true, the implementation should provide vended credentials for accessing storage. When not set, the implementation can decide whether to return vended credentials. | [optional] +**properties** | Option<**std::collections::HashMap**> | Properties stored on the table, if supported by the server. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/rust/lance-namespace-reqwest-client/docs/DeclareTableResponse.md b/rust/lance-namespace-reqwest-client/docs/DeclareTableResponse.md index 550d8df8..b60656df 100644 --- a/rust/lance-namespace-reqwest-client/docs/DeclareTableResponse.md +++ b/rust/lance-namespace-reqwest-client/docs/DeclareTableResponse.md @@ -7,6 +7,7 @@ Name | Type | Description | Notes **transaction_id** | Option<**String**> | Optional transaction identifier | [optional] **location** | Option<**String**> | | [optional] **storage_options** | Option<**std::collections::HashMap**> | Configuration options to be used to access storage. The available options depend on the type of storage in use. These will be passed directly to Lance to initialize storage access. | [optional] +**properties** | Option<**std::collections::HashMap**> | If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties. | [optional][default to {}] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/rust/lance-namespace-reqwest-client/docs/DeregisterTableResponse.md b/rust/lance-namespace-reqwest-client/docs/DeregisterTableResponse.md index 41c793fc..c30dd163 100644 --- a/rust/lance-namespace-reqwest-client/docs/DeregisterTableResponse.md +++ b/rust/lance-namespace-reqwest-client/docs/DeregisterTableResponse.md @@ -7,7 +7,7 @@ Name | Type | Description | Notes **transaction_id** | Option<**String**> | Optional transaction identifier | [optional] **id** | Option<**Vec**> | | [optional] **location** | Option<**String**> | | [optional] -**properties** | Option<**std::collections::HashMap**> | | [optional] +**properties** | Option<**std::collections::HashMap**> | If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties. | [optional][default to {}] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/rust/lance-namespace-reqwest-client/docs/DescribeTableResponse.md b/rust/lance-namespace-reqwest-client/docs/DescribeTableResponse.md index 83db4cb4..1826404c 100644 --- a/rust/lance-namespace-reqwest-client/docs/DescribeTableResponse.md +++ b/rust/lance-namespace-reqwest-client/docs/DescribeTableResponse.md @@ -13,6 +13,7 @@ Name | Type | Description | Notes **storage_options** | Option<**std::collections::HashMap**> | Configuration options to be used to access storage. The available options depend on the type of storage in use. These will be passed directly to Lance to initialize storage access. When `vend_credentials` is true, this field may include vended credentials. If the vended credentials are temporary, the `expires_at_millis` key should be included to indicate the millisecond timestamp when the credentials expire. | [optional] **stats** | Option<[**models::TableBasicStats**](TableBasicStats.md)> | Table statistics. Only populated when `load_detailed_metadata` is true. | [optional] **metadata** | Option<**std::collections::HashMap**> | Optional table metadata as key-value pairs. | [optional] +**properties** | Option<**std::collections::HashMap**> | Properties stored on the table, if supported by the server. If the server does not support table properties, it should return null for this field. If table properties are supported, but none are set, it should return an empty object. | [optional][default to {}] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/rust/lance-namespace-reqwest-client/docs/DropNamespaceResponse.md b/rust/lance-namespace-reqwest-client/docs/DropNamespaceResponse.md index cb49f7f0..12900de6 100644 --- a/rust/lance-namespace-reqwest-client/docs/DropNamespaceResponse.md +++ b/rust/lance-namespace-reqwest-client/docs/DropNamespaceResponse.md @@ -4,7 +4,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**properties** | Option<**std::collections::HashMap**> | | [optional] +**properties** | Option<**std::collections::HashMap**> | If the implementation does not support namespace properties, it should return null for this field. Otherwise it should return the properties. | [optional] **transaction_id** | Option<**Vec**> | If present, indicating the operation is long running and should be tracked using DescribeTransaction | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/rust/lance-namespace-reqwest-client/docs/DropTableResponse.md b/rust/lance-namespace-reqwest-client/docs/DropTableResponse.md index f3694608..d221f1ff 100644 --- a/rust/lance-namespace-reqwest-client/docs/DropTableResponse.md +++ b/rust/lance-namespace-reqwest-client/docs/DropTableResponse.md @@ -7,7 +7,7 @@ Name | Type | Description | Notes **transaction_id** | Option<**String**> | Optional transaction identifier | [optional] **id** | Option<**Vec**> | | [optional] **location** | Option<**String**> | | [optional] -**properties** | Option<**std::collections::HashMap**> | | [optional] +**properties** | Option<**std::collections::HashMap**> | If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties. | [optional][default to {}] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/rust/lance-namespace-reqwest-client/docs/RegisterTableRequest.md b/rust/lance-namespace-reqwest-client/docs/RegisterTableRequest.md index 9a1580f7..efdef7d8 100644 --- a/rust/lance-namespace-reqwest-client/docs/RegisterTableRequest.md +++ b/rust/lance-namespace-reqwest-client/docs/RegisterTableRequest.md @@ -9,7 +9,7 @@ Name | Type | Description | Notes **id** | Option<**Vec**> | | [optional] **location** | **String** | | **mode** | Option<**String**> | There are two modes when trying to register a table, to differentiate the behavior when a table of the same name already exists. Case insensitive, supports both PascalCase and snake_case. Valid values are: * Create (default): the operation fails with 409. * Overwrite: the existing table registration is replaced with the new registration. | [optional] -**properties** | Option<**std::collections::HashMap**> | | [optional] +**properties** | Option<**std::collections::HashMap**> | Properties stored on the table, if supported by the implementation. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/rust/lance-namespace-reqwest-client/docs/RegisterTableResponse.md b/rust/lance-namespace-reqwest-client/docs/RegisterTableResponse.md index 69a1f9b2..20ffc95e 100644 --- a/rust/lance-namespace-reqwest-client/docs/RegisterTableResponse.md +++ b/rust/lance-namespace-reqwest-client/docs/RegisterTableResponse.md @@ -6,7 +6,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **transaction_id** | Option<**String**> | Optional transaction identifier | [optional] **location** | Option<**String**> | | [optional] -**properties** | Option<**std::collections::HashMap**> | | [optional] +**properties** | Option<**std::collections::HashMap**> | If the implementation does not support table properties, it should return null for this field. Otherwise, it should return the properties. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/rust/lance-namespace-reqwest-client/docs/UpdateTableRequest.md b/rust/lance-namespace-reqwest-client/docs/UpdateTableRequest.md index 4ce5b0da..45c80357 100644 --- a/rust/lance-namespace-reqwest-client/docs/UpdateTableRequest.md +++ b/rust/lance-namespace-reqwest-client/docs/UpdateTableRequest.md @@ -9,6 +9,7 @@ Name | Type | Description | Notes **id** | Option<**Vec**> | | [optional] **predicate** | Option<**String**> | Optional SQL predicate to filter rows for update | [optional] **updates** | [**Vec>**](Vec.md) | List of column updates as [column_name, expression] pairs | +**properties** | Option<**std::collections::HashMap**> | Properties stored on the table, if supported by the implementation. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/rust/lance-namespace-reqwest-client/docs/UpdateTableResponse.md b/rust/lance-namespace-reqwest-client/docs/UpdateTableResponse.md index 5e537e17..1cdac21a 100644 --- a/rust/lance-namespace-reqwest-client/docs/UpdateTableResponse.md +++ b/rust/lance-namespace-reqwest-client/docs/UpdateTableResponse.md @@ -7,6 +7,7 @@ Name | Type | Description | Notes **transaction_id** | Option<**String**> | Optional transaction identifier | [optional] **updated_rows** | **i64** | Number of rows updated | **version** | **i64** | The commit version associated with the operation | +**properties** | Option<**std::collections::HashMap**> | If the implementation does not support table properties, it should return null for this field. Otherwise, it should return the properties. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/rust/lance-namespace-reqwest-client/src/models/create_empty_table_request.rs b/rust/lance-namespace-reqwest-client/src/models/create_empty_table_request.rs index 735e4ed9..71435b24 100644 --- a/rust/lance-namespace-reqwest-client/src/models/create_empty_table_request.rs +++ b/rust/lance-namespace-reqwest-client/src/models/create_empty_table_request.rs @@ -27,6 +27,9 @@ pub struct CreateEmptyTableRequest { /// Whether to include vended credentials in the response `storage_options`. When true, the implementation should provide vended credentials for accessing storage. When not set, the implementation can decide whether to return vended credentials. #[serde(rename = "vend_credentials", skip_serializing_if = "Option::is_none")] pub vend_credentials: Option, + /// Properties stored on the table, if supported by the server. + #[serde(rename = "properties", skip_serializing_if = "Option::is_none")] + pub properties: Option>, } impl CreateEmptyTableRequest { @@ -38,6 +41,7 @@ impl CreateEmptyTableRequest { id: None, location: None, vend_credentials: None, + properties: None, } } } diff --git a/rust/lance-namespace-reqwest-client/src/models/create_empty_table_response.rs b/rust/lance-namespace-reqwest-client/src/models/create_empty_table_response.rs index 81628bd9..2d1e3b48 100644 --- a/rust/lance-namespace-reqwest-client/src/models/create_empty_table_response.rs +++ b/rust/lance-namespace-reqwest-client/src/models/create_empty_table_response.rs @@ -22,6 +22,9 @@ pub struct CreateEmptyTableResponse { /// Configuration options to be used to access storage. The available options depend on the type of storage in use. These will be passed directly to Lance to initialize storage access. #[serde(rename = "storage_options", skip_serializing_if = "Option::is_none")] pub storage_options: Option>, + /// If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties. + #[serde(rename = "properties", skip_serializing_if = "Option::is_none")] + pub properties: Option>, } impl CreateEmptyTableResponse { @@ -31,6 +34,7 @@ impl CreateEmptyTableResponse { transaction_id: None, location: None, storage_options: None, + properties: None, } } } diff --git a/rust/lance-namespace-reqwest-client/src/models/create_namespace_request.rs b/rust/lance-namespace-reqwest-client/src/models/create_namespace_request.rs index 45fa8088..70227f3b 100644 --- a/rust/lance-namespace-reqwest-client/src/models/create_namespace_request.rs +++ b/rust/lance-namespace-reqwest-client/src/models/create_namespace_request.rs @@ -23,6 +23,7 @@ pub struct CreateNamespaceRequest { /// There are three modes when trying to create a namespace, to differentiate the behavior when a namespace of the same name already exists. Case insensitive, supports both PascalCase and snake_case. Valid values are: * Create: the operation fails with 409. * ExistOk: the operation succeeds and the existing namespace is kept. * Overwrite: the existing namespace is dropped and a new empty namespace with this name is created. #[serde(rename = "mode", skip_serializing_if = "Option::is_none")] pub mode: Option, + /// Properties stored on the namespace, if supported by the implementation. #[serde(rename = "properties", skip_serializing_if = "Option::is_none")] pub properties: Option>, } diff --git a/rust/lance-namespace-reqwest-client/src/models/create_table_request.rs b/rust/lance-namespace-reqwest-client/src/models/create_table_request.rs index d8051345..5aee08e4 100644 --- a/rust/lance-namespace-reqwest-client/src/models/create_table_request.rs +++ b/rust/lance-namespace-reqwest-client/src/models/create_table_request.rs @@ -24,6 +24,9 @@ pub struct CreateTableRequest { /// There are three modes when trying to create a table, to differentiate the behavior when a table of the same name already exists. Case insensitive, supports both PascalCase and snake_case. Valid values are: * Create: the operation fails with 409. * ExistOk: the operation succeeds and the existing table is kept. * Overwrite: the existing table is dropped and a new table with this name is created. #[serde(rename = "mode", skip_serializing_if = "Option::is_none")] pub mode: Option, + /// Properties stored on the table, if supported by the implementation. + #[serde(rename = "properties", skip_serializing_if = "Option::is_none")] + pub properties: Option>, } impl CreateTableRequest { @@ -34,6 +37,7 @@ impl CreateTableRequest { context: None, id: None, mode: None, + properties: None, } } } diff --git a/rust/lance-namespace-reqwest-client/src/models/create_table_response.rs b/rust/lance-namespace-reqwest-client/src/models/create_table_response.rs index b95eecd1..7d6c8374 100644 --- a/rust/lance-namespace-reqwest-client/src/models/create_table_response.rs +++ b/rust/lance-namespace-reqwest-client/src/models/create_table_response.rs @@ -23,6 +23,9 @@ pub struct CreateTableResponse { /// Configuration options to be used to access storage. The available options depend on the type of storage in use. These will be passed directly to Lance to initialize storage access. #[serde(rename = "storage_options", skip_serializing_if = "Option::is_none")] pub storage_options: Option>, + /// If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties. + #[serde(rename = "properties", skip_serializing_if = "Option::is_none")] + pub properties: Option>, } impl CreateTableResponse { @@ -32,6 +35,7 @@ impl CreateTableResponse { location: None, version: None, storage_options: None, + properties: None, } } } diff --git a/rust/lance-namespace-reqwest-client/src/models/declare_table_request.rs b/rust/lance-namespace-reqwest-client/src/models/declare_table_request.rs index 2ad60626..53e8231c 100644 --- a/rust/lance-namespace-reqwest-client/src/models/declare_table_request.rs +++ b/rust/lance-namespace-reqwest-client/src/models/declare_table_request.rs @@ -27,6 +27,9 @@ pub struct DeclareTableRequest { /// Whether to include vended credentials in the response `storage_options`. When true, the implementation should provide vended credentials for accessing storage. When not set, the implementation can decide whether to return vended credentials. #[serde(rename = "vend_credentials", skip_serializing_if = "Option::is_none")] pub vend_credentials: Option, + /// Properties stored on the table, if supported by the server. + #[serde(rename = "properties", skip_serializing_if = "Option::is_none")] + pub properties: Option>, } impl DeclareTableRequest { @@ -38,6 +41,7 @@ impl DeclareTableRequest { id: None, location: None, vend_credentials: None, + properties: None, } } } diff --git a/rust/lance-namespace-reqwest-client/src/models/declare_table_response.rs b/rust/lance-namespace-reqwest-client/src/models/declare_table_response.rs index 879249f0..9323927e 100644 --- a/rust/lance-namespace-reqwest-client/src/models/declare_table_response.rs +++ b/rust/lance-namespace-reqwest-client/src/models/declare_table_response.rs @@ -22,6 +22,9 @@ pub struct DeclareTableResponse { /// Configuration options to be used to access storage. The available options depend on the type of storage in use. These will be passed directly to Lance to initialize storage access. #[serde(rename = "storage_options", skip_serializing_if = "Option::is_none")] pub storage_options: Option>, + /// If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties. + #[serde(rename = "properties", skip_serializing_if = "Option::is_none")] + pub properties: Option>, } impl DeclareTableResponse { @@ -31,6 +34,7 @@ impl DeclareTableResponse { transaction_id: None, location: None, storage_options: None, + properties: None, } } } diff --git a/rust/lance-namespace-reqwest-client/src/models/deregister_table_response.rs b/rust/lance-namespace-reqwest-client/src/models/deregister_table_response.rs index c38853a0..496ecccf 100644 --- a/rust/lance-namespace-reqwest-client/src/models/deregister_table_response.rs +++ b/rust/lance-namespace-reqwest-client/src/models/deregister_table_response.rs @@ -20,6 +20,7 @@ pub struct DeregisterTableResponse { pub id: Option>, #[serde(rename = "location", skip_serializing_if = "Option::is_none")] pub location: Option, + /// If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties. #[serde(rename = "properties", skip_serializing_if = "Option::is_none")] pub properties: Option>, } diff --git a/rust/lance-namespace-reqwest-client/src/models/describe_table_response.rs b/rust/lance-namespace-reqwest-client/src/models/describe_table_response.rs index 29e73da3..c7fe3143 100644 --- a/rust/lance-namespace-reqwest-client/src/models/describe_table_response.rs +++ b/rust/lance-namespace-reqwest-client/src/models/describe_table_response.rs @@ -40,6 +40,9 @@ pub struct DescribeTableResponse { /// Optional table metadata as key-value pairs. #[serde(rename = "metadata", skip_serializing_if = "Option::is_none")] pub metadata: Option>, + /// Properties stored on the table, if supported by the server. If the server does not support table properties, it should return null for this field. If table properties are supported, but none are set, it should return an empty object. + #[serde(rename = "properties", skip_serializing_if = "Option::is_none")] + pub properties: Option>, } impl DescribeTableResponse { @@ -54,6 +57,7 @@ impl DescribeTableResponse { storage_options: None, stats: None, metadata: None, + properties: None, } } } diff --git a/rust/lance-namespace-reqwest-client/src/models/drop_namespace_response.rs b/rust/lance-namespace-reqwest-client/src/models/drop_namespace_response.rs index 0b8d6829..768f2e02 100644 --- a/rust/lance-namespace-reqwest-client/src/models/drop_namespace_response.rs +++ b/rust/lance-namespace-reqwest-client/src/models/drop_namespace_response.rs @@ -13,6 +13,7 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct DropNamespaceResponse { + /// If the implementation does not support namespace properties, it should return null for this field. Otherwise it should return the properties. #[serde(rename = "properties", skip_serializing_if = "Option::is_none")] pub properties: Option>, /// If present, indicating the operation is long running and should be tracked using DescribeTransaction diff --git a/rust/lance-namespace-reqwest-client/src/models/drop_table_response.rs b/rust/lance-namespace-reqwest-client/src/models/drop_table_response.rs index 5afc91c3..df6e690a 100644 --- a/rust/lance-namespace-reqwest-client/src/models/drop_table_response.rs +++ b/rust/lance-namespace-reqwest-client/src/models/drop_table_response.rs @@ -20,6 +20,7 @@ pub struct DropTableResponse { pub id: Option>, #[serde(rename = "location", skip_serializing_if = "Option::is_none")] pub location: Option, + /// If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties. #[serde(rename = "properties", skip_serializing_if = "Option::is_none")] pub properties: Option>, } diff --git a/rust/lance-namespace-reqwest-client/src/models/register_table_request.rs b/rust/lance-namespace-reqwest-client/src/models/register_table_request.rs index b0a94a8c..babd0fb9 100644 --- a/rust/lance-namespace-reqwest-client/src/models/register_table_request.rs +++ b/rust/lance-namespace-reqwest-client/src/models/register_table_request.rs @@ -25,6 +25,7 @@ pub struct RegisterTableRequest { /// There are two modes when trying to register a table, to differentiate the behavior when a table of the same name already exists. Case insensitive, supports both PascalCase and snake_case. Valid values are: * Create (default): the operation fails with 409. * Overwrite: the existing table registration is replaced with the new registration. #[serde(rename = "mode", skip_serializing_if = "Option::is_none")] pub mode: Option, + /// Properties stored on the table, if supported by the implementation. #[serde(rename = "properties", skip_serializing_if = "Option::is_none")] pub properties: Option>, } diff --git a/rust/lance-namespace-reqwest-client/src/models/register_table_response.rs b/rust/lance-namespace-reqwest-client/src/models/register_table_response.rs index d215132b..24bd8209 100644 --- a/rust/lance-namespace-reqwest-client/src/models/register_table_response.rs +++ b/rust/lance-namespace-reqwest-client/src/models/register_table_response.rs @@ -18,6 +18,7 @@ pub struct RegisterTableResponse { pub transaction_id: Option, #[serde(rename = "location", skip_serializing_if = "Option::is_none")] pub location: Option, + /// If the implementation does not support table properties, it should return null for this field. Otherwise, it should return the properties. #[serde(rename = "properties", skip_serializing_if = "Option::is_none")] pub properties: Option>, } diff --git a/rust/lance-namespace-reqwest-client/src/models/update_table_request.rs b/rust/lance-namespace-reqwest-client/src/models/update_table_request.rs index e0505bda..aa93622c 100644 --- a/rust/lance-namespace-reqwest-client/src/models/update_table_request.rs +++ b/rust/lance-namespace-reqwest-client/src/models/update_table_request.rs @@ -27,6 +27,9 @@ pub struct UpdateTableRequest { /// List of column updates as [column_name, expression] pairs #[serde(rename = "updates")] pub updates: Vec>, + /// Properties stored on the table, if supported by the implementation. + #[serde(rename = "properties", skip_serializing_if = "Option::is_none")] + pub properties: Option>, } impl UpdateTableRequest { @@ -38,6 +41,7 @@ impl UpdateTableRequest { id: None, predicate: None, updates, + properties: None, } } } diff --git a/rust/lance-namespace-reqwest-client/src/models/update_table_response.rs b/rust/lance-namespace-reqwest-client/src/models/update_table_response.rs index c6809d44..d46837d1 100644 --- a/rust/lance-namespace-reqwest-client/src/models/update_table_response.rs +++ b/rust/lance-namespace-reqwest-client/src/models/update_table_response.rs @@ -22,6 +22,9 @@ pub struct UpdateTableResponse { /// The commit version associated with the operation #[serde(rename = "version")] pub version: i64, + /// If the implementation does not support table properties, it should return null for this field. Otherwise, it should return the properties. + #[serde(rename = "properties", skip_serializing_if = "Option::is_none")] + pub properties: Option>, } impl UpdateTableResponse { @@ -30,6 +33,7 @@ impl UpdateTableResponse { transaction_id: None, updated_rows, version, + properties: None, } } }