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

Support timestamp codegen for text scanner

    Details

      Description

      Codegen is disabled when scanning text tables with timestamp columns. The message is "Timestamp not yet supported for codegen."

      The supported types use cross-compiled conversion functions in TextConverter::CodegenWriteSlot():

          IRFunction::Type parse_fn_enum;
          Function* parse_fn = NULL;
          switch (slot_desc->type().type) {
            case TYPE_BOOLEAN:
              parse_fn_enum = IRFunction::STRING_TO_BOOL;
              break;
            case TYPE_TINYINT:
              parse_fn_enum = IRFunction::STRING_TO_INT8;
              break;
            case TYPE_SMALLINT:
              parse_fn_enum = IRFunction::STRING_TO_INT16;
              break;
            case TYPE_INT:
              parse_fn_enum = IRFunction::STRING_TO_INT32;
              break;
            case TYPE_BIGINT:
              parse_fn_enum = IRFunction::STRING_TO_INT64;
              break;
            case TYPE_FLOAT:
              parse_fn_enum = IRFunction::STRING_TO_FLOAT;
              break;
            case TYPE_DOUBLE:
              parse_fn_enum = IRFunction::STRING_TO_DOUBLE;
              break;
            default:
              DCHECK(false);
              return NULL;
          }
      

      TimestampValue::Parse() does not implement the same interface as the other functions but I think we could either change the interface or cross-compile an adapter function.

        Attachments

          Activity

            People

            • Assignee:
              tianyiwang Tianyi Wang
              Reporter:
              tarmstrong Tim Armstrong
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: