You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@calcite.apache.org by jh...@apache.org on 2015/12/03 19:23:12 UTC
[1/2] calcite git commit: [CALCITE-997] Document keywords
Repository: calcite
Updated Branches:
refs/heads/master 3be816f45 -> 14419d8c3
[CALCITE-997] Document keywords
Add a test that generates reference.md from the current set of keywords,
and fails if the generated version is different from the current one.
Project: http://git-wip-us.apache.org/repos/asf/calcite/repo
Commit: http://git-wip-us.apache.org/repos/asf/calcite/commit/6c35f3b8
Tree: http://git-wip-us.apache.org/repos/asf/calcite/tree/6c35f3b8
Diff: http://git-wip-us.apache.org/repos/asf/calcite/diff/6c35f3b8
Branch: refs/heads/master
Commit: 6c35f3b81c0dc9d37897dd7304098204e96ee883
Parents: 3be816f
Author: Julian Hyde <jh...@apache.org>
Authored: Wed Dec 2 03:51:32 2015 -0800
Committer: Julian Hyde <jh...@apache.org>
Committed: Thu Dec 3 01:44:32 2015 -0800
----------------------------------------------------------------------
.../calcite/sql/parser/SqlParserTest.java | 63 ++-
site/_docs/reference.md | 533 +++++++++++++++++++
2 files changed, 595 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/calcite/blob/6c35f3b8/core/src/test/java/org/apache/calcite/sql/parser/SqlParserTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/calcite/sql/parser/SqlParserTest.java b/core/src/test/java/org/apache/calcite/sql/parser/SqlParserTest.java
index 80930ba..365d16b 100644
--- a/core/src/test/java/org/apache/calcite/sql/parser/SqlParserTest.java
+++ b/core/src/test/java/org/apache/calcite/sql/parser/SqlParserTest.java
@@ -22,6 +22,7 @@ import org.apache.calcite.sql.SqlDialect;
import org.apache.calcite.sql.SqlNode;
import org.apache.calcite.sql.SqlSetOption;
import org.apache.calcite.sql.pretty.SqlPrettyWriter;
+import org.apache.calcite.test.DiffTestCase;
import org.apache.calcite.test.SqlValidatorTestCase;
import org.apache.calcite.util.Bug;
import org.apache.calcite.util.ConversionUtil;
@@ -31,6 +32,13 @@ import org.apache.calcite.util.Util;
import org.junit.Ignore;
import org.junit.Test;
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.net.URL;
import java.util.Locale;
import static org.hamcrest.CoreMatchers.equalTo;
@@ -2021,7 +2029,10 @@ public class SqlParserTest {
"(?s).*Encountered \"\\( \\)\" at .*");
}
- /** Test case for [CALCITE-493]. */
+ /** Test case for
+ * <a href="https://issues.apache.org/jira/browse/CALCITE-493">[CALCITE-493]
+ * Add EXTEND clause, for defining columns and their types at query/DML
+ * time</a>. */
@Test public void testTableExtend() {
sql("select * from emp extend (x int, y varchar(10) not null)")
.ok("SELECT *\n"
@@ -5629,6 +5640,56 @@ public class SqlParserTest {
assertTrue(!jdbcKeywords.contains(",SELECT,"));
}
+ /** Generates a copy of {@code reference.md} with the current set of key
+ * words. Fails if the copy is different from the original. */
+ @Test public void testGenerateKeyWords() throws IOException {
+ // inUrl = "file:/home/x/calcite/core/target/test-classes/hsqldb-model.json"
+ String path = "hsqldb-model.json";
+ final URL inUrl = SqlParserTest.class.getResource("/" + path);
+ String x = inUrl.getFile();
+ assert x.endsWith(path);
+ x = x.substring(0, x.length() - path.length());
+ assert x.endsWith("core/target/test-classes/");
+ x = x.substring(0, x.length() - "core/target/test-classes/".length());
+ final File base = new File(x);
+ final File inFile = new File(base, "site/_docs/reference.md");
+ final File outFile = new File(base, "core/target/surefire/reference.md");
+ outFile.getParentFile().mkdirs();
+ try (BufferedReader r = new BufferedReader(new FileReader(inFile));
+ PrintWriter w = new PrintWriter(new FileWriter(outFile))) {
+ String line;
+ int stage = 0;
+ while ((line = r.readLine()) != null) {
+ if (line.equals("{% comment %} end {% endcomment %}")) {
+ ++stage;
+ }
+ if (stage != 1) {
+ w.println(line);
+ }
+ if (line.equals("{% comment %} start {% endcomment %}")) {
+ ++stage;
+ SqlAbstractParserImpl.Metadata metadata = getParserMetadata();
+ int z = 0;
+ for (String s : metadata.getTokens()) {
+ if (z++ > 0) {
+ w.println(",");
+ }
+ if (metadata.isKeyword(s)) {
+ w.print(metadata.isReservedWord(s) ? ("**" + s + "**") : s);
+ }
+ }
+ w.println(".");
+ }
+ }
+ }
+ String diff = DiffTestCase.diff(outFile, inFile);
+ if (!diff.isEmpty()) {
+ throw new AssertionError("Mismatch between " + outFile
+ + " and " + inFile + ":\n"
+ + diff);
+ }
+ }
+
@Test public void testTabStop() {
check(
"SELECT *\n\tFROM mytable",
http://git-wip-us.apache.org/repos/asf/calcite/blob/6c35f3b8/site/_docs/reference.md
----------------------------------------------------------------------
diff --git a/site/_docs/reference.md b/site/_docs/reference.md
index 2165410..7f267bd 100644
--- a/site/_docs/reference.md
+++ b/site/_docs/reference.md
@@ -184,6 +184,539 @@ and EXISTS expressions. A sub-query that occurs in IN and
EXISTS expressions may be correlated; that is, refer to tables in
the FROM clause of an enclosing query.
+## Keywords
+
+The following is a list of SQL keywords.
+Reserved keywords are **bold**.
+
+{% comment %} start {% endcomment %}
+A,
+**ABS**,
+ABSOLUTE,
+ACTION,
+ADA,
+ADD,
+ADMIN,
+AFTER,
+**ALL**,
+**ALLOCATE**,
+**ALLOW**,
+**ALTER**,
+ALWAYS,
+**AND**,
+**ANY**,
+**ARE**,
+**ARRAY**,
+**AS**,
+ASC,
+**ASENSITIVE**,
+ASSERTION,
+ASSIGNMENT,
+**ASYMMETRIC**,
+**AT**,
+**ATOMIC**,
+ATTRIBUTE,
+ATTRIBUTES,
+**AUTHORIZATION**,
+**AVG**,
+BEFORE,
+**BEGIN**,
+BERNOULLI,
+**BETWEEN**,
+**BIGINT**,
+**BINARY**,
+**BIT**,
+**BLOB**,
+**BOOLEAN**,
+**BOTH**,
+BREADTH,
+**BY**,
+C,
+**CALL**,
+**CALLED**,
+**CARDINALITY**,
+CASCADE,
+**CASCADED**,
+**CASE**,
+**CAST**,
+CATALOG,
+CATALOG_NAME,
+**CEIL**,
+**CEILING**,
+CHAIN,
+**CHAR**,
+**CHARACTER**,
+CHARACTERISTICTS,
+CHARACTERS,
+**CHARACTER_LENGTH**,
+CHARACTER_SET_CATALOG,
+CHARACTER_SET_NAME,
+CHARACTER_SET_SCHEMA,
+**CHAR_LENGTH**,
+**CHECK**,
+CLASS_ORIGIN,
+**CLOB**,
+**CLOSE**,
+**COALESCE**,
+COBOL,
+**COLLATE**,
+COLLATION,
+COLLATION_CATALOG,
+COLLATION_NAME,
+COLLATION_SCHEMA,
+**COLLECT**,
+**COLUMN**,
+COLUMN_NAME,
+COMMAND_FUNCTION,
+COMMAND_FUNCTION_CODE,
+**COMMIT**,
+COMMITTED,
+**CONDITION**,
+CONDITION_NUMBER,
+**CONNECT**,
+CONNECTION,
+CONNECTION_NAME,
+**CONSTRAINT**,
+CONSTRAINTS,
+CONSTRAINT_CATALOG,
+CONSTRAINT_NAME,
+CONSTRAINT_SCHEMA,
+CONSTRUCTOR,
+CONTAINS,
+CONTINUE,
+**CONVERT**,
+**CORR**,
+**CORRESPONDING**,
+**COUNT**,
+**COVAR_POP**,
+**COVAR_SAMP**,
+**CREATE**,
+**CROSS**,
+**CUBE**,
+**CUME_DIST**,
+**CURRENT**,
+**CURRENT_CATALOG**,
+**CURRENT_DATE**,
+**CURRENT_DEFAULT_TRANSFORM_GROUP**,
+**CURRENT_PATH**,
+**CURRENT_ROLE**,
+**CURRENT_SCHEMA**,
+**CURRENT_TIME**,
+**CURRENT_TIMESTAMP**,
+**CURRENT_TRANSFORM_GROUP_FOR_TYPE**,
+**CURRENT_USER**,
+**CURSOR**,
+CURSOR_NAME,
+**CYCLE**,
+DATA,
+**DATE**,
+DATETIME_INTERVAL_CODE,
+DATETIME_INTERVAL_PRECISION,
+**DAY**,
+**DEALLOCATE**,
+**DEC**,
+**DECIMAL**,
+**DECLARE**,
+**DEFAULT**,
+DEFAULTS,
+DEFERRABLE,
+DEFERRED,
+DEFINED,
+DEFINER,
+DEGREE,
+**DELETE**,
+**DENSE_RANK**,
+DEPTH,
+**DEREF**,
+DERIVED,
+DESC,
+**DESCRIBE**,
+DESCRIPTION,
+DESCRIPTOR,
+**DETERMINISTIC**,
+DIAGNOSTICS,
+**DISALLOW**,
+**DISCONNECT**,
+DISPATCH,
+**DISTINCT**,
+DOMAIN,
+**DOUBLE**,
+**DROP**,
+**DYNAMIC**,
+DYNAMIC_FUNCTION,
+DYNAMIC_FUNCTION_CODE,
+**EACH**,
+**ELEMENT**,
+**ELSE**,
+**END**,
+**END-EXEC**,
+EQUALS,
+**ESCAPE**,
+**EVERY**,
+**EXCEPT**,
+EXCEPTION,
+EXCLUDE,
+EXCLUDING,
+**EXEC**,
+**EXECUTE**,
+**EXISTS**,
+**EXP**,
+**EXPLAIN**,
+**EXTEND**,
+**EXTERNAL**,
+**EXTRACT**,
+**FALSE**,
+**FETCH**,
+**FILTER**,
+FINAL,
+FIRST,
+**FIRST_VALUE**,
+**FLOAT**,
+**FLOOR**,
+FOLLOWING,
+**FOR**,
+**FOREIGN**,
+FORTRAN,
+FOUND,
+**FREE**,
+**FROM**,
+**FULL**,
+**FUNCTION**,
+**FUSION**,
+G,
+GENERAL,
+GENERATED,
+**GET**,
+**GLOBAL**,
+GO,
+GOTO,
+**GRANT**,
+GRANTED,
+**GROUP**,
+**GROUPING**,
+**HAVING**,
+HIERARCHY,
+**HOLD**,
+**HOUR**,
+**IDENTITY**,
+IMMEDIATE,
+IMPLEMENTATION,
+**IMPORT**,
+**IN**,
+INCLUDING,
+INCREMENT,
+**INDICATOR**,
+INITIALLY,
+**INNER**,
+**INOUT**,
+INPUT,
+**INSENSITIVE**,
+**INSERT**,
+INSTANCE,
+INSTANTIABLE,
+**INT**,
+**INTEGER**,
+**INTERSECT**,
+**INTERSECTION**,
+**INTERVAL**,
+**INTO**,
+INVOKER,
+**IS**,
+ISOLATION,
+JAVA,
+**JOIN**,
+K,
+KEY,
+KEY_MEMBER,
+KEY_TYPE,
+LABEL,
+**LANGUAGE**,
+**LARGE**,
+LAST,
+**LAST_VALUE**,
+**LATERAL**,
+**LEADING**,
+**LEFT**,
+LENGTH,
+LEVEL,
+LIBRARY,
+**LIKE**,
+**LIMIT**,
+**LN**,
+**LOCAL**,
+**LOCALTIME**,
+**LOCALTIMESTAMP**,
+LOCATOR,
+**LOWER**,
+M,
+MAP,
+**MATCH**,
+MATCHED,
+**MAX**,
+MAXVALUE,
+**MEMBER**,
+**MERGE**,
+MESSAGE_LENGTH,
+MESSAGE_OCTET_LENGTH,
+MESSAGE_TEXT,
+**METHOD**,
+**MIN**,
+**MINUTE**,
+MINVALUE,
+**MOD**,
+**MODIFIES**,
+**MODULE**,
+**MONTH**,
+MORE,
+**MULTISET**,
+MUMPS,
+NAME,
+NAMES,
+**NATIONAL**,
+**NATURAL**,
+**NCHAR**,
+**NCLOB**,
+NESTING,
+**NEW**,
+**NEXT**,
+**NO**,
+**NONE**,
+**NORMALIZE**,
+NORMALIZED,
+**NOT**,
+**NULL**,
+NULLABLE,
+**NULLIF**,
+NULLS,
+NUMBER,
+**NUMERIC**,
+OBJECT,
+OCTETS,
+**OCTET_LENGTH**,
+**OF**,
+**OFFSET**,
+**OLD**,
+**ON**,
+**ONLY**,
+**OPEN**,
+OPTION,
+OPTIONS,
+**OR**,
+**ORDER**,
+ORDERING,
+ORDINALITY,
+OTHERS,
+**OUT**,
+**OUTER**,
+OUTPUT,
+**OVER**,
+**OVERLAPS**,
+**OVERLAY**,
+OVERRIDING,
+PAD,
+**PARAMETER**,
+PARAMETER_MODE,
+PARAMETER_NAME,
+PARAMETER_ORDINAL_POSITION,
+PARAMETER_SPECIFIC_CATALOG,
+PARAMETER_SPECIFIC_NAME,
+PARAMETER_SPECIFIC_SCHEMA,
+PARTIAL,
+**PARTITION**,
+PASCAL,
+PASSTHROUGH,
+PATH,
+**PERCENTILE_CONT**,
+**PERCENTILE_DISC**,
+**PERCENT_RANK**,
+PLACING,
+PLAN,
+PLI,
+**POSITION**,
+**POWER**,
+PRECEDING,
+**PRECISION**,
+**PREPARE**,
+PRESERVE,
+**PRIMARY**,
+PRIOR,
+PRIVILEGES,
+**PROCEDURE**,
+PUBLIC,
+**RANGE**,
+**RANK**,
+READ,
+**READS**,
+**REAL**,
+**RECURSIVE**,
+**REF**,
+**REFERENCES**,
+**REFERENCING**,
+**REGR_AVGX**,
+**REGR_AVGY**,
+**REGR_COUNT**,
+**REGR_INTERCEPT**,
+**REGR_R2**,
+**REGR_SLOPE**,
+**REGR_SXX**,
+**REGR_SXY**,
+**REGR_SYY**,
+RELATIVE,
+**RELEASE**,
+REPEATABLE,
+**RESET**,
+RESTART,
+RESTRICT,
+**RESULT**,
+**RETURN**,
+RETURNED_CARDINALITY,
+RETURNED_LENGTH,
+RETURNED_OCTET_LENGTH,
+RETURNED_SQLSTATE,
+**RETURNS**,
+**REVOKE**,
+**RIGHT**,
+ROLE,
+**ROLLBACK**,
+**ROLLUP**,
+ROUTINE,
+ROUTINE_CATALOG,
+ROUTINE_NAME,
+ROUTINE_SCHEMA,
+**ROW**,
+**ROWS**,
+ROW_COUNT,
+**ROW_NUMBER**,
+**SAVEPOINT**,
+SCALE,
+SCHEMA,
+SCHEMA_NAME,
+**SCOPE**,
+SCOPE_CATALOGS,
+SCOPE_NAME,
+SCOPE_SCHEMA,
+**SCROLL**,
+**SEARCH**,
+**SECOND**,
+SECTION,
+SECURITY,
+**SELECT**,
+SELF,
+**SENSITIVE**,
+SEQUENCE,
+SERIALIZABLE,
+SERVER,
+SERVER_NAME,
+SESSION,
+**SESSION_USER**,
+**SET**,
+SETS,
+**SIMILAR**,
+SIMPLE,
+SIZE,
+**SMALLINT**,
+**SOME**,
+SOURCE,
+SPACE,
+**SPECIFIC**,
+**SPECIFICTYPE**,
+SPECIFIC_NAME,
+**SQL**,
+**SQLEXCEPTION**,
+**SQLSTATE**,
+**SQLWARNING**,
+**SQRT**,
+**START**,
+STATE,
+STATEMENT,
+**STATIC**,
+**STDDEV_POP**,
+**STDDEV_SAMP**,
+**STREAM**,
+STRUCTURE,
+STYLE,
+SUBCLASS_ORIGIN,
+**SUBMULTISET**,
+SUBSTITUTE,
+**SUBSTRING**,
+**SUM**,
+**SYMMETRIC**,
+**SYSTEM**,
+**SYSTEM_USER**,
+**TABLE**,
+**TABLESAMPLE**,
+TABLE_NAME,
+TEMPORARY,
+**THEN**,
+TIES,
+**TIME**,
+**TIMESTAMP**,
+**TIMEZONE_HOUR**,
+**TIMEZONE_MINUTE**,
+**TINYINT**,
+**TO**,
+TOP_LEVEL_COUNT,
+**TRAILING**,
+TRANSACTION,
+TRANSACTIONS_ACTIVE,
+TRANSACTIONS_COMMITTED,
+TRANSACTIONS_ROLLED_BACK,
+TRANSFORM,
+TRANSFORMS,
+**TRANSLATE**,
+**TRANSLATION**,
+**TREAT**,
+**TRIGGER**,
+TRIGGER_CATALOG,
+TRIGGER_NAME,
+TRIGGER_SCHEMA,
+**TRIM**,
+**TRUE**,
+TYPE,
+**UESCAPE**,
+UNBOUNDED,
+UNCOMMITTED,
+UNDER,
+**UNION**,
+**UNIQUE**,
+**UNKNOWN**,
+UNNAMED,
+**UNNEST**,
+**UPDATE**,
+**UPPER**,
+**UPSERT**,
+USAGE,
+**USER**,
+USER_DEFINED_TYPE_CATALOG,
+USER_DEFINED_TYPE_CODE,
+USER_DEFINED_TYPE_NAME,
+USER_DEFINED_TYPE_SCHEMA,
+**USING**,
+**VALUE**,
+**VALUES**,
+**VARBINARY**,
+**VARCHAR**,
+**VARYING**,
+**VAR_POP**,
+**VAR_SAMP**,
+VERSION,
+VIEW,
+**WHEN**,
+**WHENEVER**,
+**WHERE**,
+**WIDTH_BUCKET**,
+**WINDOW**,
+**WITH**,
+**WITHIN**,
+**WITHOUT**,
+WORK,
+WRAPPER,
+WRITE,
+XML,
+**YEAR**,
+ZONE.
+{% comment %} end {% endcomment %}
+
## Identifiers
Identifiers are the names of tables, columns and other metadata
[2/2] calcite git commit: [CALCITE-1001] Upgrade to quidem-0.7
Posted by jh...@apache.org.
[CALCITE-1001] Upgrade to quidem-0.7
Project: http://git-wip-us.apache.org/repos/asf/calcite/repo
Commit: http://git-wip-us.apache.org/repos/asf/calcite/commit/14419d8c
Tree: http://git-wip-us.apache.org/repos/asf/calcite/tree/14419d8c
Diff: http://git-wip-us.apache.org/repos/asf/calcite/diff/14419d8c
Branch: refs/heads/master
Commit: 14419d8c360da8bdfa9d29f8c1d2fff357106db0
Parents: 6c35f3b
Author: Julian Hyde <jh...@apache.org>
Authored: Wed Dec 2 18:34:45 2015 -0800
Committer: Julian Hyde <jh...@apache.org>
Committed: Thu Dec 3 01:45:01 2015 -0800
----------------------------------------------------------------------
.../calcite/prepare/CalcitePrepareImpl.java | 17 +++++++------
.../java/org/apache/calcite/test/JdbcTest.java | 25 ++++++++++++++++----
core/src/test/resources/sql/agg.oq | 6 +++++
core/src/test/resources/sql/sort.oq | 15 +-----------
pom.xml | 2 +-
5 files changed, 39 insertions(+), 26 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/calcite/blob/14419d8c/core/src/main/java/org/apache/calcite/prepare/CalcitePrepareImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/prepare/CalcitePrepareImpl.java b/core/src/main/java/org/apache/calcite/prepare/CalcitePrepareImpl.java
index 052be41..6d7fb31 100644
--- a/core/src/main/java/org/apache/calcite/prepare/CalcitePrepareImpl.java
+++ b/core/src/main/java/org/apache/calcite/prepare/CalcitePrepareImpl.java
@@ -96,7 +96,6 @@ import org.apache.calcite.rel.rules.ValuesReduceRule;
import org.apache.calcite.rel.stream.StreamRules;
import org.apache.calcite.rel.type.RelDataType;
import org.apache.calcite.rel.type.RelDataTypeFactory;
-import org.apache.calcite.rel.type.RelDataTypeFactoryImpl;
import org.apache.calcite.rel.type.RelDataTypeField;
import org.apache.calcite.rex.RexBuilder;
import org.apache.calcite.rex.RexInputRef;
@@ -901,20 +900,24 @@ public class CalcitePrepareImpl implements CalcitePrepare {
: type.getPrecision();
}
+ /** Returns the type name in string form. Does not include precision, scale
+ * or whether nulls are allowed. Example: "DECIMAL" not "DECIMAL(7, 2)";
+ * "INTEGER" not "JavaType(int)". */
private static String getTypeName(RelDataType type) {
- SqlTypeName sqlTypeName = type.getSqlTypeName();
- if (type instanceof RelDataTypeFactoryImpl.JavaType) {
- // We'd rather print "INTEGER" than "JavaType(int)".
- return sqlTypeName.getName();
- }
+ final SqlTypeName sqlTypeName = type.getSqlTypeName();
switch (sqlTypeName) {
case INTERVAL_YEAR_MONTH:
case INTERVAL_DAY_TIME:
// e.g. "INTERVAL_MONTH" or "INTERVAL_YEAR_MONTH"
return "INTERVAL_"
+ type.getIntervalQualifier().toString().replace(' ', '_');
+ case ARRAY:
+ case MULTISET:
+ case MAP:
+ case ROW:
+ return type.toString(); // e.g. "INTEGER ARRAY"
default:
- return type.toString(); // e.g. "VARCHAR(10)", "INTEGER ARRAY"
+ return sqlTypeName.getName(); // e.g. "DECIMAL"
}
}
http://git-wip-us.apache.org/repos/asf/calcite/blob/14419d8c/core/src/test/java/org/apache/calcite/test/JdbcTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/calcite/test/JdbcTest.java b/core/src/test/java/org/apache/calcite/test/JdbcTest.java
index 3709eba..5cf7d16 100644
--- a/core/src/test/java/org/apache/calcite/test/JdbcTest.java
+++ b/core/src/test/java/org/apache/calcite/test/JdbcTest.java
@@ -4641,10 +4641,26 @@ public class JdbcTest {
return null;
}
};
- final Quidem quidem = new Quidem(bufferedReader, writer, env);
- quidem.execute(
- new Quidem.ConnectionFactory() {
+ final Quidem.NewConnectionFactory connectionFactory =
+ new Quidem.NewConnectionFactory() {
public Connection connect(String name) throws Exception {
+ return connect(name, false);
+ }
+
+ public Connection connect(String name, boolean reference)
+ throws Exception {
+ if (reference) {
+ if (name.equals("foodmart")) {
+ final ConnectionSpec db =
+ CalciteAssert.DatabaseInstance.HSQLDB.foodmart;
+ final Connection connection = DriverManager.getConnection(db.url,
+ db.username,
+ db.password);
+ connection.setSchema("foodmart");
+ return connection;
+ }
+ return null;
+ }
if (name.equals("hr")) {
return CalciteAssert.hr()
.connect();
@@ -4700,7 +4716,8 @@ public class JdbcTest {
}
throw new RuntimeException("unknown connection '" + name + "'");
}
- });
+ };
+ new Quidem(bufferedReader, writer, env, connectionFactory).execute();
final String diff = DiffTestCase.diff(inFile, outFile);
if (!diff.isEmpty()) {
fail("Files differ: " + outFile + " " + inFile + "\n" + diff);
http://git-wip-us.apache.org/repos/asf/calcite/blob/14419d8c/core/src/test/resources/sql/agg.oq
----------------------------------------------------------------------
diff --git a/core/src/test/resources/sql/agg.oq b/core/src/test/resources/sql/agg.oq
index e92f08d..2dea732 100644
--- a/core/src/test/resources/sql/agg.oq
+++ b/core/src/test/resources/sql/agg.oq
@@ -150,6 +150,9 @@ select count(mod(deptno, 20), gender) as c from emps;
select x = 1 as x1, count(*) as c
from (values 0, 1, 2, cast(null as integer)) as t(x)
group by x = 1;
+X1 BOOLEAN(1)
+C BIGINT(19) NOT NULL
+!type
+-------+---+
| X1 | C |
+-------+---+
@@ -664,6 +667,9 @@ select deptno,
sum(sal) filter (where deptno = 10) sal_10
from "scott".emp
group by deptno;
+DEPTNO TINYINT(3)
+SAL_10 DECIMAL(7, 2)
+!type
+--------+---------+
| DEPTNO | SAL_10 |
+--------+---------+
http://git-wip-us.apache.org/repos/asf/calcite/blob/14419d8c/core/src/test/resources/sql/sort.oq
----------------------------------------------------------------------
diff --git a/core/src/test/resources/sql/sort.oq b/core/src/test/resources/sql/sort.oq
index 0253072..be30ac4 100644
--- a/core/src/test/resources/sql/sort.oq
+++ b/core/src/test/resources/sql/sort.oq
@@ -20,20 +20,7 @@
# The ArrayTable "days" is sorted by "day", so plan must not contain sort
select * from "days" order by "day";
-+-----+-----------+
-| day | week_day |
-+-----+-----------+
-| 1 | Sunday |
-| 2 | Monday |
-| 3 | Tuesday |
-| 4 | Wednesday |
-| 5 | Thursday |
-| 6 | Friday |
-| 7 | Saturday |
-+-----+-----------+
-(7 rows)
-
-!ok
+!verify
EnumerableTableScan(table=[[foodmart2, days]])
!plan
http://git-wip-us.apache.org/repos/asf/calcite/blob/14419d8c/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index a3a2323..7cc273c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -205,7 +205,7 @@ limitations under the License.
<dependency>
<groupId>net.hydromatic</groupId>
<artifactId>quidem</artifactId>
- <version>0.6</version>
+ <version>0.7</version>
</dependency>
<dependency>
<groupId>net.hydromatic</groupId>