Subject | Implementation limited exceeded - peculiarity |
---|---|
Author | Geoff Worboys |
Post date | 2002-05-03T10:12:43Z |
Hi,
I only recently upgraded to Firebird v1 - previously been using
v1RC2). As a result I am finally discovering the problem:
Implementation limited exceeded
I thought others seeing this problem may be interested in the
following...
One of my major databases would not operate at all after upgrading
the server to Firebird v1.0. To begin with all I did was upgrade
the server and try to access the same database file as used with
the previous version (same ODS so I thought it should be OK). As
a result opening almost every table would give me the error.
Almost every table had change log triggers that concatenated strings
(and used by own large string UDF functions to store the result into
a blob). However in all but one instance the there was no real
problem in terms of exceeding the 32k limit.
The one instance of the problem was discovered by trying to run the
original script in sections - committing each time to see if the
problem was reported.
After I rebuilt the database using the original script (fixing the
one problem in one trigger) I can now access all tables without
error. It seems that a database needs to be rebuilt under the new
Firebird version in order to make this new check for concatenation
limits work accurately.
I dont know if gbak backup and restore would have the same "fix"
effect on the problem or not (does it recompile triggers and
procedures etc?). This is one of those databases that gbak (used
to) have problems with - I have yet to experiment using FB1.
PS: I know its probably good practise to do backup/restore between
any server version updates - and I probably would for a production
installation, but I was just testing. I thought it may be worth
posting the results to the list in case anyone else is getting the
error and have not yet rebuilt the database file.
--
Geoff Worboys
Telesis Computing
I only recently upgraded to Firebird v1 - previously been using
v1RC2). As a result I am finally discovering the problem:
Implementation limited exceeded
I thought others seeing this problem may be interested in the
following...
One of my major databases would not operate at all after upgrading
the server to Firebird v1.0. To begin with all I did was upgrade
the server and try to access the same database file as used with
the previous version (same ODS so I thought it should be OK). As
a result opening almost every table would give me the error.
Almost every table had change log triggers that concatenated strings
(and used by own large string UDF functions to store the result into
a blob). However in all but one instance the there was no real
problem in terms of exceeding the 32k limit.
The one instance of the problem was discovered by trying to run the
original script in sections - committing each time to see if the
problem was reported.
After I rebuilt the database using the original script (fixing the
one problem in one trigger) I can now access all tables without
error. It seems that a database needs to be rebuilt under the new
Firebird version in order to make this new check for concatenation
limits work accurately.
I dont know if gbak backup and restore would have the same "fix"
effect on the problem or not (does it recompile triggers and
procedures etc?). This is one of those databases that gbak (used
to) have problems with - I have yet to experiment using FB1.
PS: I know its probably good practise to do backup/restore between
any server version updates - and I probably would for a production
installation, but I was just testing. I thought it may be worth
posting the results to the list in case anyone else is getting the
error and have not yet rebuilt the database file.
--
Geoff Worboys
Telesis Computing