error due to computed field use reported at compilation of a query - s.b. at 
runtime
------------------------------------------------------------------------------------

                 Key: CORE-5499
                 URL: http://tracker.firebirdsql.org/browse/CORE-5499
             Project: Firebird Core
          Issue Type: Improvement
          Components: Engine
    Affects Versions: 2.5.7
         Environment: When compiling using C and preparing a query,
            Reporter: Ray Holme
            Priority: Minor


If the underlying table has a trigger updating (erroneously) a computed field ( 
== alternate name for another field), the reported error from my C code is

ISC error code: 335544359
SQLCODE: -151 doing prepare query from typedef
        - This column cannot be updated because it is derived from an SQL 
function or expression.

While this is true, it would have been much more helpful to report the error at 
runtime for the query when it tried to do the update.

This is a new feature to 2.5.7 as the error is NOT caught by 2.5.2.

I like the engine catching it  but the message is VERY confusing - it took many 
hours to find out what was really happening.

Either a better message should be given (it is a TABLE-COLUMN problem even 
though the offending  column is NOT in the query).
   or
Catch the problem later at runtime.

--- The query was
insert into visit_animals (visit_id, animal_id) values (?, ?)

--- the error was a logging trigger in visit_animals that
    update visits set synch_time = 'NOW' where visit_id = new.visit_id

--- and the field synch time is in visits but 
       computed by datetime.

--- Fixing the trigger to use datetime -  removed the error (mine).


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://tracker.firebirdsql.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

------------------------------------------------------------------------------
Announcing the Oxford Dictionaries API! The API offers world-renowned
dictionary content that is easy and intuitive to access. Sign up for an
account today to start using our lexical data to power your apps and
projects. Get started today and enter our developer competition.
http://sdm.link/oxford
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to