Uploaded image for project: 'Phoenix'
  1. Phoenix
  2. PHOENIX-6423

Wildcard queries fail with mixed default and explicit column families.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Critical
    • Resolution: Fixed
    • 5.1.1
    • 4.16.1, 5.2.0, 5.1.2
    • None
    • None

    Description

      This one is obscure.

      Edit: not so obscure, see below. Without a local index it won't throw an exception, but select * will return an incorrect set of columns. So this is a general problem independent of local indexes.

      > create table test3(pk1 integer not null primary key, v1 float, y.v1 varchar);
      No rows affected (1.179 seconds)
      
      > create local index l4 on test3(v1);         
      No rows affected (11.253 seconds)
      
      > select * from test3 where v1 < 1;
      Error: ERROR 203 (22005): Type mismatch. expected: FLOAT but was: VARCHAR at column: V1 (state=22005,code=203)
      org.apache.phoenix.schema.ArgumentTypeMismatchException: ERROR 203 (22005): Type mismatch. expected: FLOAT but was: VARCHAR at column: V1
      at org.apache.phoenix.compile.ProjectionCompiler.coerceIfNecessary(ProjectionCompiler.java:339)
      at org.apache.phoenix.compile.ProjectionCompiler.projectAllIndexColumns(ProjectionCompiler.java:258)
      at org.apache.phoenix.compile.ProjectionCompiler.compile(ProjectionCompiler.java:393)
      at org.apache.phoenix.compile.QueryCompiler.compileSingleFlatQuery(QueryCompiler.java:757)
      at org.apache.phoenix.compile.QueryCompiler.compileSingleQuery(QueryCompiler.java:676)
      at org.apache.phoenix.compile.QueryCompiler.compileSelect(QueryCompiler.java:253)
      at org.apache.phoenix.compile.QueryCompiler.compile(QueryCompiler.java:178)
      at org.apache.phoenix.optimize.QueryOptimizer.addPlan(QueryOptimizer.java:347)
      at org.apache.phoenix.optimize.QueryOptimizer.getApplicablePlansForSingleFlatQuery(QueryOptimizer.java:239)
      at org.apache.phoenix.optimize.QueryOptimizer.getApplicablePlans(QueryOptimizer.java:138)
      at org.apache.phoenix.optimize.QueryOptimizer.optimize(QueryOptimizer.java:116)
      at org.apache.phoenix.optimize.QueryOptimizer.optimize(QueryOptimizer.java:102)
      at org.apache.phoenix.jdbc.PhoenixStatement$1.call(PhoenixStatement.java:313)
      at org.apache.phoenix.jdbc.PhoenixStatement$1.call(PhoenixStatement.java:295)
      at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53)
      at org.apache.phoenix.jdbc.PhoenixStatement.executeQuery(PhoenixStatement.java:294)
      at org.apache.phoenix.jdbc.PhoenixStatement.executeQuery(PhoenixStatement.java:287)
      at org.apache.phoenix.jdbc.PhoenixStatement.execute(PhoenixStatement.java:1930)
      

       

      Attachments

        1. 6423-5.1.txt
          3 kB
          Lars Hofhansl

        Issue Links

          Activity

            People

              larsh Lars Hofhansl
              larsh Lars Hofhansl
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: