oraffi 1.0.0
oraffi: ^1.0.0 copied to clipboard
High-performance Oracle Database driver for Dart using FFI. Direct Oracle access via ODPI-C with connection pooling, transactions, stored procedures, REF CURSOR, LOBs, and batch operations.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.0.0 - 2025-12-26 #
Added #
-
Initial stable release
-
Connection Management
- Direct connections with
OracleConfig.create() - Environment-based configuration with
OracleConfig.fromEnvironment() - Connection pooling with configurable min/max connections
- Connection health checks with
ping()
- Direct connections with
-
Query Execution
- Parameterized queries with positional (
?,:1) and named (:name) parameters - Streaming results with
rows()for memory-efficient large result sets - Batch operations with
executemany()for high-performance bulk inserts - Prefetch configuration for query optimization
- Parameterized queries with positional (
-
Transaction Support
- Manual commit/rollback control
- Autocommit mode
- Transaction isolation levels (READ COMMITTED, SERIALIZABLE, READ ONLY)
-
Stored Procedures
- Call procedures with
callproc() - IN, OUT, and INOUT parameter support
- REF CURSOR support for returning result sets
- Call procedures with
-
LOB Support
- CLOB, BLOB, NCLOB read/write operations
- Buffered LOB operations for performance
setFromBytes()for efficient bulk writes
-
Data Types
- Full support for VARCHAR2, NUMBER, DATE, TIMESTAMP
- INTERVAL DAY TO SECOND and INTERVAL YEAR TO MONTH
- ROWID retrieval and usage
- UTF-8 international character support
-
Error Handling
- Comprehensive exception hierarchy
OracleStatementExceptionwith SQL contextOracleConnectionExceptionwith connection details- Oracle error codes preserved
-
Developer Experience
- 13 complete example files
- 104 tests (59 unit + 45 integration)
- Comprehensive README documentation
Dependencies #
- Requires Oracle Instant Client (free download from Oracle)
- Dart SDK ^3.7.0