import { FExecutionContext } from "../execution_context/f_execution_context.js"; import { FDecimal } from "../primitive/f_decimal.js"; import { FSqlData } from "./f_sql_data.js"; export type FSqlStatementParam = null | boolean | string | number | FDecimal | Date | Uint8Array | ReadonlyArray | ReadonlyArray | ReadonlyArray | ReadonlyArray | ReadonlyArray; export interface FSqlResultRecord { get(name: string): FSqlData; get(index: number): FSqlData; } export interface FSqlStatement { /** * Execute query and ignore any output */ execute(executionContext: FExecutionContext, ...values: Array): Promise; executeQuery( executionContext: FExecutionContext, ...values: Array ): Promise>; executeQueryMultiSets( executionContext: FExecutionContext, ...values: Array ): Promise>>; executeScalar( executionContext: FExecutionContext, ...values: Array ): Promise; executeScalarOrNull( executionContext: FExecutionContext, ...values: Array ): Promise; /** * Execute query with expectation of single line result */ executeSingle( executionContext: FExecutionContext, ...values: Array ): Promise; /** * Execute query with expectation of single line result or no any record */ executeSingleOrNull( executionContext: FExecutionContext, ...values: Array ): Promise; }