| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
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.
|
| |
|
|
|
| |
Should be unique for value and type, they're not just strings, they can
be different things with the same value... Albeit rarely.
|
| |
|
|
|
| |
Includes tests over the errant behaviour.
Didn't match on type and control flow could return multiple rows.
|
| |
|
|
|
| |
2^31 not big enough for large file downloads, bumped to 64bit.
Replace woolly types with specific uintXX_t in scn call.
|
| |
|
|
|
| |
Not actually required, should we need to reference a specific row, we
can use the ctid column.
|
| |
|
|
| |
This index would be empty under normal conditions.
|
| |
|
|
| |
Fixes compatibility with PostgreSQL 18 which fails due to ambiguity.
|
| |
|
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
| |
Purge is now fully request_time based and not hacked around id ranges.
|
| |
|
|
| |
Plays better with apgdiff
|
| |
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
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.
|
| |
|
|
| |
Replaces accidentally duplicated user_agent for correct content_type.
|
| | |
|
| |
|
|
|
|
| |
If that fails, we still park them as before, such as when the DB is
unavailable. Those which are saved as entities require investigation why
they couldn't be saved, much like UnparsableLines.
|
| |
|
|
| |
No changes.
|
| |
|
|
|
| |
A pre-joined with entities view showing all the original data along with
ids; ideal for human readable stuff.
|
| | |
|
| |
|
|
|
| |
oid is an "unsigned 4 byte integer", which matches our crc32 approach
perfectly, and is half the storage cost of bigint.
|
| |
|
|
| |
Diagnostics and the ability to ingest later.
|
| | |
|
| | |
|
| | |
|
| |
|