Skip to content

Commit ed42b7e

Browse files
committed
add standard comparison operators
1 parent 6fa57df commit ed42b7e

File tree

13 files changed

+86
-12
lines changed

13 files changed

+86
-12
lines changed

crates/configuration/src/version3/comparison.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -29,22 +29,22 @@ impl ComparisonOperatorMapping {
2929
ComparisonOperatorMapping {
3030
operator_name: "<=".to_string(),
3131
exposed_name: "_lte".to_string(),
32-
operator_kind: OperatorKind::Custom,
32+
operator_kind: OperatorKind::LessThanOrEqual,
3333
},
3434
ComparisonOperatorMapping {
3535
operator_name: ">".to_string(),
3636
exposed_name: "_gt".to_string(),
37-
operator_kind: OperatorKind::Custom,
37+
operator_kind: OperatorKind::GreaterThan,
3838
},
3939
ComparisonOperatorMapping {
4040
operator_name: ">=".to_string(),
4141
exposed_name: "_gte".to_string(),
42-
operator_kind: OperatorKind::Custom,
42+
operator_kind: OperatorKind::GreaterThanOrEqual,
4343
},
4444
ComparisonOperatorMapping {
4545
operator_name: "<".to_string(),
4646
exposed_name: "_lt".to_string(),
47-
operator_kind: OperatorKind::Custom,
47+
operator_kind: OperatorKind::LessThan,
4848
},
4949
ComparisonOperatorMapping {
5050
operator_name: "<>".to_string(),

crates/configuration/src/version3/metadata/database.rs

+4
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,10 @@ pub struct ComparisonOperator {
7676
pub enum OperatorKind {
7777
Equal,
7878
In,
79+
LessThan,
80+
LessThanOrEqual,
81+
GreaterThan,
82+
GreaterThanOrEqual,
7983
Custom,
8084
}
8185

crates/configuration/src/version3/mod.rs

+10
Original file line numberDiff line numberDiff line change
@@ -1054,6 +1054,16 @@ fn convert_operator_kind(
10541054
match operator_kind {
10551055
metadata::OperatorKind::Equal => query_engine_metadata::metadata::OperatorKind::Equal,
10561056
metadata::OperatorKind::In => query_engine_metadata::metadata::OperatorKind::In,
1057+
metadata::OperatorKind::LessThan => query_engine_metadata::metadata::OperatorKind::LessThan,
1058+
metadata::OperatorKind::LessThanOrEqual => {
1059+
query_engine_metadata::metadata::OperatorKind::LessThanOrEqual
1060+
}
1061+
metadata::OperatorKind::GreaterThan => {
1062+
query_engine_metadata::metadata::OperatorKind::GreaterThan
1063+
}
1064+
metadata::OperatorKind::GreaterThanOrEqual => {
1065+
query_engine_metadata::metadata::OperatorKind::GreaterThanOrEqual
1066+
}
10571067
metadata::OperatorKind::Custom => query_engine_metadata::metadata::OperatorKind::Custom,
10581068
}
10591069
}

crates/configuration/src/version4/comparison.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -29,22 +29,22 @@ impl ComparisonOperatorMapping {
2929
ComparisonOperatorMapping {
3030
operator_name: "<=".to_string(),
3131
exposed_name: "_lte".to_string(),
32-
operator_kind: OperatorKind::Custom,
32+
operator_kind: OperatorKind::LessThanOrEqual,
3333
},
3434
ComparisonOperatorMapping {
3535
operator_name: ">".to_string(),
3636
exposed_name: "_gt".to_string(),
37-
operator_kind: OperatorKind::Custom,
37+
operator_kind: OperatorKind::GreaterThan,
3838
},
3939
ComparisonOperatorMapping {
4040
operator_name: ">=".to_string(),
4141
exposed_name: "_gte".to_string(),
42-
operator_kind: OperatorKind::Custom,
42+
operator_kind: OperatorKind::GreaterThanOrEqual,
4343
},
4444
ComparisonOperatorMapping {
4545
operator_name: "<".to_string(),
4646
exposed_name: "_lt".to_string(),
47-
operator_kind: OperatorKind::Custom,
47+
operator_kind: OperatorKind::LessThan,
4848
},
4949
ComparisonOperatorMapping {
5050
operator_name: "<>".to_string(),

crates/configuration/src/version4/metadata/database.rs

+4
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,10 @@ pub struct ComparisonOperator {
7979
pub enum OperatorKind {
8080
Equal,
8181
In,
82+
LessThan,
83+
LessThanOrEqual,
84+
GreaterThan,
85+
GreaterThanOrEqual,
8286
Custom,
8387
}
8488

crates/configuration/src/version4/to_runtime_configuration.rs

+10
Original file line numberDiff line numberDiff line change
@@ -349,6 +349,16 @@ fn convert_operator_kind(
349349
match operator_kind {
350350
metadata::OperatorKind::Equal => query_engine_metadata::metadata::OperatorKind::Equal,
351351
metadata::OperatorKind::In => query_engine_metadata::metadata::OperatorKind::In,
352+
metadata::OperatorKind::LessThan => query_engine_metadata::metadata::OperatorKind::LessThan,
353+
metadata::OperatorKind::LessThanOrEqual => {
354+
query_engine_metadata::metadata::OperatorKind::LessThanOrEqual
355+
}
356+
metadata::OperatorKind::GreaterThan => {
357+
query_engine_metadata::metadata::OperatorKind::GreaterThan
358+
}
359+
metadata::OperatorKind::GreaterThanOrEqual => {
360+
query_engine_metadata::metadata::OperatorKind::GreaterThanOrEqual
361+
}
352362
metadata::OperatorKind::Custom => query_engine_metadata::metadata::OperatorKind::Custom,
353363
}
354364
}

crates/configuration/src/version4/upgrade_from_v3.rs

+8
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,14 @@ fn upgrade_operator_kind(
156156
match operator_kind {
157157
version3::metadata::OperatorKind::Equal => metadata::OperatorKind::Equal,
158158
version3::metadata::OperatorKind::In => metadata::OperatorKind::In,
159+
version3::metadata::OperatorKind::LessThan => metadata::OperatorKind::LessThan,
160+
version3::metadata::OperatorKind::LessThanOrEqual => {
161+
metadata::OperatorKind::LessThanOrEqual
162+
}
163+
version3::metadata::OperatorKind::GreaterThan => metadata::OperatorKind::GreaterThan,
164+
version3::metadata::OperatorKind::GreaterThanOrEqual => {
165+
metadata::OperatorKind::GreaterThanOrEqual
166+
}
159167
version3::metadata::OperatorKind::Custom => metadata::OperatorKind::Custom,
160168
}
161169
}

crates/configuration/src/version5/comparison.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -29,22 +29,22 @@ impl ComparisonOperatorMapping {
2929
ComparisonOperatorMapping {
3030
operator_name: "<=".to_string(),
3131
exposed_name: "_lte".to_string(),
32-
operator_kind: OperatorKind::Custom,
32+
operator_kind: OperatorKind::LessThanOrEqual,
3333
},
3434
ComparisonOperatorMapping {
3535
operator_name: ">".to_string(),
3636
exposed_name: "_gt".to_string(),
37-
operator_kind: OperatorKind::Custom,
37+
operator_kind: OperatorKind::GreaterThan,
3838
},
3939
ComparisonOperatorMapping {
4040
operator_name: ">=".to_string(),
4141
exposed_name: "_gte".to_string(),
42-
operator_kind: OperatorKind::Custom,
42+
operator_kind: OperatorKind::GreaterThanOrEqual,
4343
},
4444
ComparisonOperatorMapping {
4545
operator_name: "<".to_string(),
4646
exposed_name: "_lt".to_string(),
47-
operator_kind: OperatorKind::Custom,
47+
operator_kind: OperatorKind::LessThan,
4848
},
4949
ComparisonOperatorMapping {
5050
operator_name: "<>".to_string(),

crates/configuration/src/version5/metadata/database.rs

+4
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,10 @@ pub struct ComparisonOperator {
8585
pub enum OperatorKind {
8686
Equal,
8787
In,
88+
LessThan,
89+
LessThanOrEqual,
90+
GreaterThan,
91+
GreaterThanOrEqual,
8892
Custom,
8993
}
9094

crates/configuration/src/version5/to_runtime_configuration.rs

+10
Original file line numberDiff line numberDiff line change
@@ -346,6 +346,16 @@ fn convert_operator_kind(
346346
match operator_kind {
347347
metadata::OperatorKind::Equal => query_engine_metadata::metadata::OperatorKind::Equal,
348348
metadata::OperatorKind::In => query_engine_metadata::metadata::OperatorKind::In,
349+
metadata::OperatorKind::LessThan => query_engine_metadata::metadata::OperatorKind::LessThan,
350+
metadata::OperatorKind::LessThanOrEqual => {
351+
query_engine_metadata::metadata::OperatorKind::LessThanOrEqual
352+
}
353+
metadata::OperatorKind::GreaterThan => {
354+
query_engine_metadata::metadata::OperatorKind::GreaterThan
355+
}
356+
metadata::OperatorKind::GreaterThanOrEqual => {
357+
query_engine_metadata::metadata::OperatorKind::GreaterThanOrEqual
358+
}
349359
metadata::OperatorKind::Custom => query_engine_metadata::metadata::OperatorKind::Custom,
350360
}
351361
}

crates/configuration/src/version5/upgrade_from_v4.rs

+8
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,14 @@ fn upgrade_operator_kind(
7777
match operator_kind {
7878
version4::metadata::OperatorKind::Equal => metadata::OperatorKind::Equal,
7979
version4::metadata::OperatorKind::In => metadata::OperatorKind::In,
80+
version4::metadata::OperatorKind::LessThan => metadata::OperatorKind::LessThan,
81+
version4::metadata::OperatorKind::LessThanOrEqual => {
82+
metadata::OperatorKind::LessThanOrEqual
83+
}
84+
version4::metadata::OperatorKind::GreaterThan => metadata::OperatorKind::GreaterThan,
85+
version4::metadata::OperatorKind::GreaterThanOrEqual => {
86+
metadata::OperatorKind::GreaterThanOrEqual
87+
}
8088
version4::metadata::OperatorKind::Custom => metadata::OperatorKind::Custom,
8189
}
8290
}

crates/connectors/ndc-postgres/src/schema/mod.rs

+12
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,18 @@ pub fn get_schema(
8181
metadata::OperatorKind::In => {
8282
models::ComparisonOperatorDefinition::In
8383
}
84+
metadata::OperatorKind::LessThan => {
85+
models::ComparisonOperatorDefinition::LessThan
86+
}
87+
metadata::OperatorKind::LessThanOrEqual => {
88+
models::ComparisonOperatorDefinition::LessThanOrEqual
89+
}
90+
metadata::OperatorKind::GreaterThan => {
91+
models::ComparisonOperatorDefinition::GreaterThan
92+
}
93+
metadata::OperatorKind::GreaterThanOrEqual => {
94+
models::ComparisonOperatorDefinition::GreaterThanOrEqual
95+
}
8496
metadata::OperatorKind::Custom => {
8597
models::ComparisonOperatorDefinition::Custom {
8698
argument_type: models::Type::Named {

crates/query-engine/metadata/src/metadata/database.rs

+4
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,10 @@ pub struct ComparisonOperator {
7777
pub enum OperatorKind {
7878
Equal,
7979
In,
80+
LessThan,
81+
LessThanOrEqual,
82+
GreaterThan,
83+
GreaterThanOrEqual,
8084
Custom,
8185
}
8286

0 commit comments

Comments
 (0)