Expand description
Instruções preparadas (statements): alocar, preparar, executar e buscar linhas.
Ciclo de vida (espelha isc_dsql_* / fbclient):
Connection::prepareenviaop_allocate_statement, lê o handle do servidor, depoisop_prepare_statemente faz o parsing da resposta de info de descrição (describe-info) em metadados de parâmetros de entrada e colunas de saída.Statement::executeenviaop_execute(com uma mensagem de entrada quando a instrução tem parâmetros). Para umSELECTisto abre um cursor.Statement::fetchpuxa uma linha por vez viaop_fetch/op_fetch_responseaté o cursor se esgotar.Statement::close/Statement::drop_statementliberam o estado no servidor.
Assim como Transaction, um Statement é
um handle cujos métodos de I/O emprestam a Connection dona, então apenas
um empréstimo mutável fica ativo por vez.
Structs§
- RowStream
- Stream síncrono sobre as linhas de um cursor aberto, criado por
Statement::rows. Entrega uma linha por vez viaSelf::try_next, buscando lotes do servidor sob demanda — não materializa o resultado inteiro. - Rows
Affected - Número de linhas que a última execução afetou, separado por tipo de operação.
Retornado por
Statement::rows_affected. - Statement
- Uma instrução preparada vinculada ao handle de banco de dados de uma
Connection.