You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We are pleased to announce the release of FlameRobin version 26.8.6! This release delivers fixes for non-selectable stored procedure (without SUSPEND) execution and output parameter retrieval, and resolves exclusive access handling when modifying database access modes (Read-Only / Read-Write).
Output Row Availability in Statement Backend: Updated FbCppStatement::execute() to mark output rows available (rowAvailableM = hasRow) on execution when output columns are present. Direct cell getters (isNull(), getString(), etc.) and DataGridTable::fetchOne() now reliably read actual field values returned in the output message buffer instead of evaluating to NULL.
Selectable vs. Executable SQL Generation: Enhanced RoutineHelper::getRoutineExecutionTemplate and ExecuteRoutineDialog to inspect stored procedure source code for SUSPEND. Procedures with SUSPEND generate SELECT ... FROM proc(...), while executable procedures without SUSPEND directly generate EXECUTE PROCEDURE proc(...), correctly retrieving and displaying singleton output parameters in data grids.
Automated Unit Tests: Added regression tests in execute_routine_dialog_test verifying selectable/executable procedure detection and statement singleton output row availability.
Exclusive Access Handling: In Firebird, switching database access mode (READ ONLY / READ WRITE) requires exclusive database access. When modifying isEditReadOnly, FlameRobin now releases active statement caches in MetadataLoader and temporarily detaches the physical connection (d->getDALDatabase()->disconnect()) without tearing down UI frames or metadata collections.
Safe Reconnect & Live Refresh: Reconnects the physical connection immediately following the service call and in error handlers, followed by an in-place d->loadInfo() refresh.
Descriptive Error Messaging: If exclusive access cannot be obtained due to other external client attachments, FlameRobin provides a clear, descriptive message indicating that all other active connections must be closed.
Automated Service Tests: Extended fbcpp_service_test to verify setReadOnly(true) and setReadOnly(false) operations and property verification.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
馃Ι FlameRobin 26.8.6 Release Notes
We are pleased to announce the release of FlameRobin version 26.8.6! This release delivers fixes for non-selectable stored procedure (without
SUSPEND) execution and output parameter retrieval, and resolves exclusive access handling when modifying database access modes (Read-Only / Read-Write).馃殌 Key Improvements & Bug Fixes
1. Non-Selectable Stored Procedure (Without
SUSPEND) Output Retrieval Fix (#692)FbCppStatement::execute()to mark output rows available (rowAvailableM = hasRow) on execution when output columns are present. Direct cell getters (isNull(),getString(), etc.) andDataGridTable::fetchOne()now reliably read actual field values returned in the output message buffer instead of evaluating toNULL.RoutineHelper::getRoutineExecutionTemplateandExecuteRoutineDialogto inspect stored procedure source code forSUSPEND. Procedures withSUSPENDgenerateSELECT ... FROM proc(...), while executable procedures withoutSUSPENDdirectly generateEXECUTE PROCEDURE proc(...), correctly retrieving and displaying singleton output parameters in data grids.execute_routine_dialog_testverifying selectable/executable procedure detection and statement singleton output row availability.2. Database Read-Only Property Modification Exclusive Access Fix (#686)
READ ONLY/READ WRITE) requires exclusive database access. When modifyingisEditReadOnly, FlameRobin now releases active statement caches inMetadataLoaderand temporarily detaches the physical connection (d->getDALDatabase()->disconnect()) without tearing down UI frames or metadata collections.d->loadInfo()refresh.fbcpp_service_testto verifysetReadOnly(true)andsetReadOnly(false)operations and property verification.馃摝 Version Information
26.8.6v26.8.6v0.0.6For bug reports, feature suggestions, or discussions, please join the FlameRobin community on GitHub Issues and GitHub Discussions.
All reactions