Database Reference
In-Depth Information
Thus, differently from M R ,in M RC , the current instance-database in Out DB (st (k))
is always a previously committed (thus, consistent ) database.
Based on this more complex management of the concurrent transactions, the se-
mantics for some operations of M RC are modified w.r.t. their semantics for M R ,as
follows:
Definition 44 A concurrent-categorial RDB machine M RC is a categorial RDB
machine M R with the following specific features:
1. - x 5 is the memory register used to save the number of the current transaction
ID T , whose continuation of execution is requested to M RC by a CALL n .
2. VCON is the function which assigns 0 to x 2 if the database in current state st (k) ,
obtained from Out DB (st (k)) by replacing its relations with locally updated rela-
tions in the partition with the transaction number in x 5 , is consistent; 1 otherwise.
3. COM is the function which assigns 1 to x 3 and eliminates all local relation from
the partition determined by transaction number in x 5 . Hence, each RA arrow
in the local list of this partition is executed in a given ordering by using the
relations in the current database in Out DB (st (k)) and by modifying it with the
obtained resulting relations. At the end of this process, we obtain a new state
st (m) such that Out DB (st (k)) is the new consistent database instance resulting
from this transaction, and it is written by the Buffer Manager in the physical
storage memory as well. At the end, all locks are released and the partition with
transaction number in x 5 is eliminated.
4. RBACK assigns 1 to x 3 , all locks are released and the partition with transaction
number in x 5 is eliminated.
5. The extended input function In ER satisfies the following properties:
f : S R S R
if z is (n,m, ID T ,L) or a database
;
λIn ER (z)
=
id
:
S R
S R ( identity function ) otherwise ,
with function f such that for a state st (k)
S R , st (k
f(st (k))
+
1 )
=
S R is
obtained from st (k) by the following setting: x 1 = x 4 = n,x 2 = m,x 5 =
ID T ,
and the list of values in L is loaded into the subset of registers of S R used for the
I/O memory if z
(n,m, ID T ,L) . Otherwise, if z is a database then it is loaded
into the dynamic data-memory.
6. The output function Out R satisfies the following properties:
=
Out R st (k) =
if t 1 (st (k)) =
( empty set )
0
;
( 0 ,n,ID T ,R) otherwise ,
where ID T is the value of x 5 , R is a relation in I/O memory of M RC (obtained by
the last execution of a program P k in the Application Plane) and n is the value of
its register x 2 , with R
if n> 0or P k is not obtained from an SQL statement
'SELECT...' in the source program P . If the output is a tuple ( 0 ,n,ID T ,R)
then it is transmitted to M UC .
=⊥
Search WWH ::




Custom Search