You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@calcite.apache.org by da...@apache.org on 2019/10/28 07:52:31 UTC
[calcite] 01/01: Cosmetic changes
This is an automated email from the ASF dual-hosted git repository.
danny0405 pushed a commit to branch cosmetic-change
in repository https://gitbox.apache.org/repos/asf/calcite.git
commit 56b51632476b682eefe1d07c33307ccc252a9462
Author: yuzhao.cyz <yu...@alibaba-inc.com>
AuthorDate: Mon Oct 28 15:51:42 2019 +0800
Cosmetic changes
---
.../org/apache/calcite/schema/ColumnStrategy.java | 3 ++-
.../org/apache/calcite/sql/SqlBasicTypeNameSpec.java | 15 ++++++++-------
.../calcite/sql/SqlCollectionTypeNameSpec.java | 20 +++++++++++---------
.../org/apache/calcite/sql/SqlRowTypeNameSpec.java | 11 ++++++-----
.../java/org/apache/calcite/sql/SqlTypeNameSpec.java | 9 +++++----
.../calcite/sql/SqlUserDefinedTypeNameSpec.java | 5 +++--
.../main/java/org/apache/calcite/sql/SqlUtil.java | 1 +
.../apache/calcite/sql/validate/SqlValidator.java | 19 +++++++++++--------
.../calcite/sql/validate/SqlValidatorImpl.java | 3 ++-
.../calcite/sql/validate/SqlValidatorUtil.java | 2 +-
.../sql/validate/implicit/AbstractTypeCoercion.java | 16 ++++++++--------
.../calcite/sql/validate/implicit/TypeCoercion.java | 1 +
.../sql/validate/implicit/TypeCoercionImpl.java | 3 ++-
.../org/apache/calcite/test/TypeCoercionTest.java | 2 +-
14 files changed, 62 insertions(+), 48 deletions(-)
diff --git a/core/src/main/java/org/apache/calcite/schema/ColumnStrategy.java b/core/src/main/java/org/apache/calcite/schema/ColumnStrategy.java
index 1f633b8..e77da37 100644
--- a/core/src/main/java/org/apache/calcite/schema/ColumnStrategy.java
+++ b/core/src/main/java/org/apache/calcite/schema/ColumnStrategy.java
@@ -40,7 +40,8 @@ public enum ColumnStrategy {
/**
* Returns whether you can insert into the column.
- * @return true if this column can be inserted.
+ *
+ * @return true if this column can be inserted
*/
public boolean canInsertInto() {
return this != STORED && this != VIRTUAL;
diff --git a/core/src/main/java/org/apache/calcite/sql/SqlBasicTypeNameSpec.java b/core/src/main/java/org/apache/calcite/sql/SqlBasicTypeNameSpec.java
index 8b8f1b3..11318a5 100644
--- a/core/src/main/java/org/apache/calcite/sql/SqlBasicTypeNameSpec.java
+++ b/core/src/main/java/org/apache/calcite/sql/SqlBasicTypeNameSpec.java
@@ -80,12 +80,13 @@ public class SqlBasicTypeNameSpec extends SqlTypeNameSpec {
/**
* Create a basic sql type name specification.
- * @param typeName Type name.
- * @param precision Precision of the type name if it is allowed, default is -1.
- * @param scale Scale of the type name if it is allowed, default is -1.
+ *
+ * @param typeName Type name
+ * @param precision Precision of the type name if it is allowed, default is -1
+ * @param scale Scale of the type name if it is allowed, default is -1
* @param charSetName Char set of the type, only works when the type
- * belong to CHARACTER type family.
- * @param pos The parser position.
+ * belong to CHARACTER type family
+ * @param pos The parser position
*/
public SqlBasicTypeNameSpec(
SqlTypeName typeName,
@@ -249,8 +250,8 @@ public class SqlBasicTypeNameSpec extends SqlTypeNameSpec {
/**
* Remove the local time zone definition of the {@code typeName}.
*
- * @param typeName Type name.
- * @return new type name without local time zone definition.
+ * @param typeName Type name
+ * @return new type name without local time zone definition
*/
private SqlTypeName stripLocalTimeZoneDef(SqlTypeName typeName) {
switch (typeName) {
diff --git a/core/src/main/java/org/apache/calcite/sql/SqlCollectionTypeNameSpec.java b/core/src/main/java/org/apache/calcite/sql/SqlCollectionTypeNameSpec.java
index c657b97..155c661 100644
--- a/core/src/main/java/org/apache/calcite/sql/SqlCollectionTypeNameSpec.java
+++ b/core/src/main/java/org/apache/calcite/sql/SqlCollectionTypeNameSpec.java
@@ -49,9 +49,10 @@ import java.util.Objects;
* <data type> MULTISET
* </pre></blockquote>
*
- * <p>This class is intended to be used in nested collection type, it can be used as the
- * element type name of {@link SqlDataTypeSpec}. i.e. "int array array" or "int array multiset".
- * For simple collection type like "int array", {@link SqlBasicTypeNameSpec} is descriptive enough.
+ * <p>This class is intended to describe SQL collection type. It can describe
+ * either simple collection type like "int array" or nested collection type like
+ * "int array array" or "int array multiset". For nested collection type, the element type
+ * name of this {@code SqlCollectionTypeNameSpec} is also a {@code SqlCollectionTypeNameSpec}.
*/
public class SqlCollectionTypeNameSpec extends SqlTypeNameSpec {
private final SqlTypeNameSpec elementTypeName;
@@ -60,9 +61,9 @@ public class SqlCollectionTypeNameSpec extends SqlTypeNameSpec {
/**
* Creates a {@code SqlCollectionTypeNameSpec}.
*
- * @param elementTypeName Type of the collection element.
- * @param collectionTypeName Collection type name.
- * @param pos Parser position, must not be null.
+ * @param elementTypeName Type of the collection element
+ * @param collectionTypeName Collection type name
+ * @param pos Parser position, must not be null
*/
public SqlCollectionTypeNameSpec(SqlTypeNameSpec elementTypeName,
SqlTypeName collectionTypeName,
@@ -104,10 +105,11 @@ public class SqlCollectionTypeNameSpec extends SqlTypeNameSpec {
/**
* Create collection data type.
- * @param elementType Type of the collection element.
- * @param typeFactory Type factory.
+ *
+ * @param elementType Type of the collection element
+ * @param typeFactory Type factory
* @return The collection data type, or throw exception if the collection
- * type name does not belong to {@code SqlTypeName} enumerations.
+ * type name does not belong to {@code SqlTypeName} enumerations
*/
private RelDataType createCollectionType(RelDataType elementType,
RelDataTypeFactory typeFactory) {
diff --git a/core/src/main/java/org/apache/calcite/sql/SqlRowTypeNameSpec.java b/core/src/main/java/org/apache/calcite/sql/SqlRowTypeNameSpec.java
index 4eac327..e7807d8 100644
--- a/core/src/main/java/org/apache/calcite/sql/SqlRowTypeNameSpec.java
+++ b/core/src/main/java/org/apache/calcite/sql/SqlRowTypeNameSpec.java
@@ -45,8 +45,9 @@ import java.util.stream.Collectors;
* <field name> <data type>
* </pre></blockquote>
*
- * <p>We also support to add a [ NULL | NOT NULL ] suffix for every field type, i.e.
- * Row(f0 int null, f1 varchar not null), the default is not nullable.
+ * <p>As a extended syntax to the standard SQL, each field type can have a
+ * [ NULL | NOT NULL ] suffix specification, i.e.
+ * Row(f0 int null, f1 varchar not null). The default is NOT NULL(not nullable).
*/
public class SqlRowTypeNameSpec extends SqlTypeNameSpec {
@@ -56,9 +57,9 @@ public class SqlRowTypeNameSpec extends SqlTypeNameSpec {
/**
* Creates a row type specification.
*
- * @param pos The parser position.
- * @param fieldNames The field names.
- * @param fieldTypes The field data types.
+ * @param pos The parser position
+ * @param fieldNames The field names
+ * @param fieldTypes The field data types
*/
public SqlRowTypeNameSpec(
SqlParserPos pos,
diff --git a/core/src/main/java/org/apache/calcite/sql/SqlTypeNameSpec.java b/core/src/main/java/org/apache/calcite/sql/SqlTypeNameSpec.java
index a0be99a..7890d3a 100644
--- a/core/src/main/java/org/apache/calcite/sql/SqlTypeNameSpec.java
+++ b/core/src/main/java/org/apache/calcite/sql/SqlTypeNameSpec.java
@@ -27,6 +27,7 @@ import org.apache.calcite.util.Litmus;
*
* <p>To customize sql node unparsing, override the method
* {@link #unparse(SqlWriter, int, int)}.
+ *
* <p>To customize data type deriving, override the method
* {@link #deriveType(SqlValidator)}.
*/
@@ -37,8 +38,8 @@ public abstract class SqlTypeNameSpec {
/**
* Creates a {@code SqlTypeNameSpec}.
*
- * @param name Name of the type.
- * @param pos Parser position, must not be null.
+ * @param name Name of the type
+ * @param pos Parser position, must not be null
*/
public SqlTypeNameSpec(SqlIdentifier name, SqlParserPos pos) {
this.typeName = name;
@@ -48,9 +49,9 @@ public abstract class SqlTypeNameSpec {
/**
* Derive type from this SqlTypeNameSpec.
*
- * @param validator The sql validator.
+ * @param validator The sql validator
* @return the {@code RelDataType} instance, throws exception if we could not
- * deduce the type.
+ * deduce the type
*/
public abstract RelDataType deriveType(SqlValidator validator);
diff --git a/core/src/main/java/org/apache/calcite/sql/SqlUserDefinedTypeNameSpec.java b/core/src/main/java/org/apache/calcite/sql/SqlUserDefinedTypeNameSpec.java
index 8a6c4ea..c82ff20 100644
--- a/core/src/main/java/org/apache/calcite/sql/SqlUserDefinedTypeNameSpec.java
+++ b/core/src/main/java/org/apache/calcite/sql/SqlUserDefinedTypeNameSpec.java
@@ -34,8 +34,9 @@ public class SqlUserDefinedTypeNameSpec extends SqlTypeNameSpec {
/**
* Create a SqlUserDefinedTypeNameSpec instance.
- * @param typeName Type name as SQL identifier.
- * @param pos The parser position.
+ *
+ * @param typeName Type name as SQL identifier
+ * @param pos The parser position
*/
public SqlUserDefinedTypeNameSpec(SqlIdentifier typeName, SqlParserPos pos) {
super(typeName, pos);
diff --git a/core/src/main/java/org/apache/calcite/sql/SqlUtil.java b/core/src/main/java/org/apache/calcite/sql/SqlUtil.java
index 8012196..bbd1a6a 100644
--- a/core/src/main/java/org/apache/calcite/sql/SqlUtil.java
+++ b/core/src/main/java/org/apache/calcite/sql/SqlUtil.java
@@ -315,6 +315,7 @@ public abstract class SqlUtil {
/**
* Unparse a SqlIdentifier syntax.
+ *
* @param writer Writer
* @param identifier SqlIdentifier
* @param asFunctionID Whether this identifier comes from a SqlFunction
diff --git a/core/src/main/java/org/apache/calcite/sql/validate/SqlValidator.java b/core/src/main/java/org/apache/calcite/sql/validate/SqlValidator.java
index 981a870..fe44f16 100644
--- a/core/src/main/java/org/apache/calcite/sql/validate/SqlValidator.java
+++ b/core/src/main/java/org/apache/calcite/sql/validate/SqlValidator.java
@@ -792,20 +792,23 @@ public interface SqlValidator {
boolean isLenientOperatorLookup();
/**
- * Set if implicit type coercion is allowed when the validator does validation.
- * See {@link org.apache.calcite.sql.validate.implicit.TypeCoercionImpl} for the details.
- * @param enabled default as true.
+ * Sets enable or disable implicit type coercion when the validator does validation.
+ *
+ * @param enabled if enable the type coercion, default is true
+ *
+ * @see org.apache.calcite.sql.validate.implicit.TypeCoercionImpl TypeCoercionImpl
*/
SqlValidator setEnableTypeCoercion(boolean enabled);
- /** Get if this validator supports implicit type coercion. */
+ /** Returns if this validator supports implicit type coercion. */
boolean isTypeCoercionEnabled();
/**
- * Set an instance of type coercion, you can customize the coercion rules to
- * override the default ones
- * in {@link org.apache.calcite.sql.validate.implicit.TypeCoercionImpl}.
- * @param typeCoercion instance of {@link TypeCoercion}.
+ * Sets an instance of type coercion, you can customize the coercion rules to
+ * override the default ones defined in
+ * {@link org.apache.calcite.sql.validate.implicit.TypeCoercionImpl}.
+ *
+ * @param typeCoercion {@link TypeCoercion} instance
*/
void setTypeCoercion(TypeCoercion typeCoercion);
diff --git a/core/src/main/java/org/apache/calcite/sql/validate/SqlValidatorImpl.java b/core/src/main/java/org/apache/calcite/sql/validate/SqlValidatorImpl.java
index 3540eec..9478384 100644
--- a/core/src/main/java/org/apache/calcite/sql/validate/SqlValidatorImpl.java
+++ b/core/src/main/java/org/apache/calcite/sql/validate/SqlValidatorImpl.java
@@ -4437,6 +4437,7 @@ public class SqlValidatorImpl implements SqlValidatorWithHints {
/**
* Check the field count of sql insert source and target node row type.
+ *
* @param node target table sql identifier
* @param table target table
* @param strategies column strategies of target table
@@ -4447,7 +4448,7 @@ public class SqlValidatorImpl implements SqlValidatorWithHints {
* @param logicalTargetRowType logical target row type, contains only target columns if
* they are specified or if the sql dialect allows subset insert,
* make a subset of fields(start from the left first field) whose
- * length is equals with the source row type fields number.
+ * length is equals with the source row type fields number
*/
private void checkFieldCount(SqlNode node, SqlValidatorTable table,
List<ColumnStrategy> strategies, RelDataType targetRowTypeToValidate,
diff --git a/core/src/main/java/org/apache/calcite/sql/validate/SqlValidatorUtil.java b/core/src/main/java/org/apache/calcite/sql/validate/SqlValidatorUtil.java
index c5d7316..fa96e3e 100644
--- a/core/src/main/java/org/apache/calcite/sql/validate/SqlValidatorUtil.java
+++ b/core/src/main/java/org/apache/calcite/sql/validate/SqlValidatorUtil.java
@@ -1112,7 +1112,7 @@ public class SqlValidatorUtil {
* @param opTab operator table to look up
* @param funName function name
* @param funcType function category
- * @return A sql function if and only if there is one operator matches, else null.
+ * @return A sql function if and only if there is one operator matches, else null
*/
public static SqlOperator lookupSqlFunctionByID(SqlOperatorTable opTab,
SqlIdentifier funName,
diff --git a/core/src/main/java/org/apache/calcite/sql/validate/implicit/AbstractTypeCoercion.java b/core/src/main/java/org/apache/calcite/sql/validate/implicit/AbstractTypeCoercion.java
index 16b705d..3070682 100644
--- a/core/src/main/java/org/apache/calcite/sql/validate/implicit/AbstractTypeCoercion.java
+++ b/core/src/main/java/org/apache/calcite/sql/validate/implicit/AbstractTypeCoercion.java
@@ -56,12 +56,12 @@ import java.util.Objects;
* all overridable by derived classes, you can define system specific type coercion logic.
*
* <p>Caution that these methods may modify the {@link SqlNode} tree, you should know what the
- * effect is when using these methods to customize your type coercion rules.</p>
+ * effect is when using these methods to customize your type coercion rules.
*
* <p>This class also defines the default implementation of the type widening strategies, see
* {@link TypeCoercion} doc and methods: {@link #getTightestCommonType}, {@link #getWiderTypeFor},
* {@link #getWiderTypeForTwo}, {@link #getWiderTypeForDecimal},
- * {@link #commonTypeForBinaryComparison} for the detail strategies.</p>
+ * {@link #commonTypeForBinaryComparison} for the detail strategies.
*/
public abstract class AbstractTypeCoercion implements TypeCoercion {
protected SqlValidator validator;
@@ -607,9 +607,9 @@ public abstract class AbstractTypeCoercion implements TypeCoercion {
* We will check the type one by one, that means the 1th type and 1th family,
* 2th type and 2th family, and the like.
*
- * @param types data type need to check.
- * @param families desired type families list.
- * @return true if we can do type coercion.
+ * @param types data type need to check
+ * @param families desired type families list
+ * @return true if we can do type coercion
*/
boolean canImplicitTypeCast(List<RelDataType> types, List<SqlTypeFamily> families) {
boolean needed = false;
@@ -635,9 +635,9 @@ public abstract class AbstractTypeCoercion implements TypeCoercion {
* See <a href="https://docs.google.com/spreadsheets/d/1GhleX5h5W8-kJKh7NMJ4vtoE78pwfaZRJl88ULX_MgU/edit?usp=sharing">CalciteImplicitCasts</a>
* for the details.
*
- * @param in inferred operand type.
- * @param expected expected {@link SqlTypeFamily} of registered SqlFunction.
- * @return common type of implicit cast, null if we do not find any.
+ * @param in inferred operand type
+ * @param expected expected {@link SqlTypeFamily} of registered SqlFunction
+ * @return common type of implicit cast, null if we do not find any
*/
public RelDataType implicitCast(RelDataType in, SqlTypeFamily expected) {
List<SqlTypeFamily> numericFamilies = ImmutableList.of(
diff --git a/core/src/main/java/org/apache/calcite/sql/validate/implicit/TypeCoercion.java b/core/src/main/java/org/apache/calcite/sql/validate/implicit/TypeCoercion.java
index e6b6cfe..8d9e299 100644
--- a/core/src/main/java/org/apache/calcite/sql/validate/implicit/TypeCoercion.java
+++ b/core/src/main/java/org/apache/calcite/sql/validate/implicit/TypeCoercion.java
@@ -43,6 +43,7 @@ import java.util.List;
* decimal(with default max precision), and yet decimal is more precise than double,
* but in union we would cast the decimal to double).</li>
* </ul>
+ *
* <p>REFERENCE: <a href="https://docs.microsoft.com/en-us/sql/t-sql/data-types/data-type-conversion-database-engine?">SQL-SERVER</a>
* <a href="https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Types">HIVE</a></p>
*/
diff --git a/core/src/main/java/org/apache/calcite/sql/validate/implicit/TypeCoercionImpl.java b/core/src/main/java/org/apache/calcite/sql/validate/implicit/TypeCoercionImpl.java
index b5b438d..1800fee 100644
--- a/core/src/main/java/org/apache/calcite/sql/validate/implicit/TypeCoercionImpl.java
+++ b/core/src/main/java/org/apache/calcite/sql/validate/implicit/TypeCoercionImpl.java
@@ -311,7 +311,8 @@ public class TypeCoercionImpl extends AbstractTypeCoercion {
* Cast "BOOLEAN = NUMERIC" to "NUMERIC = NUMERIC". Expressions like 1=`expr` and
* 0=`expr` can be simplified to `expr` and `not expr`, but this better happens
* in {@link org.apache.calcite.rex.RexSimplify}.
- * There are 2 cases that need type coercion here:
+ *
+ * <p>There are 2 cases that need type coercion here:
* <ol>
* <li>Case1: `boolean expr1` = 1 or `boolean expr1` = 0, replace the numeric literal with
* `true` or `false` boolean literal.</li>
diff --git a/core/src/test/java/org/apache/calcite/test/TypeCoercionTest.java b/core/src/test/java/org/apache/calcite/test/TypeCoercionTest.java
index 25d29ba..acc9e15 100644
--- a/core/src/test/java/org/apache/calcite/test/TypeCoercionTest.java
+++ b/core/src/test/java/org/apache/calcite/test/TypeCoercionTest.java
@@ -415,7 +415,7 @@ public class TypeCoercionTest extends SqlValidatorTestCase {
}
/** Test case for {@link TypeCoercion#getWiderTypeForTwo}
- * and {@link TypeCoercion#getWiderTypeFor} */
+ * and {@link TypeCoercion#getWiderTypeFor}. */
@Test public void testWiderTypeFor() {
// DECIMAL please see details in SqlTypeFactoryImpl#leastRestrictiveSqlType.
checkWiderType(decimalType(5, 4), decimalType(7, 1), decimalType(10, 4), true, true);