Uploaded image for project: 'Apache Drill'
  1. Apache Drill
  2. DRILL-1868

Provide options to handle nonexistent columns in schema-less query

    XMLWordPrintableJSON

Details

    Description

      git.commit.id.abbrev=c65928f

      0: jdbc:drill:schema=dfs> select * from `test.json`;
      +------------+------------+
      | eventdate  |    sold    |
      +------------+------------+
      | 2014-01-01 | 100        |
      | 2014-01-01 | 100        |
      | 2014-02-01 | 200        |
      +------------+------------+
      3 rows selected (0.099 seconds)
      
      0: jdbc:drill:schema=dfs> -- Correct result
      0: jdbc:drill:schema=dfs> SELECT
      . . . . . . . . . . . . >                 extract( month from eventdate ) as `month`,
      . . . . . . . . . . . . >                 extract( year  from eventdate ) as `year`
      . . . . . . . . . . . . > 
      . . . . . . . . . . . . > FROM            `test.json`
      . . . . . . . . . . . . > WHERE           extract( month from eventdate ) IS NOT NULL;
      +------------+------------+
      |   month    |    year    |
      +------------+------------+
      | 1          | 2014       |
      | 1          | 2014       |
      | 2          | 2014       |
      +------------+------------+
      3 rows selected (0.074 seconds)
      
      0: jdbc:drill:schema=dfs> -- Wrong result, should throw an error
      0: jdbc:drill:schema=dfs> SELECT
      . . . . . . . . . . . . >                 extract( month from eventdate ) as `month`,
      . . . . . . . . . . . . >                 extract( year  from eventdate ) as `year`
      . . . . . . . . . . . . > 
      . . . . . . . . . . . . > FROM            `test.json`
      . . . . . . . . . . . . > WHERE           `month` IS NOT NULL;
      +------------+------------+
      |   month    |    year    |
      +------------+------------+
      +------------+------------+
      No rows selected (0.079 seconds)
      
      0: jdbc:drill:schema=dfs> -- Wrong result, should throw an error
      0: jdbc:drill:schema=dfs> SELECT
      . . . . . . . . . . . . >                 extract( month from eventdate ) as xyz,
      . . . . . . . . . . . . >                 extract( year  from eventdate ) as `year`
      . . . . . . . . . . . . > 
      . . . . . . . . . . . . > FROM            `test.json`
      . . . . . . . . . . . . > WHERE           xyz IS NOT NULL;
      +------------+------------+
      |    xyz     |    year    |
      +------------+------------+
      +------------+------------+
      No rows selected (0.073 seconds)
      
       
      0: jdbc:drill:schema=dfs> -- Correct result
      0: jdbc:drill:schema=dfs> SELECT *
      . . . . . . . . . . . . > FROM
      . . . . . . . . . . . . >         (
      . . . . . . . . . . . . >         SELECT
      . . . . . . . . . . . . >                 extract( month from eventdate ) as `month`,
      . . . . . . . . . . . . >                 extract( year  from eventdate ) as `year`
      . . . . . . . . . . . . > 
      . . . . . . . . . . . . >         FROM    `test.json`
      . . . . . . . . . . . . >         WHERE           `month` IS NULL
      . . . . . . . . . . . . >         )
      . . . . . . . . . . . . > WHERE `month` IS NOT NULL;
      +------------+------------+
      |   month    |    year    |
      +------------+------------+
      | 1          | 2014       |
      | 1          | 2014       |
      | 2          | 2014       |
      +------------+------------+
      3 rows selected (0.099 seconds)
      

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              vicky Victoria Markman
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated: