Skip to content

Commit b7353bd

Browse files
committed
spec: add DropTable and DeregisterTable
1 parent 81503d5 commit b7353bd

56 files changed

Lines changed: 4646 additions & 1 deletion

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

java/lance-namespace-adapter/src/main/java/com/lancedb/lance/namespace/adapter/ClientToServerResponse.java

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@
1414
package com.lancedb.lance.namespace.adapter;
1515

1616
import com.lancedb.lance.namespace.server.springboot.model.CreateNamespaceResponse;
17+
import com.lancedb.lance.namespace.server.springboot.model.DeregisterTableResponse;
1718
import com.lancedb.lance.namespace.server.springboot.model.DropNamespaceResponse;
19+
import com.lancedb.lance.namespace.server.springboot.model.DropTableResponse;
1820
import com.lancedb.lance.namespace.server.springboot.model.GetNamespaceResponse;
1921
import com.lancedb.lance.namespace.server.springboot.model.GetTableResponse;
2022
import com.lancedb.lance.namespace.server.springboot.model.ListNamespacesResponse;
@@ -89,4 +91,25 @@ public static TableExistsResponse tableExists(
8991
converted.setExists(response.getExists());
9092
return converted;
9193
}
94+
95+
public static DropTableResponse dropTable(
96+
com.lancedb.lance.namespace.model.DropTableResponse response) {
97+
DropTableResponse converted = new DropTableResponse();
98+
converted.setName(response.getName());
99+
converted.setNamespace(response.getNamespace());
100+
converted.setLocation(response.getLocation());
101+
converted.setProperties(response.getProperties());
102+
converted.setTransactionId(response.getTransactionId());
103+
return converted;
104+
}
105+
106+
public static DeregisterTableResponse deregisterTable(
107+
com.lancedb.lance.namespace.model.DeregisterTableResponse response) {
108+
DeregisterTableResponse converted = new DeregisterTableResponse();
109+
converted.setName(response.getName());
110+
converted.setNamespace(response.getNamespace());
111+
converted.setLocation(response.getLocation());
112+
converted.setProperties(response.getProperties());
113+
return converted;
114+
}
92115
}

java/lance-namespace-adapter/src/main/java/com/lancedb/lance/namespace/adapter/ServerToClientRequest.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@
1414
package com.lancedb.lance.namespace.adapter;
1515

1616
import com.lancedb.lance.namespace.model.CreateNamespaceRequest;
17+
import com.lancedb.lance.namespace.model.DeregisterTableRequest;
1718
import com.lancedb.lance.namespace.model.DropNamespaceRequest;
19+
import com.lancedb.lance.namespace.model.DropTableRequest;
1820
import com.lancedb.lance.namespace.model.GetNamespaceRequest;
1921
import com.lancedb.lance.namespace.model.GetTableRequest;
2022
import com.lancedb.lance.namespace.model.ListNamespacesRequest;
@@ -86,4 +88,20 @@ public static TableExistsRequest tableExists(
8688
converted.setName(request.getName());
8789
return converted;
8890
}
91+
92+
public static DropTableRequest dropTable(
93+
com.lancedb.lance.namespace.server.springboot.model.DropTableRequest request) {
94+
DropTableRequest converted = new DropTableRequest();
95+
converted.setName(request.getName());
96+
converted.setNamespace(request.getNamespace());
97+
return converted;
98+
}
99+
100+
public static DeregisterTableRequest deregisterTable(
101+
com.lancedb.lance.namespace.server.springboot.model.DeregisterTableRequest request) {
102+
DeregisterTableRequest converted = new DeregisterTableRequest();
103+
converted.setName(request.getName());
104+
converted.setNamespace(request.getNamespace());
105+
return converted;
106+
}
89107
}

java/lance-namespace-adapter/src/main/java/com/lancedb/lance/namespace/adapter/TableController.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@
1515

1616
import com.lancedb.lance.namespace.LanceNamespace;
1717
import com.lancedb.lance.namespace.server.springboot.api.TableApi;
18+
import com.lancedb.lance.namespace.server.springboot.model.DeregisterTableRequest;
19+
import com.lancedb.lance.namespace.server.springboot.model.DeregisterTableResponse;
20+
import com.lancedb.lance.namespace.server.springboot.model.DropTableRequest;
21+
import com.lancedb.lance.namespace.server.springboot.model.DropTableResponse;
1822
import com.lancedb.lance.namespace.server.springboot.model.GetTableRequest;
1923
import com.lancedb.lance.namespace.server.springboot.model.GetTableResponse;
2024
import com.lancedb.lance.namespace.server.springboot.model.RegisterTableRequest;
@@ -55,4 +59,20 @@ public ResponseEntity<TableExistsResponse> tableExists(TableExistsRequest tableE
5559
ClientToServerResponse.tableExists(
5660
delegate.tableExists(ServerToClientRequest.tableExists(tableExistsRequest))));
5761
}
62+
63+
@Override
64+
public ResponseEntity<DropTableResponse> dropTable(DropTableRequest dropTableRequest) {
65+
return ResponseEntity.ok(
66+
ClientToServerResponse.dropTable(
67+
delegate.dropTable(ServerToClientRequest.dropTable(dropTableRequest))));
68+
}
69+
70+
@Override
71+
public ResponseEntity<DeregisterTableResponse> deregisterTable(
72+
DeregisterTableRequest deregisterTableRequest) {
73+
return ResponseEntity.ok(
74+
ClientToServerResponse.deregisterTable(
75+
delegate.deregisterTable(
76+
ServerToClientRequest.deregisterTable(deregisterTableRequest))));
77+
}
5878
}

java/lance-namespace-apache-client/.openapi-generator/FILES

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,12 @@ README.md
33
api/openapi.yaml
44
docs/CreateNamespaceRequest.md
55
docs/CreateNamespaceResponse.md
6+
docs/DeregisterTableRequest.md
7+
docs/DeregisterTableResponse.md
68
docs/DropNamespaceRequest.md
79
docs/DropNamespaceResponse.md
10+
docs/DropTableRequest.md
11+
docs/DropTableResponse.md
812
docs/ErrorResponse.md
913
docs/GetNamespaceRequest.md
1014
docs/GetNamespaceResponse.md
@@ -40,8 +44,12 @@ src/main/java/com/lancedb/lance/namespace/client/apache/auth/HttpBasicAuth.java
4044
src/main/java/com/lancedb/lance/namespace/client/apache/auth/HttpBearerAuth.java
4145
src/main/java/com/lancedb/lance/namespace/model/CreateNamespaceRequest.java
4246
src/main/java/com/lancedb/lance/namespace/model/CreateNamespaceResponse.java
47+
src/main/java/com/lancedb/lance/namespace/model/DeregisterTableRequest.java
48+
src/main/java/com/lancedb/lance/namespace/model/DeregisterTableResponse.java
4349
src/main/java/com/lancedb/lance/namespace/model/DropNamespaceRequest.java
4450
src/main/java/com/lancedb/lance/namespace/model/DropNamespaceResponse.java
51+
src/main/java/com/lancedb/lance/namespace/model/DropTableRequest.java
52+
src/main/java/com/lancedb/lance/namespace/model/DropTableResponse.java
4553
src/main/java/com/lancedb/lance/namespace/model/ErrorResponse.java
4654
src/main/java/com/lancedb/lance/namespace/model/GetNamespaceRequest.java
4755
src/main/java/com/lancedb/lance/namespace/model/GetNamespaceResponse.java

java/lance-namespace-apache-client/README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,8 @@ Class | Method | HTTP request | Description
116116
*NamespaceApi* | [**getNamespace**](docs/NamespaceApi.md#getNamespace) | **POST** /GetNamespace | Get information about a namespace
117117
*NamespaceApi* | [**listNamespaces**](docs/NamespaceApi.md#listNamespaces) | **POST** /ListNamespaces | List namespaces
118118
*NamespaceApi* | [**namespaceExists**](docs/NamespaceApi.md#namespaceExists) | **POST** /NamespaceExists | Check if a namespace exists
119+
*TableApi* | [**deregisterTable**](docs/TableApi.md#deregisterTable) | **POST** /DeregisterTable | Deregister a table from its namespace
120+
*TableApi* | [**dropTable**](docs/TableApi.md#dropTable) | **POST** /DropTable | Drop a table from its namespace
119121
*TableApi* | [**getTable**](docs/TableApi.md#getTable) | **POST** /GetTable | Get a table from the namespace
120122
*TableApi* | [**registerTable**](docs/TableApi.md#registerTable) | **POST** /RegisterTable | Register a table to a namespace
121123
*TableApi* | [**tableExists**](docs/TableApi.md#tableExists) | **POST** /TableExists | Check if a table exists
@@ -125,8 +127,12 @@ Class | Method | HTTP request | Description
125127

126128
- [CreateNamespaceRequest](docs/CreateNamespaceRequest.md)
127129
- [CreateNamespaceResponse](docs/CreateNamespaceResponse.md)
130+
- [DeregisterTableRequest](docs/DeregisterTableRequest.md)
131+
- [DeregisterTableResponse](docs/DeregisterTableResponse.md)
128132
- [DropNamespaceRequest](docs/DropNamespaceRequest.md)
129133
- [DropNamespaceResponse](docs/DropNamespaceResponse.md)
134+
- [DropTableRequest](docs/DropTableRequest.md)
135+
- [DropTableResponse](docs/DropTableResponse.md)
130136
- [ErrorResponse](docs/ErrorResponse.md)
131137
- [GetNamespaceRequest](docs/GetNamespaceRequest.md)
132138
- [GetNamespaceResponse](docs/GetNamespaceResponse.md)

java/lance-namespace-apache-client/api/openapi.yaml

Lines changed: 151 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -302,6 +302,70 @@ paths:
302302
x-content-type: application/json
303303
x-accepts:
304304
- application/json
305+
/DropTable:
306+
post:
307+
description: |
308+
Drop a table from its namespace and delete its data. If the table and its data can be immediately deleted, return information of the deleted table. Otherwise, return a transaction ID that client can use to track deletion progress.
309+
operationId: DropTable
310+
requestBody:
311+
content:
312+
application/json:
313+
schema:
314+
$ref: '#/components/schemas/DropTableRequest'
315+
required: true
316+
responses:
317+
"200":
318+
$ref: '#/components/responses/DropTableResponse'
319+
"400":
320+
$ref: '#/components/responses/BadRequestErrorResponse'
321+
"401":
322+
$ref: '#/components/responses/UnauthorizedErrorResponse'
323+
"403":
324+
$ref: '#/components/responses/ForbiddenErrorResponse'
325+
"404":
326+
$ref: '#/components/responses/NotFoundErrorResponse'
327+
"503":
328+
$ref: '#/components/responses/ServiceUnavailableErrorResponse'
329+
"5XX":
330+
$ref: '#/components/responses/ServerErrorResponse'
331+
summary: Drop a table from its namespace
332+
tags:
333+
- Table
334+
x-content-type: application/json
335+
x-accepts:
336+
- application/json
337+
/DeregisterTable:
338+
post:
339+
description: |
340+
Deregister a table from its namespace. The table content remains available in the storage.
341+
operationId: DeregisterTable
342+
requestBody:
343+
content:
344+
application/json:
345+
schema:
346+
$ref: '#/components/schemas/DeregisterTableRequest'
347+
required: true
348+
responses:
349+
"200":
350+
$ref: '#/components/responses/DeregisterTableResponse'
351+
"400":
352+
$ref: '#/components/responses/BadRequestErrorResponse'
353+
"401":
354+
$ref: '#/components/responses/UnauthorizedErrorResponse'
355+
"403":
356+
$ref: '#/components/responses/ForbiddenErrorResponse'
357+
"404":
358+
$ref: '#/components/responses/NotFoundErrorResponse'
359+
"503":
360+
$ref: '#/components/responses/ServiceUnavailableErrorResponse'
361+
"5XX":
362+
$ref: '#/components/responses/ServerErrorResponse'
363+
summary: Deregister a table from its namespace
364+
tags:
365+
- Table
366+
x-content-type: application/json
367+
x-accepts:
368+
- application/json
305369
components:
306370
examples:
307371
ListNamespacesEmptyExample:
@@ -369,6 +433,18 @@ components:
369433
schema:
370434
$ref: '#/components/schemas/TableExistsResponse'
371435
description: Result of checking if a table exists
436+
DropTableResponse:
437+
content:
438+
application/json:
439+
schema:
440+
$ref: '#/components/schemas/DropTableResponse'
441+
description: Response of DropTable
442+
DeregisterTableResponse:
443+
content:
444+
application/json:
445+
schema:
446+
$ref: '#/components/schemas/DeregisterTableResponse'
447+
description: Response of DeregisterTable
372448
BadRequestErrorResponse:
373449
content:
374450
application/json:
@@ -829,4 +905,79 @@ components:
829905
type: boolean
830906
required:
831907
- exists
908+
DropTableRequest:
909+
example:
910+
name: name
911+
namespace:
912+
- namespace
913+
- namespace
914+
properties:
915+
name:
916+
type: string
917+
namespace:
918+
items:
919+
type: string
920+
type: array
921+
required:
922+
- name
923+
DropTableResponse:
924+
example:
925+
name: name
926+
namespace:
927+
- namespace
928+
- namespace
929+
location: location
930+
properties:
931+
key: properties
932+
transactionId: transactionId
933+
properties:
934+
name:
935+
type: string
936+
namespace:
937+
items:
938+
type: string
939+
type: array
940+
location:
941+
type: string
942+
properties:
943+
additionalProperties:
944+
type: string
945+
transactionId:
946+
type: string
947+
DeregisterTableRequest:
948+
example:
949+
name: name
950+
namespace:
951+
- namespace
952+
- namespace
953+
properties:
954+
name:
955+
type: string
956+
namespace:
957+
items:
958+
type: string
959+
type: array
960+
required:
961+
- name
962+
DeregisterTableResponse:
963+
example:
964+
name: name
965+
namespace:
966+
- namespace
967+
- namespace
968+
location: location
969+
properties:
970+
key: properties
971+
properties:
972+
name:
973+
type: string
974+
namespace:
975+
items:
976+
type: string
977+
type: array
978+
location:
979+
type: string
980+
properties:
981+
additionalProperties:
982+
type: string
832983

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
2+
3+
# DeregisterTableRequest
4+
5+
6+
## Properties
7+
8+
| Name | Type | Description | Notes |
9+
|------------ | ------------- | ------------- | -------------|
10+
|**name** | **String** | | |
11+
|**namespace** | **List&lt;String&gt;** | | [optional] |
12+
13+
14+
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
2+
3+
# DeregisterTableResponse
4+
5+
6+
## Properties
7+
8+
| Name | Type | Description | Notes |
9+
|------------ | ------------- | ------------- | -------------|
10+
|**name** | **String** | | [optional] |
11+
|**namespace** | **List&lt;String&gt;** | | [optional] |
12+
|**location** | **String** | | [optional] |
13+
|**properties** | **Map&lt;String, String&gt;** | | [optional] |
14+
15+
16+
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
2+
3+
# DropTableRequest
4+
5+
6+
## Properties
7+
8+
| Name | Type | Description | Notes |
9+
|------------ | ------------- | ------------- | -------------|
10+
|**name** | **String** | | |
11+
|**namespace** | **List&lt;String&gt;** | | [optional] |
12+
13+
14+
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
2+
3+
# DropTableResponse
4+
5+
6+
## Properties
7+
8+
| Name | Type | Description | Notes |
9+
|------------ | ------------- | ------------- | -------------|
10+
|**name** | **String** | | [optional] |
11+
|**namespace** | **List&lt;String&gt;** | | [optional] |
12+
|**location** | **String** | | [optional] |
13+
|**properties** | **Map&lt;String, String&gt;** | | [optional] |
14+
|**transactionId** | **String** | | [optional] |
15+
16+
17+

0 commit comments

Comments
 (0)