static void addStatementAfterDdlBatch()

in google-cloud-spanner-hibernate-dialect/src/main/java/com/google/cloud/spanner/hibernate/SpannerTableExporter.java [124:143]


  static void addStatementAfterDdlBatch(Metadata metadata, String[] statements) {
    // Find the RunBatchDdl auxiliary object which can run statements after the DDL batch.
    Optional<RunBatchDdl> runBatchDdl =
        metadata.getDatabase().getAuxiliaryDatabaseObjects().stream()
            .filter(RunBatchDdl.class::isInstance)
            .map(obj -> (RunBatchDdl) obj)
            .findFirst();

    if (runBatchDdl.isPresent()) {
      for (String statement : statements) {
        runBatchDdl.get().addAfterDdlStatement(statement);
      }
    } else {
      throw new IllegalStateException(
          "Failed to generate statement to execute after DDL batch. "
              + "The Spanner dialect did not create auxiliary database objects correctly. "
              + "Please post a question to "
              + "https://github.com/GoogleCloudPlatform/google-cloud-spanner-hibernate/issues");
    }
  }