• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

catmaid / CATMAID / 6757
45%
master: 45%

Build:
Build:
LAST BUILD BRANCH: dev
DEFAULT BRANCH: master
Ran 22 Jan 2020 09:33PM UTC
Jobs 4
Files 107
Run time 28min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

pending completion
6757

push

travis-ci

tomka
Make concept based table IDs 64 bit

While we still have some headroom for the datasets we work with at the
moment, keeping the IDs of concept table based tables (inheritance) at
32 bit would have been a limit at some point. Already we see large
segmentation datasets that make this headroom rather small. Therefore
this migration will rewrite all concept based tables as well as tables
that reference them through foreign keys so that 64 bit IDs are used.

This migration also updates the review table to use 64 bit IDs. It also
fixes the history views of the catmaid_sampler table, which haven't been
kept up to date with column changes.

In addition a lot of missing foreign key constraints have been added.
They shouldn't have a big import on performance and in fact only a very
small difference could be measured. Improved data security and
consistency is important and worth a small performance hit.

The column order of concept changed slightly to improve the column
alignment and reduce padding. So far we wasted 4 Bytes per row, because
project_id occupied 4 Bytes and required 4 Bytes of padding, because it
was followed by a bigint. This is changed now and no more padding is
needed. This also lowers the impact on storage of the change to 64 bit
IDs.

Also, the indices backing the primary keys of many semantic tables
include now additional data like the class_id for class instances and
the relation_id for some relation instance types. This Postgres 11
feature allows to use more index-only scans. This is especially useful
when traversing join tables likes class_instance_class_instancem, since
connections between them can now be found with index-only scans alone.

In addition many index names follow now a more consistent pattern.

I tested this migration by multiple reviews and analyzing the schema
diff generated by pgquarrel for both migration 98 vs 99 as well as 99 vs
(99 -> 98) (i.e. a rollback). These migrations look reasonable and the
effective migration (... (continued)

8705 of 19283 relevant lines covered (45.14%)

1.68 hits per line

Jobs
ID Job ID Ran Files Coverage
1 6757.1 22 Jan 2020 09:33PM UTC 0
45.15
Travis Job 6757.1
2 6757.2 22 Jan 2020 09:40PM UTC 0
45.15
Travis Job 6757.2
3 6757.3 22 Jan 2020 09:41PM UTC 0
45.23
Travis Job 6757.3
4 6757.4 22 Jan 2020 10:01PM UTC 0
42.09
Travis Job 6757.4
Source Files on build 6757
Detailed source file information is not available for this build.
  • Back to Repo
  • Travis Build #6757
  • 90fb2814 on github
  • Prev Build on features/64-bit-concept-ids (#6752)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc