Skip to content

UserDefinedTypeBuilder

Parameters

NameDescription
typeNameName of the UDT to create or alter.

Example

typescript
// Create a new UDT
const createSQL = new UserDefinedTypeBuilder("address")
  .ifNotExists()
  .field("street", "text")
  .field("city", "text")
  .field("zip", "int")
  .toSQL()
// Executes:
// CREATE TYPE IF NOT EXISTS address (
//   street text,
//   city text,
//   zip int
// )

// Add a field to existing UDT
const alterAdd = new UserDefinedTypeBuilder("address")
  .addField("country", "text")
// Executes: ALTER TYPE address ADD country text

// Rename a field in existing UDT
const alterRename = new UserDefinedTypeBuilder("address")
  .renameField("zip", "postal_code")
// Executes: ALTER TYPE address RENAME zip TO postal_code

UserDefinedTypeBuilder

Builder for creating and altering user-defined types in ScyllaDB/Cassandra. Chain methods to define fields and generate CQL statements.

field

Define a single field in the UDT.

Parameters

NameDescription
nameField name.
typeScyllaDB data type.

fields

Define multiple fields via an object map.

Parameters

NameDescription
fieldsRecord of field names to types.

ifNotExists

Include IF NOT EXISTS in the CREATE statement.

toSQL

Build and return the CREATE TYPE CQL statement.

addField

Generate an ALTER TYPE statement to add a new field.

Parameters

NameDescription
nameField name to add.
typeData type for the new field.

renameField

Generate an ALTER TYPE statement to rename an existing field.

Parameters

NameDescription
oldNameCurrent field name.
newNameNew field name.

Released under the MIT License.