Java Code Examples for com.facebook.presto.spi.function.SqlType

The following examples show how to use com.facebook.presto.spi.function.SqlType. These examples are extracted from open source projects. 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
@SqlType(StandardTypes.BOOLEAN)
@Nullable
@SqlNullable
public static Boolean bloomFilterPersist(@SqlNullable @SqlType(BloomFilterType.TYPE) Slice bloomFilterSlice, @SqlType(StandardTypes.VARCHAR) Slice urlSlice) throws Exception
{
    // Nothing todo
    if (urlSlice == null) {
        return true;
    }
    BloomFilter bf = getOrLoadBloomFilter(bloomFilterSlice);

    // Persist
    // we do not try catch here to make sure that errors are communicated clearly to the client
    // and typical retry logic continues to work
    String url = new String(urlSlice.getBytes());
    if (!HTTP_CLIENT.isStarted()) {
        log.warn("Http client was not started, trying to start");
        HTTP_CLIENT.start();
    }
    Request post = HTTP_CLIENT.POST(url);
    post.content(new StringContentProvider(new String(bf.toBase64())));
    post.method("PUT");
    post.send();
    log.info("Persisted " + bf.toString() + " " + url);
    return true;
}
 
Example 2
Source Project: presto-connectors   Source File: MatchQueryFunction.java    License: Apache License 2.0 5 votes vote down vote up
@ScalarFunction("match_query")
@Description("es match_query")
@SqlType(StandardTypes.VARCHAR)
@SqlNullable
public static Slice matchQuery(
        @SqlType(StandardTypes.VARCHAR) Slice filter)
{
    if (filter == null) {
        return null;
    }
    String filterStr = filter.toStringUtf8();

    QueryBuilder builder = QueryBuilders.matchQuery(MATCH_COLUMN_SEP, filterStr);
    return Slices.utf8Slice(builder.toString());
}
 
Example 3
Source Project: presto-connectors   Source File: MatchQueryFunction.java    License: Apache License 2.0 5 votes vote down vote up
@ScalarFunction("match_phrase")
@Description("es match_phrase")
@SqlType(StandardTypes.VARCHAR)
@SqlNullable
public static Slice matchPhrase(
        @SqlType(StandardTypes.VARCHAR) Slice filter)
{
    if (filter == null) {
        return null;
    }
    String filterStr = filter.toStringUtf8();

    QueryBuilder builder = QueryBuilders.matchPhraseQuery(MATCH_COLUMN_SEP, filterStr);
    return Slices.utf8Slice(builder.toString());
}
 
Example 4
Source Project: presto-connectors   Source File: MatchQueryFunction.java    License: Apache License 2.0 5 votes vote down vote up
@ScalarFunction("match_query")
@Description("es match_query")
@SqlType(StandardTypes.VARCHAR)
@SqlNullable
public static Slice matchQuery(
        @SqlType(StandardTypes.VARCHAR) Slice filter)
{
    if (filter == null) {
        return null;
    }
    String filterStr = filter.toStringUtf8();

    QueryBuilder builder = QueryBuilders.matchQuery(MATCH_COLUMN_SEP, filterStr);
    return Slices.utf8Slice(builder.toString());
}
 
Example 5
Source Project: presto-connectors   Source File: MatchQueryFunction.java    License: Apache License 2.0 5 votes vote down vote up
@ScalarFunction("match_phrase")
@Description("es match_phrase")
@SqlType(StandardTypes.VARCHAR)
@SqlNullable
public static Slice matchPhrase(
        @SqlType(StandardTypes.VARCHAR) Slice filter)
{
    if (filter == null) {
        return null;
    }
    String filterStr = filter.toStringUtf8();

    QueryBuilder builder = QueryBuilders.matchPhraseQuery(MATCH_COLUMN_SEP, filterStr);
    return Slices.utf8Slice(builder.toString());
}
 
Example 6
Source Project: presto-connectors   Source File: MatchQueryFunction.java    License: Apache License 2.0 5 votes vote down vote up
@ScalarFunction("match_query")
@Description("es match_query")
@SqlType(StandardTypes.VARCHAR)
@SqlNullable
public static Slice matchQuery(
        @SqlType(StandardTypes.VARCHAR) Slice filter)
{
    if (filter == null) {
        return null;
    }
    String filterStr = filter.toStringUtf8();

    QueryBuilder builder = QueryBuilders.matchQuery(MATCH_COLUMN_SEP, filterStr);
    return Slices.utf8Slice(builder.toString());
}
 
Example 7
Source Project: presto-connectors   Source File: MatchQueryFunction.java    License: Apache License 2.0 5 votes vote down vote up
@ScalarFunction("match_phrase")
@Description("es match_phrase")
@SqlType(StandardTypes.VARCHAR)
@SqlNullable
public static Slice matchPhrase(
        @SqlType(StandardTypes.VARCHAR) Slice filter)
{
    if (filter == null) {
        return null;
    }
    String filterStr = filter.toStringUtf8();

    QueryBuilder builder = QueryBuilders.matchPhraseQuery(MATCH_COLUMN_SEP, filterStr);
    return Slices.utf8Slice(builder.toString());
}
 
Example 8
Source Project: presto-ethereum   Source File: EthereumUDFs.java    License: Apache License 2.0 5 votes vote down vote up
@ScalarFunction("fromWei")
@Description("fromWei")
@SqlType(StandardTypes.DOUBLE)
public static double fromWei(@SqlType(StandardTypes.DOUBLE) double num, @SqlType(StandardTypes.VARCHAR) Slice unit) {
    String unitStr = unit.toStringUtf8().toUpperCase();
    EthereumUnit u = EthereumUnit.valueOf(unitStr);
    return u.fromWei(num);
}
 
Example 9
Source Project: presto-ethereum   Source File: EthereumUDFs.java    License: Apache License 2.0 5 votes vote down vote up
@ScalarFunction("toWei")
@Description("toWei")
@SqlType(StandardTypes.DOUBLE)
public static double toWei(@SqlType(StandardTypes.DOUBLE) double num, @SqlType(StandardTypes.VARCHAR) Slice unit) {
    String unitStr = unit.toStringUtf8().toUpperCase();
    EthereumUnit u = EthereumUnit.valueOf(unitStr);
    return u.toWei(num);
}
 
Example 10
@SqlType(StandardTypes.BIGINT)
@Nullable
@SqlNullable
public static Long bloomFilterExpectedInsertions(@SqlNullable @SqlType(BloomFilterType.TYPE) Slice bloomFilterSlice)
{
    BloomFilter bf = getOrLoadBloomFilter(bloomFilterSlice);
    return (long) bf.getExpectedInsertions();
}
 
Example 11
@Description(value = "Display expected insertions from the bloom filter")
@Nullable
@SqlNullable
@SqlType(StandardTypes.DOUBLE)
public static Double bloomFilterFalsePositivePercentage(@SqlNullable @SqlType(BloomFilterType.TYPE) Slice bloomFilterSlice)
{
    BloomFilter bf = getOrLoadBloomFilter(bloomFilterSlice);
    return bf.getFalsePositivePercentage();
}
 
Example 12
@Nullable
@SqlNullable
@SqlType(StandardTypes.VARCHAR)
public static Slice bloomFilterToString(@SqlNullable @SqlType(BloomFilterType.TYPE) Slice bloomFilterSlice)
{
    BloomFilter bf = getOrLoadBloomFilter(bloomFilterSlice);
    return Slices.wrappedBuffer(bf.toBase64());
}
 
Example 13
Source Project: presto-bloomfilter   Source File: BloomFilterAggregation.java    License: Apache License 2.0 5 votes vote down vote up
@InputFunction
public static void input(
        BloomFilterState state,
        @SqlType(VARCHAR) Slice slice)
{
    BloomFilter bf = getOrCreateBloomFilter(state, BloomFilter.DEFAULT_BLOOM_FILTER_EXPECTED_INSERTIONS, BloomFilter.DEFAULT_BLOOM_FILTER_FALSE_POSITIVE_PERCENTAGE);
    // Note: do not update the memory size as this is constant to our bloom filter implementation
    bf.put(slice);
}
 
Example 14
Source Project: presto-bloomfilter   Source File: BloomFilterAggregation.java    License: Apache License 2.0 5 votes vote down vote up
@InputFunction
public static void input(
        BloomFilterState state,
        @SqlType(VARCHAR) Slice slice,
        @SqlType(StandardTypes.BIGINT) long expectedInsertions)
{
    BloomFilter bf = getOrCreateBloomFilter(state, (int) expectedInsertions, BloomFilter.DEFAULT_BLOOM_FILTER_FALSE_POSITIVE_PERCENTAGE);
    // Note: do not update the memory size as this is constant to our bloom filter implementation
    bf.put(slice);
}
 
Example 15
Source Project: presto-bloomfilter   Source File: BloomFilterAggregation.java    License: Apache License 2.0 5 votes vote down vote up
@InputFunction
public static void input(
        BloomFilterState state,
        @SqlType(VARCHAR) Slice slice,
        @SqlType(StandardTypes.BIGINT) long expectedInsertions,
        @SqlType(StandardTypes.DOUBLE) double falsePositivePercentage)
{
    BloomFilter bf = getOrCreateBloomFilter(state, (int) expectedInsertions, falsePositivePercentage);
    // Note: do not update the memory size as this is constant to our bloom filter implementation
    bf.put(slice);
}
 
Example 16
Source Project: presto-bloomfilter   Source File: BloomFilterLoad.java    License: Apache License 2.0 5 votes vote down vote up
@InputFunction
public static void input(
        BloomFilterState state,
        @SqlType(VARCHAR) Slice slice) throws Exception
{
    BloomFilter bf = getOrCreateBloomFilter(state, BloomFilter.DEFAULT_BLOOM_FILTER_EXPECTED_INSERTIONS, BloomFilter.DEFAULT_BLOOM_FILTER_FALSE_POSITIVE_PERCENTAGE);
    // Do not try catch because we want to have visibility for client errors
    bf.putAll(BloomFilter.fromUrl(new String(slice.getBytes())));
    state.setBloomFilter(bf);
}
 
Example 17
Source Project: presto-bloomfilter   Source File: BloomFilterFromString.java    License: Apache License 2.0 5 votes vote down vote up
@InputFunction
public static void input(
        BloomFilterState state,
        @SqlType(VARCHAR) Slice slice)
{
    BloomFilter bf = getOrCreateBloomFilter(state, BloomFilter.DEFAULT_BLOOM_FILTER_EXPECTED_INSERTIONS, BloomFilter.DEFAULT_BLOOM_FILTER_FALSE_POSITIVE_PERCENTAGE);
    bf.putAll(BloomFilter.newInstance(slice.getBytes()));
    state.setBloomFilter(bf);
}
 
Example 18
@SqlType(StandardTypes.BOOLEAN)
@SqlNullable
public static Boolean varcharBloomFilterContains(@SqlNullable @SqlType(BloomFilterType.TYPE) Slice bloomFilterSlice, @SqlNullable @SqlType(StandardTypes.VARCHAR) Slice slice)
{
    BloomFilter bf = getOrLoadBloomFilter(bloomFilterSlice);
    if (slice == null) {
        return false;
    }
    return bf.mightContain(slice);
}
 
Example 19
Source Project: presto-ethereum   Source File: EthereumUDFs.java    License: Apache License 2.0 4 votes vote down vote up
@ScalarFunction("eth_gasPrice")
@Description("Returns current gas price")
@SqlType(StandardTypes.DOUBLE)
public static double ethGasPrice() throws IOException {
    return web3j.ethGasPrice().send().getGasPrice().doubleValue();
}
 
Example 20
Source Project: presto-ethereum   Source File: EthereumUDFs.java    License: Apache License 2.0 4 votes vote down vote up
@ScalarFunction("eth_blockNumber")
@Description("Returns current block number")
@SqlType(StandardTypes.BIGINT)
public static long ethBlockNumber() throws IOException {
    return web3j.ethBlockNumber().send().getBlockNumber().longValue();
}
 
Example 21
Source Project: presto-ethereum   Source File: EthereumUDFs.java    License: Apache License 2.0 4 votes vote down vote up
@ScalarFunction("eth_getBalance")
@Description("Returns the balance of an address")
@SqlType(StandardTypes.DOUBLE)
public static double ethGetBalance(@SqlType(StandardTypes.VARCHAR) Slice address) throws IOException {
    return web3j.ethGetBalance(address.toStringUtf8(), DefaultBlockParameter.valueOf(LATEST)).send().getBalance().doubleValue();
}
 
Example 22
Source Project: presto-ethereum   Source File: EthereumUDFs.java    License: Apache License 2.0 4 votes vote down vote up
@ScalarFunction("eth_getBalance")
@Description("Returns the balance of an address")
@SqlType(StandardTypes.DOUBLE)
public static double ethGetBalance(@SqlType(StandardTypes.VARCHAR) Slice address, @SqlType(StandardTypes.BIGINT) long blockNumber) throws IOException {
    return web3j.ethGetBalance(address.toStringUtf8(), DefaultBlockParameter.valueOf(BigInteger.valueOf(blockNumber))).send().getBalance().doubleValue();
}
 
Example 23
Source Project: presto-ethereum   Source File: EthereumUDFs.java    License: Apache License 2.0 4 votes vote down vote up
@ScalarFunction("eth_getBalance")
@Description("Returns the balance of an address")
@SqlType(StandardTypes.DOUBLE)
public static double ethGetBalance(@SqlType(StandardTypes.VARCHAR) Slice address, @SqlType(StandardTypes.VARCHAR) Slice blockName) throws IOException {
    return web3j.ethGetBalance(address.toStringUtf8(), DefaultBlockParameter.valueOf(blockName.toStringUtf8())).send().getBalance().doubleValue();
}
 
Example 24
Source Project: presto-ethereum   Source File: EthereumUDFs.java    License: Apache License 2.0 4 votes vote down vote up
@ScalarFunction("eth_getTransactionCount")
@Description("Returns the number of transactions from this address")
@SqlType(StandardTypes.BIGINT)
public static long ethGetTransactionCount(@SqlType(StandardTypes.VARCHAR) Slice address) throws IOException {
    return web3j.ethGetTransactionCount(address.toStringUtf8(), DefaultBlockParameter.valueOf(LATEST)).send().getTransactionCount().longValue();
}
 
Example 25
Source Project: presto-ethereum   Source File: EthereumUDFs.java    License: Apache License 2.0 4 votes vote down vote up
@ScalarFunction("eth_getTransactionCount")
@Description("Returns the number of transactions from this address")
@SqlType(StandardTypes.BIGINT)
public static long ethGetTransactionCount(@SqlType(StandardTypes.VARCHAR) Slice address, @SqlType(StandardTypes.BIGINT) long blockNumber) throws IOException {
    return web3j.ethGetTransactionCount(address.toStringUtf8(), DefaultBlockParameter.valueOf(BigInteger.valueOf(blockNumber))).send().getTransactionCount().longValue();
}
 
Example 26
Source Project: presto-ethereum   Source File: EthereumUDFs.java    License: Apache License 2.0 4 votes vote down vote up
@ScalarFunction("eth_getTransactionCount")
@Description("Returns the number of transactions from this address")
@SqlType(StandardTypes.BIGINT)
public static long ethGetTransactionCount(@SqlType(StandardTypes.VARCHAR) Slice address, @SqlType(StandardTypes.VARCHAR) Slice blockName) throws IOException {
    return web3j.ethGetTransactionCount(address.toStringUtf8(), DefaultBlockParameter.valueOf(blockName.toStringUtf8())).send().getTransactionCount().longValue();
}
 
Example 27
Source Project: presto-ethereum   Source File: EthereumUDFs.java    License: Apache License 2.0 4 votes vote down vote up
@ScalarFunction("isContract")
@Description("isContract")
@SqlType(StandardTypes.BOOLEAN)
public static boolean isContract(@SqlType(StandardTypes.VARCHAR) Slice address) throws IOException {
    return !web3j.ethGetCode(address.toStringUtf8(), DefaultBlockParameter.valueOf(LATEST)).send().getCode().equals(ZERO_X);
}