Nobody? -- Mgr. Jiří Činčura Independent IT Specialist
On Wed, Sep 16, 2015, at 12:28, Jiří Činčura wrote: > Hi *, > > there's currently no way of altering collation of field in 2.5.4, right? > I checked all the possible documentation on firebirdsql.org and haven't > found a way. So only system table modification seems to be an option. > > Let's have these two tables: > create table parent ( > id bigint not null, > code varchar(512) character set utf8 not null collate utf8 > ); > create table foobar ( > id bigint not null, > id_master bigint not null, > code computed by ((select code from parent where id = id_master)) > ); > > Now the collation ids for both CODE column are 0, as expected: > select rdb$collation_id > from rdb$relation_fields > where rdb$field_name = 'CODE' and rdb$relation_name = 'PARENT'; > select rdb$collation_id > from rdb$relation_fields > where rdb$field_name = 'CODE' and rdb$relation_name = 'FOOBAR'; > > Now I'll change the collation of PARENT.CODE: > update rdb$relation_fields > set rdb$collation_id = 3 > where rdb$field_name = 'CODE' and rdb$relation_name = 'PARENT'; > > And "recreate" the FOOBAR.CODE (I'm using alter to avoid hitting > dependencies): > alter table foobar alter code computed by ((select code from parent > where id = id_master)); > > Now the collation id for PARENT.CODE is 3, as expected. But FOOBAR.CODE > is still 0. It doesn't even help if I "recreate" from and to: > alter table foobar alter code computed by ((select code from parent > where id = id_master + 1)); > alter table foobar alter code computed by ((select code from parent > where id = id_master)); > > I know this is quite dirty. But I need to be able to change collation on > a field and - lucky me - the field is used in another (computed) field. > Is there a way to force system tables to "sync"? Or other way to change > collation? > > -- > Mgr. Jiří Činčura > Independent IT Specialist > > ------------------------------------------------------------------------------ > Monitor Your Dynamic Infrastructure at Any Scale With Datadog! > Get real-time metrics from all of your servers, apps and tools > in one place. > SourceForge users - Click here to start your Free Trial of Datadog now! > http://pubads.g.doubleclick.net/gampad/clk?id=241902991&iu=/4140 > Firebird-Devel mailing list, web interface at > https://lists.sourceforge.net/lists/listinfo/firebird-devel ------------------------------------------------------------------------------ Monitor Your Dynamic Infrastructure at Any Scale With Datadog! Get real-time metrics from all of your servers, apps and tools in one place. SourceForge users - Click here to start your Free Trial of Datadog now! http://pubads.g.doubleclick.net/gampad/clk?id=241902991&iu=/4140 Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel