turicas/rows

Optimize if output format is SQLite

オープン

#217 opened on 2017/02/20

 (0 件のコメント) (0 件のリアクション) (0 人の担当者)Python (136 件のフォーク)github user discovery
clienhancementhelp wanted

Repository metrics

Stars
 (886 個のスター)
PR merge metrics
 (30d に merged PR はありません)

説明

If we run the following command:

rows query 'SELECT * FROM table1 WHERE field1="value1"' filename.sqlite --output=out.sqlite

the CLI will:

  • Connect to a SQLite database named filename.sqlite since there's only one source and it's format is SQLite
  • Import the SQLite result into a rows.Table running the query
  • Export the result rows.Table into a new SQLite database named out.sqlite

We can optimize this use case replacing the steps with the following:

  • Connect to a SQLite database named filename.sqlite since there's only one source and its format is SQLite
  • Attach the output database with SQLite's ATTACH SQL command
  • Change the query to have INSERT INTO (to add result to the new database)
  • Run the query

More details on ATTACH in StackOverflow this thread.

コントリビューターガイド