syntax = "proto3";
package rayexec.functions;
import "expr.proto";
message ScalarFunction {
string name = 1; // Name of the function in the catalog.
}
message PlannedScalarFunction {
string name = 1; // Name of the function in the catalog.
bytes state = 2; // Opaque state, function implementation handles this.
}
message AggregateFunction {
string name = 1;
}
message PlannedAggregateFunction {
string name = 1;
bytes state = 2;
}
message TableFunction {
string name = 1;
}
message PlannedTableFunction {
string name = 1;
bytes state = 2;
}
message TableFunctionArgs {
map<string, expr.OwnedScalarValue> named = 1;
repeated expr.OwnedScalarValue positional = 2;
}
message CopyToFunction {
string name = 1;
}
message CopyToFunctionArgs {
map<string, expr.OwnedScalarValue> named = 1;
}