0.6.0 • Published 9 years ago

juttle-sqlite-adapter v0.6.0

Weekly downloads
1
License
Apache-2.0
Repository
github
Last release
9 years ago

Juttle SQLite Adapter

Build Status

SQLite adapter for the Juttle data flow language, with read & write support.

Examples

Read rows from your logs SQL table where the log level is info, with the

read sqlite -table 'logs' level = 'info'

Perform an equivalent query using the -raw option:

read sqlite -raw 'select * from "logs" where "level" = "info" limit 10000'

Add a debug option to return the final SQL query instead (before any pagination):

read sqlite -table "logs" -debug true level = "info"

will output: {query: 'select * from "logs" where "level" = 'info' limit 10000'}.

If you have time series data in your table, indicate the column with the timestamp using the timeField option to paginate and sort data correctly:

read sqlite -timeField "create_time" -table "logs";
read sqlite -timeField "create_time" -table "logs -from :2 days ago: -to :1 hour ago:;"

The content of the column indicated by timeField will appear as the time field in resulting points.

Installation

Like Juttle itself, the adapter is installed as a npm package. Both Juttle and the adapter need to be installed side-by-side:

$ npm install juttle
$ npm install juttle-sqlite-adapter

Configuration

The adapter needs to be registered and configured so that it can be used from within Juttle. To do so, add the following to your ~/.juttle/config.json file:

{
    "adapters": {
        "sqlite": {
            "filename": "/tmp/mydb.sqlite"
        }
    }
}

The filename key should point to your SQLite database.

More documentation on the connection object can be found in the knex.js documentation

Read options

NameTypeRequiredDescription
tablestringyestable to query
rawstringnosend a raw SQL query to SQLite
debugbooleannooutput a query corresponding to current set of options and filters
timeFieldstringnoassume date time column, to and from options will use this to limit rows by time
fetchSizeintegernorow limit, defaults to 10000 records
frommomentnoselect points after this time (inclusive)
tomomentnoselect points before this time (exclusive)
dbstringnoselect the database name to use in your instance
idstringnoselect the config instance to use

Write options

NameTypeRequiredDescription
tablestringyestable to write points into
dbstringnoselect the database name to use in your instance
idstringnoselect the config instance to use

Contributing

Contributions are welcome! Please file an issue or open a pull request.

To check code style and run unit tests:

npm test

Both are run automatically by Travis.

0.6.0

9 years ago

0.5.0

9 years ago

0.4.0

9 years ago

0.3.1

9 years ago

0.3.0

9 years ago

0.2.1

9 years ago

0.1.1

9 years ago

0.2.0

9 years ago

0.1.0

9 years ago