<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <link>http://hg.omfa.de/prosody-hg/</link>
    <language>en-us</language>

    <title>prosody-hg: util/sqlite3.lua history</title>
    <description>util/sqlite3.lua revision history</description>
    <item>
    <title>util.sqlite3: Support immediate transactions</title>
    <link>http://hg.omfa.de/prosody-hg/log/52e214142ac2/util/sqlite3.lua</link>
    <description><![CDATA[util.sqlite3: Support immediate transactions]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Mon, 19 Aug 2024 00:15:40 +0200</pubDate>
</item>
<item>
    <title>util.sql: Add API to start an explicit write transaction</title>
    <link>http://hg.omfa.de/prosody-hg/log/e7c52d0b0e0d/util/sqlite3.lua</link>
    <description><![CDATA[util.sql: Add API to start an explicit write transaction<br/>
<br/>
This will be used in SQLite3 to BEGIN IMMEDIATE, which attempts to<br/>
acquire write locks immediately instead of when the first write<br/>
statement is started. Thus it would fail faster if the write lock is<br/>
already taken. Normally that should not occur but e.g. prosodyctl could<br/>
take it.<br/>
<br/>
Investigating whether something similar is sensible in PostgreSQL, MySQL<br/>
is a future task.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Mon, 19 Aug 2024 00:06:45 +0200</pubDate>
</item>
<item>
    <title>util.sql: SQLCipher support</title>
    <link>http://hg.omfa.de/prosody-hg/log/844e7bf7b48a/util/sqlite3.lua</link>
    <description><![CDATA[util.sql: SQLCipher support<br/>
<br/>
This enables use of encrypted databases if LuaDBI or LuaSQLite3 has been<br/>
linked against SQLCipher. Using `LD_PRELOAD` may work as well.<br/>
<br/>
Requires SQLCipher &gt;= 4.0.0 due to the use of UPSERT]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Thu, 23 Jan 2025 16:38:56 +0100</pubDate>
</item>
<item>
    <title>util.sqlite3: Clean up unused variables</title>
    <link>http://hg.omfa.de/prosody-hg/log/f2578a69ccf4/util/sqlite3.lua</link>
    <description><![CDATA[util.sqlite3: Clean up unused variables<br/>
<br/>
Many leftovers from the earlier version of util.sql this was based on<br/>
and cleanup applied there since then.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sat, 22 Jul 2023 14:54:17 +0200</pubDate>
</item>
<item>
    <title>util.sqlite3: Don't cache prepared statements for one-off queries</title>
    <link>http://hg.omfa.de/prosody-hg/log/e560f7c691ce/util/sqlite3.lua</link>
    <description><![CDATA[util.sqlite3: Don't cache prepared statements for one-off queries<br/>
<br/>
The :execute method is mainly used for one-off queries such as creating<br/>
tables and indices. There is no need to cache this prepared statement,<br/>
as those queries are only done on startup.<br/>
<br/>
Further, prepared statements can't be reused without being reset, so<br/>
this was likely broken anyway.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sat, 10 Jun 2023 22:20:26 +0200</pubDate>
</item>
<item>
    <title>util.sqlite3: Deduplicate query methods</title>
    <link>http://hg.omfa.de/prosody-hg/log/771eb453e03a/util/sqlite3.lua</link>
    <description><![CDATA[util.sqlite3: Deduplicate query methods<br/>
<br/>
There were 3 very similar methods:<br/>
-   :execute()<br/>
-   :execute_query()<br/>
-   :execute_update()<br/>
<br/>
The first one returns the prepared statement and is mainly used<br/>
internally in the library for CREATE statements.<br/>
<br/>
The later two only really differ in how the results are returned.<br/>
Those two are one main method and one small one that only picks out the<br/>
iterator.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sat, 10 Jun 2023 22:02:15 +0200</pubDate>
</item>
<item>
    <title>util.sqlite3: Fix indentation</title>
    <link>http://hg.omfa.de/prosody-hg/log/af251471d5ae/util/sqlite3.lua</link>
    <description><![CDATA[util.sqlite3: Fix indentation]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sat, 10 Jun 2023 22:00:43 +0200</pubDate>
</item>
<item>
    <title>util: Prefix module imports with prosody namespace</title>
    <link>http://hg.omfa.de/prosody-hg/log/d10957394a3c/util/sqlite3.lua</link>
    <description><![CDATA[util: Prefix module imports with prosody namespace]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 17 Mar 2023 16:23:16 +0100</pubDate>
</item>
<item>
    <title>mod_storage_sql: Record connection to database as module status</title>
    <link>http://hg.omfa.de/prosody-hg/log/a20923f7d5fd/util/sqlite3.lua</link>
    <description><![CDATA[mod_storage_sql: Record connection to database as module status<br/>
<br/>
Allows retrieving this in e.g. a health reporting module<br/>
<br/>
Thanks pfak]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Mon, 30 Jan 2023 00:38:26 +0100</pubDate>
</item>
<item>
    <title>util.sqlite3: Skip prepared statements when no parameters are given</title>
    <link>http://hg.omfa.de/prosody-hg/log/ccb030d988ac/util/sqlite3.lua</link>
    <description><![CDATA[util.sqlite3: Skip prepared statements when no parameters are given<br/>
<br/>
Seems CREATE INDEX is unhappy as a prepared statement. Perhaps because<br/>
the table has not been COMMIT-ed yet?]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Mon, 01 Aug 2022 17:25:40 +0200</pubDate>
</item>
<item>
    <title>util.sqlite3: Create util.error registry from headers</title>
    <link>http://hg.omfa.de/prosody-hg/log/d6cdde74cd9b/util/sqlite3.lua</link>
    <description><![CDATA[util.sqlite3: Create util.error registry from headers<br/>
<br/>
The 'type' fields are a first guess.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 01 Oct 2021 02:27:53 +0200</pubDate>
</item>
<item>
    <title>util.sqlite3: SQLite3-only variant of util.sql using LuaSQLite3</title>
    <link>http://hg.omfa.de/prosody-hg/log/f306336b7e99/util/sqlite3.lua</link>
    <description><![CDATA[util.sqlite3: SQLite3-only variant of util.sql using LuaSQLite3<br/>
<br/>
http://lua.sqlite.org/]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Mon, 01 Aug 2022 15:23:33 +0200</pubDate>
</item>

  </channel>
</rss>
