Please see the project writeup for details.
- Run
./setup.shto download DuckDB and the workload. - Run
./optimize.sh ./workload.tgz output/to compile and run the Calcite app. - Make your changes to
./calcite_app/src/main/java/edu/cmu/cs/db/calcite_app/app/App.java.
From the calcite_app/ folder,
# Build the app into a JAR: ./build/libs/calcite_app-1.0-SNAPSHOT.jar
./gradlew build
# Build the app into a JAR with all dependencies: ./build/libs/calcite_app-1.0-SNAPSHOT-all.jar
./gradlew shadowJarNow, you can invoke your app:
java -jar build/libs/calcite_app-1.0-SNAPSHOT-all.jar "SELECT 1"You may find it more convenient to chain it together during development:
./gradlew shadowJar && java -jar build/libs/calcite_app-1.0-SNAPSHOT-all.jar "SELECT 1"If gradle starts acting up, you can clear its cache:
./gradlew --stop
rm -rf ~/.gradle/caches/ Run make submit to produce submission.zip.
Upload the zip to Gradescope.