Skip to content

Commit

Permalink
[CALCITE-5037] Upgrade HSQLDB to 2.5.2
Browse files Browse the repository at this point in the history
Upgrade HSQLDB to 2.5.2 (the last version that also supports
Java 8) and allow people to run using HSQLDB 2.6.1 (the most
recent version, which requires Java 11 or higher).

Also upgrade data sets:
 * scott-data-hsqldb from 0.1 to 0.2;
 * foodmart-data-hsqldb from 0.4 to 0.5;
 * chinook-data-hsqldb from 0.1 to 0.2.

The previous versions of those data sets used HSQLDB file
format 1.8, and the newer versions use 2.0 format.
  • Loading branch information
julianhyde committed Mar 22, 2022
1 parent cd5229b commit 92843e8
Show file tree
Hide file tree
Showing 8 changed files with 37 additions and 32 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -544,8 +544,13 @@ class JdbcAdapterTest {
}

@Test void testTablesNoCatalogSchema() {
// Switch from "FOODMART" user, whose default schema is 'foodmart',
// to "sa", whose default schema is the root, and therefore cannot
// see the table unless directed to look in a particular schema.
final String model =
FoodmartSchema.FOODMART_MODEL
.replace("jdbcUser: 'FOODMART'", "jdbcUser: 'sa'")
.replace("jdbcPassword: 'FOODMART'", "jdbcPassword: ''")
.replace("jdbcCatalog: 'foodmart'", "jdbcCatalog: null")
.replace("jdbcSchema: 'foodmart'", "jdbcSchema: null");
// Since Calcite uses PostgreSQL JDBC driver version >= 4.1,
Expand Down
8 changes: 4 additions & 4 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ byte-buddy.version=1.9.3
cassandra-all.version=4.0.1
cassandra-java-driver-core.version=4.13.0
cassandra-unit.version=4.3.1.0
chinook-data-hsqldb.version=0.1
chinook-data-hsqldb.version=0.2
commons-codec.version=1.13
commons-dbcp2.version=2.6.0
commons-io.version=2.11.0
Expand All @@ -96,7 +96,7 @@ dropwizard-metrics.version=4.0.5
elasticsearch.version=7.10.2
embedded-redis.version=0.6
esri-geometry-api.version=2.2.0
foodmart-data-hsqldb.version=0.3
foodmart-data-hsqldb.version=0.5
foodmart-data-json.version=0.4
foodmart-queries.version=0.4.1
geode-core.version=1.10.0
Expand All @@ -105,7 +105,7 @@ h2.version=2.1.210
hadoop.version=2.7.5
hamcrest-date.version=2.0.4
hamcrest.version=2.1
hsqldb.version=2.4.1
hsqldb.version=2.5.2
httpclient.version=4.5.9
httpcore.version=4.4.11
hydromatic.tpcds.version=0.4
Expand Down Expand Up @@ -143,7 +143,7 @@ postgresql.version=9.3-1102-jdbc41
protobuf.version=3.17.1
quidem.version=0.10
scala-library.version=2.10.3
scott-data-hsqldb.version=0.1
scott-data-hsqldb.version=0.2
servlet.version=4.0.1
sketches-core.version=0.9.0
slf4j.version=1.7.25
Expand Down
20 changes: 10 additions & 10 deletions plus/src/main/resources/chinook/chinook.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@
"type": "jdbc",
"jdbcDriver": "org.hsqldb.jdbc.JDBCDriver",
"jdbcUrl": "jdbc:hsqldb:res:chinook",
"jdbcUser": "sa",
"jdbcPassword": ""
"jdbcUser": "CHINOOK",
"jdbcPassword": "CHINOOK"
},
{
"name": "ENHANCED",
Expand All @@ -36,18 +36,18 @@
"name": "PREFERRED_TRACKS",
"type": "view",
"sql": [
"SELECT trackid, name, albumid, mediatypeid, genreid, composer, milliseconds, bytes, unitprice ",
"FROM chinook.track AS tr",
"WHERE tr.genreid IN (SELECT id FROM preferred_genres) ",
"OR tr.albumid IN (SELECT id FROM preferred_albums)"
"SELECT \"TrackId\", \"Name\", \"AlbumId\", \"MediaTypeId\", \"GenreId\", \"Composer\", \"Milliseconds\", \"Bytes\", \"UnitPrice\" ",
"FROM chinook.\"Track\" AS tr",
"WHERE tr.\"GenreId\" IN (SELECT id FROM preferred_genres) ",
"OR tr.\"AlbumId\" IN (SELECT id FROM preferred_albums)"
]
},
{
"name": "SIMPLE_CUSTOMER",
"type": "view",
"sql": [
"SELECT c.firstname, c.lastname, c.email ",
"FROM chinook.customer AS c"
"SELECT c.\"FirstName\", c.\"LastName\", c.\"Email\" ",
"FROM chinook.\"Customer\" AS c"
]
},
{
Expand Down Expand Up @@ -95,9 +95,9 @@
"name": "CODED_EMAILS",
"type": "view",
"sql": [
"SELECT SC.email, TF.TYPE, TF.CODEVALUE ",
"SELECT SC.\"Email\", TF.TYPE, TF.CODEVALUE ",
"FROM ENHANCED.SIMPLE_CUSTOMER SC ",
"CROSS JOIN LATERAL TABLE(AUX.CODES(SC.email)) TF ",
"CROSS JOIN LATERAL TABLE(AUX.CODES(SC.\"Email\")) TF ",
"limit 6"
]
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ class RemotePreparedStatementParametersTest {
Connection connection = DriverManager.getConnection(server.getURL());
// when
PreparedStatement pS =
connection.prepareStatement("select * from artist where name = ?");
connection.prepareStatement("select * from \"Artist\" where \"Name\" = ?");
pS.setString(1, "AC/DC");
// then
ResultSet resultSet = pS.executeQuery();
Expand Down
12 changes: 6 additions & 6 deletions plus/src/test/resources/sql/basic.iq
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
!set outputformat mysql

# count returns number of rows in table
SELECT COUNT(*) as C1 FROM chinook.album;
SELECT COUNT(*) as C1 FROM `chinook`.`Album`;
+-----+
| C1 |
+-----+
Expand All @@ -27,11 +27,11 @@ SELECT COUNT(*) as C1 FROM chinook.album;

!ok

SELECT ar.name as NAME, COUNT(tr.trackid) AS TRACKS_COUNT, SUM(tr.milliseconds) AS MS_TOTAL
FROM chinook.artist AS ar
JOIN chinook.album AS al ON ar.artistid = al.artistid
JOIN chinook.track as tr ON al.albumid = tr.albumid
GROUP BY ar.name;
SELECT ar.`Name` as NAME, COUNT(tr.`TrackId`) AS TRACKS_COUNT, SUM(tr.`Milliseconds`) AS MS_TOTAL
FROM `chinook`.`Artist` AS ar
JOIN `chinook`.`Album` AS al ON ar.`ArtistId` = al.`ArtistId`
JOIN `chinook`.`Track` as tr ON al.`AlbumId` = tr.`AlbumId`
GROUP BY ar.`Name`;

+---------------------------------------------------------------------------------------+--------------+-----------+
| NAME | TRACKS_COUNT | MS_TOTAL |
Expand Down
2 changes: 1 addition & 1 deletion plus/src/test/resources/sql/cross-join-lateral.iq
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ CROSS JOIN LATERAL TABLE(AUX.CODES(SC.email)) TF limit 6;
# Checks whether CROSS JOIN LATERAL WORK WITH VIEW EXPANSION
SELECT * FROM EXAMPLES.CODED_EMAILS;
+-----------------------+----------+------------------------------+
| EMAIL | TYPE | CODEVALUE |
| Email | TYPE | CODEVALUE |
+-----------------------+----------+------------------------------+
| [email protected] | BASE64 | ZnRyZW1ibGF5QGdtYWlsLmNvbQ== |
| [email protected] | HASHCODE | 1248316799 |
Expand Down
2 changes: 1 addition & 1 deletion plus/src/test/resources/sql/functions.iq
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ SELECT email, ASCONCATOFPARAMS(firstname, lastname) AS joined FROM SIMPLE_CUSTOM
# Checks whether CHOOSENCUSTOMFUNCTION function is properly computed and not passed to subschema, like jdbc
SELECT * FROM SIMPLE_CUSTOMER WHERE email = CHOSENCUSTOMEREMAIL();
+-----------+----------+---------------------+
| FIRSTNAME | LASTNAME | EMAIL |
| FirstName | LastName | Email |
+-----------+----------+---------------------+
| François | Tremblay | [email protected] |
+-----------+----------+---------------------+
Expand Down
18 changes: 9 additions & 9 deletions plus/src/test/resources/sql/preferred-for-specific-user.iq
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,10 @@ SELECT * FROM preferred_albums;
!ok

# Preferred tracks count by genres
SELECT tr.genreid, COUNT(tr.trackid) as TRACKS_COUNT
FROM chinook.track AS tr
JOIN preferred_genres AS pg ON tr.genreid = pg.id
GROUP BY tr.genreid;
SELECT tr.genreid, COUNT(tr.TrackId) as TRACKS_COUNT
FROM chinook.Track AS tr
JOIN preferred_genres AS pg ON tr.GenreId = pg.id
GROUP BY tr.GenreId;
+---------+--------------+
| genreid | TRACKS_COUNT |
+---------+--------------+
Expand All @@ -64,12 +64,12 @@ GROUP BY tr.genreid;
!ok

# should be just like above Preferred tracks count by genres
SELECT tr.genreid, COUNT(tr.trackid) as TRACKS_COUNT
FROM chinook.track AS tr
WHERE tr.genreid IN (SELECT pg.id FROM preferred_genres AS pg)
GROUP BY tr.genreid;
SELECT tr.GenreId, COUNT(tr.TrackId) as TRACKS_COUNT
FROM chinook.Track AS tr
WHERE tr.GenreId IN (SELECT pg.id FROM preferred_genres AS pg)
GROUP BY tr.GenreId;
+---------+--------------+
| genreid | TRACKS_COUNT |
| GenreId | TRACKS_COUNT |
+---------+--------------+
| 1 | 1297 |
| 15 | 30 |
Expand Down

0 comments on commit 92843e8

Please sign in to comment.