Subject | Stored procedure with blobs and FB1.5 |
---|---|
Author | Josef Kokeš |
Post date | 2011-09-09T08:16:19Z |
Hi!
I have just encountered a strange problem with Firebird 1.5:
SET TERM /;
CREATE TABLE test_table (
something BLOB
)
/
CREATE PROCEDURE test_write (
input_value BLOB
) AS
BEGIN
INSERT INTO test_table VALUES (:input_value);
END
/
EXECUTE PROCEDURE test_write('1')
/
EXECUTE PROCEDURE test_write('2')
/
EXECUTE PROCEDURE test_write('3')
/
EXECUTE PROCEDURE test_write('4')
/
EXECUTE PROCEDURE test_write('5')
/
DROP PROCEDURE test_write
/
DROP TABLE test_table
/
For some reason, the "EXECUTE PROCEDURE test_write" statements fail
("internal error", "Statement failed SQLCODE = -902") on Firebird 1.5.5
but work OK under 2.1 (and presumably 2.0).
The same thing happens if I declare the input parameter of test_write as
VARCHAR and convert it to a BLOB before INSERT.
Now I know FB 1.5 is discontinued (and 1.5.5 is not even the latest
version of that branch) so if it is a bug, it won't be fixed, but as a
great number of my users still have this version, I wonder if I could
change the statements somehow to make them work for them. I can use a
custom UDF for that, if necessary, but I can't update the Firebird itself.
Thanks,
Pepak
I have just encountered a strange problem with Firebird 1.5:
SET TERM /;
CREATE TABLE test_table (
something BLOB
)
/
CREATE PROCEDURE test_write (
input_value BLOB
) AS
BEGIN
INSERT INTO test_table VALUES (:input_value);
END
/
EXECUTE PROCEDURE test_write('1')
/
EXECUTE PROCEDURE test_write('2')
/
EXECUTE PROCEDURE test_write('3')
/
EXECUTE PROCEDURE test_write('4')
/
EXECUTE PROCEDURE test_write('5')
/
DROP PROCEDURE test_write
/
DROP TABLE test_table
/
For some reason, the "EXECUTE PROCEDURE test_write" statements fail
("internal error", "Statement failed SQLCODE = -902") on Firebird 1.5.5
but work OK under 2.1 (and presumably 2.0).
The same thing happens if I declare the input parameter of test_write as
VARCHAR and convert it to a BLOB before INSERT.
Now I know FB 1.5 is discontinued (and 1.5.5 is not even the latest
version of that branch) so if it is a bug, it won't be fixed, but as a
great number of my users still have this version, I wonder if I could
change the statements somehow to make them work for them. I can use a
custom UDF for that, if necessary, but I can't update the Firebird itself.
Thanks,
Pepak