Inheritance: FunctionExpression
Example #1
0
 public MySqlFunctionManager(bool allowFuncDefChange)
 {
     this.allowFuncDefChange                = allowFuncDefChange;
     parsingStrateg["CAST"]                 = FunctionParsingStrategy.Cast;
     parsingStrateg["POSITION"]             = FunctionParsingStrategy.Position;
     parsingStrateg["SUBSTR"]               = FunctionParsingStrategy.Substring;
     parsingStrateg["SUBSTRING"]            = FunctionParsingStrategy.Substring;
     parsingStrateg["TRIM"]                 = FunctionParsingStrategy.Trim;
     parsingStrateg["AVG"]                  = FunctionParsingStrategy.Avg;
     parsingStrateg["COUNT"]                = FunctionParsingStrategy.Count;
     parsingStrateg["GROUP_CONCAT"]         = FunctionParsingStrategy.GroupConcat;
     parsingStrateg["MAX"]                  = FunctionParsingStrategy.Max;
     parsingStrateg["MIN"]                  = FunctionParsingStrategy.Min;
     parsingStrateg["SUM"]                  = FunctionParsingStrategy.Sum;
     parsingStrateg["ROW"]                  = FunctionParsingStrategy.Row;
     parsingStrateg["CHAR"]                 = FunctionParsingStrategy.Char;
     parsingStrateg["CONVERT"]              = FunctionParsingStrategy.Convert;
     parsingStrateg["EXTRACT"]              = FunctionParsingStrategy.Extract;
     parsingStrateg["TIMESTAMPADD"]         = FunctionParsingStrategy.Timestampadd;
     parsingStrateg["TIMESTAMPDIFF"]        = FunctionParsingStrategy.Timestampdiff;
     parsingStrateg["GET_FORMAT"]           = FunctionParsingStrategy.GetFormat;
     functionPrototype["ABS"]               = new Abs(null);
     functionPrototype["ACOS"]              = new Acos(null);
     functionPrototype["ADDDATE"]           = new Adddate(null);
     functionPrototype["ADDTIME"]           = new Addtime(null);
     functionPrototype["AES_DECRYPT"]       = new AesDecrypt(null);
     functionPrototype["AES_ENCRYPT"]       = new AesEncrypt(null);
     functionPrototype["ANALYSE"]           = new Analyse(null);
     functionPrototype["ASCII"]             = new Ascii(null);
     functionPrototype["ASIN"]              = new Asin(null);
     functionPrototype["ATAN2"]             = new Atan2(null);
     functionPrototype["ATAN"]              = new Atan(null);
     functionPrototype["BENCHMARK"]         = new Benchmark(null);
     functionPrototype["BIN"]               = new Bin(null);
     functionPrototype["BIT_AND"]           = new BitAnd(null);
     functionPrototype["BIT_COUNT"]         = new BitCount(null);
     functionPrototype["BIT_LENGTH"]        = new BitLength(null);
     functionPrototype["BIT_OR"]            = new BitOR(null);
     functionPrototype["BIT_XOR"]           = new BitXor(null);
     functionPrototype["CEIL"]              = new Ceiling(null);
     functionPrototype["CEILING"]           = new Ceiling(null);
     functionPrototype["CHAR_LENGTH"]       = new CharLength(null);
     functionPrototype["CHARACTER_LENGTH"]  = new CharLength(null);
     functionPrototype["CHARSET"]           = new Charset(null);
     functionPrototype["COALESCE"]          = new Coalesce(null);
     functionPrototype["COERCIBILITY"]      = new Coercibility(null);
     functionPrototype["COLLATION"]         = new Collation(null);
     functionPrototype["COMPRESS"]          = new Compress(null);
     functionPrototype["CONCAT_WS"]         = new ConcatWs(null);
     functionPrototype["CONCAT"]            = new Concat(null);
     functionPrototype["CONNECTION_ID"]     = new ConnectionId(null);
     functionPrototype["CONV"]              = new Conv(null);
     functionPrototype["CONVERT_TZ"]        = new ConvertTz(null);
     functionPrototype["COS"]               = new Cos(null);
     functionPrototype["COT"]               = new Cot(null);
     functionPrototype["CRC32"]             = new Crc32(null);
     functionPrototype["CURDATE"]           = new Curdate();
     functionPrototype["CURRENT_DATE"]      = new Curdate();
     functionPrototype["CURRENT_TIME"]      = new Curtime();
     functionPrototype["CURTIME"]           = new Curtime();
     functionPrototype["CURRENT_TIMESTAMP"] = new Now();
     functionPrototype["CURRENT_USER"]      = new CurrentUser();
     functionPrototype["CURTIME"]           = new Curtime();
     functionPrototype["DATABASE"]          = new Database(null);
     functionPrototype["DATE_ADD"]          = new DateAdd(null);
     functionPrototype["DATE_FORMAT"]       = new DateFormat(null);
     functionPrototype["DATE_SUB"]          = new DateSub(null);
     functionPrototype["DATE"]              = new Date(null);
     functionPrototype["DATEDIFF"]          = new Datediff(null);
     functionPrototype["DAY"]               = new Dayofmonth(null);
     functionPrototype["DAYOFMONTH"]        = new Dayofmonth(null);
     functionPrototype["DAYNAME"]           = new Dayname(null);
     functionPrototype["DAYOFWEEK"]         = new Dayofweek(null);
     functionPrototype["DAYOFYEAR"]         = new Dayofyear(null);
     functionPrototype["DECODE"]            = new Decode(null);
     functionPrototype["DEFAULT"]           = new Default(null);
     functionPrototype["DEGREES"]           = new Degrees(null);
     functionPrototype["DES_DECRYPT"]       = new DesDecrypt(null);
     functionPrototype["DES_ENCRYPT"]       = new DesEncrypt(null);
     functionPrototype["ELT"]               = new Elt(null);
     functionPrototype["ENCODE"]            = new Encode(null);
     functionPrototype["ENCRYPT"]           = new Encrypt(null);
     functionPrototype["EXP"]               = new Exp(null);
     functionPrototype["EXPORT_SET"]        = new ExportSet(null);
     // functionPrototype.put("EXTRACT", new Extract(null));
     functionPrototype["EXTRACTVALUE"]  = new ExtractValue(null);
     functionPrototype["FIELD"]         = new Field(null);
     functionPrototype["FIND_IN_SET"]   = new FindInSet(null);
     functionPrototype["FLOOR"]         = new Floor(null);
     functionPrototype["FORMAT"]        = new Format(null);
     functionPrototype["FOUND_ROWS"]    = new FoundRows(null);
     functionPrototype["FROM_DAYS"]     = new FromDays(null);
     functionPrototype["FROM_UNIXTIME"] = new FromUnixtime(null);
     // functionPrototype.put("GET_FORMAT", new GetFormat(null));
     functionPrototype["GET_LOCK"]       = new GetLock(null);
     functionPrototype["GREATEST"]       = new Greatest(null);
     functionPrototype["HEX"]            = new Hex(null);
     functionPrototype["HOUR"]           = new Hour(null);
     functionPrototype["IF"]             = new IF(null);
     functionPrototype["IFNULL"]         = new IFNull(null);
     functionPrototype["INET_ATON"]      = new InetAton(null);
     functionPrototype["INET_NTOA"]      = new InetNtoa(null);
     functionPrototype["INSERT"]         = new Insert(null);
     functionPrototype["INSTR"]          = new Instr(null);
     functionPrototype["INTERVAL"]       = new Interval(null);
     functionPrototype["IS_FREE_LOCK"]   = new IsFreeLock(null);
     functionPrototype["IS_USED_LOCK"]   = new IsUsedLock(null);
     functionPrototype["ISNULL"]         = new IsNull(null);
     functionPrototype["LAST_DAY"]       = new LastDay(null);
     functionPrototype["LAST_INSERT_ID"] = new LastInsertId(null);
     functionPrototype["LCASE"]          = new Lower(null);
     functionPrototype["LEAST"]          = new Least(null);
     functionPrototype["LEFT"]           = new Left(null);
     functionPrototype["LENGTH"]         = new Length(null);
     functionPrototype["LN"]             = new Log(null);
     // Ln(X) equals Log(X)
     functionPrototype["LOAD_FILE"]       = new LoadFile(null);
     functionPrototype["LOCALTIME"]       = new Now();
     functionPrototype["LOCALTIMESTAMP"]  = new Now();
     functionPrototype["LOCATE"]          = new Locate(null);
     functionPrototype["LOG10"]           = new Log10(null);
     functionPrototype["LOG2"]            = new Log2(null);
     functionPrototype["LOG"]             = new Log(null);
     functionPrototype["LOWER"]           = new Lower(null);
     functionPrototype["LPAD"]            = new Lpad(null);
     functionPrototype["LTRIM"]           = new Ltrim(null);
     functionPrototype["MAKE_SET"]        = new MakeSet(null);
     functionPrototype["MAKEDATE"]        = new Makedate(null);
     functionPrototype["MAKETIME"]        = new Maketime(null);
     functionPrototype["MASTER_POS_WAIT"] = new MasterPosWait(null);
     functionPrototype["MD5"]             = new Md5(null);
     functionPrototype["MICROSECOND"]     = new Microsecond(null);
     functionPrototype["MID"]             = new Substring(null);
     functionPrototype["MINUTE"]          = new Minute(null);
     functionPrototype["MONTH"]           = new Month(null);
     functionPrototype["MONTHNAME"]       = new Monthname(null);
     functionPrototype["NAME_CONST"]      = new NameConst(null);
     functionPrototype["NOW"]             = new Now();
     functionPrototype["NULLIF"]          = new NullIF(null);
     functionPrototype["OCT"]             = new Oct(null);
     functionPrototype["OCTET_LENGTH"]    = new Length(null);
     functionPrototype["OLD_PASSWORD"]    = new OldPassword(null);
     functionPrototype["ORD"]             = new Ord(null);
     functionPrototype["PASSWORD"]        = new Password(null);
     functionPrototype["PERIOD_ADD"]      = new PeriodAdd(null);
     functionPrototype["PERIOD_DIFF"]     = new PeriodDiff(null);
     functionPrototype["PI"]              = new PI(null);
     functionPrototype["POW"]             = new Pow(null);
     functionPrototype["POWER"]           = new Pow(null);
     functionPrototype["QUARTER"]         = new Quarter(null);
     functionPrototype["QUOTE"]           = new Quote(null);
     functionPrototype["RADIANS"]         = new Radians(null);
     functionPrototype["RAND"]            = new Rand(null);
     functionPrototype["RELEASE_LOCK"]    = new ReleaseLock(null);
     functionPrototype["REPEAT"]          = new Repeat(null);
     functionPrototype["REPLACE"]         = new Replace(null);
     functionPrototype["REVERSE"]         = new Reverse(null);
     functionPrototype["RIGHT"]           = new Right(null);
     functionPrototype["ROUND"]           = new Round(null);
     functionPrototype["ROW_COUNT"]       = new RowCount(null);
     functionPrototype["RPAD"]            = new Rpad(null);
     functionPrototype["RTRIM"]           = new Rtrim(null);
     functionPrototype["SCHEMA"]          = new Database(null);
     functionPrototype["SEC_TO_TIME"]     = new SecToTime(null);
     functionPrototype["SECOND"]          = new Second(null);
     functionPrototype["SESSION_USER"]    = new User(null);
     functionPrototype["SHA1"]            = new Sha1(null);
     functionPrototype["SHA"]             = new Sha1(null);
     functionPrototype["SHA2"]            = new Sha2(null);
     functionPrototype["SIGN"]            = new Sign(null);
     functionPrototype["SIN"]             = new Sin(null);
     functionPrototype["SLEEP"]           = new Sleep(null);
     functionPrototype["SOUNDEX"]         = new Soundex(null);
     functionPrototype["SPACE"]           = new Space(null);
     functionPrototype["SQRT"]            = new Sqrt(null);
     functionPrototype["STD"]             = new Std(null);
     functionPrototype["STDDEV_POP"]      = new StdDevPop(null);
     functionPrototype["STDDEV_SAMP"]     = new StdDevSamp(null);
     functionPrototype["STDDEV"]          = new StdDev(null);
     functionPrototype["STR_TO_DATE"]     = new StrToDate(null);
     functionPrototype["STRCMP"]          = new Strcmp(null);
     functionPrototype["SUBDATE"]         = new Subdate(null);
     functionPrototype["SUBSTRING_INDEX"] = new SubstringIndex(null);
     functionPrototype["SUBTIME"]         = new Subtime(null);
     functionPrototype["SYSDATE"]         = new Sysdate(null);
     functionPrototype["SYSTEM_USER"]     = new User(null);
     functionPrototype["TAN"]             = new Tan(null);
     functionPrototype["TIME_FORMAT"]     = new TimeFormat(null);
     functionPrototype["TIME_TO_SEC"]     = new TimeToSec(null);
     functionPrototype["TIME"]            = new Time(null);
     functionPrototype["TIMEDIFF"]        = new Timediff(null);
     functionPrototype["TIMESTAMP"]       = new Timestamp(null);
     // functionPrototype.put("TIMESTAMPADD", new Timestampadd(null));
     // functionPrototype.put("TIMESTAMPDIFF", new Timestampdiff(null));
     functionPrototype["TO_DAYS"]             = new ToDays(null);
     functionPrototype["TO_SECONDS"]          = new ToSeconds(null);
     functionPrototype["TRUNCATE"]            = new Truncate(null);
     functionPrototype["UCASE"]               = new Upper(null);
     functionPrototype["UNCOMPRESS"]          = new Uncompress(null);
     functionPrototype["UNCOMPRESSED_LENGTH"] = new UncompressedLength(null);
     functionPrototype["UNHEX"]               = new Unhex(null);
     functionPrototype["UNIX_TIMESTAMP"]      = new UnixTimestamp(null);
     functionPrototype["UPDATEXML"]           = new UpdateXml(null);
     functionPrototype["UPPER"]               = new Upper(null);
     functionPrototype["USER"]          = new User(null);
     functionPrototype["UTC_DATE"]      = new UtcDate(null);
     functionPrototype["UTC_TIME"]      = new UtcTime(null);
     functionPrototype["UTC_TIMESTAMP"] = new UtcTimestamp(null);
     functionPrototype["UUID_SHORT"]    = new UuidShort(null);
     functionPrototype["UUID"]          = new Uuid(null);
     functionPrototype["VALUES"]        = new Values(null);
     functionPrototype["VAR_POP"]       = new VarPop(null);
     functionPrototype["VAR_SAMP"]      = new VarSamp(null);
     functionPrototype["VARIANCE"]      = new Variance(null);
     functionPrototype["VERSION"]       = new Version(null);
     functionPrototype["WEEK"]          = new Week(null);
     functionPrototype["WEEKDAY"]       = new Weekday(null);
     functionPrototype["WEEKOFYEAR"]    = new Weekofyear(null);
     functionPrototype["YEAR"]          = new Year(null);
     functionPrototype["YEARWEEK"]      = new Yearweek(null);
 }
 public MySqlFunctionManager(bool allowFuncDefChange)
 {
     this.allowFuncDefChange = allowFuncDefChange;
     parsingStrateg["CAST"] = FunctionParsingStrategy.Cast;
     parsingStrateg["POSITION"] = FunctionParsingStrategy.Position;
     parsingStrateg["SUBSTR"] = FunctionParsingStrategy.Substring;
     parsingStrateg["SUBSTRING"] = FunctionParsingStrategy.Substring;
     parsingStrateg["TRIM"] = FunctionParsingStrategy.Trim;
     parsingStrateg["AVG"] = FunctionParsingStrategy.Avg;
     parsingStrateg["COUNT"] = FunctionParsingStrategy.Count;
     parsingStrateg["GROUP_CONCAT"] = FunctionParsingStrategy.GroupConcat;
     parsingStrateg["MAX"] = FunctionParsingStrategy.Max;
     parsingStrateg["MIN"] = FunctionParsingStrategy.Min;
     parsingStrateg["SUM"] = FunctionParsingStrategy.Sum;
     parsingStrateg["ROW"] = FunctionParsingStrategy.Row;
     parsingStrateg["CHAR"] = FunctionParsingStrategy.Char;
     parsingStrateg["CONVERT"] = FunctionParsingStrategy.Convert;
     parsingStrateg["EXTRACT"] = FunctionParsingStrategy.Extract;
     parsingStrateg["TIMESTAMPADD"] = FunctionParsingStrategy.Timestampadd;
     parsingStrateg["TIMESTAMPDIFF"] = FunctionParsingStrategy.Timestampdiff;
     parsingStrateg["GET_FORMAT"] = FunctionParsingStrategy.GetFormat;
     functionPrototype["ABS"] = new Abs(null);
     functionPrototype["ACOS"] = new Acos(null);
     functionPrototype["ADDDATE"] = new Adddate(null);
     functionPrototype["ADDTIME"] = new Addtime(null);
     functionPrototype["AES_DECRYPT"] = new AesDecrypt(null);
     functionPrototype["AES_ENCRYPT"] = new AesEncrypt(null);
     functionPrototype["ANALYSE"] = new Analyse(null);
     functionPrototype["ASCII"] = new Ascii(null);
     functionPrototype["ASIN"] = new Asin(null);
     functionPrototype["ATAN2"] = new Atan2(null);
     functionPrototype["ATAN"] = new Atan(null);
     functionPrototype["BENCHMARK"] = new Benchmark(null);
     functionPrototype["BIN"] = new Bin(null);
     functionPrototype["BIT_AND"] = new BitAnd(null);
     functionPrototype["BIT_COUNT"] = new BitCount(null);
     functionPrototype["BIT_LENGTH"] = new BitLength(null);
     functionPrototype["BIT_OR"] = new BitOR(null);
     functionPrototype["BIT_XOR"] = new BitXor(null);
     functionPrototype["CEIL"] = new Ceiling(null);
     functionPrototype["CEILING"] = new Ceiling(null);
     functionPrototype["CHAR_LENGTH"] = new CharLength(null);
     functionPrototype["CHARACTER_LENGTH"] = new CharLength(null);
     functionPrototype["CHARSET"] = new Charset(null);
     functionPrototype["COALESCE"] = new Coalesce(null);
     functionPrototype["COERCIBILITY"] = new Coercibility(null);
     functionPrototype["COLLATION"] = new Collation(null);
     functionPrototype["COMPRESS"] = new Compress(null);
     functionPrototype["CONCAT_WS"] = new ConcatWs(null);
     functionPrototype["CONCAT"] = new Concat(null);
     functionPrototype["CONNECTION_ID"] = new ConnectionId(null);
     functionPrototype["CONV"] = new Conv(null);
     functionPrototype["CONVERT_TZ"] = new ConvertTz(null);
     functionPrototype["COS"] = new Cos(null);
     functionPrototype["COT"] = new Cot(null);
     functionPrototype["CRC32"] = new Crc32(null);
     functionPrototype["CURDATE"] = new Curdate();
     functionPrototype["CURRENT_DATE"] = new Curdate();
     functionPrototype["CURRENT_TIME"] = new Curtime();
     functionPrototype["CURTIME"] = new Curtime();
     functionPrototype["CURRENT_TIMESTAMP"] = new Now();
     functionPrototype["CURRENT_USER"] = new CurrentUser();
     functionPrototype["CURTIME"] = new Curtime();
     functionPrototype["DATABASE"] = new Database(null);
     functionPrototype["DATE_ADD"] = new DateAdd(null);
     functionPrototype["DATE_FORMAT"] = new DateFormat(null);
     functionPrototype["DATE_SUB"] = new DateSub(null);
     functionPrototype["DATE"] = new Date(null);
     functionPrototype["DATEDIFF"] = new Datediff(null);
     functionPrototype["DAY"] = new Dayofmonth(null);
     functionPrototype["DAYOFMONTH"] = new Dayofmonth(null);
     functionPrototype["DAYNAME"] = new Dayname(null);
     functionPrototype["DAYOFWEEK"] = new Dayofweek(null);
     functionPrototype["DAYOFYEAR"] = new Dayofyear(null);
     functionPrototype["DECODE"] = new Decode(null);
     functionPrototype["DEFAULT"] = new Default(null);
     functionPrototype["DEGREES"] = new Degrees(null);
     functionPrototype["DES_DECRYPT"] = new DesDecrypt(null);
     functionPrototype["DES_ENCRYPT"] = new DesEncrypt(null);
     functionPrototype["ELT"] = new Elt(null);
     functionPrototype["ENCODE"] = new Encode(null);
     functionPrototype["ENCRYPT"] = new Encrypt(null);
     functionPrototype["EXP"] = new Exp(null);
     functionPrototype["EXPORT_SET"] = new ExportSet(null);
     // functionPrototype.put("EXTRACT", new Extract(null));
     functionPrototype["EXTRACTVALUE"] = new ExtractValue(null);
     functionPrototype["FIELD"] = new Field(null);
     functionPrototype["FIND_IN_SET"] = new FindInSet(null);
     functionPrototype["FLOOR"] = new Floor(null);
     functionPrototype["FORMAT"] = new Format(null);
     functionPrototype["FOUND_ROWS"] = new FoundRows(null);
     functionPrototype["FROM_DAYS"] = new FromDays(null);
     functionPrototype["FROM_UNIXTIME"] = new FromUnixtime(null);
     // functionPrototype.put("GET_FORMAT", new GetFormat(null));
     functionPrototype["GET_LOCK"] = new GetLock(null);
     functionPrototype["GREATEST"] = new Greatest(null);
     functionPrototype["HEX"] = new Hex(null);
     functionPrototype["HOUR"] = new Hour(null);
     functionPrototype["IF"] = new IF(null);
     functionPrototype["IFNULL"] = new IFNull(null);
     functionPrototype["INET_ATON"] = new InetAton(null);
     functionPrototype["INET_NTOA"] = new InetNtoa(null);
     functionPrototype["INSERT"] = new Insert(null);
     functionPrototype["INSTR"] = new Instr(null);
     functionPrototype["INTERVAL"] = new Interval(null);
     functionPrototype["IS_FREE_LOCK"] = new IsFreeLock(null);
     functionPrototype["IS_USED_LOCK"] = new IsUsedLock(null);
     functionPrototype["ISNULL"] = new IsNull(null);
     functionPrototype["LAST_DAY"] = new LastDay(null);
     functionPrototype["LAST_INSERT_ID"] = new LastInsertId(null);
     functionPrototype["LCASE"] = new Lower(null);
     functionPrototype["LEAST"] = new Least(null);
     functionPrototype["LEFT"] = new Left(null);
     functionPrototype["LENGTH"] = new Length(null);
     functionPrototype["LN"] = new Log(null);
     // Ln(X) equals Log(X)
     functionPrototype["LOAD_FILE"] = new LoadFile(null);
     functionPrototype["LOCALTIME"] = new Now();
     functionPrototype["LOCALTIMESTAMP"] = new Now();
     functionPrototype["LOCATE"] = new Locate(null);
     functionPrototype["LOG10"] = new Log10(null);
     functionPrototype["LOG2"] = new Log2(null);
     functionPrototype["LOG"] = new Log(null);
     functionPrototype["LOWER"] = new Lower(null);
     functionPrototype["LPAD"] = new Lpad(null);
     functionPrototype["LTRIM"] = new Ltrim(null);
     functionPrototype["MAKE_SET"] = new MakeSet(null);
     functionPrototype["MAKEDATE"] = new Makedate(null);
     functionPrototype["MAKETIME"] = new Maketime(null);
     functionPrototype["MASTER_POS_WAIT"] = new MasterPosWait(null);
     functionPrototype["MD5"] = new Md5(null);
     functionPrototype["MICROSECOND"] = new Microsecond(null);
     functionPrototype["MID"] = new Substring(null);
     functionPrototype["MINUTE"] = new Minute(null);
     functionPrototype["MONTH"] = new Month(null);
     functionPrototype["MONTHNAME"] = new Monthname(null);
     functionPrototype["NAME_CONST"] = new NameConst(null);
     functionPrototype["NOW"] = new Now();
     functionPrototype["NULLIF"] = new NullIF(null);
     functionPrototype["OCT"] = new Oct(null);
     functionPrototype["OCTET_LENGTH"] = new Length(null);
     functionPrototype["OLD_PASSWORD"] = new OldPassword(null);
     functionPrototype["ORD"] = new Ord(null);
     functionPrototype["PASSWORD"] = new Password(null);
     functionPrototype["PERIOD_ADD"] = new PeriodAdd(null);
     functionPrototype["PERIOD_DIFF"] = new PeriodDiff(null);
     functionPrototype["PI"] = new PI(null);
     functionPrototype["POW"] = new Pow(null);
     functionPrototype["POWER"] = new Pow(null);
     functionPrototype["QUARTER"] = new Quarter(null);
     functionPrototype["QUOTE"] = new Quote(null);
     functionPrototype["RADIANS"] = new Radians(null);
     functionPrototype["RAND"] = new Rand(null);
     functionPrototype["RELEASE_LOCK"] = new ReleaseLock(null);
     functionPrototype["REPEAT"] = new Repeat(null);
     functionPrototype["REPLACE"] = new Replace(null);
     functionPrototype["REVERSE"] = new Reverse(null);
     functionPrototype["RIGHT"] = new Right(null);
     functionPrototype["ROUND"] = new Round(null);
     functionPrototype["ROW_COUNT"] = new RowCount(null);
     functionPrototype["RPAD"] = new Rpad(null);
     functionPrototype["RTRIM"] = new Rtrim(null);
     functionPrototype["SCHEMA"] = new Database(null);
     functionPrototype["SEC_TO_TIME"] = new SecToTime(null);
     functionPrototype["SECOND"] = new Second(null);
     functionPrototype["SESSION_USER"] = new User(null);
     functionPrototype["SHA1"] = new Sha1(null);
     functionPrototype["SHA"] = new Sha1(null);
     functionPrototype["SHA2"] = new Sha2(null);
     functionPrototype["SIGN"] = new Sign(null);
     functionPrototype["SIN"] = new Sin(null);
     functionPrototype["SLEEP"] = new Sleep(null);
     functionPrototype["SOUNDEX"] = new Soundex(null);
     functionPrototype["SPACE"] = new Space(null);
     functionPrototype["SQRT"] = new Sqrt(null);
     functionPrototype["STD"] = new Std(null);
     functionPrototype["STDDEV_POP"] = new StdDevPop(null);
     functionPrototype["STDDEV_SAMP"] = new StdDevSamp(null);
     functionPrototype["STDDEV"] = new StdDev(null);
     functionPrototype["STR_TO_DATE"] = new StrToDate(null);
     functionPrototype["STRCMP"] = new Strcmp(null);
     functionPrototype["SUBDATE"] = new Subdate(null);
     functionPrototype["SUBSTRING_INDEX"] = new SubstringIndex(null);
     functionPrototype["SUBTIME"] = new Subtime(null);
     functionPrototype["SYSDATE"] = new Sysdate(null);
     functionPrototype["SYSTEM_USER"] = new User(null);
     functionPrototype["TAN"] = new Tan(null);
     functionPrototype["TIME_FORMAT"] = new TimeFormat(null);
     functionPrototype["TIME_TO_SEC"] = new TimeToSec(null);
     functionPrototype["TIME"] = new Time(null);
     functionPrototype["TIMEDIFF"] = new Timediff(null);
     functionPrototype["TIMESTAMP"] = new Timestamp(null);
     // functionPrototype.put("TIMESTAMPADD", new Timestampadd(null));
     // functionPrototype.put("TIMESTAMPDIFF", new Timestampdiff(null));
     functionPrototype["TO_DAYS"] = new ToDays(null);
     functionPrototype["TO_SECONDS"] = new ToSeconds(null);
     functionPrototype["TRUNCATE"] = new Truncate(null);
     functionPrototype["UCASE"] = new Upper(null);
     functionPrototype["UNCOMPRESS"] = new Uncompress(null);
     functionPrototype["UNCOMPRESSED_LENGTH"] = new UncompressedLength(null);
     functionPrototype["UNHEX"] = new Unhex(null);
     functionPrototype["UNIX_TIMESTAMP"] = new UnixTimestamp(null);
     functionPrototype["UPDATEXML"] = new UpdateXml(null);
     functionPrototype["UPPER"] = new Upper(null);
     functionPrototype["USER"] = new User(null);
     functionPrototype["UTC_DATE"] = new UtcDate(null);
     functionPrototype["UTC_TIME"] = new UtcTime(null);
     functionPrototype["UTC_TIMESTAMP"] = new UtcTimestamp(null);
     functionPrototype["UUID_SHORT"] = new UuidShort(null);
     functionPrototype["UUID"] = new Uuid(null);
     functionPrototype["VALUES"] = new Values(null);
     functionPrototype["VAR_POP"] = new VarPop(null);
     functionPrototype["VAR_SAMP"] = new VarSamp(null);
     functionPrototype["VARIANCE"] = new Variance(null);
     functionPrototype["VERSION"] = new Version(null);
     functionPrototype["WEEK"] = new Week(null);
     functionPrototype["WEEKDAY"] = new Weekday(null);
     functionPrototype["WEEKOFYEAR"] = new Weekofyear(null);
     functionPrototype["YEAR"] = new Year(null);
     functionPrototype["YEARWEEK"] = new Yearweek(null);
 }