Skip to content

Instantly share code, notes, and snippets.

View julianhyde's full-sized avatar

Julian Hyde julianhyde

View GitHub Profile
@julianhyde
julianhyde / gist:2720282
Created May 17, 2012 17:15
Script to parse output from mondrian's megatest command and generate a sorted list of failed tests
#!/bin/bash
# testExceptions
# Parses mondrian's megatest.log;
# generates a list of failed tests, one per line.
awk '
/^ \[java\] [0-9]+) / {
s = $0;
gsub(/[^)]*) /, "", s);
gsub(/).*$/, "", s);
@julianhyde
julianhyde / megex.sh
Created December 7, 2012 17:58
Script to compare runs of Mondrian's test suite, to see which test failures have been fixed or introduced
#!/bin/bash
#
# megex - Archives megatest.log (the output from a run of
# mondrian/bin/megatest) to megatest.n.log, and generates
# megatest.n.summary.log, which contains one line for each test
# error/failure.
#
# Determines 'n' to be after all other megatest.n.log files in the
# current directory.
#
@julianhyde
julianhyde / SqlStatement.java
Last active December 11, 2015 06:19
Some code I added to mondrian.rolap.SqlStatement to record every SQL statement executed by Mondrian, and its results, as a JSON document.
// In the SqlStatement class
private static FileWriter fw;
private static PrintWriter pw;
private static Set<String> statements = new HashSet<String>();
static {
try {
fw = new FileWriter(new File("/tmp/x.sql"));
pw = new PrintWriter(fw);
} catch (IOException e) {
@julianhyde
julianhyde / mongoimport.sh
Created November 11, 2013 17:24
Bash script to import FoodMart JSON files into MongoDB
#!/bin/bash
JAR=~/.m2/repository/pentaho/mondrian-data-foodmart-json/0.2/mondrian-data-foodmart-json-0.2.jar
mkdir /tmp/json
cd /tmp/json
jar xvf $JAR
for i in *.json; do
mongoimport --db foodmart --collection ${i/.json/} --file $i
done
@julianhyde
julianhyde / CaseInsensitiveMapVersusListBenchmark.java
Created November 21, 2013 18:23
Benchmark that measures alternative implementations of a map with case-insensitive string keys. The first implementation is a hash-map whose keys are converted to upper-case. The second implementation is a list whose entries are compared using String.equalsIgnoreCase. The two interesting variables are n (the number of elements in the collection)…
/**
* Benchmark that measures alternative implementations of a map with case-insensitive
* string keys. The first implementation is a hash-map whose keys are converted to
* upper-case. The second implementation is a list whose entries are compared using
* String.equalsIgnoreCase.
*
* <p>The two interesting variables are n (the number of elements in the collection)
* and name(int x) (the function that generates the list of entries).
*
* <p>We access each element of the collection once, because that will be typical for
@julianhyde
julianhyde / Optiq-generated.java
Created April 21, 2014 18:18
Invalid java code generated by Optiq for TPC-H query 14
public static class Record4_0 implements java.io.Serializable {
public Double f0;
public long f1;
public Double f2;
public long f3;
public Record4_0(Double f0, long f1, Double f2, long f3) {
this.f0 = f0;
this.f1 = f1;
this.f2 = f2;
this.f3 = f3;
@julianhyde
julianhyde / scott.sql
Last active November 15, 2023 09:35
Script to create Oracle's "SCOTT" schema (EMP, DEPT, BONUS, SALGRADE, DUMMY tables) in a format suitable for pasting into RexTester
-- Script to create Oracle's "SCOTT" schema with tables
-- EMP, DEPT, BONUS, SALGRADE, DUMMY. Originally demobld.sql.
--
-- In a format suitable for pasting into RexTester:
-- https://rextester.com/l/oracle_online_compiler
--
drop table dept
\\
drop table emp
\\
@julianhyde
julianhyde / scott-sql-fiddle.sql
Last active April 2, 2024 23:56
Script to create Oracle's "SCOTT" schema (tables EMP, DEPT, BONUS, SALGRADE, DUMMY), in a format suitable for pasting into SQL Fiddle
-- Script to create Oracle's "SCOTT" schema with tables
-- EMP, DEPT, BONUS, SALGRADE, DUMMY. Originally demobld.sql.
--
-- In a format suitable for pasting into SQL Fiddle:
-- http://sqlfiddle.com/#!4
--
create table dept(
deptno number(2,0) not null,
dname varchar2(14),
loc varchar2(13));
@julianhyde
julianhyde / scott-sql-fiddle-postgresql.sql
Created November 2, 2020 06:52
Script to create the "SCOTT" schema (tables EMP, DEPT, BONUS, SALGRADE, DUMMY), in a format suitable for pasting into SQL Fiddle for PostgreSQL
-- Script to create Oracle's "SCOTT" schema with tables
-- EMP, DEPT, BONUS, SALGRADE, DUMMY. Originally Oracle's demobld.sql.
--
-- In a format suitable for pasting into SQL Fiddle for PostgreSQL:
-- http://sqlfiddle.com/#!17
create table dept(
deptno decimal(2,0) not null,
dname varchar(14),
loc varchar(13));
create table emp(
@julianhyde
julianhyde / scott-big-query.sql
Created April 23, 2021 02:00
Script to create, in Google BigQuery, Oracle's "SCOTT" schema (tables EMP, DEPT, BONUS, SALGRADE, DUMMY), in a format suitable for pasting into Cloud Console
-- Script to create, in Google BigQuery,
-- Oracle's "SCOTT" schema with tables
-- EMP, DEPT, BONUS, SALGRADE, DUMMY.
--
-- In a format suitable for pasting into Cloud Console.
-- Before you run this script, create a dataset called 'Scott' in your current project.
--
drop table if exists scott.dept;
drop table if exists scott.emp;
drop table if exists scott.bonus;