Re: [firebird-support] FB3 alter domain colltion
>>I guess the reason is that user may have existing indexes on fields using the >>domain. Changing the collate would need to have the indexes rebuilt, >>otherwise they would be "corrupted". So, to avoid that, FB >>doesn't allow >>such changes. Yes, that can be the reason but i think something like this will be also not possible - if you change datatype of domain not only collation – i think. But this should be possible by introduce command like ALTER DOMAIN ALTER TYPE VARCHAR(150) COLLATION PXW_PLK REBUILD; <- here we add rebuild command. But i think about BLR – is colltion compiled into blr of procedures and triggers? If yes then also this objects should be rebuilded by “REBUILD” command. Now doing something like this makes you have a headache regards, Karol Bieniaszewski [Non-text portions of this message have been removed]
Re: [firebird-support] FB3 alter domain colltion
Re: Re: [firebird-support] FB3 alter domain colltion
>>It is not clear why you included a COLLATE clause in an ALTER DOMAIN >>statement. You can't change the COLLATE property of a domain, which >>is why you got the error: COLLATE is not expected in an ALTER DOMAIN >>statement. But you were not trying to change that, anyway. >>HB The question is why i can not do this? I need to change collation to perform order and UPPER without need to include COLLATE in it regards, Karol Bieniaszewski
Re: [firebird-support] FB3 alter domain colltion
Karol Bieniaszewski wrote: > when we create dommain we can do: > CREATE DOMAIN XXX TYPE VARCHAR(50) COLLATE PXW_PLK; > > but how to alter this domain to have still collation? > > ALTER DOMAIN XXX TYPE VARCHAR(150) COLLATE PXW_PLK; > > > Engine Code: 335544569 > Engine Message : > Dynamic SQL Error > SQL error code = -104 > Token unknown - line 1, column 38 > COLLATE > > is this possible or i should create ticket/or it already exists? It is not clear why you included a COLLATE clause in an ALTER DOMAIN statement. You can't change the COLLATE property of a domain, which is why you got the error: COLLATE is not expected in an ALTER DOMAIN statement. But you were not trying to change that, anyway. An ALTER DOMAIN statement does not drop the existing domain. It allows valid changes to properties that can be changed. All you needed here was: ALTER DOMAIN XXX TYPE VARCHAR(150) It is allowed, because (1) VARCHAR and VARCHAR are compatible and (2) the new size is longer than the old size. No other properties are affected. HB
RE: [firebird-support] FB3 alter domain colltion
Hi, we have 2.05, tough. So I am not sure for 3.x. Sorry. Well, if you install IBExpert or some similar tool, you would be able to see immediately. Best regards, Primoz From: firebird-support@yahoogroups.com [mailto:firebird-support@yahoogroups.com] Sent: Thursday, May 17, 2018 5:58 PM To: firebird-support@yahoogroups.com Subject: Re: [firebird-support] FB3 alter domain colltion Hi, >>There is no way to change the default collation without dropping the domain >>and recreating it with the desired attributes. >>Perhaps tool like IBExpert could do this – alter and set collation? Not sure. this was for FB2.5 where users could modify system tables but now in FB3 it is prohibited and i suppose it is fixed by some DDL statement? regards, Karol Bieniaszewski To elektronsko sporočilo in vse morebitne priloge predstavljajo poslovno skrivnost oziroma so zaupne in so namenjene izključno naslovniku. Kakršnokoli razkrivanje, distribucija ali kopiranje vsebine sporočila je izrecno prepovedano. Če ste sporočilo prejeli pomotoma, Vas prosimo, da o tem obvestite pošiljatelja, sporočilo pa takoj uničite.
Re: [firebird-support] FB3 alter domain colltion
Hi, >>There is no way to change the default collation without dropping the domain >>and recreating it with the desired attributes. >>Perhaps tool like IBExpert could do this – alter and set collation? Not sure. this was for FB2.5 where users could modify system tables but now in FB3 it is prohibited and i suppose it is fixed by some DDL statement? regards, Karol Bieniaszewski