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
The gbak command supports I/O to and from standard input and standard output via the magic literal words "stdin" and "stdout" on the command line, and as this is an uncommon mechanism in the UNIX world. some clarity would help those who mistakenly interchange them with the more common mechanisms, /dev/stdin and /dev/stdout. Though performing redirection with the /dev-based names to a file works fine, it does NOT work properly for a pipe.
This scenario on a Linux system with 2.0.6 (credentials omitted for clarity)
fails with "gbak: ERROR:expected backup description record" error from the restore process as it tries to seek on the input. Pipes don't allow seek, and it's just obvious that we should be doing it as
instead; I had to dig into the code to discover that it's literal strings that route the code through a different path that appear to avoid seeks.
I believe the documentation ought to be a bit more clear on this, with an explicit caveat "/dev/stdin is not the same as the word stdin"; this would have saved us a lot of time. My impression would be that adding a note to the page http://www.firebirdsql.org/manual/gbak-caveats.html would be a great place for this.
The text was updated successfully, but these errors were encountered:
Submitted by: Steve Friedl (sjfriedl)
The gbak command supports I/O to and from standard input and standard output via the magic literal words "stdin" and "stdout" on the command line, and as this is an uncommon mechanism in the UNIX world. some clarity would help those who mistakenly interchange them with the more common mechanisms, /dev/stdin and /dev/stdout. Though performing redirection with the /dev-based names to a file works fine, it does NOT work properly for a pipe.
This scenario on a Linux system with 2.0.6 (credentials omitted for clarity)
fails with "gbak: ERROR:expected backup description record" error from the restore process as it tries to seek on the input. Pipes don't allow seek, and it's just obvious that we should be doing it as
instead; I had to dig into the code to discover that it's literal strings that route the code through a different path that appear to avoid seeks.
I believe the documentation ought to be a bit more clear on this, with an explicit caveat "/dev/stdin is not the same as the word stdin"; this would have saved us a lot of time. My impression would be that adding a note to the page http://www.firebirdsql.org/manual/gbak-caveats.html would be a great place for this.
The text was updated successfully, but these errors were encountered: