Direct system table modifications are not completely prohibited ---------------------------------------------------------------
Key: CORE-5567 URL: http://tracker.firebirdsql.org/browse/CORE-5567 Project: Firebird Core Issue Type: Bug Components: Engine Affects Versions: 3.0.2, 3.0.1, 3.0.0, 4.0 Initial Reporter: Dmitry Yemanov SQL> create database '/work/data/systab.fdb'; SQL> create domain my_type numeric(18, 2); SQL> commit; SQL> show domain MY_TYPE; MY_TYPE NUMERIC(18, 2) Nullable SQL> update rdb$fields set rdb$field_scale = -3 where rdb$field_name = 'MY_TYPE'; Statement failed, SQLSTATE = 42000 UPDATE operation is not allowed for system table RDB$FIELDS -- THIS IS EXPECTED SQL> rollback; SQL> show domain MY_TYPE; MY_TYPE NUMERIC(18, 2) Nullable SQL> set term ^; SQL> execute block as CON> begin CON> update rdb$fields set rdb$field_scale = -3 where rdb$field_name = 'MY_TYPE'; CON> end^ Statement failed, SQLSTATE = 42000 UPDATE operation is not allowed for system table RDB$FIELDS -At block line: 3, col: 1 -- ALSO EXPECTED SQL> set term ;^ SQL> rollback; SQL> show domain MY_TYPE; MY_TYPE NUMERIC(18, 2) Nullable SQL> set term ^; SQL> execute block as CON> declare procedure hack as CON> begin CON> update rdb$fields set rdb$field_scale = -3 where rdb$field_name = 'MY_TYPE'; CON> end CON> begin CON> execute procedure hack; CON> end^ SQL> set term ;^ SQL> commit; SQL> show domain MY_TYPE; MY_TYPE NUMERIC(18, 3) Nullable -- WTF??? -- 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 ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel