/** * <code>optional .exec.user.LikeFilter schema_name_filter = 2;</code> */ public Builder mergeSchemaNameFilter(com.dremio.exec.proto.UserProtos.LikeFilter value) { if (schemaNameFilterBuilder_ == null) { if (((bitField0_ & 0x00000002) == 0x00000002) && schemaNameFilter_ != com.dremio.exec.proto.UserProtos.LikeFilter.getDefaultInstance()) { schemaNameFilter_ = com.dremio.exec.proto.UserProtos.LikeFilter.newBuilder(schemaNameFilter_).mergeFrom(value).buildPartial(); } else { schemaNameFilter_ = value; } onChanged(); } else { schemaNameFilterBuilder_.mergeFrom(value); } bitField0_ |= 0x00000002; return this; } /**
/** * <code>optional .exec.user.LikeFilter catalog_name_filter = 1;</code> */ public Builder mergeCatalogNameFilter(com.dremio.exec.proto.UserProtos.LikeFilter value) { if (catalogNameFilterBuilder_ == null) { if (((bitField0_ & 0x00000001) == 0x00000001) && catalogNameFilter_ != com.dremio.exec.proto.UserProtos.LikeFilter.getDefaultInstance()) { catalogNameFilter_ = com.dremio.exec.proto.UserProtos.LikeFilter.newBuilder(catalogNameFilter_).mergeFrom(value).buildPartial(); } else { catalogNameFilter_ = value; } onChanged(); } else { catalogNameFilterBuilder_.mergeFrom(value); } bitField0_ |= 0x00000001; return this; } /**
/** * <code>optional .exec.user.LikeFilter catalog_name_filter = 1;</code> */ public Builder mergeCatalogNameFilter(com.dremio.exec.proto.UserProtos.LikeFilter value) { if (catalogNameFilterBuilder_ == null) { if (((bitField0_ & 0x00000001) == 0x00000001) && catalogNameFilter_ != com.dremio.exec.proto.UserProtos.LikeFilter.getDefaultInstance()) { catalogNameFilter_ = com.dremio.exec.proto.UserProtos.LikeFilter.newBuilder(catalogNameFilter_).mergeFrom(value).buildPartial(); } else { catalogNameFilter_ = value; } onChanged(); } else { catalogNameFilterBuilder_.mergeFrom(value); } bitField0_ |= 0x00000001; return this; } /**
public void mergeFrom(io.protostuff.Input input, com.dremio.exec.proto.UserProtos.GetSchemasReq.Builder builder) throws java.io.IOException { for(int number = input.readFieldNumber(this);; number = input.readFieldNumber(this)) { switch(number) { case 0: return; case 1: builder.setCatalogNameFilter(input.mergeObject(com.dremio.exec.proto.UserProtos.LikeFilter.newBuilder(), com.dremio.exec.proto.SchemaUserProtos.LikeFilter.MERGE)); break; case 2: builder.setSchemaNameFilter(input.mergeObject(com.dremio.exec.proto.UserProtos.LikeFilter.newBuilder(), com.dremio.exec.proto.SchemaUserProtos.LikeFilter.MERGE)); break; default: input.handleUnknownField(number, this); } } } public boolean isInitialized(com.dremio.exec.proto.UserProtos.GetSchemasReq.Builder builder)
public void mergeFrom(io.protostuff.Input input, com.dremio.exec.proto.UserProtos.GetCatalogsReq.Builder builder) throws java.io.IOException { for(int number = input.readFieldNumber(this);; number = input.readFieldNumber(this)) { switch(number) { case 0: return; case 1: builder.setCatalogNameFilter(input.mergeObject(com.dremio.exec.proto.UserProtos.LikeFilter.newBuilder(), com.dremio.exec.proto.SchemaUserProtos.LikeFilter.MERGE)); break; default: input.handleUnknownField(number, this); } } } public boolean isInitialized(com.dremio.exec.proto.UserProtos.GetCatalogsReq.Builder builder)
@Test public void columnsWithAllSupportedFilters() throws Exception { // test("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE " + // "TABLE_CATALOG LIKE '%MIO' AND TABLE_SCHEMA LIKE 'sys' AND " + // "TABLE_NAME LIKE '%nodes' AND COLUMN_NAME LIKE '%\\_p%' ESCAPE '\\'"); // SQL equivalent GetColumnsResp resp = client.getColumns( LikeFilter.newBuilder().setPattern("%MIO").build(), LikeFilter.newBuilder().setPattern("sys").build(), LikeFilter.newBuilder().setPattern("%des").build(), LikeFilter.newBuilder().setPattern("%\\_p%").setEscape("\\").build()).get(); assertEquals(RequestStatus.OK, resp.getStatus()); List<ColumnMetadata> columns = resp.getColumnsList(); assertEquals(2, columns.size()); Iterator<ColumnMetadata> iterator = columns.iterator(); verifyColumn("sys", "nodes", "user_port", iterator.next()); verifyColumn("sys", "nodes", "fabric_port", iterator.next()); }
public Builder toBuilder() { return newBuilder(this); }
@Test public void tablesWithTableNameFilterAndSchemaNameFilter() throws Exception { // test("SELECT * FROM INFORMATION_SCHEMA.\"TABLES\" " + // "WHERE TABLE_SCHEMA LIKE '%N\\_S%' ESCAPE '\\' AND TABLE_NAME LIKE '%o%'"); // SQL equivalent GetTablesResp resp = client.getTables(null, LikeFilter.newBuilder().setPattern("%N\\_S%").setEscape("\\").build(), LikeFilter.newBuilder().setPattern("%o%").build(), null).get(); assertEquals(RequestStatus.OK, resp.getStatus()); List<TableMetadata> tables = resp.getTablesList(); Iterator<TableMetadata> iterator = tables.iterator(); assertEquals(2, tables.size()); verifyTable("INFORMATION_SCHEMA", "CATALOGS", iterator.next()); verifyTable("INFORMATION_SCHEMA", "COLUMNS", iterator.next()); }
public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder(com.dremio.exec.proto.UserProtos.LikeFilter prototype) {
@Test @Ignore public void schemasWithCatalogNameFilterAndSchemaNameFilter() throws Exception { // test("SELECT * FROM INFORMATION_SCHEMA.SCHEMATA " + // "WHERE CATALOG_NAME LIKE '%RI%' AND SCHEMA_NAME LIKE '%y%'"); // SQL equivalent GetSchemasResp resp = client.getSchemas( LikeFilter.newBuilder().setPattern("%RI%").build(), LikeFilter.newBuilder().setPattern("%dfs_test%").build()).get(); assertEquals(RequestStatus.OK, resp.getStatus()); List<SchemaMetadata> schemas = resp.getSchemasList(); assertEquals(3, schemas.size()); Iterator<SchemaMetadata> iterator = schemas.iterator(); verifySchema("dfs_test.default", iterator.next()); verifySchema("dfs_test.home", iterator.next()); verifySchema("dfs_test.tmp", iterator.next()); }
@Test public void columnsWithColumnNameFilterAndTableNameFilter() throws Exception { // test("SELECT * FROM INFORMATION_SCHEMA.COLUMNS // WHERE TABLE_NAME LIKE '%nodes' AND COLUMN_NAME LIKE '%\\_p%' ESCAPE '\\'"); // SQL equivalent GetColumnsResp resp = client.getColumns(null, null, LikeFilter.newBuilder().setPattern("%des").build(), LikeFilter.newBuilder().setPattern("%\\_p%").setEscape("\\").build()).get(); assertEquals(RequestStatus.OK, resp.getStatus()); List<ColumnMetadata> columns = resp.getColumnsList(); assertEquals(2, columns.size()); Iterator<ColumnMetadata> iterator = columns.iterator(); verifyColumn("sys", "nodes", "user_port", iterator.next()); verifyColumn("sys", "nodes", "fabric_port", iterator.next()); }
@Test public void catalogsWithFilter() throws Exception { // test("SELECT * FROM INFORMATION_SCHEMA.CATALOGS " + // "WHERE CATALOG_NAME LIKE '%DRE%' ESCAPE '\\'"); // SQL equivalent GetCatalogsResp resp = client.getCatalogs(LikeFilter.newBuilder().setPattern("%DRE%").setEscape("\\").build()).get(); assertEquals(RequestStatus.OK, resp.getStatus()); List<CatalogMetadata> catalogs = resp.getCatalogsList(); assertEquals(1, catalogs.size()); CatalogMetadata c = catalogs.get(0); assertEquals(IS_CATALOG_NAME, c.getCatalogName()); assertEquals(IS_CATALOG_DESCR, c.getDescription()); assertEquals(IS_CATALOG_CONNECT, c.getConnect()); }
public static Builder newBuilder(com.dremio.exec.proto.UserProtos.LikeFilter prototype) { return newBuilder().mergeFrom(prototype); } public Builder toBuilder() { return newBuilder(this); }
private static UserProtos.LikeFilter toFilter(String pattern, String escape) { return UserProtos.LikeFilter.newBuilder().setEscape(escape).setPattern(pattern) .build(); }
public com.dremio.exec.proto.UserProtos.LikeFilter.Builder newMessage() { return com.dremio.exec.proto.UserProtos.LikeFilter.newBuilder(); } public java.lang.String getFieldName(int number)
private LikeFilter newLikeFilter(final Pat pattern) throws SQLException { if (pattern == null || pattern.s == null) { return null; } // Escape character is same as AvaticaDatabaseMetaData#getSearchStringEscape() return LikeFilter.newBuilder().setPattern(pattern.s).setEscape(searchStringEscape).build(); }
private static LikeFilter newLikeFilter(String pattern, String escape) { LikeFilter.Builder builder = LikeFilter.newBuilder(); if (pattern != null) { builder.setPattern(pattern); } if (escape != null) { builder.setEscape(escape); } return builder.build(); } }
@Test public void schemasWithSchemaNameFilter() throws Exception { // test("SELECT * FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME LIKE '%y%'"); // SQL equivalent GetSchemasResp resp = client.getSchemas(null, LikeFilter.newBuilder().setPattern("%y%").build()).get(); assertEquals(RequestStatus.OK, resp.getStatus()); List<SchemaMetadata> schemas = resp.getSchemasList(); assertEquals(1, schemas.size()); verifySchema("sys", schemas.get(0)); }
@Test public void schemasWithSchemaNameFilterAndUnderscore() throws Exception { // test("SELECT * FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME LIKE '%y%' ESCAPE '\'"); // SQL equivalent GetSchemasResp resp = client.getSchemas(null, LikeFilter.newBuilder().setPattern("INFORMATION\\_SCHEMA").build()).get(); assertEquals(RequestStatus.OK, resp.getStatus()); List<SchemaMetadata> schemas = resp.getSchemasList(); assertEquals(1, schemas.size()); verifySchema("INFORMATION_SCHEMA", schemas.get(0)); }
@Test public void catalogsWithFilterNegative() throws Exception { // test("SELECT * FROM INFORMATION_SCHEMA.CATALOGS // WHERE CATALOG_NAME LIKE '%DRIj\\\\hgjh%' ESCAPE '\\'"); // SQL equivalent GetCatalogsResp resp = client.getCatalogs(LikeFilter.newBuilder().setPattern("%DRIj\\%hgjh%").setEscape("\\").build()).get(); assertEquals(RequestStatus.OK, resp.getStatus()); List<CatalogMetadata> catalogs = resp.getCatalogsList(); assertEquals(0, catalogs.size()); }