syntax = "proto3";
import "google/protobuf/descriptor.proto";

message int8 {}
message int16 {}
message uint8 {}
message uint16 {}

extend google.protobuf.FieldOptions {
  bool unique = 90001;
  bool primary_key = 90002;
  string default = 90003;
  string datas = 90004;
  bool allow_null = 90005;
  string validate = 90006;
  int32 max_len = 90007;
  string header_name = 90008;
  string rename = 90009;
  int32 group = 90010;
  string schema = 90011;
  string persistence_ex = 90012;

  bool const = 90100;
  bool emit_change = 90101;
  bool emit_no_value = 90102;
  bool explicit = 90103;
  bool readonly = 90104;
}

extend google.protobuf.MessageOptions {
  bool singleton = 80001;
  string primary_keys = 80002;
  string table_name = 80003;
  string url = 80004;
  string require_auth = 80005;
  string path = 80006;
  string interface = 80007;
  bool flatten = 80008;
  bool auth = 80009;
  bool query = 80010;
  string persistence = 80011;
  string user_privilege = 80012;
  string system_lockdown = 80013;
}

extend google.protobuf.ServiceOptions {
  string service_interface = 70001;
}

extend google.protobuf.MethodOptions {
  bool initiator = 60001;
}