pub struct BatchOptions {
pub multierror: bool,
pub record_counts: bool,
pub buffer_bytes: Option<u32>,
}Expand description
Opções de criação de um Batch (clumplets do op_batch_create).
Fields§
§multierror: boolSe true, o servidor CONTINUA após uma linha falhar, executando as demais e
reportando o erro de cada uma em BatchResult::errors. Para isso ele
bracketa cada linha num savepoint interno — o que tem custo por linha.
Se false (padrão), o lote PARA na primeira linha que falha (fail-fast):
é bem mais rápido (sem savepoint por linha) e é o que se quer quando a
transação é “tudo ou nada” e qualquer erro aborta a operação inteira.
record_counts: boolSe true (padrão), o servidor reporta a contagem de linhas afetadas por
mensagem em BatchResult::update_counts (e portanto BatchResult::total_affected).
buffer_bytes: Option<u32>Tamanho máximo (em bytes) do buffer de batch que o servidor aloca
(TAG_BUFFER_BYTES_SIZE). None (padrão) deixa o servidor usar o seu
default. Aumentar permite acumular mais mensagens/blobs por execute sem
estourar o buffer (o estouro aparece como “invalid BLOB ID”); o servidor
impõe um teto próprio (256 MiB no Firebird).
Implementations§
Source§impl BatchOptions
impl BatchOptions
Sourcepub fn multierror(self, on: bool) -> Self
pub fn multierror(self, on: bool) -> Self
Liga/desliga o modo multierro (continuar após erros por linha).
Sourcepub fn record_counts(self, on: bool) -> Self
pub fn record_counts(self, on: bool) -> Self
Liga/desliga o reporte de contagens de linhas afetadas por mensagem.
Sourcepub fn buffer_bytes(self, bytes: u32) -> Self
pub fn buffer_bytes(self, bytes: u32) -> Self
Define o tamanho do buffer de batch do servidor (TAG_BUFFER_BYTES_SIZE),
em bytes. Use para acomodar lotes maiores (mais mensagens/blobs por
execute) sem estourar o buffer. O servidor impõe um teto (256 MiB no
Firebird); valores acima são limitados por ele.
Trait Implementations§
Source§impl Clone for BatchOptions
impl Clone for BatchOptions
Source§fn clone(&self) -> BatchOptions
fn clone(&self) -> BatchOptions
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more