tispark简单的select查询报UnsupportedSyntaxException

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

  • 【TiDB 版本】:tidb v4.0.8 tispark 2.3.11
  • 【问题描述】:
    image
    如图,报UnsupportedSyntaxException,但是这就是个简单的查询,语法没啥问题啊

若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。


通过如图的测试和异常堆栈,我看是在visitFullColumnName报错的,猜测可能和列名叫date有关系。。
这个地方应该是有个bug吧?

这个问题我们看下,有信息回复。

能否在mysql客户端运行一下 show create table,然后把结果文字复制过来,感谢

1.上面rename date列的报ERROR 1054 (42S22): Unknown column ‘date’ in 'expression’问,
是由于date是我们分区表的分区key。
如果不是分区表,rename是可以成功的。

2.我新建表,date列名改为dat后,tispark可以正常的查询。

你好,刚看到这个消息,表创建语句如下
CREATE TABLE vendor_creative_report_bak (
date date NOT NULL,
vendor_account_id bigint(20) NOT NULL,
h int(11) NOT NULL,
vendor_id int(11) NOT NULL,
vendor_creative_id varchar(128) NOT NULL,
vendor_adunit_id varchar(128) NOT NULL,
vendor_campaign_id varchar(128) NOT NULL,
photo_id varchar(128) NOT NULL,
is_test_data int(11) NOT NULL,
data_provider varchar(128) NOT NULL,
cost bigint(20) DEFAULT NULL,
impression bigint(20) DEFAULT NULL,
click bigint(20) DEFAULT NULL,
content_impression bigint(20) DEFAULT NULL,
content_click bigint(20) DEFAULT NULL
UNIQUE KEY uniq_creative_report_day_idx (date,vendor_account_id,h,vendor_id,vendor_creative_id,vendor_adunit_id,vendor_campaign_id,photo_id,is_test_data)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin
PARTITION BY RANGE COLUMNS(date) (
PARTITION p20200404 VALUES LESS THAN (“2020-04-05”),
PARTITION p20200405 VALUES LESS THAN (“2020-04-06”),
PARTITION p20200406 VALUES LESS THAN (“2020-04-07”),
PARTITION p20200407 VALUES LESS THAN (“2020-04-08”),
PARTITION p20200408 VALUES LESS THAN (“2020-04-09”),
PARTITION p20200409 VALUES LESS THAN (“2020-04-10”),
PARTITION p20200410 VALUES LESS THAN (“2020-04-11”),
PARTITION p20200411 VALUES LESS THAN (“2020-04-12”),
PARTITION p20200412 VALUES LESS THAN (“2020-04-13”),
PARTITION p20200413 VALUES LESS THAN (“2020-04-14”),
PARTITION p20200414 VALUES LESS THAN (“2020-04-15”),
PARTITION p20200415 VALUES LESS THAN (“2020-04-16”),
PARTITION p20200416 VALUES LESS THAN (“2020-04-17”),
PARTITION p20200417 VALUES LESS THAN (“2020-04-18”),
PARTITION p20200418 VALUES LESS THAN (“2020-04-19”)
)

感谢提供的信息,我已经能复现了,我会尽快修复这个问题

PR 见 https://github.com/pingcap/tispark/pull/1892

可以先用这个 jar 测试,等正式 release 后再切换

链接: https://pan.baidu.com/s/1sJu6aNzdGnjGD5Qlug7_EA 提取码: ts8h 复制这段内容后打开百度网盘手机App,操作更方便哦