Drop a user-defined type (UDT)
Drops a user-defined type (UDT) from a keyspace.
You can’t drop a user-defined type that is currently used by a table. You must first use drop the columns that use the user-defined type.
|
Ready to write code? See the examples for this method to get started. If you are new to the Data API, check out the quickstart. |
Result
-
Python
-
TypeScript
-
Go
-
Java
-
C#
-
curl
Drops the specified user-defined type.
Does not return anything.
Drops the specified user-defined type.
Returns a promise that resolves once the operation completes.
|
The Go client is in preview. For more information, see astra-db-go. |
Drops the specified user-defined type.
A successful operation does not return anything.
Drops the specified user-defined type.
Does not return anything.
Drops the specified user-defined type.
Does not return anything.
Drops the specified user-defined type.
If the command succeeds, the response indicates the success.
Example response:
{
"status": {
"ok": 1
}
}
Parameters
-
Python
-
TypeScript
-
Go
-
Java
-
C#
-
curl
Use the drop_type method, which belongs to the astrapy.Database class.
Method signature
drop_type(
name: str,
*,
keyspace: str,
if_exists: bool,
table_admin_timeout_ms: int,
request_timeout_ms: int,
timeout_ms: int,
) -> None
| Name | Type | Summary |
|---|---|---|
|
|
The name of the user-defined type to drop. |
|
|
Optional. The keyspace containing the user-defined type. Default: The database’s working keyspace. |
|
|
Optional. Whether the command should silently succeed even if a user-defined type with the given name does not exist in the keyspace and a user-defined type wasn’t dropped. Default: false |
|
|
A timeout, in milliseconds, for the underlying schema-changing HTTP request.
If not provided, the |
Use the dropType method, which belongs to the Db class.
Method signature
async dropType(
name: string,
options?: {
ifExists?: boolean,
timeout?: number | TimeoutDescriptor,
keyspace?: string,
}
): void
| Name | Type | Summary |
|---|---|---|
|
|
The name of the user-defined type to drop. |
|
|
Optional.
The options for this operation.
See Properties of |
| Name | Type | Summary |
|---|---|---|
|
|
Optional. Whether the command should silently succeed even if a user-defined type with the given name does not exist in the keyspace and a user-defined type wasn’t dropped. Default: false |
|
|
Optional. The keyspace containing the user-defined type. Default: The database’s working keyspace. |
|
|
Optional. A timeout to impose on the underlying API request. |
|
The Go client is in preview. For more information, see astra-db-go. |
Use the DropType method, which belongs to the Db type.
Method signature
func (d *Db) DropType(
ctx context.Context,
name string,
opts ...options.DropTypeOption
) error
| Name | Type | Summary |
|---|---|---|
|
|
The context for the operation. |
|
|
The name of the user-defined type to drop. |
|
Optional.
A builder to generate options for this operation.
See Methods of the |
| Method | Summary |
|---|---|
|
Optional. The keyspace containing the user-defined type. Default: The database’s working keyspace. |
|
Optional. Whether the command should silently succeed even if a user-defined type with the given name does not exist in the keyspace and a user-defined type wasn’t dropped. Default: false |
|
Optional. General API options for this operation, including the timeout. |
Use the dropType method, which belongs to the com.datastax.astra.client.databases.Database class.
Method signature
void dropType(String name)
void dropType(
String name,
DropTypeOptions options
)
| Name | Type | Summary |
|---|---|---|
|
|
The name of the user-defined type to drop. |
|
|
Optional.
The options for this operation. See Methods of the |
| Method | Parameters | Summary |
|---|---|---|
|
|
Optional. Whether the command should silently succeed even if a user-defined type with the given name does not exist in the keyspace and a user-defined type wasn’t dropped. Default: false |
|
|
Optional. The keyspace containing the user-defined type. Default: The database’s working keyspace. |
Use the DropTypeAsync method, which belongs to the Database class.
You can also use DropType, which is the synchronous version of the method.
Method signature
public Task DropTypeAsync<T>(DropTypeOptions options = null);
public Task DropTypeAsync(string typeName, DropTypeOptions options = null);
| Name | Type | Summary |
|---|---|---|
|
|
The name of the user-defined type to drop. If you use a custom user-defined type class and do not specify this parameter, the client attempts to extract it from first from the |
|
Optional.
Options for this operation.
For more information and examples for general options such as timeout, see Customize API interaction.
For options specific to this method, see Method-specific properties of the |
| Name | Type | Summary |
|---|---|---|
|
|
Optional. Whether the command should silently succeed even if a user-defined type with the given name does not exist in the keyspace and a user-defined type wasn’t dropped. Default: false |
Use the dropType command.
Command signature
curl -sS -L -X POST "API_ENDPOINT/api/json/v1/KEYSPACE_NAME" \
--header "Token: APPLICATION_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"dropType": {
"name": STRING,
"options": {
"ifExists": BOOLEAN
}
}
}'
| Name | Type | Summary |
|---|---|---|
|
|
The name of the user-defined type to drop. |
|
|
Optional.
The options for this operation. See Properties of |
| Name | Type | Summary |
|---|---|---|
|
|
Optional. Whether the command should silently succeed even if a user-defined type with the given name does not exist in the keyspace and a user-defined type wasn’t dropped. Default: false |
Examples
The following examples demonstrate how to drop a user-defined type.
Drop a user-defined type
-
Python
-
TypeScript
-
Go
-
Java
-
C#
-
curl
from astrapy import DataAPIClient
# Get a database
client = DataAPIClient()
database = client.get_database(
"API_ENDPOINT", token="APPLICATION_TOKEN"
)
# Drop a user-defined type
database.drop_type("UDT_NAME")
import { DataAPIClient } from "@datastax/astra-db-ts";
// Get a database
const client = new DataAPIClient();
const database = client.db("API_ENDPOINT", {
token: "APPLICATION_TOKEN",
});
// Drop a user-defined type
(async function () {
await database.dropType("UDT_NAME");
})();
|
The Go client is in preview. For more information, see astra-db-go. |
package main
import (
"context"
"github.com/datastax/astra-db-go/v2/astra"
"github.com/datastax/astra-db-go/v2/astra/options"
)
func main() {
ctx := context.Background()
// Get a database
client := astra.NewClient()
database := client.Database(
"API_ENDPOINT",
options.API().SetToken("APPLICATION_TOKEN"),
)
// Drop a user-defined type
database.DropType(ctx, "UDT_NAME")
}
import com.datastax.astra.client.DataAPIClient;
import com.datastax.astra.client.databases.Database;
public class Example {
public static void main(String[] args) {
// Get a database
Database database = new DataAPIClient("APPLICATION_TOKEN").getDatabase("API_ENDPOINT");
// Drop a user-defined type
database.dropType("UDT_NAME");
}
}
using DataStax.AstraDB.DataApi;
namespace Examples;
public class Program
{
static async Task Main()
{
// Get an existing table
var client = new DataAPIClient();
var database = client.GetDatabase(
"API_ENDPOINT",
"APPLICATION_TOKEN"
);
// Drop a user-defined type
await database.DropTypeAsync("UDT_NAME");
}
}
curl -sS -L -X POST "API_ENDPOINT/api/json/v1/KEYSPACE_NAME" \
--header "Token: APPLICATION_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"dropType": {
"name": "UDT_NAME"
}
}'
Drop a user-defined type only if the type exists
Use this option to silently do nothing if a user-defined type with the specified name does not exist.
-
Python
-
TypeScript
-
Go
-
Java
-
C#
-
curl
from astrapy import DataAPIClient
# Get a database
client = DataAPIClient()
database = client.get_database(
"API_ENDPOINT", token="APPLICATION_TOKEN"
)
# Drop a user-defined type
database.drop_type("UDT_NAME", if_exists=True)
import { DataAPIClient } from "@datastax/astra-db-ts";
// Get a database
const client = new DataAPIClient();
const database = client.db("API_ENDPOINT", {
token: "APPLICATION_TOKEN",
});
// Drop a user-defined type
(async function () {
await database.dropType("UDT_NAME", { ifExists: true });
})();
|
The Go client is in preview. For more information, see astra-db-go. |
package main
import (
"context"
"github.com/datastax/astra-db-go/v2/astra"
"github.com/datastax/astra-db-go/v2/astra/options"
)
func main() {
ctx := context.Background()
// Get a database
client := astra.NewClient()
database := client.Database(
"API_ENDPOINT",
options.API().SetToken("APPLICATION_TOKEN"),
)
// Drop a user-defined type
database.DropType(
ctx,
"UDT_NAME",
options.DropType().SetIfExists(true),
)
}
import com.datastax.astra.client.DataAPIClient;
import com.datastax.astra.client.databases.Database;
import com.datastax.astra.client.tables.commands.options.DropTypeOptions;
public class Example {
public static void main(String[] args) {
// Get a database
Database database = new DataAPIClient("APPLICATION_TOKEN").getDatabase("API_ENDPOINT");
// Drop a user-defined type
DropTypeOptions options = new DropTypeOptions().ifExists(true);
database.dropType("UDT_NAME", options);
}
}
using DataStax.AstraDB.DataApi;
using DataStax.AstraDB.DataApi.Core;
namespace Examples;
public class Program
{
static async Task Main()
{
// Get an existing table
var client = new DataAPIClient();
var database = client.GetDatabase(
"API_ENDPOINT",
"APPLICATION_TOKEN"
);
// Drop a user-defined type
await database.DropTypeAsync(
"UDT_NAME",
new DropTypeOptions() { IfExists = true }
);
}
}
curl -sS -L -X POST "API_ENDPOINT/api/json/v1/KEYSPACE_NAME" \
--header "Token: APPLICATION_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"dropType": {
"name": "UDT_NAME",
"options": {
"ifExists": true
}
}
}'
Client reference
-
Python
-
TypeScript
-
Go
-
Java
-
C#
-
curl
For more information, see the client reference.
For more information, see the client reference.
|
The Go client is in preview. For more information, see astra-db-go. |
For more information, see the client reference.
For more information, see the client reference.
For more information, see the client reference.
Client reference documentation is not applicable for HTTP.