feat: add timediff data and time function

This commit is contained in:
Sachin Singh
2025-04-11 04:30:57 +05:30
parent 17b206297e
commit b7acfa490c
4 changed files with 168 additions and 0 deletions

View File

@@ -293,6 +293,7 @@ pub enum ScalarFunc {
StrfTime,
Printf,
Likely,
TimeDiff,
}
impl Display for ScalarFunc {
@@ -348,6 +349,7 @@ impl Display for ScalarFunc {
Self::StrfTime => "strftime".to_string(),
Self::Printf => "printf".to_string(),
Self::Likely => "likely".to_string(),
Self::TimeDiff => "timediff".to_string(),
};
write!(f, "{}", str)
}
@@ -555,6 +557,12 @@ impl Func {
}
Ok(Self::Agg(AggFunc::Total))
}
"timediff" => {
if arg_count != 2 {
crate::bail_parse_error!("wrong number of arguments to function {}()", name)
}
Ok(Self::Scalar(ScalarFunc::TimeDiff))
}
#[cfg(feature = "json")]
"jsonb_group_array" => Ok(Self::Agg(AggFunc::JsonbGroupArray)),
#[cfg(feature = "json")]