• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

geo-engine / geoengine / 16354606328

17 Jul 2025 07:51PM UTC coverage: 88.876%. First build
16354606328

Pull #1061

github

web-flow
Merge 019f6a1a8 into b8910c811
Pull Request #1061: feat(operators): skip empty tiles and merge masks in onnx; remove trace/debug in release mode

415 of 570 new or added lines in 44 files covered. (72.81%)

111626 of 125597 relevant lines covered (88.88%)

80287.59 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

52.38
/operators/src/machine_learning/db_types.rs
1
use geoengine_datatypes::delegate_from_to_sql;
2
use postgres_types::{FromSql, ToSql};
3

4
use crate::error::Error;
5

NEW
6
#[derive(Debug, ToSql, FromSql)]
×
7
pub enum MlModelInputNoDataHandlingVariant {
8
    EncodedNoData,
9
    SkipIfNoData,
10
}
11

NEW
12
#[derive(Debug, ToSql, FromSql)]
×
13
#[postgres(name = "MlModelInputNoDataHandling")]
14
pub struct MlModelInputNoDataHandlingDbType {
15
    no_data_value: Option<f32>,
16
    variant: MlModelInputNoDataHandlingVariant,
17
}
18

19
impl From<&crate::machine_learning::MlModelInputNoDataHandling>
20
    for MlModelInputNoDataHandlingDbType
21
{
22
    fn from(value: &crate::machine_learning::MlModelInputNoDataHandling) -> Self {
3✔
23
        match value {
3✔
24
            crate::machine_learning::MlModelInputNoDataHandling::EncodedNoData {
NEW
25
                no_data_value,
×
NEW
26
            } => Self {
×
NEW
27
                no_data_value: Some(*no_data_value),
×
NEW
28
                variant: MlModelInputNoDataHandlingVariant::EncodedNoData,
×
NEW
29
            },
×
30
            crate::machine_learning::MlModelInputNoDataHandling::SkipIfNoData => Self {
3✔
31
                no_data_value: None,
3✔
32
                variant: MlModelInputNoDataHandlingVariant::SkipIfNoData,
3✔
33
            },
3✔
34
        }
35
    }
3✔
36
}
37

38
impl TryFrom<MlModelInputNoDataHandlingDbType>
39
    for crate::machine_learning::MlModelInputNoDataHandling
40
{
41
    type Error = Error;
42

43
    fn try_from(value: MlModelInputNoDataHandlingDbType) -> Result<Self, Self::Error> {
2✔
44
        match value.variant {
2✔
45
            MlModelInputNoDataHandlingVariant::EncodedNoData => Ok(
46
                crate::machine_learning::MlModelInputNoDataHandling::EncodedNoData {
NEW
47
                    no_data_value: value.no_data_value.ok_or(
×
NEW
48
                        geoengine_datatypes::error::Error::UnexpectedInvalidDbTypeConversion,
×
NEW
49
                    )?,
×
50
                },
51
            ),
52
            MlModelInputNoDataHandlingVariant::SkipIfNoData => {
53
                Ok(crate::machine_learning::MlModelInputNoDataHandling::SkipIfNoData)
2✔
54
            }
55
        }
56
    }
2✔
57
}
58

NEW
59
#[derive(Debug, ToSql, FromSql)]
×
60
pub enum MlModelOutputNoDataHandlingVariant {
61
    EncodedNoData,
62
    NanIsNoData,
63
}
64

NEW
65
#[derive(Debug, ToSql, FromSql)]
×
66
#[postgres(name = "MlModelOutputNoDataHandling")]
67
pub struct MlModelOutputNoDataHandlingDbType {
68
    no_data_value: Option<f32>,
69
    variant: MlModelOutputNoDataHandlingVariant,
70
}
71

72
impl From<&crate::machine_learning::MlModelOutputNoDataHandling>
73
    for MlModelOutputNoDataHandlingDbType
74
{
75
    fn from(value: &crate::machine_learning::MlModelOutputNoDataHandling) -> Self {
3✔
76
        match value {
3✔
77
            crate::machine_learning::MlModelOutputNoDataHandling::EncodedNoData {
NEW
78
                no_data_value,
×
NEW
79
            } => Self {
×
NEW
80
                no_data_value: Some(*no_data_value),
×
NEW
81
                variant: MlModelOutputNoDataHandlingVariant::EncodedNoData,
×
NEW
82
            },
×
83
            crate::machine_learning::MlModelOutputNoDataHandling::NanIsNoData => Self {
3✔
84
                no_data_value: None,
3✔
85
                variant: MlModelOutputNoDataHandlingVariant::NanIsNoData,
3✔
86
            },
3✔
87
        }
88
    }
3✔
89
}
90

91
impl TryFrom<MlModelOutputNoDataHandlingDbType>
92
    for crate::machine_learning::MlModelOutputNoDataHandling
93
{
94
    type Error = Error;
95

96
    fn try_from(value: MlModelOutputNoDataHandlingDbType) -> Result<Self, Self::Error> {
2✔
97
        match value.variant {
2✔
98
            MlModelOutputNoDataHandlingVariant::EncodedNoData => Ok(
99
                crate::machine_learning::MlModelOutputNoDataHandling::EncodedNoData {
NEW
100
                    no_data_value: value.no_data_value.ok_or(
×
NEW
101
                        geoengine_datatypes::error::Error::UnexpectedInvalidDbTypeConversion,
×
NEW
102
                    )?,
×
103
                },
104
            ),
105
            MlModelOutputNoDataHandlingVariant::NanIsNoData => {
106
                Ok(crate::machine_learning::MlModelOutputNoDataHandling::NanIsNoData)
2✔
107
            }
108
        }
109
    }
2✔
110
}
111

112
delegate_from_to_sql!(
113
    super::MlModelInputNoDataHandling,
114
    MlModelInputNoDataHandlingDbType
115
);
116

117
delegate_from_to_sql!(
118
    super::MlModelOutputNoDataHandling,
119
    MlModelOutputNoDataHandlingDbType
120
);
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc