⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 commit_hook.html

📁 sqlite的帮助文档
💻 HTML
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html><head><title>Commit And Rollback Notification Callbacks</title><style type="text/css">body {    margin: auto;    font-family: "Verdana" "sans-serif";    padding: 8px 1%;}a { color: #45735f }a:visited { color: #734559 }.logo { position:absolute; margin:3px; }.tagline {  float:right;  text-align:right;  font-style:italic;  width:240px;  margin:12px;  margin-top:58px;}.toolbar {  font-variant: small-caps;  text-align: center;  line-height: 1.6em;  margin: 0;  padding:1px 8px;}.toolbar a { color: white; text-decoration: none; padding: 6px 12px; }.toolbar a:visited { color: white; }.toolbar a:hover { color: #80a796; background: white; }.content    { margin: 5%; }.content dt { font-weight:bold; }.content dd { margin-bottom: 25px; margin-left:20%; }.content ul { padding:0px; padding-left: 15px; margin:0px; }/* rounded corners */.se  { background: url(../images/se.png) 100% 100% no-repeat #80a796}.sw  { background: url(../images/sw.png) 0% 100% no-repeat }.ne  { background: url(../images/ne.png) 100% 0% no-repeat }.nw  { background: url(../images/nw.png) 0% 0% no-repeat }</style><meta http-equiv="content-type" content="text/html; charset=UTF-8">  </head><body><div><!-- container div to satisfy validator --><a href="../index.html"><img class="logo" src="../images/SQLite.gif" alt="SQLite Logo" border="0"></a><div><!-- IE hack to prevent disappearing logo--></div><div class="tagline">Small. Fast. Reliable.<br>Choose any three.</div><table width=100% style="clear:both"><tr><td>  <div class="se"><div class="sw"><div class="ne"><div class="nw">  <div class="toolbar">    <a href="../about.html">About</a>    <a href="../sitemap.html">Sitemap</a>    <a href="../docs.html">Documentation</a>    <a href="../download.html">Download</a>    <a href="../copyright.html">License</a>    <a href="../news.html">News</a>    <a href="http://www.sqlite.org/cvstrac/index">Developers</a>    <a href="../support.html">Support</a>  </div></div></div></div></div></td></tr></table>  <a href="intro.html"><h2>SQLite C Interface</h2></a><h2>Commit And Rollback Notification Callbacks</h2><blockquote><pre>void *sqlite3_commit_hook(sqlite3*, int(*)(void*), void*);void *sqlite3_rollback_hook(sqlite3*, void(*)(void *), void*);</pre></blockquote><p>The sqlite3_commit_hook() interface registers a callbackfunction to be invoked whenever a transaction is committed.Any callback set by a previous call to sqlite3_commit_hook()for the same database connection is overridden.The sqlite3_rollback_hook() interface registers a callbackfunction to be invoked whenever a transaction is committed.Any callback set by a previous call to sqlite3_commit_hook()for the same database connection is overridden.The pArg argument is passed through to the callback.If the callback on a commit hook function returns non-zero,then the commit is converted into a rollback.</p><p>If another function was previously registered, itspArg value is returned.  Otherwise NULL is returned.</p><p>The callback implementation must not do anything that will modifythe database connection that invoked the callback.  Any actionsto modify the database connection must be deferred until after thecompletion of the <a href="../c3ref/step.html">sqlite3_step()</a> call that triggered the commitor rollback hook in the first place.Note that <a href="../c3ref/prepare.html">sqlite3_prepare_v2()</a> and <a href="../c3ref/step.html">sqlite3_step()</a> both modify theirdatabase connections for the meaning of "modify" in this paragraph.</p><p>Registering a NULL function disables the callback.</p><p>For the purposes of this API, a transaction is said to have beenrolled back if an explicit "ROLLBACK" statement is executed, oran error or constraint causes an implicit rollback to occur.The rollback callback is not invoked if a transaction isautomatically rolled back because the database connection is closed.The rollback callback is not invoked if a transaction isrolled back because a commit callback returned non-zero.<font color="red">(TODO:  Check on this )</font></p><p><h3>Invariants:</h3><table border="0" cellpadding="5" cellspacing="0"><tr><td valign="top">H12951</td> <td valign="top">The <a href="../c3ref/commit_hook.html">sqlite3_commit_hook(D,F,P)</a> interface registers thecallback function F to be invoked with argument P whenevera transaction commits on the <a href="../c3ref/sqlite3.html">database connection</a> D.</td></tr><tr><td valign="top">H12952</td> <td valign="top">The <a href="../c3ref/commit_hook.html">sqlite3_commit_hook(D,F,P)</a> interface returns the P argumentfrom the previous call with the same <a href="../c3ref/sqlite3.html">database connection</a> D,or NULL on the first call for a particular database connection D.</td></tr><tr><td valign="top">H12953</td> <td valign="top">Each call to <a href="../c3ref/commit_hook.html">sqlite3_commit_hook()</a> overwrites the callbackregistered by prior calls.</td></tr><tr><td valign="top">H12954</td> <td valign="top">If the F argument to <a href="../c3ref/commit_hook.html">sqlite3_commit_hook(D,F,P)</a> is NULLthen the commit hook callback is canceled and no callbackis invoked when a transaction commits.</td></tr><tr><td valign="top">H12955</td> <td valign="top">If the commit callback returns non-zero then the commit isconverted into a rollback.</td></tr><tr><td valign="top">H12961</td> <td valign="top">The <a href="../c3ref/commit_hook.html">sqlite3_rollback_hook(D,F,P)</a> interface registers thecallback function F to be invoked with argument P whenevera transaction rolls back on the <a href="../c3ref/sqlite3.html">database connection</a> D.</td></tr><tr><td valign="top">H12962</td> <td valign="top">The <a href="../c3ref/commit_hook.html">sqlite3_rollback_hook(D,F,P)</a> interface returns the Pargument from the previous call with the same<a href="../c3ref/sqlite3.html">database connection</a> D, or NULL on the first callfor a particular database connection D.</td></tr><tr><td valign="top">H12963</td> <td valign="top">Each call to <a href="../c3ref/commit_hook.html">sqlite3_rollback_hook()</a> overwrites the callbackregistered by prior calls.</td></tr><tr><td valign="top">H12964</td> <td valign="top">If the F argument to <a href="../c3ref/commit_hook.html">sqlite3_rollback_hook(D,F,P)</a> is NULLthen the rollback hook callback is canceled and no callbackis invoked when a transaction rolls back.</td></tr></table></p><p>See also lists of  <a href="objlist.html">Objects</a>,  <a href="constlist.html">Constants</a>, and  <a href="funclist.html">Functions</a>.</p><hr><small><i>This page last modified 2008/08/11 17:57:43 UTC</i></small></div></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -