Skip to content

Commit 14590cc

Browse files
authored
Merge branch 'main' into no_start
2 parents 0c0b991 + d3aeeef commit 14590cc

File tree

14 files changed

+110
-38
lines changed

14 files changed

+110
-38
lines changed

src/common/io/src/buffer/buffer_read_datetime_ext.rs

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -97,15 +97,27 @@ where R: BufferRead
9797
loop {
9898
buf.clear();
9999
let size = self.keep_read(&mut buf, |f| (b'0'..=b'9').contains(&f))?;
100-
match get_time(&mut buf, size) {
101-
Ok(time) => times.push(time),
102-
Err(e) => return Err(e),
103-
}
104-
if times.len() == 3 {
100+
if size == 0 {
105101
break;
102+
} else {
103+
let time = get_time(&mut buf, size)?;
104+
times.push(time);
105+
if times.len() == 3 {
106+
break;
107+
}
108+
self.ignore_byte(b':')?;
106109
}
107-
self.must_ignore_byte(b':')?;
108110
}
111+
// Time part is HH:MM or HH or empty
112+
// Examples: '2022-02-02T', '2022-02-02 ', '2022-02-02T02', '2022-02-02T3:', '2022-02-03T03:13', '2022-02-03T03:13:'
113+
if times.len() < 3 {
114+
times.resize(3, 0);
115+
dt = tz
116+
.from_local_datetime(&d.and_hms(times[0], times[1], times[2]))
117+
.unwrap();
118+
return less_1000(dt);
119+
}
120+
109121
dt = tz
110122
.from_local_datetime(&d.and_hms(times[0], times[1], times[2]))
111123
.unwrap();

src/common/io/tests/it/buffer/buffer_read_datetime_ext.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,14 @@ use common_io::prelude::*;
1919
#[test]
2020
fn test_read_datetime_ext() -> Result<()> {
2121
let mut reader = BufferReader::new(
22-
"2023-03-03,2022-02-02,2009-01-01 3:2:1.123,2009-01-01 0:00:00,2009-01-01 00:00:00.123,2009-01-01 00:00:00.123456,0002-03-03T00:01:02,2022-03-04T00:01:02+08:00,2022-03-04T00:01:02-08:00,0000-00-00,0000-00-00 00:00:00,0001-01-01 00:00:00,2020-01-01T11:11:11Z,2009-01-03 00:00:00,2020-01-01T11:11:11.123Z,2055-02-03 10:00:20.234+08:00,2055-02-03 10:00:20.234-08:00,1022-05-16T03:25:02.000000+08:00".as_bytes(),
22+
"2022-02-02T,2022-02-02 12,2022-02-02T13:4:,2022-02-02 12:03,2023-03-03,2022-02-02,2009-01-01 3:2:1.123,2009-01-01 0:00:00,2009-01-01 00:00:00.123,2009-01-01 00:00:00.123456,0002-03-03T00:01:02,2022-03-04T00:01:02+08:00,2022-03-04T00:01:02-08:00,0000-00-00,0000-00-00 00:00:00,0001-01-01 00:00:00,2020-01-01T11:11:11Z,2009-01-03 00:00:00,2020-01-01T11:11:11.123Z,2055-02-03 10:00:20.234+08:00,2055-02-03 10:00:20.234-08:00,1022-05-16T03:25:02.000000+08:00".as_bytes(),
2323
);
2424
let tz = Tz::UTC;
2525
let expected = vec![
26+
"2022-02-02T00:00:00UTC",
27+
"2022-02-02T12:00:00UTC",
28+
"2022-02-02T13:04:00UTC",
29+
"2022-02-02T12:03:00UTC",
2630
"2023-03-03T00:00:00UTC",
2731
"2022-02-02T00:00:00UTC",
2832
"2009-01-01T03:02:01.123UTC",

src/query/service/src/sql/planner/binder/project.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,7 @@ impl<'a> Binder {
220220
// If alias is not specified, we will generate a name for the scalar expression.
221221
let expr_name = match alias {
222222
Some(alias) => normalize_identifier(alias, &self.name_resolution_ctx).name,
223-
None => format!("{:#}", expr),
223+
None => format!("{:#}", expr).to_lowercase(),
224224
};
225225

226226
output.items.push(SelectItem {

src/query/service/tests/it/interpreters/interpreter_show_engines.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ async fn test_show_engines_interpreter() -> Result<()> {
3434
let result = stream.try_collect::<Vec<_>>().await?;
3535
let expected = vec![
3636
"+--------+-----------------------------+",
37-
"| Engine | Comment |",
37+
"| engine | comment |",
3838
"+--------+-----------------------------+",
3939
"| FUSE | FUSE Storage Engine |",
4040
"| MEMORY | MEMORY Storage Engine |",

src/query/service/tests/it/interpreters/interpreter_table_recluster.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ async fn test_alter_recluster_interpreter() -> Result<()> {
107107
let result = stream.try_collect::<Vec<_>>().await?;
108108
let expected = vec![
109109
"+----------+",
110-
"| COUNT(*) |",
110+
"| count(*) |",
111111
"+----------+",
112112
"| 4 |",
113113
"+----------+",

src/query/service/tests/it/storages/fuse/operations/optimize.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ async fn test_fuse_snapshot_optimize_compact() -> Result<()> {
9595
// there should be 6 history items there, 5 for the above insertions, 1 for that compaction
9696
let expected = vec![
9797
"+----------+",
98-
"| COUNT(*) |",
98+
"| count(*) |",
9999
"+----------+",
100100
"| 6 |",
101101
"+----------+",

tests/logictest/suites/base/02_function/02_0012_function_datetimes

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,54 @@ select to_datetime('9999-12-31 23:59:59');
9595
----
9696
9999-12-31 23:59:59.000000
9797

98+
statement query T
99+
select to_datetime('9999-12-31 ');
100+
101+
----
102+
9999-12-31 00:00:00.000000
103+
104+
statement query T
105+
select to_datetime('9999-12-31T');
106+
107+
----
108+
9999-12-31 00:00:00.000000
109+
110+
statement query T
111+
select to_datetime('9999-12-31 23');
112+
113+
----
114+
9999-12-31 23:00:00.000000
115+
116+
statement query T
117+
select to_datetime('9999-12-31 23:');
118+
119+
----
120+
9999-12-31 23:00:00.000000
121+
122+
statement query T
123+
select to_datetime('9999-12-31 23:59');
124+
125+
----
126+
9999-12-31 23:59:00.000000
127+
128+
statement query T
129+
select to_datetime('9999-12-31 23:59:');
130+
131+
----
132+
9999-12-31 23:59:00.000000
133+
134+
statement error 1010
135+
select to_datetime('9999-01-01 00x');
136+
137+
statement error 1010
138+
select to_datetime('9999-01-01 001');
139+
140+
statement error 1010
141+
select to_datetime('9999-01-01 01:123');
142+
143+
statement error 1010
144+
select to_datetime('9999-01-01 01:12.123+02:00');
145+
98146
statement error 1010
99147
select to_datetime('10000-01-01 00:00:00');
100148

tests/logictest/suites/base/11_data_type/11_0001_data_type_date_time

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -269,12 +269,6 @@ select * from t order by id;
269269
2 2022-02-03 11:00:00.000000
270270
3 2022-02-03 11:02:01.123456
271271

272-
statement error 1010
273-
insert into t values(1, '2022-02-03T');
274-
275-
statement error 1010
276-
insert into t values(1, '2022-02-03 ');
277-
278272
statement error 1010
279273
insert into t values(1, '2022-02-03 003:02:02');
280274

tests/logictest/suites/base/15_query/case_sensitivity/join.test

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,17 @@ select * from t join t t1 using(A, "A");
2222
statement ok
2323
drop table t;
2424

25+
statement ok
26+
create table t(A int);
27+
28+
statement ok
29+
insert into t values(1);
30+
31+
statement query I
32+
select A from (select A from t) t1 join (select A from t) t2 using(A);
33+
34+
----
35+
1
36+
37+
statement ok
38+
drop table t;

tests/logictest/suites/mode/standalone/explain/fold_count.test

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ explain select count(*) from t;
99

1010
----
1111
Project
12-
├── columns: [COUNT(*) (#1)]
12+
├── columns: [count(*) (#1)]
1313
└── EvalScalar
1414
├── expressions: [COUNT(*) (#2)]
1515
└── EvalScalar
@@ -24,7 +24,7 @@ explain select count(*) from t;
2424

2525
----
2626
Project
27-
├── columns: [COUNT(*) (#1)]
27+
├── columns: [count(*) (#1)]
2828
└── EvalScalar
2929
├── expressions: [COUNT(*) (#2)]
3030
└── EvalScalar
@@ -36,7 +36,7 @@ explain select count(*) from t where number > 10;
3636

3737
----
3838
Project
39-
├── columns: [COUNT(*) (#1)]
39+
├── columns: [count(*) (#1)]
4040
└── EvalScalar
4141
├── expressions: [COUNT(*) (#2)]
4242
└── AggregateFinal

0 commit comments

Comments
 (0)