doris版本:2.1.2
建表语句:
CREATE TABLE log_hmqm_push_data_detail
(
id
VARCHAR(50) NULL COMMENT '主键ID',
push_time
DATETIME NULL COMMENT '数据推送时间',
pcb_no
VARCHAR(150) NULL COMMENT '产品SN/板码',
prod_id
VARCHAR(50) NULL COMMENT '生产主键ID',
prod_order_code
VARCHAR(50) NULL COMMENT '生产订单号',
prod_project_id
VARCHAR(70) NULL COMMENT '生产工单号',
prod_material_code
VARCHAR(50) NULL COMMENT '生产专用号',
prod_group_code
VARCHAR(20) NULL COMMENT '测试工序',
prod_group_code_sjhl
VARCHAR(20) NULL COMMENT '测试工序(数据互联用)',
prod_test_time
DATETIME NULL COMMENT '测试时间',
prod_test_result_desc
VARCHAR(10) NULL COMMENT '测试结果描述:不合格;合格;',
prod_line_code
VARCHAR(50) NULL COMMENT '生产线体',
prod_sap_factory_code
VARCHAR(10) NULL COMMENT '生产SAP工厂编码',
prod_data_from
VARCHAR(20) NULL COMMENT '生产数据来源: MES / OPENAPI',
prod_data_source
VARCHAR(50) NULL COMMENT '生产数据所属工厂编码: qd / dx / tjmndz / wlzn 等',
oid_id
VARCHAR(50) NULL COMMENT '二维码主键ID',
oid_order_code
VARCHAR(50) NULL COMMENT '二维码订单号',
oid_project_id
VARCHAR(70) NULL COMMENT '二维码工单号',
oid_material_code
VARCHAR(50) NULL COMMENT '二维码专用号',
oid_qr_code
VARCHAR(400) NULL COMMENT '二维码',
oid_qr_code_type
VARCHAR(10) NULL COMMENT '二维码类型',
oid_create_time
DATETIME NULL COMMENT '二维码生成时间',
oid_sap_factory_code
VARCHAR(10) NULL COMMENT '二维码SAP工厂编码',
oid_data_from
VARCHAR(20) NULL COMMENT '二维码数据来源: MES / OPENAPI',
oid_data_source
VARCHAR(50) NULL COMMENT '二维码数据所属工厂编码: qd / dx / tjmndz / wlzn 等',
push_type
VARCHAR(10) NULL COMMENT '推送类型: ZC-正常(模盒关联+二码合一);ZDZHY-指定专用号;ZDDDH-指定订单号;WEWM-无二维码;WMWL-外卖物料;DB-调拨;GZ-改制;FG-返工工单;',
push_sap_factory_code
VARCHAR(10) NULL COMMENT '推送SAP工厂编码',
push_factory_vcode
VARCHAR(20) NULL COMMENT '推送工厂V码',
push_factory_name
VARCHAR(100) NULL,
push_factory_full_name
VARCHAR(150) NULL COMMENT '推送工厂全称',
push_factory_address
VARCHAR(200) NULL COMMENT '推送工厂地址',
push_batch_no
VARCHAR(70) NULL COMMENT '推送批次号',
push_material_code
VARCHAR(50) NULL COMMENT '推送专用号',
push_material_name
VARCHAR(20) NULL COMMENT '推送专用号名称',
is_online
INT NULL COMMENT '是否为实时任务生成:0-不是;1-是;',
register_time
DATETIME NULL COMMENT '数据写入ADS待推送数据表时间',
push_log_id
VARCHAR(50) NULL COMMENT '(暂留)数据推送日志ID',
INDEX idx_pcb_no (pcb_no
) USING INVERTED COMMENT '',
INDEX idx_prod_order_code (prod_order_code
) USING INVERTED COMMENT '',
INDEX idx_push_batch_no (push_batch_no
) USING INVERTED COMMENT '',
INDEX idx_oid_order_code (oid_order_code
) USING INVERTED COMMENT ''
) ENGINE=OLAP
UNIQUE KEY(id
, push_time
)
COMMENT '数据互联推送数据明细日志表'
PARTITION BY RANGE(push_time
)
(PARTITION p202409 VALUES [('2024-09-01 00:00:00'), ('2024-10-01 00:00:00')),
PARTITION p202410 VALUES [('2024-10-01 00:00:00'), ('2024-11-01 00:00:00')),
PARTITION p202411 VALUES [('2024-11-01 00:00:00'), ('2024-12-01 00:00:00')),
PARTITION p202412 VALUES [('2024-12-01 00:00:00'), ('2025-01-01 00:00:00')),
PARTITION p202501 VALUES [('2025-01-01 00:00:00'), ('2025-02-01 00:00:00')),
PARTITION p202502 VALUES [('2025-02-01 00:00:00'), ('2025-03-01 00:00:00')),
PARTITION p202503 VALUES [('2025-03-01 00:00:00'), ('2025-04-01 00:00:00')),
PARTITION p202504 VALUES [('2025-04-01 00:00:00'), ('2025-05-01 00:00:00')))
DISTRIBUTED BY HASH(id
) BUCKETS 20
PROPERTIES (
"replication_allocation" = "tag.location.default: 3",
"min_load_replica_num" = "-1",
"is_being_synced" = "false",
"dynamic_partition.enable" = "true",
"dynamic_partition.time_unit" = "MONTH",
"dynamic_partition.time_zone" = "Asia/Shanghai",
"dynamic_partition.start" = "-2147483648",
"dynamic_partition.end" = "1",
"dynamic_partition.prefix" = "p",
"dynamic_partition.replication_allocation" = "tag.location.default: 3",
"dynamic_partition.buckets" = "20",
"dynamic_partition.create_history_partition" = "true",
"dynamic_partition.history_partition_num" = "6",
"dynamic_partition.hot_partition_num" = "0",
"dynamic_partition.reserved_history_periods" = "NULL",
"dynamic_partition.storage_policy" = "",
"dynamic_partition.start_day_of_month" = "1",
"storage_medium" = "hdd",
"storage_format" = "V2",
"inverted_index_storage_format" = "V1",
"compression" = "LZ4",
"enable_unique_key_merge_on_write" = "true",
"light_schema_change" = "true",
"disable_auto_compaction" = "false",
"enable_single_replica_compaction" = "false",
"group_commit_interval_ms" = "10000",
"group_commit_data_bytes" = "134217728"
);
正常查询语句:
select push_factory_name from log_hmqm_push_data_detail where push_type != 'DB' AND oid_order_code = '001006467248' AND push_time >= '2025-03-19 12:20:00';
select push_factory_name from log_hmqm_push_data_detail where push_type = 'DB' AND push_batch_no = '001006467248' AND push_time >= '2025-03-19 12:20:00'
SELECT
push_factory_name
FROM
log_hmqm_push_data_detail
WHERE
(
(push_batch_no = '001006467248'
)
OR (oid_order_code = '001006467248'
)
)
AND push_time >= '2024-03-21 15:20:00'
;
报错查询语句:
SELECT
push_factory_name
FROM
log_hmqm_push_data_detail
WHERE
(
(
push_type = 'DB'
AND push_batch_no = '001006467248'
)
OR (
push_type != 'DB'
AND oid_order_code = '001006467248'
)
)
AND push_time >= '2024-03-21 15:20:00'
;
报错信息如下:
0# doris::segment_v2::SegmentIterator::copy_column_data_by_selector(doris::vectorized::IColumn*, COW<doris::vectorized::IColumn>::mutable_ptr<doris::vectorized::IColumn>&, unsigned short*, unsigned short, unsigned long) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:0
1# doris::Status doris::segment_v2::SegmentIterator::_output_column_by_sel_idx<std::vector<unsigned int, std::allocator<unsigned int> > >(doris::vectorized::Block*, std::vector<unsigned int, std::allocator<unsigned int> > const&, unsigned short*, unsigned short) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:449
2# doris::segment_v2::SegmentIterator::_next_batch_internal(doris::vectorized::Block*) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:449
3# doris::segment_v2::SegmentIterator::next_batch(doris::vectorized::Block*) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:449
4# doris::BetaRowsetReader::next_block(doris::vectorized::Block*) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:449
5# doris::vectorized::VCollectIterator::Level0Iterator::refresh_current_row() at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:449
6# doris::vectorized::VCollectIterator::Level0Iterator::ensure_first_row_ref() at /var/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/shared_ptr_base.h:1147
7# doris::vectorized::VCollectIterator::Level1Iterator::ensure_first_row_ref() at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:449
8# doris::vectorized::VCollectIterator::build_heap(std::vector<std::shared_ptr<doris::RowsetReader>, std::allocator<std::shared_ptr<doris::RowsetReader> > >&) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:449
9# doris::vectorized::BlockReader::_init_collect_iter(doris::TabletReader::ReaderParams const&) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:449
10# doris::vectorized::BlockReader::init(doris::TabletReader::ReaderParams const&) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:449
11# doris::vectorized::NewOlapScanner::open(doris::RuntimeState*) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:449
12# doris::vectorized::ScannerScheduler::_scanner_scan(std::shared_ptr<doris::vectorized::ScannerContext>, std::shared_ptr<doris::vectorized::ScanTask>) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:345
13# std::_Function_handler<void (), doris::vectorized::ScannerScheduler::submit(std::shared_ptr<doris::vectorized::ScannerContext>, std::shared_ptr<doris::vectorized::ScanTask>)::$_2>::_M_invoke(std::_Any_data const&) at /var/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/shared_ptr_base.h:701
14# doris::WorkThreadPool<true>::work_thread(int) at /var/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/atomic_base.h:646
15# execute_native_thread_routine at /data/gcc-11.1.0/build/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/unique_ptr.h:85
16# start_thread
17# __clone
, backend=10.206.150.7
at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCStatementImpl.executeStatement(JDBCStatementImpl.java:130)
at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.executeStatement(SQLQueryJob.java:653)
at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.lambda$2(SQLQueryJob.java:546)
at org.jkiss.dbeaver.model.exec.DBExecUtils.tryExecuteRecover(DBExecUtils.java:192)
at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.executeSingleQuery(SQLQueryJob.java:565)
at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.extractData(SQLQueryJob.java:1039)
at org.jkiss.dbeaver.ui.editors.sql.SQLEditor$QueryResultsContainer.readData(SQLEditor.java:4319)
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.lambda$0(ResultSetJobDataRead.java:128)
at org.jkiss.dbeaver.model.exec.DBExecUtils.tryExecuteRecover(DBExecUtils.java:192)
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.run(ResultSetJobDataRead.java:126)
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetViewer$ResultSetDataPumpJob.run(ResultSetViewer.java:5081)
at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:119)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Caused by: java.sql.SQLException: errCode = 2, detailMessage = (10.206.150.7)[CANCELLED]failed to initialize storage reader. tablet=42000306, res=[RUNTIME_ERROR]copy_column_data_by_selector nullable mismatch
0# doris::segment_v2::SegmentIterator::copy_column_data_by_selector(doris::vectorized::IColumn*, COW<doris::vectorized::IColumn>::mutable_ptr<doris::vectorized::IColumn>&, unsigned short*, unsigned short, unsigned long) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:0
1# doris::Status doris::segment_v2::SegmentIterator::_output_column_by_sel_idx<std::vector<unsigned int, std::allocator<unsigned int> > >(doris::vectorized::Block*, std::vector<unsigned int, std::allocator<unsigned int> > const&, unsigned short*, unsigned short) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:449
2# doris::segment_v2::SegmentIterator::_next_batch_internal(doris::vectorized::Block*) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:449
3# doris::segment_v2::SegmentIterator::next_batch(doris::vectorized::Block*) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:449
4# doris::BetaRowsetReader::next_block(doris::vectorized::Block*) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:449
5# doris::vectorized::VCollectIterator::Level0Iterator::refresh_current_row() at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:449
6# doris::vectorized::VCollectIterator::Level0Iterator::ensure_first_row_ref() at /var/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/shared_ptr_base.h:1147
7# doris::vectorized::VCollectIterator::Level1Iterator::ensure_first_row_ref() at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:449
8# doris::vectorized::VCollectIterator::build_heap(std::vector<std::shared_ptr<doris::RowsetReader>, std::allocator<std::shared_ptr<doris::RowsetReader> > >&) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:449
9# doris::vectorized::BlockReader::_init_collect_iter(doris::TabletReader::ReaderParams const&) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:449
10# doris::vectorized::BlockReader::init(doris::TabletReader::ReaderParams const&) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:449
11# doris::vectorized::NewOlapScanner::open(doris::RuntimeState*) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:449
12# doris::vectorized::ScannerScheduler::_scanner_scan(std::shared_ptr<doris::vectorized::ScannerContext>, std::shared_ptr<doris::vectorized::ScanTask>) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:345
13# std::_Function_handler<void (), doris::vectorized::ScannerScheduler::submit(std::shared_ptr<doris::vectorized::ScannerContext>, std::shared_ptr<doris::vectorized::ScanTask>)::$_2>::_M_invoke(std::_Any_data const&) at /var/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/shared_ptr_base.h:701
14# doris::WorkThreadPool<true>::work_thread(int) at /var/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/atomic_base.h:646
15# execute_native_thread_routine at /data/gcc-11.1.0/build/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/unique_ptr.h:85
16# start_thread
17# __clone
, backend=10.206.150.7
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
at com.mysql.cj.jdbc.StatementImpl.executeInternal(StatementImpl.java:767)
at com.mysql.cj.jdbc.StatementImpl.execute(StatementImpl.java:652)
at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCStatementImpl.execute(JDBCStatementImpl.java:344)
at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCStatementImpl.executeStatement(JDBCStatementImpl.java:128)
... 12 more```