提交 86de39ae authored 作者: Evgenij Ryazanov's avatar Evgenij Ryazanov

Move functions to own package

上级 c7191ee7
...@@ -160,14 +160,10 @@ import org.h2.expression.ConditionNot; ...@@ -160,14 +160,10 @@ import org.h2.expression.ConditionNot;
import org.h2.expression.Expression; import org.h2.expression.Expression;
import org.h2.expression.ExpressionColumn; import org.h2.expression.ExpressionColumn;
import org.h2.expression.ExpressionList; import org.h2.expression.ExpressionList;
import org.h2.expression.Function;
import org.h2.expression.FunctionCall;
import org.h2.expression.JavaFunction;
import org.h2.expression.Parameter; import org.h2.expression.Parameter;
import org.h2.expression.Rownum; import org.h2.expression.Rownum;
import org.h2.expression.SequenceValue; import org.h2.expression.SequenceValue;
import org.h2.expression.Subquery; import org.h2.expression.Subquery;
import org.h2.expression.TableFunction;
import org.h2.expression.UnaryOperation; import org.h2.expression.UnaryOperation;
import org.h2.expression.ValueExpression; import org.h2.expression.ValueExpression;
import org.h2.expression.Variable; import org.h2.expression.Variable;
...@@ -185,6 +181,11 @@ import org.h2.expression.analysis.WindowFrameExclusion; ...@@ -185,6 +181,11 @@ import org.h2.expression.analysis.WindowFrameExclusion;
import org.h2.expression.analysis.WindowFrameUnits; import org.h2.expression.analysis.WindowFrameUnits;
import org.h2.expression.analysis.WindowFunction; import org.h2.expression.analysis.WindowFunction;
import org.h2.expression.analysis.WindowFunctionType; import org.h2.expression.analysis.WindowFunctionType;
import org.h2.expression.function.DateTimeFunctions;
import org.h2.expression.function.Function;
import org.h2.expression.function.FunctionCall;
import org.h2.expression.function.JavaFunction;
import org.h2.expression.function.TableFunction;
import org.h2.index.Index; import org.h2.index.Index;
import org.h2.message.DbException; import org.h2.message.DbException;
import org.h2.result.SortOrder; import org.h2.result.SortOrder;
...@@ -199,7 +200,6 @@ import org.h2.table.Table; ...@@ -199,7 +200,6 @@ import org.h2.table.Table;
import org.h2.table.TableFilter; import org.h2.table.TableFilter;
import org.h2.table.TableFilter.TableFilterVisitor; import org.h2.table.TableFilter.TableFilterVisitor;
import org.h2.table.TableView; import org.h2.table.TableView;
import org.h2.util.DateTimeFunctions;
import org.h2.util.IntervalUtils; import org.h2.util.IntervalUtils;
import org.h2.util.MathUtils; import org.h2.util.MathUtils;
import org.h2.util.ParserUtil; import org.h2.util.ParserUtil;
......
...@@ -19,9 +19,9 @@ import org.h2.expression.Alias; ...@@ -19,9 +19,9 @@ import org.h2.expression.Alias;
import org.h2.expression.Expression; import org.h2.expression.Expression;
import org.h2.expression.ExpressionColumn; import org.h2.expression.ExpressionColumn;
import org.h2.expression.ExpressionVisitor; import org.h2.expression.ExpressionVisitor;
import org.h2.expression.FunctionCall;
import org.h2.expression.Parameter; import org.h2.expression.Parameter;
import org.h2.expression.ValueExpression; import org.h2.expression.ValueExpression;
import org.h2.expression.function.FunctionCall;
import org.h2.message.DbException; import org.h2.message.DbException;
import org.h2.result.ResultInterface; import org.h2.result.ResultInterface;
import org.h2.result.ResultTarget; import org.h2.result.ResultTarget;
......
...@@ -8,6 +8,7 @@ package org.h2.expression; ...@@ -8,6 +8,7 @@ package org.h2.expression;
import org.h2.engine.Mode; import org.h2.engine.Mode;
import org.h2.engine.Session; import org.h2.engine.Session;
import org.h2.expression.IntervalOperation.IntervalOpType; import org.h2.expression.IntervalOperation.IntervalOpType;
import org.h2.expression.function.Function;
import org.h2.message.DbException; import org.h2.message.DbException;
import org.h2.table.ColumnResolver; import org.h2.table.ColumnResolver;
import org.h2.table.TableFilter; import org.h2.table.TableFilter;
......
...@@ -373,7 +373,7 @@ public abstract class Expression { ...@@ -373,7 +373,7 @@ public abstract class Expression {
* @param value the value to extract columns from * @param value the value to extract columns from
* @return array of expression columns * @return array of expression columns
*/ */
static Expression[] getExpressionColumns(Session session, ValueArray value) { protected static Expression[] getExpressionColumns(Session session, ValueArray value) {
Value[] list = value.getList(); Value[] list = value.getList();
ExpressionColumn[] expr = new ExpressionColumn[list.length]; ExpressionColumn[] expr = new ExpressionColumn[list.length];
for (int i = 0, len = list.length; i < len; i++) { for (int i = 0, len = list.length; i < len; i++) {
......
...@@ -20,10 +20,10 @@ import java.math.BigInteger; ...@@ -20,10 +20,10 @@ import java.math.BigInteger;
import org.h2.api.ErrorCode; import org.h2.api.ErrorCode;
import org.h2.api.IntervalQualifier; import org.h2.api.IntervalQualifier;
import org.h2.engine.Session; import org.h2.engine.Session;
import org.h2.expression.function.DateTimeFunctions;
import org.h2.message.DbException; import org.h2.message.DbException;
import org.h2.table.ColumnResolver; import org.h2.table.ColumnResolver;
import org.h2.table.TableFilter; import org.h2.table.TableFilter;
import org.h2.util.DateTimeFunctions;
import org.h2.util.IntervalUtils; import org.h2.util.IntervalUtils;
import org.h2.value.DataType; import org.h2.value.DataType;
import org.h2.value.Value; import org.h2.value.Value;
......
...@@ -3,30 +3,30 @@ ...@@ -3,30 +3,30 @@
* and the EPL 1.0 (http://h2database.com/html/license.html). * and the EPL 1.0 (http://h2database.com/html/license.html).
* Initial Developer: H2 Group * Initial Developer: H2 Group
*/ */
package org.h2.util; package org.h2.expression.function;
import static org.h2.expression.Function.CENTURY; import static org.h2.expression.function.Function.CENTURY;
import static org.h2.expression.Function.DAY_OF_MONTH; import static org.h2.expression.function.Function.DAY_OF_MONTH;
import static org.h2.expression.Function.DAY_OF_WEEK; import static org.h2.expression.function.Function.DAY_OF_WEEK;
import static org.h2.expression.Function.DAY_OF_YEAR; import static org.h2.expression.function.Function.DAY_OF_YEAR;
import static org.h2.expression.Function.DECADE; import static org.h2.expression.function.Function.DECADE;
import static org.h2.expression.Function.EPOCH; import static org.h2.expression.function.Function.EPOCH;
import static org.h2.expression.Function.HOUR; import static org.h2.expression.function.Function.HOUR;
import static org.h2.expression.Function.ISO_DAY_OF_WEEK; import static org.h2.expression.function.Function.ISO_DAY_OF_WEEK;
import static org.h2.expression.Function.ISO_WEEK; import static org.h2.expression.function.Function.ISO_WEEK;
import static org.h2.expression.Function.ISO_YEAR; import static org.h2.expression.function.Function.ISO_YEAR;
import static org.h2.expression.Function.MICROSECOND; import static org.h2.expression.function.Function.MICROSECOND;
import static org.h2.expression.Function.MILLENNIUM; import static org.h2.expression.function.Function.MILLENNIUM;
import static org.h2.expression.Function.MILLISECOND; import static org.h2.expression.function.Function.MILLISECOND;
import static org.h2.expression.Function.MINUTE; import static org.h2.expression.function.Function.MINUTE;
import static org.h2.expression.Function.MONTH; import static org.h2.expression.function.Function.MONTH;
import static org.h2.expression.Function.NANOSECOND; import static org.h2.expression.function.Function.NANOSECOND;
import static org.h2.expression.Function.QUARTER; import static org.h2.expression.function.Function.QUARTER;
import static org.h2.expression.Function.SECOND; import static org.h2.expression.function.Function.SECOND;
import static org.h2.expression.Function.TIMEZONE_HOUR; import static org.h2.expression.function.Function.TIMEZONE_HOUR;
import static org.h2.expression.Function.TIMEZONE_MINUTE; import static org.h2.expression.function.Function.TIMEZONE_MINUTE;
import static org.h2.expression.Function.WEEK; import static org.h2.expression.function.Function.WEEK;
import static org.h2.expression.Function.YEAR; import static org.h2.expression.function.Function.YEAR;
import static org.h2.util.DateTimeUtils.MILLIS_PER_DAY; import static org.h2.util.DateTimeUtils.MILLIS_PER_DAY;
import static org.h2.util.DateTimeUtils.NANOS_PER_DAY; import static org.h2.util.DateTimeUtils.NANOS_PER_DAY;
import static org.h2.util.DateTimeUtils.NANOS_PER_HOUR; import static org.h2.util.DateTimeUtils.NANOS_PER_HOUR;
...@@ -43,8 +43,10 @@ import java.util.TimeZone; ...@@ -43,8 +43,10 @@ import java.util.TimeZone;
import org.h2.api.ErrorCode; import org.h2.api.ErrorCode;
import org.h2.api.IntervalQualifier; import org.h2.api.IntervalQualifier;
import org.h2.expression.Function;
import org.h2.message.DbException; import org.h2.message.DbException;
import org.h2.util.DateTimeUtils;
import org.h2.util.IntervalUtils;
import org.h2.util.StringUtils;
import org.h2.value.Value; import org.h2.value.Value;
import org.h2.value.ValueDate; import org.h2.value.ValueDate;
import org.h2.value.ValueDecimal; import org.h2.value.ValueDecimal;
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
* and the EPL 1.0 (http://h2database.com/html/license.html). * and the EPL 1.0 (http://h2database.com/html/license.html).
* Initial Developer: H2 Group * Initial Developer: H2 Group
*/ */
package org.h2.expression; package org.h2.expression.function;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.io.IOException; import java.io.IOException;
...@@ -28,6 +28,12 @@ import org.h2.engine.Constants; ...@@ -28,6 +28,12 @@ import org.h2.engine.Constants;
import org.h2.engine.Database; import org.h2.engine.Database;
import org.h2.engine.Mode; import org.h2.engine.Mode;
import org.h2.engine.Session; import org.h2.engine.Session;
import org.h2.expression.Expression;
import org.h2.expression.ExpressionColumn;
import org.h2.expression.ExpressionVisitor;
import org.h2.expression.SequenceValue;
import org.h2.expression.ValueExpression;
import org.h2.expression.Variable;
import org.h2.index.Index; import org.h2.index.Index;
import org.h2.message.DbException; import org.h2.message.DbException;
import org.h2.mode.FunctionsMSSQLServer; import org.h2.mode.FunctionsMSSQLServer;
...@@ -46,14 +52,11 @@ import org.h2.table.TableFilter; ...@@ -46,14 +52,11 @@ import org.h2.table.TableFilter;
import org.h2.tools.CompressTool; import org.h2.tools.CompressTool;
import org.h2.tools.Csv; import org.h2.tools.Csv;
import org.h2.util.Bits; import org.h2.util.Bits;
import org.h2.util.DateTimeFunctions;
import org.h2.util.DateTimeUtils; import org.h2.util.DateTimeUtils;
import org.h2.util.IOUtils; import org.h2.util.IOUtils;
import org.h2.util.JdbcUtils; import org.h2.util.JdbcUtils;
import org.h2.util.MathUtils; import org.h2.util.MathUtils;
import org.h2.util.StringUtils; import org.h2.util.StringUtils;
import org.h2.util.ToChar;
import org.h2.util.ToDateParser;
import org.h2.util.Utils; import org.h2.util.Utils;
import org.h2.value.DataType; import org.h2.value.DataType;
import org.h2.value.ExtTypeInfo; import org.h2.value.ExtTypeInfo;
......
...@@ -3,9 +3,10 @@ ...@@ -3,9 +3,10 @@
* and the EPL 1.0 (http://h2database.com/html/license.html). * and the EPL 1.0 (http://h2database.com/html/license.html).
* Initial Developer: H2 Group * Initial Developer: H2 Group
*/ */
package org.h2.expression; package org.h2.expression.function;
import org.h2.engine.Session; import org.h2.engine.Session;
import org.h2.expression.Expression;
import org.h2.value.ValueResultSet; import org.h2.value.ValueResultSet;
/** /**
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
* and the EPL 1.0 (http://h2database.com/html/license.html). * and the EPL 1.0 (http://h2database.com/html/license.html).
* Initial Developer: H2 Group * Initial Developer: H2 Group
*/ */
package org.h2.expression; package org.h2.expression.function;
/** /**
* This class contains information about a built-in function. * This class contains information about a built-in function.
......
...@@ -3,12 +3,15 @@ ...@@ -3,12 +3,15 @@
* and the EPL 1.0 (http://h2database.com/html/license.html). * and the EPL 1.0 (http://h2database.com/html/license.html).
* Initial Developer: H2 Group * Initial Developer: H2 Group
*/ */
package org.h2.expression; package org.h2.expression.function;
import org.h2.command.Parser; import org.h2.command.Parser;
import org.h2.engine.Constants; import org.h2.engine.Constants;
import org.h2.engine.FunctionAlias; import org.h2.engine.FunctionAlias;
import org.h2.engine.Session; import org.h2.engine.Session;
import org.h2.expression.Expression;
import org.h2.expression.ExpressionVisitor;
import org.h2.expression.ValueExpression;
import org.h2.table.ColumnResolver; import org.h2.table.ColumnResolver;
import org.h2.table.TableFilter; import org.h2.table.TableFilter;
import org.h2.value.DataType; import org.h2.value.DataType;
......
...@@ -3,13 +3,15 @@ ...@@ -3,13 +3,15 @@
* and the EPL 1.0 (http://h2database.com/html/license.html). * and the EPL 1.0 (http://h2database.com/html/license.html).
* Initial Developer: H2 Group * Initial Developer: H2 Group
*/ */
package org.h2.expression; package org.h2.expression.function;
import java.util.ArrayList; import java.util.ArrayList;
import org.h2.api.ErrorCode; import org.h2.api.ErrorCode;
import org.h2.engine.Database; import org.h2.engine.Database;
import org.h2.engine.Session; import org.h2.engine.Session;
import org.h2.expression.Expression;
import org.h2.expression.ExpressionColumn;
import org.h2.message.DbException; import org.h2.message.DbException;
import org.h2.result.LocalResult; import org.h2.result.LocalResult;
import org.h2.table.Column; import org.h2.table.Column;
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
* and the EPL 1.0 (http://h2database.com/html/license.html). * and the EPL 1.0 (http://h2database.com/html/license.html).
* Initial Developer: Daniel Gredler * Initial Developer: Daniel Gredler
*/ */
package org.h2.util; package org.h2.expression.function;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.text.DateFormatSymbols; import java.text.DateFormatSymbols;
...@@ -17,6 +17,8 @@ import java.util.TimeZone; ...@@ -17,6 +17,8 @@ import java.util.TimeZone;
import org.h2.api.ErrorCode; import org.h2.api.ErrorCode;
import org.h2.message.DbException; import org.h2.message.DbException;
import org.h2.util.DateTimeUtils;
import org.h2.util.StringUtils;
import org.h2.value.Value; import org.h2.value.Value;
import org.h2.value.ValueTimestampTimeZone; import org.h2.value.ValueTimestampTimeZone;
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
* and the EPL 1.0 (http://h2database.com/html/license.html). * and the EPL 1.0 (http://h2database.com/html/license.html).
* Initial Developer: Daniel Gredler * Initial Developer: Daniel Gredler
*/ */
package org.h2.util; package org.h2.expression.function;
import static java.lang.String.format; import static java.lang.String.format;
...@@ -12,6 +12,7 @@ import java.util.GregorianCalendar; ...@@ -12,6 +12,7 @@ import java.util.GregorianCalendar;
import java.util.List; import java.util.List;
import java.util.TimeZone; import java.util.TimeZone;
import org.h2.util.DateTimeUtils;
import org.h2.value.ValueTimestamp; import org.h2.value.ValueTimestamp;
import org.h2.value.ValueTimestampTimeZone; import org.h2.value.ValueTimestampTimeZone;
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
* and the EPL 1.0 (http://h2database.com/html/license.html). * and the EPL 1.0 (http://h2database.com/html/license.html).
* Initial Developer: Daniel Gredler * Initial Developer: Daniel Gredler
*/ */
package org.h2.util; package org.h2.expression.function;
import static java.lang.String.format; import static java.lang.String.format;
import java.util.ArrayList; import java.util.ArrayList;
......
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!--
Copyright 2004-2018 H2 Group. Multiple-Licensed under the MPL 2.0, Version 1.0,
and under the Eclipse Public License, Version 1.0
Initial Developer: H2 Group
-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head><meta http-equiv="Content-Type" content="text/html;charset=utf-8" /><title>
Javadoc package documentation
</title></head><body style="font: 9pt/130% Tahoma, Arial, Helvetica, sans-serif; font-weight: normal;"><p>
Functions.
</p></body></html>
\ No newline at end of file
...@@ -9,6 +9,6 @@ Initial Developer: H2 Group ...@@ -9,6 +9,6 @@ Initial Developer: H2 Group
Javadoc package documentation Javadoc package documentation
</title></head><body style="font: 9pt/130% Tahoma, Arial, Helvetica, sans-serif; font-weight: normal;"><p> </title></head><body style="font: 9pt/130% Tahoma, Arial, Helvetica, sans-serif; font-weight: normal;"><p>
Expressions include mathematical operations, conditions, simple values, and functions. Expressions include mathematical operations, conditions, simple values, and others.
</p></body></html> </p></body></html>
\ No newline at end of file
...@@ -8,8 +8,8 @@ package org.h2.mode; ...@@ -8,8 +8,8 @@ package org.h2.mode;
import java.util.HashMap; import java.util.HashMap;
import org.h2.engine.Database; import org.h2.engine.Database;
import org.h2.expression.Function; import org.h2.expression.function.Function;
import org.h2.expression.FunctionInfo; import org.h2.expression.function.FunctionInfo;
/** /**
* Base class for mode-specific functions. * Base class for mode-specific functions.
......
...@@ -8,8 +8,8 @@ package org.h2.mode; ...@@ -8,8 +8,8 @@ package org.h2.mode;
import java.util.HashMap; import java.util.HashMap;
import org.h2.engine.Database; import org.h2.engine.Database;
import org.h2.expression.Function; import org.h2.expression.function.Function;
import org.h2.expression.FunctionInfo; import org.h2.expression.function.FunctionInfo;
/** /**
* Functions for {@link org.h2.engine.Mode.ModeEnum#MSSQLServer} compatibility * Functions for {@link org.h2.engine.Mode.ModeEnum#MSSQLServer} compatibility
......
...@@ -14,9 +14,9 @@ import org.h2.api.ErrorCode; ...@@ -14,9 +14,9 @@ import org.h2.api.ErrorCode;
import org.h2.engine.Database; import org.h2.engine.Database;
import org.h2.engine.Session; import org.h2.engine.Session;
import org.h2.expression.Expression; import org.h2.expression.Expression;
import org.h2.expression.Function;
import org.h2.expression.FunctionInfo;
import org.h2.expression.ValueExpression; import org.h2.expression.ValueExpression;
import org.h2.expression.function.Function;
import org.h2.expression.function.FunctionInfo;
import org.h2.message.DbException; import org.h2.message.DbException;
import org.h2.util.StringUtils; import org.h2.util.StringUtils;
import org.h2.value.DataType; import org.h2.value.DataType;
......
...@@ -9,8 +9,8 @@ import java.util.ArrayList; ...@@ -9,8 +9,8 @@ import java.util.ArrayList;
import org.h2.api.ErrorCode; import org.h2.api.ErrorCode;
import org.h2.engine.Session; import org.h2.engine.Session;
import org.h2.expression.Expression; import org.h2.expression.Expression;
import org.h2.expression.FunctionCall; import org.h2.expression.function.FunctionCall;
import org.h2.expression.TableFunction; import org.h2.expression.function.TableFunction;
import org.h2.index.FunctionIndex; import org.h2.index.FunctionIndex;
import org.h2.index.Index; import org.h2.index.Index;
import org.h2.index.IndexType; import org.h2.index.IndexType;
......
...@@ -46,6 +46,8 @@ import org.h2.api.Aggregate; ...@@ -46,6 +46,8 @@ import org.h2.api.Aggregate;
import org.h2.api.AggregateFunction; import org.h2.api.AggregateFunction;
import org.h2.api.ErrorCode; import org.h2.api.ErrorCode;
import org.h2.engine.Constants; import org.h2.engine.Constants;
import org.h2.expression.function.ToDateParser;
import org.h2.expression.function.ToChar.Capitalization;
import org.h2.message.DbException; import org.h2.message.DbException;
import org.h2.store.fs.FileUtils; import org.h2.store.fs.FileUtils;
import org.h2.test.TestBase; import org.h2.test.TestBase;
...@@ -55,8 +57,6 @@ import org.h2.tools.SimpleResultSet; ...@@ -55,8 +57,6 @@ import org.h2.tools.SimpleResultSet;
import org.h2.util.DateTimeUtils; import org.h2.util.DateTimeUtils;
import org.h2.util.IOUtils; import org.h2.util.IOUtils;
import org.h2.util.StringUtils; import org.h2.util.StringUtils;
import org.h2.util.ToChar.Capitalization;
import org.h2.util.ToDateParser;
import org.h2.value.Value; import org.h2.value.Value;
import org.h2.value.ValueTimestamp; import org.h2.value.ValueTimestamp;
import org.h2.value.ValueTimestampTimeZone; import org.h2.value.ValueTimestampTimeZone;
......
...@@ -10,10 +10,10 @@ import java.net.URLDecoder; ...@@ -10,10 +10,10 @@ import java.net.URLDecoder;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.util.Date; import java.util.Date;
import java.util.Random; import java.util.Random;
import org.h2.expression.function.DateTimeFunctions;
import org.h2.message.DbException; import org.h2.message.DbException;
import org.h2.test.TestBase; import org.h2.test.TestBase;
import org.h2.test.utils.AssertThrows; import org.h2.test.utils.AssertThrows;
import org.h2.util.DateTimeFunctions;
import org.h2.util.StringUtils; import org.h2.util.StringUtils;
/** /**
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论