Example usage for org.apache.lucene.util BytesRef BytesRef

List of usage examples for org.apache.lucene.util BytesRef BytesRef

Introduction

In this page you can find the example usage for org.apache.lucene.util BytesRef BytesRef.

Prototype

public BytesRef(CharSequence text) 

Source Link

Document

Initialize the byte[] from the UTF8 bytes for the provided String.

Usage

From source file:io.crate.metadata.information.InformationTablesTableInfo.java

License:Apache License

public static Map<ColumnIdent, RowCollectExpressionFactory<TableInfo>> expressions() {
    return ImmutableMap.<ColumnIdent, RowCollectExpressionFactory<TableInfo>>builder()
            .put(InformationTablesTableInfo.Columns.TABLE_SCHEMA,
                    () -> RowContextCollectorExpression.objToBytesRef(r -> r.ident().schema()))
            .put(InformationTablesTableInfo.Columns.TABLE_NAME,
                    () -> RowContextCollectorExpression.objToBytesRef(r -> r.ident().name()))
            .put(InformationTablesTableInfo.Columns.TABLE_CATALOG,
                    () -> RowContextCollectorExpression.objToBytesRef(r -> r.ident().schema()))
            .put(InformationTablesTableInfo.Columns.TABLE_TYPE,
                    () -> RowContextCollectorExpression.objToBytesRef(r -> TABLE_TYPE))
            .put(InformationTablesTableInfo.Columns.NUMBER_OF_SHARDS,
                    () -> RowContextCollectorExpression.forFunction(row -> {
                        if (row instanceof ShardedTable) {
                            return ((ShardedTable) row).numberOfShards();
                        }//from   w w  w.ja v a  2  s.c o m
                        return 1;
                    }))
            .put(InformationTablesTableInfo.Columns.NUMBER_OF_REPLICAS,
                    () -> RowContextCollectorExpression.objToBytesRef(row -> {
                        if (row instanceof ShardedTable) {
                            return ((ShardedTable) row).numberOfReplicas();
                        }
                        return ZERO_REPLICAS;
                    }))
            .put(InformationTablesTableInfo.Columns.CLUSTERED_BY,
                    () -> RowContextCollectorExpression.objToBytesRef(row -> {
                        if (row instanceof ShardedTable) {
                            ColumnIdent clusteredBy = ((ShardedTable) row).clusteredBy();
                            if (clusteredBy == null) {
                                return null;
                            }
                            return new BytesRef(clusteredBy.fqn());
                        }
                        return null;
                    }))
            .put(InformationTablesTableInfo.Columns.PARTITIONED_BY,
                    () -> RowContextCollectorExpression.forFunction(row -> {
                        if (row instanceof DocTableInfo) {
                            List<ColumnIdent> partitionedBy = ((DocTableInfo) row).partitionedBy();
                            if (partitionedBy == null || partitionedBy.isEmpty()) {
                                return null;
                            }

                            BytesRef[] partitions = new BytesRef[partitionedBy.size()];
                            for (int i = 0; i < partitions.length; i++) {
                                partitions[i] = new BytesRef(partitionedBy.get(i).fqn());
                            }
                            return partitions;
                        }
                        return null;
                    }))
            .put(InformationTablesTableInfo.Columns.COLUMN_POLICY,
                    () -> RowContextCollectorExpression.objToBytesRef(row -> {
                        if (row instanceof DocTableInfo) {
                            return new BytesRef(((DocTableInfo) row).columnPolicy().value());
                        }
                        return new BytesRef(ColumnPolicy.STRICT.value());
                    }))
            .put(InformationTablesTableInfo.Columns.BLOBS_PATH,
                    () -> RowContextCollectorExpression.objToBytesRef(row -> {
                        if (row instanceof BlobTableInfo) {
                            return ((BlobTableInfo) row).blobsPath();
                        }
                        return null;
                    }))
            .put(InformationTablesTableInfo.Columns.ROUTING_HASH_FUNCTION,
                    () -> RowContextCollectorExpression.objToBytesRef(row -> {
                        if (row instanceof ShardedTable) {
                            return new BytesRef(IndexMappings.DEFAULT_ROUTING_HASH_FUNCTION_PRETTY_NAME);
                        }
                        return null;
                    }))
            .put(InformationTablesTableInfo.Columns.CLOSED,
                    () -> RowContextCollectorExpression.forFunction(row -> {
                        if (row instanceof ShardedTable) {
                            return ((ShardedTable) row).isClosed();
                        }
                        return null;
                    }))
            .put(InformationTablesTableInfo.Columns.SELF_REFERENCING_COLUMN_NAME,
                    () -> RowContextCollectorExpression.objToBytesRef(r -> SELF_REFERENCING_COLUMN_NAME))
            .put(InformationTablesTableInfo.Columns.REFERENCE_GENERATION,
                    () -> RowContextCollectorExpression.objToBytesRef(r -> REFERENCE_GENERATION))
            .put(InformationTablesTableInfo.Columns.TABLE_VERSION, TablesVersionExpression::new)
            .put(InformationTablesTableInfo.Columns.TABLE_SETTINGS, TablesSettingsExpression::new).build();
}

From source file:io.crate.metadata.PartitionInfosTest.java

License:Apache License

@Test
public void testPartitionWithoutMapping() throws Exception {
    Map<String, IndexMetaData> indices = new HashMap<>();
    PartitionName partitionName = new PartitionName("test1", ImmutableList.of(new BytesRef("foo")));
    indices.put(partitionName.asIndexName(),
            IndexMetaData.builder(partitionName.asIndexName()).numberOfShards(10).numberOfReplicas(4).build());
    Iterable<PartitionInfo> partitioninfos = new PartitionInfos(mockService(indices));
    assertThat(partitioninfos.iterator().hasNext(), is(false));
}

From source file:io.crate.metadata.PartitionInfosTest.java

License:Apache License

@Test
public void testPartitionWithMeta() throws Exception {
    Map<String, IndexMetaData> indices = new HashMap<>();
    PartitionName partitionName = new PartitionName("test1", ImmutableList.of(new BytesRef("foo")));
    IndexMetaData indexMetaData = IndexMetaData.builder(partitionName.asIndexName())
            .putMapping(Constants.DEFAULT_MAPPING_TYPE,
                    "{\"_meta\":{\"partitioned_by\":[[\"col\", \"string\"]]}}")
            .numberOfShards(10).numberOfReplicas(4).build();
    indices.put(partitionName.asIndexName(), indexMetaData);
    Iterable<PartitionInfo> partitioninfos = new PartitionInfos(mockService(indices));
    Iterator<PartitionInfo> iter = partitioninfos.iterator();
    PartitionInfo partitioninfo = iter.next();
    assertThat(partitioninfo.name().asIndexName(), is(partitionName.asIndexName()));
    assertThat(partitioninfo.numberOfShards(), is(10));
    assertThat(partitioninfo.numberOfReplicas().utf8ToString(), is("4"));
    assertThat(partitioninfo.values(), hasEntry("col", (Object) "foo"));
    assertThat(iter.hasNext(), is(false));
}

From source file:io.crate.metadata.PartitionInfosTest.java

License:Apache License

@Test
public void testPartitionWithMetaMultiCol() throws Exception {
    Map<String, IndexMetaData> indices = new HashMap<>();
    PartitionName partitionName = new PartitionName("test1",
            ImmutableList.of(new BytesRef("foo"), new BytesRef("1")));
    IndexMetaData indexMetaData = IndexMetaData.builder(partitionName.asIndexName())
            .putMapping(Constants.DEFAULT_MAPPING_TYPE,
                    "{\"_meta\":{\"partitioned_by\":[[\"col\", \"string\"], [\"col2\", \"integer\"]]}}")
            .numberOfShards(10).numberOfReplicas(4).build();
    indices.put(partitionName.asIndexName(), indexMetaData);
    Iterable<PartitionInfo> partitioninfos = new PartitionInfos(mockService(indices));
    Iterator<PartitionInfo> iter = partitioninfos.iterator();
    PartitionInfo partitioninfo = iter.next();
    assertThat(partitioninfo.name().asIndexName(), is(partitionName.asIndexName()));
    assertThat(partitioninfo.numberOfShards(), is(10));
    assertThat(partitioninfo.numberOfReplicas().utf8ToString(), is("4"));
    assertThat(partitioninfo.values(), hasEntry("col", (Object) "foo"));
    assertThat(partitioninfo.values(), hasEntry("col2", (Object) 1));
    assertThat(iter.hasNext(), is(false));
}

From source file:io.crate.metadata.PartitionNameTest.java

License:Apache License

@Test
public void testSingleColumn() throws Exception {
    PartitionName partitionName = new PartitionName("test", ImmutableList.of(new BytesRef("1")));

    assertThat(partitionName.values().size(), is(1));
    assertEquals(ImmutableList.of(new BytesRef("1")), partitionName.values());

    PartitionName partitionName1 = PartitionName.fromIndexOrTemplate(partitionName.asIndexName());
    assertEquals(partitionName.values(), partitionName1.values());
}

From source file:io.crate.metadata.PartitionNameTest.java

License:Apache License

@Test
public void testSingleColumnSchema() throws Exception {
    PartitionName partitionName = new PartitionName("schema", "test", ImmutableList.of(new BytesRef("1")));

    assertThat(partitionName.values().size(), is(1));
    assertEquals(ImmutableList.of(new BytesRef("1")), partitionName.values());

    PartitionName partitionName1 = PartitionName.fromIndexOrTemplate(partitionName.asIndexName());
    assertEquals(partitionName.values(), partitionName1.values());
}

From source file:io.crate.metadata.PartitionNameTest.java

License:Apache License

@Test
public void testMultipleColumns() throws Exception {
    PartitionName partitionName = new PartitionName("test",
            ImmutableList.of(new BytesRef("1"), new BytesRef("foo")));

    assertThat(partitionName.values().size(), is(2));
    assertEquals(ImmutableList.of(new BytesRef("1"), new BytesRef("foo")), partitionName.values());

    PartitionName partitionName1 = PartitionName.fromIndexOrTemplate(partitionName.asIndexName());
    assertEquals(partitionName.values(), partitionName1.values());
}

From source file:io.crate.metadata.PartitionNameTest.java

License:Apache License

@Test
public void testMultipleColumnsSchema() throws Exception {
    PartitionName partitionName = new PartitionName("schema", "test",
            ImmutableList.of(new BytesRef("1"), new BytesRef("foo")));

    assertThat(partitionName.values().size(), is(2));
    assertEquals(ImmutableList.of(new BytesRef("1"), new BytesRef("foo")), partitionName.values());

    PartitionName partitionName1 = PartitionName.fromIndexOrTemplate(partitionName.asIndexName());
    assertEquals(partitionName.values(), partitionName1.values());
}

From source file:io.crate.metadata.PartitionNameTest.java

License:Apache License

@Test
public void testEmptyStringValue() throws Exception {
    PartitionName partitionName = new PartitionName("test", ImmutableList.of(new BytesRef("")));

    assertThat(partitionName.values().size(), is(1));
    assertEquals(ImmutableList.of(new BytesRef("")), partitionName.values());

    PartitionName partitionName1 = PartitionName.fromIndexOrTemplate(partitionName.asIndexName());
    assertEquals(partitionName.values(), partitionName1.values());
}

From source file:io.crate.metadata.PartitionNameTest.java

License:Apache License

@Test
public void testFromIndexOrTemplate() throws Exception {
    PartitionName partitionName = new PartitionName("t", Arrays.asList(new BytesRef("a"), new BytesRef("b")));
    assertThat(partitionName, equalTo(PartitionName.fromIndexOrTemplate(partitionName.asIndexName())));

    partitionName = new PartitionName(null, "t", Arrays.asList(new BytesRef("a"), new BytesRef("b")));
    assertThat(partitionName, equalTo(PartitionName.fromIndexOrTemplate(partitionName.asIndexName())));
    assertThat(partitionName.ident(), is("081620j2"));

    partitionName = new PartitionName("schema", "t", Arrays.asList(new BytesRef("a"), new BytesRef("b")));
    assertThat(partitionName, equalTo(PartitionName.fromIndexOrTemplate(partitionName.asIndexName())));
    assertThat(partitionName.ident(), is("081620j2"));

    partitionName = new PartitionName(null, "t", Collections.singletonList(new BytesRef("hoschi")));
    assertThat(partitionName, equalTo(PartitionName.fromIndexOrTemplate(partitionName.asIndexName())));
    assertThat(partitionName.ident(), is("043mgrrjcdk6i"));

    partitionName = new PartitionName(null, "t", Collections.<BytesRef>singletonList(null));
    assertThat(partitionName, equalTo(PartitionName.fromIndexOrTemplate(partitionName.asIndexName())));
    assertThat(partitionName.ident(), is("0400"));
}