New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bug in ESQL applications [CORE5318] #5594
Comments
Commented by: @AlexPeshkoff Works for me (on fresh gentoo): localhost bin # cd /opt/firebird/examples/stat DEPARTMENT LOCATION HEAD DEPARTMENT Marketing San Francisco Sales and Marketing |
Commented by: Ehmmm (ehmmm.firebird) Well, I tried some almost fresh debian jessie (v.8) and squeeze (v.6) virtual machines and examples stat3 and stat5 don't work in FB2.5.6. And if I downgrade to FB2.5.5 then they work. Do you have any ideas? |
Modified by: @AlexPeshkoffassignee: Alexander Peshkov [ alexpeshkoff ] |
Commented by: @AlexPeshkoff Reproduced |
Modified by: @AlexPeshkoffsummary: from FB 2.5.2 to 2.5.6 and C application => Bug in ESQL applications |
Commented by: @AlexPeshkoff Backported simplified fix for same problem from FB3 |
Modified by: @AlexPeshkoffstatus: Open [ 1 ] => Resolved [ 5 ] resolution: Fixed [ 1 ] Fix Version: 2.5.7 [ 10770 ] |
Submitted by: Ehmmm (ehmmm.firebird)
Copied (and bit edited) from https://groups.yahoo.com/neo/groups/firebird-support/conversations/messages/129467 (archive)
Hi,
we have server with Debian 6.0 squeeze (edit: it is 7.1 wheezy, but I think that on squeeze I could see it too) and there we have Firebird 2.5.2 (superclassic) which sometimes hangs and I don't know why.
So my idea was to install there FB 2.5.6.
I downloaded FB 2.5.6 superclassic i686 (debian is amd64 but previous firebird seems to be i686 so I decided to continue using i686) tar.gz, extracted it and executed install.sh.
I think I was quite successful. I didn't make backups of *.fdb files, I only copied older security2.fdb into /opt/firebird and copied some init script from /opet/firebird/misc into /etc/init.d
My PHP webapges work well, my Python apps work well, FlameRobin works well.
The only problem I have with some old C programs running on the same server, precompiled via GPRE utility.
These C apps fail for example on then line (just example) EXEC SQL FETCH cur_al...:
int i, id, status;
EXEC SQL CONNECT DB USER '...' PASSWORD '...';
EXEC SQL SET TRANSACTION READ WRITE WAIT ISOLATION LEVEL READ COMMITTED;
EXEC SQL DECLARE cur_al CURSOR FOR SELECT id_blabla, status FROM blabla;
EXEC SQL OPEN cur_al;
while(SQLCODE == 0) {
EXEC SQL FETCH cur_al INTO :id, :status;
if (SQLCODE == 0) { ... }
}
EXEC SQL CLOSE cur_al;
...
It throws error -901 and messages "Unsuccessful execution caused by system error that does not preclude successful execution of subsequent statements" and "request synchronization error".
I'm not author of these C apps and I'm not very skilled in C on linux, I only found some Makefile so I tried run "make". But it didn't help.
What should I try? Should I look somewhere for some libraries?
The most interesting for me is that when I download and install FB 2.5.5 or 2.5.4 (I must admit that upgrading/downgrading firebird inside 2.5.x is quite easy) then these C apps seems to work correctly. (?) Is there any explanation for this?
-----
Copied from: https://groups.yahoo.com/neo/groups/firebird-support/conversations/messages/129471 (archive)
Adding some notes:
Examples stat3.e and stat5.e from /opt/firebird/examples/stat/ don't work, while stat2.e works.
I'm getting the same -901 "request synchronization error".
Steps to reproduce:
Extract somewhere FirebirdCS-2.5.6.27020-0.i686.tar.gz
"su" to be root.
Run install.sh, creates backup, ask for password.
Replace /opt/firebird/security2.fdb with symlink to reallife security2.fdb.
Get /etc/init.d/firebird from somewhere.
service firebird start
cd /opt/firebird/examples/stat
cp ../include/example.h .
/opt/firebird/bin/gpre -d employee.fdb stat2.e
export ISC_USER=sysdba
export ISC_PASSWORD=...
export ISC_DATABASE=employee.fdb
cc -lfbclient stat2.c -o stat2
./stat2
(Same for stat3.e and stat5.e)
Like I said, in FB 2.5.6 stat3 and stat5 throw error.
If I do the same with FB 2.5.5 then these examples work.
Commits: bdfab9c
The text was updated successfully, but these errors were encountered: