Mirror of Apache Optiq
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src
.gitattributes
.gitignore
.travis.yml
HISTORY.md
LICENSE
NOTICE
README.md
TUTORIAL.md
pom.xml
sqlline
sqlline.bat

README.md

Build Status

optiq-csv

Optiq adapter that reads CSV files.

Optiq-csv is a nice simple example of how to connect Optiq to your own data source and quickly get a full SQL/JDBC interface.

Download and build

You need Java (1.6 or higher; 1.7 preferred), git and maven (3.0.4 or later).

$ git clone git://github.com/julianhyde/optiq-csv.git
$ cd optiq-csv
$ mvn compile

Kick the tires

Let's take a quick look at optiq-csv's (and optiq's) features. We'll use sqlline, a SQL shell that connects to any JDBC data source and is included with optiq-csv.

Connect to Optiq and try out some queries:

$ ./sqlline
sqlline> !connect jdbc:optiq:model=target/test-classes/model.json admin admin
sqlline> !tables
sqlline> !describe emps
sqlline> SELECT * FROM emps;
sqlline> EXPLAIN PLAN FOR SELECT * FROM emps;
sqlline> !connect jdbc:optiq:model=target/test-classes/smart.json admin admin
sqlline> EXPLAIN PLAN FOR SELECT * FROM emps;
sqlline> SELECT depts.name, count(*)
. . . .> FROM emps JOIN depts USING (deptno)
. . . .> GROUP BY depts.name;
sqlline> VALUES char_length('hello, ' || 'world!');
sqlline> !quit

(On Windows, the command is sqlline.bat.)

As you can see, Optiq has a full SQL implementation that can efficiently query any data source.

For a more leisurely walk through what Optiq can do and how it does it, try the Tutorial.

More information