<feed xmlns='http://www.w3.org/2005/Atom'>
<title>WebStat analyser/src/schema.sql, branch webstat-0.6</title>
<subtitle>WebStat web site access analyser</subtitle>
<id>http://git.randomdan.homeip.net/repo/webstat/atom?h=webstat-0.6</id>
<link rel='self' href='http://git.randomdan.homeip.net/repo/webstat/atom?h=webstat-0.6'/>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/webstat/'/>
<updated>2026-05-18T23:53:27Z</updated>
<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>
<entry>
<title>Add indexes on all entity references in access_log</title>
<updated>2026-04-26T15:14:50Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan@randomdan.homeip.net</email>
</author>
<published>2026-04-26T15:14:50Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/webstat/commit/?id=ada3ab9f84dfa2df733d48d516476203a361ac63'/>
<id>urn:sha1:ada3ab9f84dfa2df733d48d516476203a361ac63</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add BRIN index to access_log.request_time and improve purge</title>
<updated>2026-04-23T09:11:13Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan.goodliffe@octal.co.uk</email>
</author>
<published>2026-04-23T09:11:13Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/webstat/commit/?id=7c59f2b66284b5b561c5368a0c834640ae0e611e'/>
<id>urn:sha1:7c59f2b66284b5b561c5368a0c834640ae0e611e</id>
<content type='text'>
Purge is now fully request_time based and not hacked around id ranges.
</content>
</entry>
<entry>
<title>Swap int for integer in schema</title>
<updated>2026-04-17T23:53:11Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan@randomdan.homeip.net</email>
</author>
<published>2026-04-17T23:53:11Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/webstat/commit/?id=fa6074eaf52be4254c17b74f20193aa96c940df8'/>
<id>urn:sha1:fa6074eaf52be4254c17b74f20193aa96c940df8</id>
<content type='text'>
Plays better with apgdiff
</content>
</entry>
<entry>
<title>Replace use of crc32 for entity id</title>
<updated>2026-04-15T11:05:20Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan.goodliffe@octal.co.uk</email>
</author>
<published>2026-04-15T11:03:21Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/webstat/commit/?id=5b2166496e5f3ff2c4276e0b5b28f109c70673d5'/>
<id>urn:sha1:5b2166496e5f3ff2c4276e0b5b28f109c70673d5</id>
<content type='text'>
Entity value is MD5 hashed same as DB unique key, but the id itself is
now taken from the DB primary key which is sequence generated.
</content>
</entry>
<entry>
<title>Replace unique constraint on entity value with index on hash</title>
<updated>2026-03-18T13:19:42Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan.goodliffe@octal.co.uk</email>
</author>
<published>2026-03-18T13:19:42Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/webstat/commit/?id=076679d9f2b761a9e4892e399f1a16f141d85986'/>
<id>urn:sha1:076679d9f2b761a9e4892e399f1a16f141d85986</id>
<content type='text'>
UNIQUE CONSTRAINT is limited to 2704 bytes, which prevents inserting
large values. Here we swap to a unique index on the MD5 hash of the
value. This should more than suffice given we already map to a 32bit for
the id and the index size is much much smaller.
</content>
</entry>
<entry>
<title>Fix typo in access_log_view definition</title>
<updated>2026-03-18T10:25:09Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan.goodliffe@octal.co.uk</email>
</author>
<published>2026-03-18T10:25:09Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/webstat/commit/?id=e247e81f649297784dc81e83b2e6d33d30f9f3ee'/>
<id>urn:sha1:e247e81f649297784dc81e83b2e6d33d30f9f3ee</id>
<content type='text'>
Replaces accidentally duplicated user_agent for correct content_type.
</content>
</entry>
<entry>
<title>Process new field, content-type, in input stream</title>
<updated>2026-01-18T01:36:06Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan@randomdan.homeip.net</email>
</author>
<published>2026-01-18T01:36:06Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/webstat/commit/?id=04acfa679fd846ac829ded5562093b3766c85154'/>
<id>urn:sha1:04acfa679fd846ac829ded5562093b3766c85154</id>
<content type='text'>
</content>
</entry>
</feed>
