Subject | Re: [Firebird-Architect] Metadata locking policy and caching |
---|---|
Author | Alex Peshkov |
Post date | 2008-08-06T16:42:32Z |
On Wednesday 06 August 2008 19:23, Adriano dos Santos Fernandes wrote:
What about fixing cache state at the end of DDL transaction? And creating
version not according to number of DDL transaction, but according to current
transaction ID when DDL is complete? I agree that it is not like VIO works,
but at least looks like predictable behaviour. If we accept this, looks like
I know an easy way to make new data available to DDL transaction itself. But
this for sure makes mentioned before 'data postfixing' problem even worse.
Therefore it's specially interesting to have them for as small period as
possible.
> Versioned metadata may (who knows, before investigation of how this allYes, but this locks can be held for smaller (much smaller!) timeframe.
> will work with relations, check constraints, computed expressions, etc?)
> but don't solve metadata integrity checks. When you're compiling a
> object that uses old version of dependencies, fresh dependencies may not
> be compatible (number of procedure parameters, for example) anymore. I
> see no good way to solve it without locks.
What about fixing cache state at the end of DDL transaction? And creating
version not according to number of DDL transaction, but according to current
transaction ID when DDL is complete? I agree that it is not like VIO works,
but at least looks like predictable behaviour. If we accept this, looks like
I know an easy way to make new data available to DDL transaction itself. But
this for sure makes mentioned before 'data postfixing' problem even worse.
> I want to say that locks may be done on columnsAgreed. And same for procedure parameters, I think.
> too. But may create a lot of lock objects.
Therefore it's specially interesting to have them for as small period as
possible.
> Current behavior doesn't have too muchCurrent logic is really too "smart" :)
> logic. :-)