PipelineDB 0.9.3 is here, download it now!
Merged PostgreSQL 9.5.3
Our last upstream merge was with PostgreSQL 9.5.0. Since then there have been 3 minor releases, so we decided to include all changes made in those releases into PipelineDB. The most significant change is support for 128-bit integers in the code base. See the issue here on PostgreSQL's mailing list. Some numeric aggregate functions involving large integers were using
NumericAggState as their transition states which is quite a large structure and arithmetic operations on its numeric representation can be slow. If your platform supports
__int128_t, you should see 2.5x-4x performance improvement for
pipeline_query Catalog Changes
We made some changes to the
pipeline_query catalog table, mainly that we no longer store the query name in it and instead store a reference to its row in the
pg_class catalog table. This should make supporting
ALTER on continuous views much easier. Unfortunately, catalog changes require you to initialize your data directory again using
Floating Point Values For step_factor
step_factor can now be specified as a floating point number between 0 and 50, as opposed to an integer between 1 and 50. You must specify float values as a string though, for example:
CREATE CONTINUOUS VIEW v WITH (max_age = '1 day', step_factor = '0.5') AS SELECT count(*) FROM stream;
Server Binary Renamed
We've renamed the server binary from
pipelinedb. If you were using the
pipeline-ctl utility to manage your PipelineDB server, this shouldn't affect you. If you were interacting with the
pipeline-server binary directly, please change it to
Stability & Other Improvements
- There was a pretty major file descriptor leak in 0.9.2 which is fixed in this release.
set_aggcould sometimes report garbage values because it's aggregate state wasn't being initialized correctly; the issue is fixed now.
- Shared memory queues we use to pass messages between processes needed memory fences to avoid overflow issues under high concurrent inserts.
pipeline_stream_insertcan now be used as a regular trigger function.