<feed xmlns='http://www.w3.org/2005/Atom'>
<title>WebStat analyser/src/schema.sql, branch webstat-0.7</title>
<subtitle>WebStat web site access analyser</subtitle>
<id>http://git.randomdan.homeip.net/repo/webstat/atom?h=webstat-0.7</id>
<link rel='self' href='http://git.randomdan.homeip.net/repo/webstat/atom?h=webstat-0.7'/>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/webstat/'/>
<updated>2026-07-04T19:19:34Z</updated>
<entry>
<title>Insert uninsirtable lines using the hostnameId recorded in the bad_lines table</title>
<updated>2026-07-04T19:19:34Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan@randomdan.homeip.net</email>
</author>
<published>2026-07-04T19:19:34Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/webstat/commit/?id=870aa90c005f77a73445f5c39f9fd9bbb7604fe8'/>
<id>urn:sha1:870aa90c005f77a73445f5c39f9fd9bbb7604fe8</id>
<content type='text'>
Includes the same fix from the previous commit which stops caching
entities until the inserts are complete.
Updates storeLogLine to take an insert command with the hostnameId
already bound.
</content>
</entry>
<entry>
<title>Include extra details when storing unparsable and uninsertable lines.</title>
<updated>2026-07-04T18:36:30Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan@randomdan.homeip.net</email>
</author>
<published>2026-07-04T11:11:38Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/webstat/commit/?id=61e106fe6a15f76b73125682e91d5c17ee875be2'/>
<id>urn:sha1:61e106fe6a15f76b73125682e91d5c17ee875be2</id>
<content type='text'>
Now includes the hostnameId, timestamp and optionally error message.
Updates idx_entities_retryinsert to account for details not being NULL.
Also fixes the issue where the entities inserted and rollback would
still be recorded in the entity cache if the access log insert failed.
This would have lead to PK violations later on.
</content>
</entry>
<entry>
<title>Partition the entities table</title>
<updated>2026-06-30T15:49:25Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan.goodliffe@octal.co.uk</email>
</author>
<published>2026-06-30T15:49:25Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/webstat/commit/?id=3cc7a1b1c0bf84ffcb149741c9ca2c60d9f00068'/>
<id>urn:sha1:3cc7a1b1c0bf84ffcb149741c9ca2c60d9f00068</id>
<content type='text'>
Splits up the entities by type, updates the access_log foreign keys to
reference the specific table, removes now redundant indices which
existed only for processing removal of bad lines.
</content>
</entry>
<entry>
<title>Fix uniqueness of entities</title>
<updated>2026-06-29T08:33:57Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan.goodliffe@octal.co.uk</email>
</author>
<published>2026-06-29T08:33:57Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/webstat/commit/?id=26eda4262fa99888e254e9c19b40c04b2a29a75c'/>
<id>urn:sha1:26eda4262fa99888e254e9c19b40c04b2a29a75c</id>
<content type='text'>
Should be unique for value and type, they're not just strings, they can
be different things with the same value... Albeit rarely.
</content>
</entry>
<entry>
<title>Fix entity function sometimes returning null/wrong id</title>
<updated>2026-06-28T17:47:14Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan@randomdan.homeip.net</email>
</author>
<published>2026-06-28T17:47:14Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/webstat/commit/?id=ad2a2ff05af8df1ba552d906e377afa345a449a7'/>
<id>urn:sha1:ad2a2ff05af8df1ba552d906e377afa345a449a7</id>
<content type='text'>
Includes tests over the errant behaviour.
Didn't match on type and control flow could return multiple rows.
</content>
</entry>
<entry>
<title>Increase size field to 64bit and fix scan types</title>
<updated>2026-06-27T12:05:03Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan@randomdan.homeip.net</email>
</author>
<published>2026-06-27T12:05:03Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/webstat/commit/?id=22a85bd4e1f6005455b91bb3edff68d4019526a1'/>
<id>urn:sha1:22a85bd4e1f6005455b91bb3edff68d4019526a1</id>
<content type='text'>
2^31 not big enough for large file downloads, bumped to 64bit.
Replace woolly types with specific uintXX_t in scn call.
</content>
</entry>
<entry>
<title>Remove the PK id column from access_log</title>
<updated>2026-06-27T11:52:28Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan@randomdan.homeip.net</email>
</author>
<published>2026-06-27T11:52:28Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/webstat/commit/?id=1a7c5329d07d9d961899aa7c85f9bd56fc06cb2d'/>
<id>urn:sha1:1a7c5329d07d9d961899aa7c85f9bd56fc06cb2d</id>
<content type='text'>
Not actually required, should we need to reference a specific row, we
can use the ctid column.
</content>
</entry>
<entry>
<title>Add index for uninsertable lines with no failure detail</title>
<updated>2026-05-18T23:53:27Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan@randomdan.homeip.net</email>
</author>
<published>2026-05-18T23:53:27Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/webstat/commit/?id=cabd894779c2d2e453c8ed7771fdbd17c881bc2c'/>
<id>urn:sha1:cabd894779c2d2e453c8ed7771fdbd17c881bc2c</id>
<content type='text'>
This index would be empty under normal conditions.
</content>
</entry>
<entry>
<title>Be specific about values from entities table</title>
<updated>2026-05-09T23:41:56Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan@randomdan.homeip.net</email>
</author>
<published>2026-05-09T23:41:56Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/webstat/commit/?id=5111c39ad9c1665347471da9fc1ae5737e37cde5'/>
<id>urn:sha1:5111c39ad9c1665347471da9fc1ae5737e37cde5</id>
<content type='text'>
Fixes compatibility with PostgreSQL 18 which fails due to ambiguity.
</content>
</entry>
<entry>
<title>Only call entity insert handler if detail is null</title>
<updated>2026-05-05T11:24:11Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan.goodliffe@octal.co.uk</email>
</author>
<published>2026-05-05T11:24:11Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/webstat/commit/?id=200c3636b600ac2f997316612f1b1321112496cd'/>
<id>urn:sha1:200c3636b600ac2f997316612f1b1321112496cd</id>
<content type='text'>
Improves handling of entity inserts where the entity already exists and
already has detail; does not call the onInsert handler. This avoids
repeatedly fetching UA detail every time the UA is first seen by a
process.
</content>
</entry>
</feed>
