8000
Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

README.md

libSQL shell

This project contains libSQL's new shell, implemented in Rust on top of a few industry standard crates: rusqlite, rustyline, clap, tracing, etc.

The long-term goal of this project is to:

  • Match all features of the original libSQL shell (inherited from SQLite and implemented in C),
  • Add new features on top, for instance:
    • importing and exporting additional formats (Parquet and friends);
    • accessing network resources.
  • Make contributions to libSQL as easy as possible.

Status

This project is still in early development phase, so expect missing items!

Example

$ ./libsql
libSQL version 0.2.0
Connected to a transient in-memory database.

libsql> create table test(id, v);
libsql> insert into test values(42, zeroblob(12));
libsql> insert into test values(3.14, 'hello');
libsql> insert into test values(null, null);
libsql> select id, v, length(v), hex(v) from test;
 id   | v                  | length(v) | hex(v)                   
------+--------------------+-----------+--------------------------
 42   | 0xAAAAAAAAAAAAAAAA | 12        | 000000000000000000000000 
 3.14 | hello              | 5         | 68656C6C6F               
 null | null               | null      |                          
libsql> 
0