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

geo-engine / geoengine / 12863921949

20 Jan 2025 08:29AM UTC coverage: 90.007% (-0.6%) from 90.64%
12863921949

Pull #1008

github

web-flow
Merge 3737c26f3 into de81b44f7
Pull Request #1008: user ctx in ge_test

3317 of 3419 new or added lines in 61 files covered. (97.02%)

813 existing lines in 20 files now uncovered.

127380 of 141522 relevant lines covered (90.01%)

56878.97 hits per line

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

47.62
/services/src/datasets/postgres.rs
1
use super::DatasetName;
2
use crate::datasets::storage::MetaDataDefinition;
3
use crate::datasets::upload::FileId;
4
use crate::error::Result;
5
use async_trait::async_trait;
6
use bb8_postgres::bb8::PooledConnection;
7
use bb8_postgres::tokio_postgres::tls::{MakeTlsConnect, TlsConnect};
8
use bb8_postgres::tokio_postgres::Socket;
9
use bb8_postgres::PostgresConnectionManager;
10
use geoengine_datatypes::dataset::DatasetId;
11
use geoengine_operators::engine::TypedResultDescriptor;
12
use postgres_types::{FromSql, ToSql};
13

14
pub async fn resolve_dataset_name_to_id<Tls>(
86✔
15
    conn: &PooledConnection<'_, PostgresConnectionManager<Tls>>,
86✔
16
    dataset_name: &DatasetName,
86✔
17
) -> Result<Option<DatasetId>>
86✔
18
where
86✔
19
    Tls: MakeTlsConnect<Socket> + Clone + Send + Sync + 'static,
86✔
20
    <Tls as MakeTlsConnect<Socket>>::Stream: Send + Sync,
86✔
21
    <Tls as MakeTlsConnect<Socket>>::TlsConnect: Send,
86✔
22
    <<Tls as MakeTlsConnect<Socket>>::TlsConnect as TlsConnect<Socket>>::Future: Send,
86✔
23
{
86✔
24
    let stmt = conn
86✔
25
        .prepare(
86✔
26
            "SELECT id
86✔
27
        FROM datasets
86✔
28
        WHERE name = $1::\"DatasetName\"",
86✔
29
        )
86✔
30
        .await?;
86✔
31

32
    let row_option = conn.query_opt(&stmt, &[&dataset_name]).await?;
86✔
33

34
    Ok(row_option.map(|row| row.get(0)))
86✔
35
}
86✔
36

37
#[async_trait]
38
pub trait PostgresStorable<Tls>: Send + Sync
39
where
40
    Tls: MakeTlsConnect<Socket> + Clone + Send + Sync + 'static,
41
    <Tls as MakeTlsConnect<Socket>>::Stream: Send + Sync,
42
    <Tls as MakeTlsConnect<Socket>>::TlsConnect: Send,
43
    <<Tls as MakeTlsConnect<Socket>>::TlsConnect as TlsConnect<Socket>>::Future: Send,
44
{
45
    fn to_typed_metadata(&self) -> Result<DatasetMetaData>;
46
}
47

48
pub struct DatasetMetaData<'m> {
49
    pub meta_data: &'m MetaDataDefinition,
50
    pub result_descriptor: TypedResultDescriptor,
51
}
52

UNCOV
53
#[derive(Debug, Clone, ToSql, FromSql)]
×
54
pub struct FileUpload {
55
    pub id: FileId,
56
    pub name: String,
57
    pub byte_size: i64,
58
}
59

60
impl From<crate::datasets::upload::FileUpload> for FileUpload {
61
    fn from(upload: crate::datasets::upload::FileUpload) -> Self {
×
62
        Self {
×
63
            id: upload.id,
×
64
            name: upload.name,
×
65
            byte_size: upload.byte_size as i64,
×
66
        }
×
67
    }
×
68
}
69

70
impl From<&crate::datasets::upload::FileUpload> for FileUpload {
UNCOV
71
    fn from(upload: &crate::datasets::upload::FileUpload) -> Self {
×
UNCOV
72
        Self {
×
UNCOV
73
            id: upload.id,
×
UNCOV
74
            name: upload.name.clone(),
×
UNCOV
75
            byte_size: upload.byte_size as i64,
×
UNCOV
76
        }
×
UNCOV
77
    }
×
78
}
79

80
impl From<FileUpload> for crate::datasets::upload::FileUpload {
UNCOV
81
    fn from(upload: FileUpload) -> Self {
×
UNCOV
82
        Self {
×
UNCOV
83
            id: upload.id,
×
UNCOV
84
            name: upload.name,
×
UNCOV
85
            byte_size: upload.byte_size as u64,
×
UNCOV
86
        }
×
UNCOV
87
    }
×
88
}
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