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
-
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.
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
-
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 if you specified a keyspace when instantiating the 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 if you specified a keyspace when instantiating the Default: The database’s working keyspace. |
|
|
Optional. A timeout to impose on the underlying API request. |
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 if you specified a keyspace when instantiating the 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
-
Java
-
C#
-
curl
from astrapy import DataAPIClient
from astrapy.authentication import UsernamePasswordTokenProvider
from astrapy.constants import Environment
# Get a database
client = DataAPIClient(environment=Environment.HCD)
database = client.get_database(
"API_ENDPOINT",
token=UsernamePasswordTokenProvider("USERNAME", "PASSWORD"),
)
# Drop a user-defined type
database.drop_type("UDT_NAME", keyspace="KEYSPACE_NAME")
import {
DataAPIClient,
UsernamePasswordTokenProvider,
} from "@datastax/astra-db-ts";
// Get a database
const client = new DataAPIClient({ environment: "hcd" });
const database = client.db("API_ENDPOINT", {
token: new UsernamePasswordTokenProvider("USERNAME", "PASSWORD"),
});
// Drop a user-defined type
(async function () {
await database.dropType("UDT_NAME", {
keyspace: "KEYSPACE_NAME",
});
})();
import com.datastax.astra.client.DataAPIClients;
import com.datastax.astra.client.databases.Database;
public class Example {
public static void main(String[] args) {
// Get a database
Database database =
DataAPIClients.clientHCD("USERNAME", "PASSWORD")
.getDatabase("API_ENDPOINT", "KEYSPACE_NAME");
// Drop a user-defined type
database.dropType("UDT_NAME");
}
}
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(
new CommandOptions() { Destination = DataAPIDestination.HCD }
);
var database = client.GetDatabase(
"API_ENDPOINT",
DataAPIClient.UsernamePasswordTokenProvider(
"USERNAME",
"PASSWORD"
),
"KEYSPACE_NAME"
);
// Drop a user-defined type
await database.DropTypeAsync("UDT_NAME");
}
}
curl -sS -L -X POST "API_ENDPOINT/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
-
Java
-
C#
-
curl
from astrapy import DataAPIClient
from astrapy.authentication import UsernamePasswordTokenProvider
from astrapy.constants import Environment
# Get a database
client = DataAPIClient(environment=Environment.HCD)
database = client.get_database(
"API_ENDPOINT",
token=UsernamePasswordTokenProvider("USERNAME", "PASSWORD"),
)
# Drop a user-defined type
database.drop_type(
"UDT_NAME", if_exists=True, keyspace="KEYSPACE_NAME"
)
import {
DataAPIClient,
UsernamePasswordTokenProvider,
} from "@datastax/astra-db-ts";
// Get a database
const client = new DataAPIClient({ environment: "hcd" });
const database = client.db("API_ENDPOINT", {
token: new UsernamePasswordTokenProvider("USERNAME", "PASSWORD"),
});
// Drop a user-defined type
(async function () {
await database.dropType("UDT_NAME", {
ifExists: true,
keyspace: "KEYSPACE_NAME",
});
})();
import com.datastax.astra.client.DataAPIClients;
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 =
DataAPIClients.clientHCD("USERNAME", "PASSWORD")
.getDatabase("API_ENDPOINT", "KEYSPACE_NAME");
// 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(
new CommandOptions() { Destination = DataAPIDestination.HCD }
);
var database = client.GetDatabase(
"API_ENDPOINT",
DataAPIClient.UsernamePasswordTokenProvider(
"USERNAME",
"PASSWORD"
),
"KEYSPACE_NAME"
);
// Drop a user-defined type
await database.DropTypeAsync(
"UDT_NAME",
new DropTypeOptions() { IfExists = true }
);
}
}
curl -sS -L -X POST "API_ENDPOINT/v1/KEYSPACE_NAME" \
--header "Token: APPLICATION_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"dropType": {
"name": "UDT_NAME",
"options": {
"ifExists": true
}
}
}'
Client reference
-
Python
-
TypeScript
-
Java
-
C#
-
curl
For more information, see the client reference.
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.