Package org.h2.mode
Class FunctionsMySQL
java.lang.Object
org.h2.expression.Expression
org.h2.expression.OperationN
org.h2.expression.function.FunctionN
org.h2.mode.ModeFunction
org.h2.mode.FunctionsMySQL
- All Implemented Interfaces:
ExpressionWithVariableParameters
,NamedExpression
,HasSQL
,Typed
This class implements some MySQL-specific functions.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final int
private static final String
The date format of a MySQL formatted date/time.private static final String[]
Format replacements for MySQL date formats.private static final int
private static final HashMap
<String, FunctionInfo> private static final int
private static final int
Fields inherited from class org.h2.mode.ModeFunction
info, VAR_ARGS
Fields inherited from class org.h2.expression.OperationN
args, argsCount, type
Fields inherited from class org.h2.expression.Expression
AUTO_PARENTHESES, MAP_IN_AGGREGATE, MAP_IN_WINDOW, MAP_INITIAL, WITH_PARENTHESES, WITHOUT_PARENTHESES
Fields inherited from interface org.h2.util.HasSQL
ADD_PLAN_INFORMATION, DEFAULT_SQL_FLAGS, NO_CASTS, QUOTE_ONLY_WHEN_REQUIRED, REPLACE_LOBS_FOR_TRACE, TRACE_SQL_FLAGS
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
checkParameterCount
(int len) Check if the parameter count is correct.private static String
convertToSimpleDateFormat
(String format) static String
fromUnixTime
(int seconds) See https://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_from-unixtimestatic String
fromUnixTime
(int seconds, String format) See https://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_from-unixtimestatic FunctionsMySQL
getFunction
(String upperName) Returns mode-specific function for a given name, ornull
.getValue
(SessionLocal session) Return the resulting value for the current row.optimize
(SessionLocal session) Try to optimize the expression.static int
unixTimestamp
(SessionLocal session, Value value) Get the seconds since 1970-01-01 00:00:00 UTC of the given timestamp.Methods inherited from class org.h2.mode.ModeFunction
doneWithParameters, getArgumentsValues, getFunction, getName, getNullOrValue, isEverything, optimizeArguments
Methods inherited from class org.h2.expression.function.FunctionN
getUnenclosedSQL, getValue
Methods inherited from class org.h2.expression.OperationN
addParameter, getCost, getSubexpression, getSubexpressionCount, getType, mapColumns, optimizeArguments, setEvaluatable, updateAggregate
Methods inherited from class org.h2.expression.Expression
addFilterConditions, createIndexConditions, getAlias, getBooleanValue, getColumnName, getColumnNameForView, getEnclosedSQL, getNonAliasExpression, getNotIfPossible, getNullable, getSchemaName, getSQL, getSQL, getSQL, getSQL, getTableAlias, getTableName, getWhenSQL, getWhenValue, isConstant, isIdentity, isNullConstant, isValueSet, isWhenConditionOperand, needParentheses, optimizeCondition, toString, writeExpressions, writeExpressions
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.h2.util.HasSQL
getTraceSQL
-
Field Details
-
UNIX_TIMESTAMP
private static final int UNIX_TIMESTAMP- See Also:
-
FROM_UNIXTIME
private static final int FROM_UNIXTIME- See Also:
-
DATE
private static final int DATE- See Also:
-
LAST_INSERT_ID
private static final int LAST_INSERT_ID- See Also:
-
FUNCTIONS
-
DATE_TIME_FORMAT
The date format of a MySQL formatted date/time. Example: 2008-09-25 08:40:59- See Also:
-
FORMAT_REPLACE
Format replacements for MySQL date formats. See https://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-format
-
-
Constructor Details
-
FunctionsMySQL
FunctionsMySQL(FunctionInfo info)
-
-
Method Details
-
unixTimestamp
Get the seconds since 1970-01-01 00:00:00 UTC of the given timestamp. See https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_unix-timestamp- Parameters:
session
- the sessionvalue
- the timestamp- Returns:
- the timestamp in seconds since EPOCH
-
fromUnixTime
See https://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_from-unixtime- Parameters:
seconds
- The current timestamp in seconds.- Returns:
- a formatted date/time String in the format "yyyy-MM-dd HH:mm:ss".
-
fromUnixTime
See https://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_from-unixtime- Parameters:
seconds
- The current timestamp in seconds.format
- The format of the date/time String to return.- Returns:
- a formatted date/time String in the given format.
-
convertToSimpleDateFormat
-
getFunction
Returns mode-specific function for a given name, ornull
.- Parameters:
upperName
- the upper-case name of a function- Returns:
- the function with specified name or
null
-
checkParameterCount
protected void checkParameterCount(int len) Description copied from class:ModeFunction
Check if the parameter count is correct.- Overrides:
checkParameterCount
in classModeFunction
- Parameters:
len
- the number of parameters set
-
optimize
Description copied from class:Expression
Try to optimize the expression.- Specified by:
optimize
in classExpression
- Parameters:
session
- the session- Returns:
- the optimized expression
-
getValue
Description copied from class:Expression
Return the resulting value for the current row.
-