com.google.spanner.admin.database.v1.CreateDatabaseMetadata Java Examples

The following examples show how to use com.google.spanner.admin.database.v1.CreateDatabaseMetadata. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: SpannerDatabaseAdminTemplateTests.java    From spring-cloud-gcp with Apache License 2.0 5 votes vote down vote up
@Test
public void executeDdlStrings_doesNotCreateDatabaseIfAlreadyPresent() throws Exception {
	when(this.mockDatabasePage.getValues()).thenReturn(Arrays.asList());

	OperationFuture<Database, CreateDatabaseMetadata> mockFuture = mock(OperationFuture.class);
	when(this.databaseAdminClient.createDatabase("fakeinstance", "fakedb", this.ddlList)).thenReturn(mockFuture);
	when(mockFuture.get()).thenReturn(null);

	this.spannerDatabaseAdminTemplate.executeDdlStrings(this.ddlList, true);

	verify(this.databaseAdminClient).createDatabase("fakeinstance", "fakedb", Arrays.asList("describe Something"));
	verify(this.databaseAdminClient, times(0)).updateDatabaseDdl("fakeinstance", "fakedb", this.ddlList, null);
}
 
Example #2
Source File: SpannerReadIT.java    From beam with Apache License 2.0 5 votes vote down vote up
@Before
public void setUp() throws Exception {
  PipelineOptionsFactory.register(SpannerTestPipelineOptions.class);
  options = TestPipeline.testingPipelineOptions().as(SpannerTestPipelineOptions.class);

  project = options.getInstanceProjectId();
  if (project == null) {
    project = options.as(GcpOptions.class).getProject();
  }

  spanner = SpannerOptions.newBuilder().setProjectId(project).build().getService();

  databaseName = generateDatabaseName();

  databaseAdminClient = spanner.getDatabaseAdminClient();

  // Delete database if exists.
  databaseAdminClient.dropDatabase(options.getInstanceId(), databaseName);

  OperationFuture<Database, CreateDatabaseMetadata> op =
      databaseAdminClient.createDatabase(
          options.getInstanceId(),
          databaseName,
          Collections.singleton(
              "CREATE TABLE "
                  + options.getTable()
                  + " ("
                  + "  Key           INT64,"
                  + "  Value         STRING(MAX),"
                  + ") PRIMARY KEY (Key)"));
  op.get();
  makeTestData();
}
 
Example #3
Source File: SpannerWriteIT.java    From beam with Apache License 2.0 5 votes vote down vote up
@Before
public void setUp() throws Exception {
  PipelineOptionsFactory.register(SpannerTestPipelineOptions.class);
  options = TestPipeline.testingPipelineOptions().as(SpannerTestPipelineOptions.class);

  project = options.getInstanceProjectId();
  if (project == null) {
    project = options.as(GcpOptions.class).getProject();
  }

  spanner = SpannerOptions.newBuilder().setProjectId(project).build().getService();

  databaseName = generateDatabaseName();

  databaseAdminClient = spanner.getDatabaseAdminClient();

  // Delete database if exists.
  databaseAdminClient.dropDatabase(options.getInstanceId(), databaseName);

  OperationFuture<Database, CreateDatabaseMetadata> op =
      databaseAdminClient.createDatabase(
          options.getInstanceId(),
          databaseName,
          Collections.singleton(
              "CREATE TABLE "
                  + options.getTable()
                  + " ("
                  + "  Key           INT64,"
                  + "  Value         STRING(MAX) NOT NULL,"
                  + ") PRIMARY KEY (Key)"));
  op.get();
}
 
Example #4
Source File: CreateDatabase.java    From quetzal with Eclipse Public License 2.0 5 votes vote down vote up
static void createDatabase(DatabaseAdminClient dbAdminClient, DatabaseId id) {
  Operation<Database, CreateDatabaseMetadata> op = dbAdminClient.createDatabase(
      id.getInstanceId().getInstance(), id.getDatabase(),
      Arrays.asList("CREATE TABLE DPH (\n" + "  subject STRING(MAX) NOT NULL,\n"
          + "  col_0  ARRAY<STRING(MAX)>, \n" + "  col_1  ARRAY<STRING(MAX)>, \n"
          + "  col_2  STRING(MAX), \n" + "  col_3  STRING(MAX), \n" + "  col_4  STRING(MAX), \n"
          + "  col_5  STRING(MAX), \n" + "  col_6  STRING(MAX), \n"
          + "  col_7  ARRAY<STRING(MAX)>, \n" + "  col_8  STRING(MAX), \n"
          + "  col_9  STRING(MAX), \n" + "  col_10  STRING(MAX), \n" + "  col_11  STRING(MAX), \n"
          + "  col_12  STRING(MAX), \n" + "  col_13  STRING(MAX), \n"
          + "  col_14  ARRAY<STRING(MAX)>, \n" + "  col_15  STRING(MAX), \n"
          + "  col_16  STRING(MAX)) \n" + " PRIMARY KEY (subject)"));
  Database db = op.waitFor().getResult();
  System.out.println("Created database [" + db.getId() + "]");
}
 
Example #5
Source File: SpannerGroupWriteIT.java    From java-docs-samples with Apache License 2.0 4 votes vote down vote up
@Before
public void setUp() throws Exception {
  instanceId = System.getProperty("spanner.test.instance");
  databaseId = "df-spanner-gwrite-it-" + random.nextInt(1000000000);

  spannerOptions = SpannerOptions.getDefaultInstance();
  spanner = spannerOptions.getService();

  DatabaseAdminClient adminClient = spanner.getDatabaseAdminClient();

  try {
    adminClient.dropDatabase(instanceId, databaseId);
  } catch (SpannerException e) {
    // Does not exist, ignore.
  }

  OperationFuture<Database, CreateDatabaseMetadata> op =
      adminClient.createDatabase(
          instanceId,
          databaseId,
          Arrays.asList(
              "CREATE TABLE users ("
                  + "id STRING(MAX) NOT NULL, state STRING(MAX) NOT NULL) PRIMARY KEY (id)",
              "CREATE TABLE PendingReviews (id INT64, action STRING(MAX), "
                  + "note STRING(MAX), userId STRING(MAX),) PRIMARY KEY (id)"));

  op.get();

  DatabaseClient dbClient = getDbClient();

  List<Mutation> mutations = new ArrayList<>();
  for (int i = 0; i < 20; i++) {
    mutations.add(
        Mutation.newInsertBuilder("users")
            .set("id")
            .to(Integer.toString(i))
            .set("state")
            .to("ACTIVE")
            .build());
  }
  TransactionRunner runner = dbClient.readWriteTransaction();
  runner.run(
      new TransactionRunner.TransactionCallable<Void>() {

        @Nullable
        @Override
        public Void run(TransactionContext tx) {
          tx.buffer(mutations);
          return null;
        }
      });

  String content =
      IntStream.range(0, 10).mapToObj(Integer::toString).collect(Collectors.joining("\n"));
  tempPath = Files.createTempFile("suspicious-ids", "txt");
  Files.write(tempPath, content.getBytes());
}
 
Example #6
Source File: SpannerReadIT.java    From java-docs-samples with Apache License 2.0 4 votes vote down vote up
@Before
public void setUp() throws InterruptedException, ExecutionException {
  instanceId = System.getProperty("spanner.test.instance");
  databaseId = "df-spanner-read-it-" + random.nextInt(1000000000);

  spannerOptions = SpannerOptions.getDefaultInstance();
  spanner = spannerOptions.getService();

  DatabaseAdminClient adminClient = spanner.getDatabaseAdminClient();

  try {
    adminClient.dropDatabase(instanceId, databaseId);
  } catch (SpannerException e) {
    // Does not exist, ignore.
  }

  OperationFuture<Database, CreateDatabaseMetadata> op =
      adminClient.createDatabase(
          instanceId,
          databaseId,
          Arrays.asList(
              "CREATE TABLE Singers "
                  + "(singerId INT64 NOT NULL, firstName STRING(MAX) NOT NULL, "
                  + "lastName STRING(MAX) NOT NULL,) PRIMARY KEY (singerId)",
              "CREATE TABLE Albums (singerId INT64 NOT NULL, albumId INT64 NOT NULL, "
                  + "albumTitle STRING(MAX) NOT NULL,) PRIMARY KEY (singerId, albumId)"));

  op.get();

  List<Mutation> mutations =
      Arrays.asList(
          Mutation.newInsertBuilder("singers")
              .set("singerId")
              .to(1L)
              .set("firstName")
              .to("John")
              .set("lastName")
              .to("Lennon")
              .build(),
          Mutation.newInsertBuilder("singers")
              .set("singerId")
              .to(2L)
              .set("firstName")
              .to("Paul")
              .set("lastName")
              .to("Mccartney")
              .build(),
          Mutation.newInsertBuilder("singers")
              .set("singerId")
              .to(3L)
              .set("firstName")
              .to("George")
              .set("lastName")
              .to("Harrison")
              .build(),
          Mutation.newInsertBuilder("singers")
              .set("singerId")
              .to(4L)
              .set("firstName")
              .to("Ringo")
              .set("lastName")
              .to("Starr")
              .build(),
          Mutation.newInsertBuilder("albums")
              .set("singerId")
              .to(1L)
              .set("albumId")
              .to(1L)
              .set("albumTitle")
              .to("Imagine")
              .build(),
          Mutation.newInsertBuilder("albums")
              .set("singerId")
              .to(2L)
              .set("albumId")
              .to(1L)
              .set("albumTitle")
              .to("Pipes of Peace")
              .build());

  DatabaseClient dbClient = getDbClient();

  TransactionRunner runner = dbClient.readWriteTransaction();
  runner.run(
      new TransactionRunner.TransactionCallable<Void>() {
        @Nullable
        @Override
        public Void run(TransactionContext tx) {
          tx.buffer(mutations);
          return null;
        }
      });
}
 
Example #7
Source File: SpannerWriteIT.java    From java-docs-samples with Apache License 2.0 4 votes vote down vote up
@Before
public void setUp() throws Exception {

  instanceId = System.getProperty("spanner.test.instance");
  databaseId = "df-spanner-write-it-" + random.nextInt(1000000000);

  spannerOptions = SpannerOptions.getDefaultInstance();
  spanner = spannerOptions.getService();

  DatabaseAdminClient adminClient = spanner.getDatabaseAdminClient();

  try {
    adminClient.dropDatabase(instanceId, databaseId);
  } catch (SpannerException e) {
    // Does not exist, ignore.
  }

  OperationFuture<Database, CreateDatabaseMetadata> op =
      adminClient.createDatabase(
          instanceId,
          databaseId,
          Arrays.asList(
              "CREATE TABLE Singers "
                  + "(singerId INT64 NOT NULL, "
                  + "firstName STRING(MAX) NOT NULL, lastName STRING(MAX) NOT NULL,) "
                  + "PRIMARY KEY (singerId)",
              "CREATE TABLE Albums (singerId INT64 NOT NULL, "
                  + "albumId INT64 NOT NULL, albumTitle STRING(MAX) NOT NULL,) "
                  + "PRIMARY KEY (singerId, albumId)"));

  op.get();

  String singers =
      Stream.of("1\tJohn\tLennon", "2\tPaul\tMccartney", "3\tGeorge\tHarrison", "4\tRingo\tStarr")
          .collect(Collectors.joining("\n"));
  singersPath = Files.createTempFile("singers", "txt");
  Files.write(singersPath, singers.getBytes());

  String albums =
      Stream.of("1\t1\tImagine", "2\t1\tPipes of Peace", "3\t1\tDark Horse")
          .collect(Collectors.joining("\n"));
  albumsPath = Files.createTempFile("albums", "txt");
  Files.write(albumsPath, albums.getBytes());
}