registerFunctionModifier(SourceSystemFunctions.UNESCAPE, new AliasModifier("stringdecode")); //$NON-NLS-1$
registerFunctionModifier(SourceSystemFunctions.MOD, new ModFunctionModifier(SourceSystemFunctions.MOD, getLanguageFactory()));
//TODO: this behavior is configurable in h2 starting with 1.1.119
registerFunctionModifier(SourceSystemFunctions.CONCAT, new ConcatFunctionModifier(getLanguageFactory()));
registerFunctionModifier(SourceSystemFunctions.TIMESTAMPADD, new AddDiffModifier(true, getLanguageFactory()));
registerFunctionModifier(SourceSystemFunctions.TIMESTAMPDIFF, new AddDiffModifier(false, getLanguageFactory()));
ConvertModifier convert = new ConvertModifier();
convert.addTypeMapping("boolean", FunctionModifier.BOOLEAN); //$NON-NLS-1$
convert.addTypeMapping("tinyint", FunctionModifier.BYTE); //$NON-NLS-1$
convert.addTypeMapping("smallint", FunctionModifier.SHORT); //$NON-NLS-1$