Synapse's current table width limitations are:
The bytes per row is calculated based on column sizes, regardless of how much data is in that row. Byte costs for each column are as follows:
Column Type | Bytes |
---|---|
Large Text | 3000 |
String | 3 per character |
Boolean | 5 |
Int | 20 |
Double | 23 |
Date | 20 |
File Handle | 20 |
Bridge currently declares the following columns common to all health data tables, numbering a total of 13 columns and 5617 bytes:
Name | Type | Bytes |
---|---|---|
recordId | String (36 chars) | 108 |
appVersion | String (48 chars) | 144 |
phoneInfo | String (48 chars) | 144 |
uploadDate | String (10 chars) | 30 |
healthCode | String (36 chars) | 108 |
externalId | String (128 chars) | 384 |
dataGroups | String (250 chars) | 750 |
createdOn | Timestamp | 20 |
createdOnTimeZone | String (5 chars) | 15 |
userSharingScope | String (48 chars) | 144 |
validationErrors | Large Text | 3000 |
substudyMemberships | String (250 chars) | 750 |
rawData | File Handle | 20 |
A few Bridge studies declare study-wide metadata that goes into every table. The current maximum usage of metadata fields is psorcast-validation, which uses 2 timestamp fields and 8 Strings of length 100, which represents 10 columns and 2440 bytes.
Source | Columns | Bytes |
---|---|---|
Common | 13 | 5617 |
Metadata | 20 | 2500 |
Reserved | 19 | 5883 |
Schema | 100 | 50000 |
Total | 152 | 64000 |