Java 类com.facebook.presto.spi.function.SqlType 实例源码

项目:presto-bloomfilter    文件:BloomFilterPersistScalarFunction.java   
@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;
}
项目:presto-ethereum    文件:EthereumUDFs.java   
@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);
}
项目:presto-ethereum    文件:EthereumUDFs.java   
@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);
}
项目:presto-hyperloglog    文件:HyperLogLogScalarFunctions.java   
@Description("Returns the approximate cardinality of a HLL")
@ScalarFunction("cardinality")
@SqlType(StandardTypes.BIGINT)
public static long hllCardinality(@SqlType(HyperLogLogType.TYPE) Slice hll)
{
    return (Long) HyperLogLog.fromBytes(hll.getBytes()).approximateSize().estimate();
}
项目:presto-hyperloglog    文件:HyperLogLogScalarFunctions.java   
@Description("Create a HLL from a string")
@ScalarFunction("hll_create")
@SqlType(HyperLogLogType.TYPE)
public static Slice hllCreate(@SqlType(StandardTypes.VARCHAR) Slice string, @SqlType(StandardTypes.BIGINT) long bits)
{
    HyperLogLogMonoid monoid = new HyperLogLogMonoid((int) bits);
    DenseHLL hll = monoid.create(string.getBytes()).toDenseHLL();
    return Slices.wrappedBuffer(HyperLogLog.toBytes(hll));
}
项目:presto-bloomfilter    文件:BloomFilterGetExpectedInsertionsScalarFunction.java   
@SqlType(StandardTypes.BIGINT)
@Nullable
@SqlNullable
public static Long bloomFilterExpectedInsertions(@SqlNullable @SqlType(BloomFilterType.TYPE) Slice bloomFilterSlice)
{
    BloomFilter bf = getOrLoadBloomFilter(bloomFilterSlice);
    return (long) bf.getExpectedInsertions();
}
项目:presto-bloomfilter    文件:BloomFilterGetFalsePositivePercentageScalarFunction.java   
@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();
}
项目:presto-bloomfilter    文件:BloomFilterToStringScalarFunction.java   
@Nullable
@SqlNullable
@SqlType(StandardTypes.VARCHAR)
public static Slice bloomFilterToString(@SqlNullable @SqlType(BloomFilterType.TYPE) Slice bloomFilterSlice)
{
    BloomFilter bf = getOrLoadBloomFilter(bloomFilterSlice);
    return Slices.wrappedBuffer(bf.toBase64());
}
项目:presto-bloomfilter    文件:BloomFilterAggregation.java   
@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);
}
项目:presto-bloomfilter    文件:BloomFilterAggregation.java   
@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);
}
项目:presto-bloomfilter    文件:BloomFilterAggregation.java   
@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);
}
项目:presto-bloomfilter    文件:BloomFilterLoad.java   
@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);
}
项目:presto-bloomfilter    文件:BloomFilterFromString.java   
@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);
}
项目:presto-bloomfilter    文件:BloomFilterContainsScalarFunction.java   
@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);
}
项目:presto-ethereum    文件:EthereumUDFs.java   
@ScalarFunction("eth_gasPrice")
@Description("Returns current gas price")
@SqlType(StandardTypes.DOUBLE)
public static double ethGasPrice() throws IOException {
    return web3j.ethGasPrice().send().getGasPrice().doubleValue();
}
项目:presto-ethereum    文件:EthereumUDFs.java   
@ScalarFunction("eth_blockNumber")
@Description("Returns current block number")
@SqlType(StandardTypes.BIGINT)
public static long ethBlockNumber() throws IOException {
    return web3j.ethBlockNumber().send().getBlockNumber().longValue();
}
项目:presto-ethereum    文件:EthereumUDFs.java   
@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();
}
项目:presto-ethereum    文件:EthereumUDFs.java   
@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();
}
项目:presto-ethereum    文件:EthereumUDFs.java   
@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();
}
项目:presto-ethereum    文件:EthereumUDFs.java   
@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();
}
项目:presto-ethereum    文件:EthereumUDFs.java   
@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();
}
项目:presto-ethereum    文件:EthereumUDFs.java   
@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();
}
项目:presto-hyperloglog    文件:HyperLogLogScalarFunctions.java   
@ScalarOperator(CAST)
@SqlType(HyperLogLogType.TYPE)
public static Slice castFromVarbinary(@SqlType(StandardTypes.VARBINARY) Slice slice)
{
    return slice;
}
项目:presto-hyperloglog    文件:HyperLogLogScalarFunctions.java   
@ScalarOperator(CAST)
@SqlType(StandardTypes.VARBINARY)
public static Slice castToVarbinary(@SqlType(HyperLogLogType.TYPE) Slice slice)
{
    return slice;
}