You could declare a STRUCT(i INT, ai ARRAY(INT)) and make sure exactly one of i and ai is set.
> On Dec 16, 2015, at 10:51 AM, andrew <[email protected]> wrote: > > I’m wondering if it would be possible to add a UNION type in Calcite. > > My use case is that I am developing a backend storage engine using Calcite > that only partially declares its schema. Specifically, the engine declares > columns such as ‘int’ when it actually means the column can contain ‘int’ or > ‘array of int’. There is no way to tell without actually reading the table if > the data is scalar or array. Indeed it can be both. > > My idea is that if Calcite had a UNION type, I could declare the columns as > e.g. UNION(INT, ARRAY(INT)). > > Does this sound reasonable? Or is there a better way of handling this > situation using the current features of Calcite? > > Thanks. > - A > >
