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
public final class FunctionsMySQL extends ModeFunction
This class implements some MySQL-specific functions.
-
-
Field Summary
Fields Modifier and Type Field Description private static int
DATE
private static java.lang.String
DATE_TIME_FORMAT
The date format of a MySQL formatted date/time.private static java.lang.String[]
FORMAT_REPLACE
Format replacements for MySQL date formats.private static int
FROM_UNIXTIME
private static java.util.HashMap<java.lang.String,FunctionInfo>
FUNCTIONS
private static int
LAST_INSERT_ID
private static int
UNIX_TIMESTAMP
-
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 Constructor Description FunctionsMySQL(FunctionInfo info)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
checkParameterCount(int len)
Check if the parameter count is correct.private static java.lang.String
convertToSimpleDateFormat(java.lang.String format)
static java.lang.String
fromUnixTime(int seconds)
See https://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_from-unixtimestatic java.lang.String
fromUnixTime(int seconds, java.lang.String format)
See https://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_from-unixtimestatic FunctionsMySQL
getFunction(java.lang.String upperName)
Returns mode-specific function for a given name, ornull
.Value
getValue(SessionLocal session)
Return the resulting value for the current row.Expression
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 Detail
-
UNIX_TIMESTAMP
private static final int UNIX_TIMESTAMP
- See Also:
- Constant Field Values
-
FROM_UNIXTIME
private static final int FROM_UNIXTIME
- See Also:
- Constant Field Values
-
DATE
private static final int DATE
- See Also:
- Constant Field Values
-
LAST_INSERT_ID
private static final int LAST_INSERT_ID
- See Also:
- Constant Field Values
-
FUNCTIONS
private static final java.util.HashMap<java.lang.String,FunctionInfo> FUNCTIONS
-
DATE_TIME_FORMAT
private static final java.lang.String DATE_TIME_FORMAT
The date format of a MySQL formatted date/time. Example: 2008-09-25 08:40:59- See Also:
- Constant Field Values
-
FORMAT_REPLACE
private static final java.lang.String[] 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 Detail
-
FunctionsMySQL
FunctionsMySQL(FunctionInfo info)
-
-
Method Detail
-
unixTimestamp
public static int unixTimestamp(SessionLocal session, Value value)
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
public static java.lang.String fromUnixTime(int seconds)
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
public static java.lang.String fromUnixTime(int seconds, java.lang.String format)
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
private static java.lang.String convertToSimpleDateFormat(java.lang.String format)
-
getFunction
public static FunctionsMySQL getFunction(java.lang.String upperName)
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
public Expression optimize(SessionLocal session)
Description copied from class:Expression
Try to optimize the expression.- Specified by:
optimize
in classExpression
- Parameters:
session
- the session- Returns:
- the optimized expression
-
getValue
public Value getValue(SessionLocal session)
Description copied from class:Expression
Return the resulting value for the current row.
-
-