def register_default_functions(): fr = FunctionRegistry() fr.register("temperatureF", FunctionInformation(Temperature.factory, Temperature.return_type)) fr.register("tweetLatLng", FunctionInformation(Location.factory, Location.return_type)) fr.register("floor", FunctionInformation(Rounding.factory, Rounding.return_type)) fr.register("strlen", FunctionInformation(StringLength.factory, StringLength.return_type)) fr.register("meanDevs", FunctionInformation(MeanOutliers.factory, MeanOutliers.return_type)) fr.register("sentiment", FunctionInformation(Sentiment.factory, Sentiment.return_type))
def __init__(self): self.parser = gen_parser() self.function_registry = FunctionRegistry() self.unnamed_operator_counter = 0 self.twitter_td = twitter_tuple_descriptor()
from tweeql.exceptions import TweeQLException from tweeql.field_descriptor import ReturnType from tweeql.function_registry import FunctionInformation, FunctionRegistry from tweeql.query_runner import QueryRunner class StringLength(): return_type = ReturnType.INTEGER @staticmethod def factory(): return StringLength().strlen def strlen(self, tuple_data, val): """ Returns the length of val, which is a string """ return len(val) fr = FunctionRegistry() fr.register( "stringlength", FunctionInformation(StringLength.factory, StringLength.return_type)) runner = QueryRunner() runner.run_query("SELECT stringlength(text) AS len FROM twitter_sample;", False)