---------- Original Message -----------
From: "Vlad Khorsun" <hv...@users.sourceforge.net>
> a) using script from CORE-4212 and FB 2.1.2, created database with 
> wrong FK. b) add some data into permanent table "at_namespace" c)
>  backup this database d) restore using FB 2.1.2 - OK e) restore using 
> FB 2.5.2 - OK f) restore using fresh FB 2.5.3 (with bug fixed) - OK
> 
> is it enough ?
> 
>     I understand your worries, so if you can create example how to 
> break database because of this bug - welcome to the tracker and i'll 
> fix it at first priority.
>     You can kill me but i don't understand how do you make such 
> conclusion (that GTT is allowed to reference permanent table) ? How ? 
> Where do you got this idea ?
------- End of Original Message -------

Thanks so much for investigating!

I'm glad it won't result in a physically broken database; for people relying on 
the behavior today, can a non-fatal warning (firebird log file?) be put in 
place 
about the FK being ignored (when not restoring) or dropped (during restore)? It 
may not be obvious to them immediately after upgrade that their data's no 
longer 
constrained, and the logical corruption could be really painful...

I agree that the docs don't say it's allowed. I can only guess as to how I 
might 
have gotten the wrong idea, back when I first read the release notes: the 
sentence 
"references between persistent and temporary tables are forbidden" could be 
interpreted to be uni-directional, as we often casually express FK's as 
"between A 
and B", following the arrow [if using pointer notation.] (FK ~= referential 
constraint ~= reference ~= pointer.) So it would, in that mindset, forbid 
persistent->temporary (obviously necessary), but not temporary->persistent 
(less 
clearly necessary.) It's only a guess, though. Memory's not reliable.

-Philip

------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. Consolidate legacy IT systems to a single system of record for IT
2. Standardize and globalize service processes across IT
3. Implement zero-touch automation to replace manual, redundant tasks
http://pubads.g.doubleclick.net/gampad/clk?id=51271111&iu=/4140/ostg.clktrk
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to