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
Firebird 2.0.0 (and Firebird 1.x, too) do return isc_net_write_err which is used by database components like IBX and FIBPlus to raise an exception. This exception is then used to tell the user "I/O error for file ?...". Error while trying to write to file".
I don't know if a readonly database file works (even if the user wants a readonly access) - since no transaction information can be written into the database file.
Nevertheless, as a developer I need a way to recognize that a database file is readonly. Until Firebird 2.0.1 I got this information via the mentioned error code returned by the client library. Since Firebird 2.0.1, this information isn't provided anymore by the client library. In my opinion, the handling up to Firebird 2.0.0 was "more useful".
If it's rather a "new feature" than a bug, why was it changed in 2.0.1? What can I do to recognize a readonly database file (without opening)?
It appears that you're talking about read-only file (at the filesystem level) while Vlad is talking about read-only database (at the Firebird on-disk structure level). If so, it seems I can confirm the issue.
With v2.0.0 and IBExpert, I see an error dialog box:
"no permission for read-write access to database <path>".
With v2.0.1, the attachment succeeds but immediately after that I get:
"Unsuccessful execution caused by a system error that precludes successful execution of subsequent statements. I/O error for file <path>. Error while trying to write to file. Access is denied."
This isn't a crash, but the behavior is definitely different.