Hi, I have an issue with FireDac and Firebird DB, I spent some time tracking this issue down and found that if my select query returned greater or equal to the rowset size (default 50 in the firedac fetch options) (eg. select first 51) then a transaction would remain Active / uncommited, however if I select lower that the rowset size (eg. select first 49) the transaction will commit. We discovered while testing that we lost a large amount of data entry due to a crash (a separate issue), as it seems transactions were queued until the first transaction was committed or rolled back, no other transactions would be committed. Right now I have defaulted the fetch options - mode to fmAll, this gets all records and the select transaction commits this way. I know that will impact on performance but at least we get insert and updates committing as they happen now.
Anyone come across this? I can't see the logic in this and wonder if its a bug.