1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
use crate::duckly::{duckdb_destroy_value, duckdb_get_varchar, duckdb_value};
use std::ffi::CString;
#[derive(Debug)]
pub struct Value(duckdb_value);
impl Value {
pub fn get_varchar(&self) -> CString {
unsafe { CString::from_raw(duckdb_get_varchar(self.0)) }
}
}
impl From<duckdb_value> for Value {
fn from(ptr: duckdb_value) -> Self {
Self(ptr)
}
}
impl Drop for Value {
fn drop(&mut self) {
unsafe {
duckdb_destroy_value(&mut self.0);
}
}
}