BulkInsertBuilder class

Builder for creating bulk insert data buffers.

Provides a fluent API to define table structure, columns, and rows for efficient bulk insert operations.

Rows passed to addRow are stored by reference; do not mutate a row list after it is added (wrap with List.unmodifiable when the same list instance might be reused elsewhere).

Example:

final builder = BulkInsertBuilder()
  ..table('users')
  ..addColumn('id', BulkColumnType.i32)
  ..addColumn('name', BulkColumnType.text, maxLen: 100)
  ..addRow([1, 'Alice'])
  ..addRow([2, 'Bob']);
final buffer = builder.build();

Constructors

BulkInsertBuilder()
Creates a new BulkInsertBuilder instance.

Properties

columnNames → List<String>
Gets the list of column names in the order they were added.
no setter
hashCode → int
The hash code for this object.
no setterinherited
rowCount → int
Gets the number of rows added to the builder.
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
tableName → String
Gets the table name.
no setter

Methods

addColumn(String name, BulkColumnType colType, {bool nullable = false, int maxLen = 0}) → BulkInsertBuilder
Adds a column definition to the bulk insert.
addRow(List values) → BulkInsertBuilder
Adds a row of data to the bulk insert.
build({BulkPayloadVersion version = BulkPayloadVersion.v2}) → Uint8List
Builds the binary data buffer for bulk insert.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
table(String name) → BulkInsertBuilder
Sets the target table name for the bulk insert.
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited