Hi Paul, `SELECT myMap.x ...` and `SELECT myMap['x'] ...` is treated the same in Drill - schema path parser recognizes it as `myMap.x` in both cases. The same is true for DICT - both `myDict['key1']` and myDict.key1 allows Python-like syntax for projecting DICT values, but in schema path it is also stored as in the case for MAP - myDIct.key1 - as you can see, there is no distinction between MAP and DICT based on schema path alone. (Note, that one can't project a `key` in DICT - `SELECT myDict.key ...` will be treated as if `value` identified by `key` with value 'key' is projected, as in Java's `Map<String, Object> map = ...; Object value = map.get("key");`). In case when a key is an integer, schema path is the same as in case of array.
Is this what you meant by "schema path parser does not recognize the syntax" or do you get an error? On Mon, Jan 20, 2020 at 5:16 AM Paul Rogers <par0...@yahoo.com.invalid> wrote: > Hi All, > > What did we decide to do about projecting DICT values? Drill allows us to > project specific MAP members: > > SELECT myMap.x ... > > And, Drill allows projecting array members: > > SELECT myArray[3] ... > > I thought there was discussion of allowing Python-like syntax for > projecting DICT values: > > SELECT myDict['key1'] ... > > I tried this with no quotes, single-quotes and back-tick quotes. Seems > that the schema path parser does not recognize the syntax. > > Is there some trick that I'm missing? > > Thanks, > - Paul > >