glaredb_proto 25.6.3

Protobuf definitions for GlareDB
Documentation
syntax = "proto3";

package rayexec.resolver;

import "expr.proto";
import "logical.proto";
import "functions.proto";
import "ast/raw.proto";
import "catalog.proto";

message ResolvedFunctionReference {
    oneof value {
        functions.ScalarFunction    scalar    = 1;
        functions.AggregateFunction aggregate = 2;
    }
}

message ResolvedTableFunctionReference {
    string                         name = 1;
    functions.PlannedTableFunction func = 2;
}

message UnresolvedTableFunctionReference {
    ast.raw.ObjectReference     reference = 1;
    functions.TableFunctionArgs args      = 2;
}

message ResolvedCteReference {
    string name = 1;
}

message ResolvedTableReference {
    string               catalog = 1;
    string               schema  = 2;
    catalog.CatalogEntry entry   = 3;
}

message ResolvedTableOrCteReference {
    oneof value {
        ResolvedTableReference table = 1;
        ResolvedCteReference   cte   = 2;
    }
}

message UnresolvedTableReference {
    ast.raw.ObjectReference reference       = 1;
    string                  catalog         = 2;
    optional catalog.AttachInfo attach_info = 3;
}

message ItemReference {
    repeated string idents = 1;
}

message ResolvedTableOrCteReferenceWithLocation {
    ResolvedTableOrCteReference bound    = 1;
    logical.LocationRequirement location = 2;
}

message ResolvedFunctionReferenceWithLocation {
    ResolvedFunctionReference   bound    = 1;
    logical.LocationRequirement location = 2;
}

message ResolvedTableFunctionReferenceWithLocation {
    ResolvedTableFunctionReference bound    = 1;
    logical.LocationRequirement    location = 2;
}

message ResolvedCopyTo {
    functions.CopyToFunction func = 1;
}

message MaybeResolvedTable {
    oneof value {
        ResolvedTableOrCteReferenceWithLocation resolved   = 1;
        UnresolvedTableReference                unresolved = 2;
    }
}

message MaybeResolvedFunction {
    oneof value {
        ResolvedFunctionReferenceWithLocation resolved   = 1;
        ast.raw.ObjectReference               unresolved = 2;
    }
}

message MaybeResolvedTableFunction {
    oneof value {
        ResolvedTableFunctionReferenceWithLocation resolved   = 1;
        UnresolvedTableFunctionReference           unresolved = 2;
    }
}

message ResolveListIdx {
    uint32 idx = 1;
}

message TablesResolveList {
    repeated MaybeResolvedTable tables = 1;
}

message FunctionsResolveList {
    repeated MaybeResolvedFunction functions = 1;
}

message TableFunctionsResolveList {
    repeated MaybeResolvedTableFunction functions = 1;
}

message ResolveContext {
    TablesResolveList         tables          = 1;
    FunctionsResolveList      functions       = 2;
    TableFunctionsResolveList table_functions = 3;
    optional ResolvedCopyTo   copy_to         = 4;
    uint32                    current_depth   = 5;
    // TODO: CTEs
}