述語ロックは実装困難
#述語ロック_Predicate_Locks
述語ロック
$ R(A_1,A_2,...,A_n)をリレーションとする
$ Rで許容される述語$ P(t|t \in {\rm dom}(A_1) \times {\rm dom}(A_2) \times {\rm dom}(A_n) )とは任意の$ tに対して$ P(t)がTRUEまたはFALSEに常に決まる
述語ロックは三項組$ (R,P,a)
aはアクセスモード(read or write)
一般に$ R上に$ P(t)と$ P^{\prime} (t)が与えられたとき$ P \wedge P^{\prime} (t)が真となるタプルtが存在するかどうかというSAT問題 satisfiability problemは容易ではない(NP完全問題 NP-complete problem)
$ Pと$ P^{\prime}が原始述語 atomic predicateであれば比較的容易に解けるので実装に問題はない
? どういうSQLがだめなのか調べる
サブクエリとか?