Skip to content

Commit

Permalink
add create or replace test
Browse files Browse the repository at this point in the history
  • Loading branch information
nastra committed Jan 30, 2024
1 parent 6dfa2dd commit 5c36b4d
Showing 1 changed file with 46 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -1205,6 +1205,52 @@ public void alterViewUnsetUnknownProperty() {
() -> sql("ALTER VIEW %s UNSET TBLPROPERTIES IF EXISTS ('unknown-key')", viewName));
}

@Test
public void createOrReplaceViewWithColumnAliases() throws NoSuchTableException {
insertRows(6);
String viewName = viewName("viewWithColumnAliases");

sql(
"CREATE VIEW %s (new_id COMMENT 'ID', new_data COMMENT 'DATA') AS SELECT id, data FROM %s WHERE id <= 3",
viewName, tableName);

View view = viewCatalog().loadView(TableIdentifier.of(NAMESPACE, viewName));
assertThat(view.properties()).containsEntry("queryColumnNames", "id,data");

assertThat(view.schema().columns()).hasSize(2);
Types.NestedField first = view.schema().columns().get(0);
assertThat(first.name()).isEqualTo("new_id");
assertThat(first.doc()).isEqualTo("ID");

Types.NestedField second = view.schema().columns().get(1);
assertThat(second.name()).isEqualTo("new_data");
assertThat(second.doc()).isEqualTo("DATA");

assertThat(sql("SELECT new_id FROM %s", viewName))
.hasSize(3)
.containsExactlyInAnyOrder(row(1), row(2), row(3));

sql(
"CREATE OR REPLACE VIEW %s (data2 COMMENT 'new data', id2 COMMENT 'new ID') AS SELECT data, id FROM %s WHERE id <= 3",
viewName, tableName);

assertThat(sql("SELECT data2, id2 FROM %s", viewName))
.hasSize(3)
.containsExactlyInAnyOrder(row("2", 1), row("4", 2), row("6", 3));

view = viewCatalog().loadView(TableIdentifier.of(NAMESPACE, viewName));
assertThat(view.properties()).containsEntry("queryColumnNames", "data,id");

assertThat(view.schema().columns()).hasSize(2);
first = view.schema().columns().get(0);
assertThat(first.name()).isEqualTo("data2");
assertThat(first.doc()).isEqualTo("new data");

second = view.schema().columns().get(1);
assertThat(second.name()).isEqualTo("id2");
assertThat(second.doc()).isEqualTo("new ID");
}

@Test
public void alterView() throws NoSuchTableException {
insertRows(6);
Expand Down

0 comments on commit 5c36b4d

Please sign in to comment.