I figured I'd try out a few different compilers and OSes to see if this stuff is as portable as I think it is. So far, so good.
Here's a nice little table to show what I've tried so far:
Environment | Compliler | Compile? | Run? |
---|---|---|---|
SunOS 5.8 | cc provided by SunOS | Yes | Yes |
Windows 2000/Cygwin | gcc 3.2 | Yes | Yes |
Slackware 9.0 | gcc 3.2.2 | Yes | Yes |
Red Hat X.Y | gcc X.Y.Z | No (haven't tried) | No (haven't tried) |
Windows ME/Cygwin | gcc 3.3.1 (cygming special) | Yes | Yes |
FreeBSD X.Y | gcc X.Y.Z | No (haven't tried) | No (haven't tried) |
Windows 2000 | lcc-win32 3.8 | Yes | Yes |
Windows 2000 | Digital Mars 8.35 | Yes | Yes |
Right now the csv input file(s) need to be in a non-quoted, comma delimited format. The first line must contain the field names, the rest of the file is all data.
A query holds the general form of (keywords in blue):
select field1,field2,field3
from 'file'
where value1 = value2
and value3 < value4
and value5 between value6 and value7;
I haven't done the command line parsing yet, so you have to pipe the query into the executable like this:
(*nix)cat query.sql | csvsql > output
(DOS)type query.sql | csvsql > output