Thanks Peter, That saved me hours of work.
According to the comments - /* Read a single field of CSV text. Compatible with rfc4180 and extended ** with the option of having a separator other than ",". I tried - sqlite> CREATE VIRTUAL TABLE temp.t1 USING csv(filename='test.tsv'); where test.tsv is a tab separated table. However select count(*) from t1; goes into an infinite loop. Do you how to specify a separator other than ","? On 16 January 2018 at 17:29, petern <peter.nichvolo...@gmail.com> wrote: > FYI. csv.c is already a separate C program which imports CSV files without > necessity of the SQLite shell: > > https://sqlite.org/csv.html > > On Tue, Jan 16, 2018 at 12:47 AM, Shane Dev <devshan...@gmail.com> wrote: > > > Hi, > > > > I am looking for an efficient way to write a c program which performs the > > same function as the SQLite shell command ".import" > > > > My initial strategy is to include the sqlite library source files and > copy > > the control block from shell.c that begins after > > > > if( c=='i' && strncmp(azArg[0], "import", n)==0 ){ > > > > up to and the line - > > > > if( needCommit ) sqlite3_exec(p->db, "COMMIT", 0, 0, 0); > > > > (i.e lines 5858-6052 in version sqlite-amalgamation-3210000 of shell.c ) > > > > Is this a reasonable approach? Is there a better way? > > _______________________________________________ > > sqlite-users mailing list > > sqlite-users@mailinglists.sqlite.org > > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users > > > _______________________________________________ > sqlite-users mailing list > sqlite-users@mailinglists.sqlite.org > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users > _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users