HappenLee commented on a change in pull request #7613: URL: https://github.com/apache/incubator-doris/pull/7613#discussion_r781748247
########## File path: be/src/olap/schema.cpp ########## @@ -147,4 +155,57 @@ vectorized::DataTypePtr Schema::get_data_type_ptr(FieldType type) { return nullptr; } +vectorized::IColumn::MutablePtr Schema::get_predicate_column_nullable_ptr(FieldType type, bool is_null) { + vectorized::IColumn::MutablePtr ptr = Schema::get_predicate_column_ptr(type); + if (is_null) { + return doris::vectorized::ColumnNullable::create(std::move(ptr), doris::vectorized::ColumnUInt8::create()); + } + return ptr; +} + +vectorized::IColumn::MutablePtr Schema::get_predicate_column_ptr(FieldType type) { + switch (type) { + case OLAP_FIELD_TYPE_TINYINT: + return doris::vectorized::PredicateColumnType<doris::vectorized::Int8>::create(); + + case OLAP_FIELD_TYPE_SMALLINT: + return doris::vectorized::PredicateColumnType<doris::vectorized::Int16>::create(); + + case OLAP_FIELD_TYPE_INT: + return doris::vectorized::PredicateColumnType<doris::vectorized::Int32>::create(); + + case OLAP_FIELD_TYPE_FLOAT: + return doris::vectorized::PredicateColumnType<doris::vectorized::Float32>::create(); + + case OLAP_FIELD_TYPE_DOUBLE: + return doris::vectorized::PredicateColumnType<doris::vectorized::Float64>::create(); + + case OLAP_FIELD_TYPE_BIGINT: + return doris::vectorized::PredicateColumnType<doris::vectorized::Int64>::create(); + + case OLAP_FIELD_TYPE_LARGEINT: + return doris::vectorized::PredicateColumnType<doris::vectorized::Int128>::create(); + + case OLAP_FIELD_TYPE_DATE: { + return doris::vectorized::PredicateColumnType<uint24_t>::create(); + } + case OLAP_FIELD_TYPE_DATETIME: { + return doris::vectorized::PredicateColumnType<uint64_t>::create(); + } + + case OLAP_FIELD_TYPE_CHAR: + case OLAP_FIELD_TYPE_VARCHAR: + return doris::vectorized::PredicateColumnType<StringValue>::create(); Review comment: maybe should add OLAP_FIELD_TYPE_STRING -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org