Re: [Firebird-devel] Meaning of RDB$RELATION_FIELDS.RDB$UPDATE_FLAG
20.07.2021 14:50, Mark Rotteveel пишет: According to the Firebird Language Reference[1], the RDB$RELATION_FIELDS.RDB$UPDATE_FLAG signals whether a column is a computed column (0) or a regular column (1) (or I guess, updatable (1) vs not-updatable (0)). Updatable vs non-updatable is correct. In practice, this doesn't seem to be the case (see This should be a bug. Maybe an old one, with wrong RDB$UPDATE_FLAG being then preserved through backup-restore. https://stackoverflow.com/questions/68451712/finding-computed-fields-in-firebird-2-5 and https://github.com/FirebirdSQL/firebird-documentation/issues/157). Helen's Firebird Book lists this column as 'not used by Firebird'. So, is this column truly not used by Firebird? It's set as explained above by Firebird, but the engine does not use this information. It's intended for users. Dmitry Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
[Firebird-devel] Meaning of RDB$RELATION_FIELDS.RDB$UPDATE_FLAG
According to the Firebird Language Reference[1], the RDB$RELATION_FIELDS.RDB$UPDATE_FLAG signals whether a column is a computed column (0) or a regular column (1) (or I guess, updatable (1) vs not-updatable (0)). In practice, this doesn't seem to be the case (see https://stackoverflow.com/questions/68451712/finding-computed-fields-in-firebird-2-5 and https://github.com/FirebirdSQL/firebird-documentation/issues/157). Helen's Firebird Book lists this column as 'not used by Firebird'. So, is this column truly not used by Firebird? Mark [1]: https://www.firebirdsql.org/file/documentation/html/en/refdocs/fblangref25/firebird-25-language-reference.html#fblangref-appx04-relfields Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
[Firebird-devel] Meaning of RDB$RELATION_FIELDS.RDB$UPDATE_FLAG
I am currently going over the JDBC metadata returned by Jaybird, and I was looking for a way to see if a column is COMPUTER BY / GENERATED ALWAYS AS. I found that I should probably look at RDB$FIELDS.RDB$COMPUTED_BLR or RDB$COMPUTED_SOURCE for this, but I noticed that RDB$RELATION_FIELDS.RDB$UPDATE_FLAG is 0 for a computed column, while it is 1 for 'normal' fields. What is the exact meaning of this field? Is it only 0 for computed columns, or also in other cases (eg views)? Both the Interbase 6 as Helen's book mention it is not used, but apparently it is used (or at least: being set). Mark -- Mark Rotteveel -- Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] Meaning of RDB$RELATION_FIELDS.RDB$UPDATE_FLAG
Mark, I am currently going over the JDBC metadata returned by Jaybird, and I was looking for a way to see if a column is COMPUTER BY / GENERATED ALWAYS AS. I found that I should probably look at RDB$FIELDS.RDB$COMPUTED_BLR or RDB$COMPUTED_SOURCE for this, but I noticed that RDB$RELATION_FIELDS.RDB$UPDATE_FLAG is 0 for a computed column, while it is 1 for 'normal' fields. The definitive sign of a computed field is RDB$COMPUTED_BLR in either RDB$FIELDS or RDB$DOMAINS if the field is defined through a domain. The computed source is kept for the convenience of utilities that recreate the DDL, but can be deleted without changing the semantics of the field. I wouldn't rely on the update flag which could be used in the future for other types of fields that can't be modified. Best regards, Ann -- Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] Meaning of RDB$RELATION_FIELDS.RDB$UPDATE_FLAG
On 3-1-2012 22:25, Mark Rotteveel wrote: What is the exact meaning of this field? Is it only 0 for computed columns, or also in other cases (eg views)? Both the Interbase 6 as Helen's book mention it is not used, but apparently it is used (or at least: being set). Ok, I already answered part of my question: it is also set to 0 for views and some columns on some system tables. Mark -- Mark Rotteveel -- Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] Meaning of RDB$RELATION_FIELDS.RDB$UPDATE_FLAG
On Tue, Jan 3, 2012 at 4:56 PM, Mark Rotteveel m...@lawinegevaar.nl wrote: The definitive sign of a computed field is RDB$COMPUTED_BLR in either RDB$FIELDS or RDB$DOMAINS if the field is defined through a domain There is no RDB$DOMAINS ... Too many databases... indeed, it's RDB$FIELDS not system.domains. Cheers, Ann -- Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel