Skip to content

Commit 8467049

Browse files
authored
fix: block_entry.memory_size (#16230)
* fix block_entry.memory_size Signed-off-by: coldWater <forsaken628@gmail.com> * fix Signed-off-by: coldWater <forsaken628@gmail.com> * fix Signed-off-by: coldWater <forsaken628@gmail.com> * refine Signed-off-by: coldWater <forsaken628@gmail.com> --------- Signed-off-by: coldWater <forsaken628@gmail.com>
1 parent 493af79 commit 8467049

File tree

9 files changed

+29
-9
lines changed

9 files changed

+29
-9
lines changed

src/query/expression/src/block.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -586,7 +586,7 @@ impl TryFrom<DataBlock> for ArrowChunk<ArrayRef> {
586586
impl BlockEntry {
587587
pub fn memory_size(&self) -> usize {
588588
match &self.value {
589-
Value::Scalar(s) => std::mem::size_of_val(s),
589+
Value::Scalar(s) => s.as_ref().memory_size(),
590590
Value::Column(c) => c.memory_size(),
591591
}
592592
}

src/query/expression/tests/it/block.rs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,17 @@
11
use databend_common_expression::block_debug::box_render;
2+
use databend_common_expression::types::number::NumberScalar;
23
use databend_common_expression::types::string::StringColumnBuilder;
4+
use databend_common_expression::types::AnyType;
35
use databend_common_expression::types::DataType;
46
use databend_common_expression::types::Int32Type;
57
use databend_common_expression::types::NumberDataType;
8+
use databend_common_expression::BlockEntry;
69
use databend_common_expression::Column;
710
use databend_common_expression::DataField;
811
use databend_common_expression::DataSchemaRefExt;
912
use databend_common_expression::FromData;
13+
use databend_common_expression::Scalar;
14+
use databend_common_expression::Value;
1015

1116
use crate::common::new_block;
1217

@@ -56,3 +61,18 @@ fn test_box_render_block() {
5661
└────────────────────┘"#;
5762
assert_eq!(d, expected);
5863
}
64+
65+
#[test]
66+
fn test_block_entry_memory_size() {
67+
let scalar_u8 = Scalar::Number(NumberScalar::UInt8(1));
68+
69+
let entry = BlockEntry::new(
70+
DataType::Number(NumberDataType::UInt8),
71+
Value::<AnyType>::Scalar(scalar_u8),
72+
);
73+
assert_eq!(1, entry.memory_size());
74+
75+
let scalar_str = Scalar::String("abc".to_string());
76+
let entry = BlockEntry::new(DataType::String, Value::<AnyType>::Scalar(scalar_str));
77+
assert_eq!(3, entry.memory_size());
78+
}

tests/sqllogictests/suites/stage/formats/parquet/options/parquet_missing_uuid.test

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ remove @data/parquet/unload/uuid
1010
query
1111
copy into @data/parquet/unload/uuid/ from (select 1 as a) file_format = (type = parquet)
1212
----
13-
1 64 377
13+
1 1 377
1414

1515
query error column id doesn't exist
1616
copy into t_uuid from @data/parquet/unload/uuid file_format = (type = parquet) RETURN_FAILED_ONLY=TRUE
@@ -22,7 +22,7 @@ select * from t_uuid
2222
query
2323
copy into @data/parquet/unload/uuid/ from (select 1 as a) file_format = (type = parquet)
2424
----
25-
1 64 377
25+
1 1 377
2626

2727
statement ok
2828
truncate table t_uuid

tests/suites/0_stateless/05_hints/05_0001_set_var.result

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,5 +22,5 @@ Asia/Shanghai
2222
America/Toronto
2323
2022-02-02 03:00:00
2424
2022-02-01 14:00:00
25-
1 64 415
25+
1 13 415
2626
Asia/Shanghai

tests/suites/0_stateless/18_rbac/18_0007_privilege_access.result

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ Error: APIError: ResponseError with 1063: Permission denied: privilege READ is r
8787
Error: APIError: ResponseError with 1063: Permission denied: No privilege on database root_db for user b.
8888
Error: APIError: ResponseError with 1063: Permission denied: No privilege on table root_table for user b.
8989
Error: APIError: ResponseError with 1063: Permission denied: No privilege on table root_table for user b.
90-
1 64 377
90+
1 1 377
9191
Error: APIError: ResponseError with 1063: Permission denied: privilege [Select] is required on 'default'.'default'.'t1' for user 'b'@'%' with roles [public]
9292
Error: APIError: ResponseError with 1063: Permission denied: privilege [Read] is required on STAGE s3 for user 'b'@'%' with roles [public]. Note: Please ensure that your current role have the appropriate permissions to create a new Database|Table|UDF|Stage.
9393
Error: APIError: ResponseError with 1063: Permission denied: privilege [Select] is required on 'default'.'default'.'t' for user 'b'@'%' with roles [public]

tests/suites/1_stateful/00_stage/00_0012_stage_priv.result

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ Error: APIError: ResponseError with 1063: Permission denied: privilege [Write] i
1717
Error: APIError: ResponseError with 1063: Permission denied: privilege [Read] is required on STAGE presign_stage for user 'u1'@'%' with roles [public]. Note: Please ensure that your current role have the appropriate permissions to create a new Database|Table|UDF|Stage.
1818
000
1919
Error: APIError: ResponseError with 1063: Permission denied: privilege [Write] is required on STAGE s3 for user 'u1'@'%' with roles [public]. Note: Please ensure that your current role have the appropriate permissions to create a new Database|Table|UDF|Stage.
20-
1 64 377
20+
1 1 377
2121
Error: APIError: ResponseError with 1063: Permission denied: privilege [Read] is required on STAGE s3 for user 'u1'@'%' with roles [public]. Note: Please ensure that your current role have the appropriate permissions to create a new Database|Table|UDF|Stage.
2222
Error: APIError: ResponseError with 1063: Permission denied: privilege READ is required on stage s3 for user 'u1'@'%'
2323
Error: APIError: ResponseError with 1063: Permission denied: privilege READ is required on stage s3 for user 'u1'@'%'

tests/suites/1_stateful/07_stage_attachment/07_0000_insert_with_stage.result

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
sample.csv
22
Succeeded
33
96
4-
227
4+
168
55
null
66
1 'Beijing' 100 China
77
2 'Shanghai' 80 China

tests/suites/1_stateful/07_stage_attachment/07_0001_replace_with_stage.result

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
sample.csv
22
96
3-
227
3+
168
44
null
55
1 'Beijing' 100 China
66
2 'Shanghai' 80 China

tests/suites/1_stateful/07_stage_attachment/07_0002_insert_with_stage_deduplicate.result

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
sample.csv
22
96
3-
227
3+
168
44
null
55
1 'Beijing' 100 China
66
2 'Shanghai' 80 China

0 commit comments

Comments
 (0)