As per #5140 we need to know that a specific distributed hypertable is a "REFERENCE TABLE" implementation. Add a "is_reference" boolean field for that. Also make changes to the hypertable views in all relevant locations to show that it's a reference table.
While we are doing this. Also add an additional "is_distributed" boolean field because right now it's derived indirectly by checking "replication_factor > 0" in many views, etc. So this will be helping remove tech-debt as well.
We could have considered using of bit flags in on single column and adding bits for REF/DISTRIBUTED etc. but we might not save a lot of space due to alignment padding. A boolean column uses 1 byte. Effectively, we can fit four or more boolean columns for one integer column. This also keeps the code simple.
As per #5140 we need to know that a specific distributed hypertable is a "REFERENCE TABLE" implementation. Add a "is_reference" boolean field for that. Also make changes to the hypertable views in all relevant locations to show that it's a reference table.
While we are doing this. Also add an additional "is_distributed" boolean field because right now it's derived indirectly by checking "replication_factor > 0" in many views, etc. So this will be helping remove tech-debt as well.
We could have considered using of bit flags in on single column and adding bits for REF/DISTRIBUTED etc. but we might not save a lot of space due to alignment padding. A boolean column uses 1 byte. Effectively, we can fit four or more boolean columns for one integer column. This also keeps the code simple.