If the field only applies to some DS types, it should be in its own table.
Then it can be NOT NULL in that table, ideally with a constraint requiring
the DS to be a type it applies to. You wanted to reduce the columns in the
`deliveryservice` table, right? Here's your chance :)

On Wed, Nov 15, 2017 at 10:56 AM, Jeremy Mitchell <mitchell...@apache.org>
wrote:

> From what I can tell, there are 4 flavors of delivery services:
>
> 1. DNS*
> 2. HTTP*
> 3. STEERING*
> 4. ANY_MAP
>
> And the properties associated with each flavor vary so I put together a
> spreadsheet to show which properties pertain to each flavor:
>
> https://docs.google.com/spreadsheets/d/1rb4WzP1FicumyU1z6o_
> wasxD0ih1HoSH3bT-IA1GSlw/edit?usp=sharing
>
> First things first, anything look wrong there? Have I misrepresented /
> misunderstood anything?
>
> Things that jump out at me:
>
> 1. dscp CANNOT be null yet it only applies to 2/4 of the delivery service
> types (DNS* and HTTP*)
> 2. regional_geo_blocking CANNOT be null yet it only applies to 2/4 of the
> delivery service types (HTTP* and ANY_MAP)
> 3. routing_name CANNOT be null yet it only applies to 3/4 of the delivery
> service types (DNS*, HTTP* and STEERING*)
> 4. What's up with ssl_key_version? Is this even used? I don't see it in the
> TO UI or the TP UI.
>
> Suggestions:
>
> 1. we remove the NOT NULL constraint from dscp, regional_geo_blocking and
> routing_name since they don't apply to ALL delivery services and rather we
> enforce those fields in the API
> 2. we get rid of the ssl_key_version column unless someone knows if it's
> used and how
>
> Thoughts? Concerns?
>
> Jeremy
>

Reply via email to