// Copyright 2022 Lightbend Inc.

syntax = "proto3";

package kalix.schema;

option go_package = "github.com/lightbend/kalix-go-sdk/kalix/protocol;protocol";
option java_package = "kalix.protocol";

message ExecDdl {
  repeated DdlStatementGroup ddl_groups = 1;
  bool check_exists = 2;
  string reply_to = 3;
}

message DdlStatementGroup {
  string description = 1;
  repeated DdlStatement statements = 2;
}

message DdlStatement {
  string name = 1;
  string sql = 2;
  DdlStatementType ddl_type = 3;
}

enum DdlStatementType {
  CREATE_TABLE_UNSPECIFIED = 0;
  CREATE_INDEX = 1;
  DROP_TABLE = 2;
}
