Uploaded image for project: 'IMPALA'
  1. IMPALA
  2. IMPALA-3896

qgen: add metadata attributes to signatures and functions for more advanced selection

    XMLWordPrintableJSON

Details

    Description

      The criteria for function or signature selection is crude. It tends to be mostly about return types and argument types, or argument counts.

      The classification of functions is also crude: it's simply done based on setting weights in query profiles. The name of the weights are arbitrary as are the members inside.

      You can end up with strange situations here, such as at https://gerrit.cloudera.org/#/c/3720/3 . The heuristic in QueryGenerator for picking a so-called "relational function" is simply: 2 arguments and returns a Boolean type. This includes And and Or. This means they need to be included as weights for relational functions. But And and Or are also defined in other weights, like the conjunct_disjuncts weighting.

      It shouldn't be up to the query profiles to decide what's a relational function, or what's a conjunct. That's set by the nature of the functions themselves.

      Another approach would be to support optional metadata attributes for each of these functions. When we choose signatures or functions, we can then inspect these attributes for inclusion or exclusion.

      Attachments

        Activity

          People

            Unassigned Unassigned
            mikeb Michael Brown
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: