All Downloads are FREE. Search and download functionalities are using the official Maven repository.

a.clickzetta-java.1.3.15.source-code.expression.proto Maven / Gradle / Ivy

There is a newer version: 2.0.0
Show newest version
syntax = "proto3";

import "data_type.proto";
import "property.proto";

package cz.proto;

message ParseTreeInfo {
  message LocationInfo {
    uint32 line = 1;
    uint32 col = 2;
    uint32 pos = 3;
  }
  LocationInfo start = 1;
  LocationInfo end = 2;
}

message IntervalDayTime {
  int64 seconds = 1;
  int32 nanos = 2;
}

message ArrayValue {
  repeated Constant elements = 1;
}

message MapValue {
  repeated Constant keys = 1;
  repeated Constant values = 2;
}

message StructValue {
  repeated Constant fields = 1;
}

message BitmapValue {
  bytes value = 1;
}

message Constant {
  oneof value {
    bool null = 1;
    int32 tinyint = 2;
    int32 smallInt = 3;
    int32 int = 4;
    int64 bigint = 5;

    float float = 6;
    double double = 7;

    string decimal = 8;

    bool boolean = 9;

    string char = 10;
    string varchar = 11;
    string string = 12;
    bytes binary = 13;

    int32 date = 14;
    int64 timestamp = 15;
    int64 IntervalYearMonth = 16;
    IntervalDayTime IntervalDayTime = 17;

    ArrayValue array = 100;
    MapValue map = 101;
    StructValue struct = 102;

    BitmapValue bitmap = 103;
  }
}

enum ReferenceType {
  LOGICAL_FIELD = 0;
  REF_LOCAL = 1;
  PHYSICAL_FIELD = 2;
  REF_VARIABLE = 3;
}

message SubFieldPruning {
  Constant id = 1;
  SubFieldsPruning subfields = 2;
}

message SubFieldsPruning {
  repeated SubFieldPruning fields = 1;
  bool reserve_size = 2;
}

message Reference {
  uint64 id = 1;
  bool local = 2;
  string from = 3;
  string name = 4;
  ReferenceType ref_type = 5;
}

message Udf {
  int64 instanceId = 1;
  repeated string path = 2;
  int64 creator = 3;
}

message ScalarFunction {
  string from = 1;
  string name = 2;
  bool builtIn = 3;
  repeated ScalarExpression arguments = 4;
  Properties properties = 5;
  string execDesc = 6;
  Properties functionProperties = 7;
  oneof derived {
    Udf udf = 10;
  }
}

message VariableDef {
  DataType type = 1;
  uint64 id = 2;
}

message LambdaFunction {
  repeated VariableDef params = 1;
  ScalarExpression impl = 2;
}

message ScalarExpression {
  DataType type = 1;
  oneof value {
    Constant constant = 2;
    Reference reference = 3;
    ScalarFunction function = 5;
    LambdaFunction lambda = 6;
  }
  ParseTreeInfo pt = 10;
}





© 2015 - 2024 Weber Informatics LLC | Privacy Policy