137/212
\begin{frame}
  \frametitle{Preclaiming 2 Phase Locking Protocol}

  \begin{goal}{Preclaiming 2 Phase Locking}
    \begin{tcenter}
      \begin{tikzpicture}[nodes={black,scale=.8}]
        \draw [thick,->] (0,0) -- node [at end,above] {time} (5cm,0);
        \draw [thick,->] (0,0) -- node [at end,left] {\#of locks held} (0,1.5cm);
        \draw [red,very thick] (0,0) -- (0cm,1cm) -- (2.5cm,1cm) -- node [sloped,above] {release phase} (4cm,0cm);
      \end{tikzpicture}
    \end{tcenter}
    All needed locks are declared at the beginning of the transaction.
  \end{goal}
  \pause\medskip

  Advantage: \emph{No deadlocks!}\\
  But rollbacks are cascading.
  \pause\medskip
  
  \begin{alertblock}{Disadvantage}
    Not applicable in multi-query transactions. \error\\[1ex]
    
    (Queries might depend on the results of the previous queries)
  \end{alertblock}
\end{frame}