Subject RE: [IB-Architect] Character set and system tables
Author Claudio Valderrama C.
Thanks, Bill, I was on one of these days that I didn't want to stretch my
neurones. I extracted some interesting information. These are the 18 system
fields that use charset NONE:

rdb$exceptions.rdb$message
rdb$fields.rdb$edit_string
rdb$files.rdb$file_name
rdb$filters.rdb$entry_point
rdb$filters.rdb$module_name
rdb$functions.rdb$entry_point
rdb$functions.rdb$module_name
rdb$log_files.rdb$file_name
rdb$ref_constraints.rdb$delete_rule
rdb$ref_constraints.rdb$match_option
rdb$ref_constraints.rdb$update_rule
rdb$relations.rdb$external_file
rdb$relation_constraints.rdb$constraint_type
rdb$relation_constraints.rdb$deferrable
rdb$relation_constraints.rdb$initially_deferred
rdb$relation_fields.rdb$edit_string
rdb$trigger_messages.rdb$message
rdb$user_privileges.rdb$privilege

I can understand some of them being NONE, like ref_constraints.* and
relation_constraints.* and trigger_message.rdb$message. The latest seem to
keep constants that index a table of messages, maybe the interbase.msg file?

I got the same number of system fields using charset NONE if I create a db
without any predefined charset.

Speaking of system tables, can anyone explain what's the idea behind
rdb$relation_constraints.rdb$deferrable
and
rdb$relation_constraints.rdb$initially_deferred
please?

C.
---------
Claudio Valderrama C.
Ingeniero en Informática - Consultor independiente
http://members.tripod.com/cvalde


> -----Original Message-----
> From: Bill Karwin [mailto:bill@...]
> Sent: Domingo 16 de Abril de 2000 16:31
> To: IB-Architect@egroups.com
> Subject: Re: [IB-Architect] Character set and system tables
>
>
> "Claudio Valderrama C." wrote:
> > Excuse my doubt, but let's assume I create a db with a specific
> character
> > set, so all the char fields by default will pick that charset. Does this
> > affect system tables?
>
> Let's try:
>
> CREATE DATABASE 'foo.gdb' DEFAULT CHARACTER SET iso8859_1;
>
> SELECT R.RDB$RELATION_NAME, RF.RDB$FIELD_NAME, F.RDB$FIELD_NAME,
> C.RDB$CHARACTER_SET_NAME
> FROM RDB$RELATIONS R, RDB$RELATION_FIELDS RF, RDB$FIELDS F,
> RDB$CHARACTER_SETS C
> WHERE
> R.RDB$RELATION_NAME = RF.RDB$RELATION_NAME
> AND RF.RDB$FIELD_SOURCE = F.RDB$FIELD_NAME
> AND F.RDB$CHARACTER_SET_ID = C.RDB$CHARACTER_SET_ID
> ORDER BY 1, 2;
>
> In IB 4.0 and 6.0 Classic server for Linux, many of these results are
> character set "NONE", and many of them are "UNICODE_FSS", regardless of
> the default character set specified.
>
> Bill