Skip to content

Commit 54af54c

Browse files
committed
Disable scheduling procedures
1 parent d7d06b1 commit 54af54c

2 files changed

Lines changed: 21 additions & 15 deletions

File tree

  • crates

crates/bindings/src/rt.rs

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -424,7 +424,9 @@ pub struct FnKindView {
424424
/// See <https://willcrichton.net/notes/defeating-coherence-rust/> for details on this technique.
425425
#[cfg_attr(
426426
feature = "unstable",
427-
doc = "It will be one of [`FnKindReducer`] or [`FnKindProcedure`] in modules that compile successfully."
427+
// TODO(scheduled-procedures): uncomment this, delete other line
428+
// doc = "It will be one of [`FnKindReducer`] or [`FnKindProcedure`] in modules that compile successfully."
429+
doc = "It will be [`FnKindReducer`] in modules that compile successfully."
428430
)]
429431
#[cfg_attr(
430432
not(feature = "unstable"),
@@ -437,23 +439,24 @@ pub struct FnKindView {
437439
note = "views cannot be scheduled",
438440
note = "the scheduled function must take `{TableRow}` as its sole argument",
439441
note = "e.g: `fn scheduled_reducer(ctx: &ReducerContext, arg: {TableRow})`",
440-
note = "or `fn scheduled_procedure(ctx: &mut ProcedureContext, arg: {TableRow})`"
442+
// note = "or `fn scheduled_procedure(ctx: &mut ProcedureContext, arg: {TableRow})`"
441443
)]
442444
pub trait ExportFunctionForScheduledTable<'de, TableRow, FnKind> {}
443445
impl<'de, TableRow: SpacetimeType + Serialize + Deserialize<'de>, F: Reducer<'de, (TableRow,)>>
444446
ExportFunctionForScheduledTable<'de, TableRow, FnKindReducer> for F
445447
{
446448
}
447449

448-
#[cfg(feature = "unstable")]
449-
impl<
450-
'de,
451-
TableRow: SpacetimeType + Serialize + Deserialize<'de>,
452-
Ret: SpacetimeType + Serialize + Deserialize<'de>,
453-
F: Procedure<'de, (TableRow,), Ret>,
454-
> ExportFunctionForScheduledTable<'de, TableRow, FnKindProcedure<Ret>> for F
455-
{
456-
}
450+
// TODO(scheduled-procedures): uncomment this to syntactically allow scheduled procedures.
451+
// #[cfg(feature = "unstable")]
452+
// impl<
453+
// 'de,
454+
// TableRow: SpacetimeType + Serialize + Deserialize<'de>,
455+
// Ret: SpacetimeType + Serialize + Deserialize<'de>,
456+
// F: Procedure<'de, (TableRow,), Ret>,
457+
// > ExportFunctionForScheduledTable<'de, TableRow, FnKindProcedure<Ret>> for F
458+
// {
459+
// }
457460

458461
// the macro generates <T as SpacetimeType>::make_type::<DummyTypespace>
459462
pub struct DummyTypespace;

crates/schema/src/def/validate/v9.rs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1222,10 +1222,13 @@ fn check_scheduled_functions_exist(
12221222
if let Some(reducer) = reducers.get(&schedule.function_name) {
12231223
schedule.function_kind = FunctionKind::Reducer;
12241224
validate_params(&reducer.params, table.product_type_ref, &reducer.name).map_err(Into::into)
1225-
} else if let Some(procedure) = procedures.get(&schedule.function_name) {
1226-
schedule.function_kind = FunctionKind::Procedure;
1227-
validate_params(&procedure.params, table.product_type_ref, &procedure.name).map_err(Into::into)
1228-
} else {
1225+
} else
1226+
// TODO(scheduled-procedures): Uncomment this
1227+
// if let Some(procedure) = procedures.get(&schedule.function_name) {
1228+
// schedule.function_kind = FunctionKind::Procedure;
1229+
// validate_params(&procedure.params, table.product_type_ref, &procedure.name).map_err(Into::into)
1230+
// } else
1231+
{
12291232
Err(ValidationError::MissingScheduledFunction {
12301233
schedule: schedule.name.clone(),
12311234
function: schedule.function_name.clone(),

0 commit comments

Comments
 (0)