SQLite Forum

Calling sqlite3_sleep() from CLI
Login

Calling sqlite3_sleep() from CLI

(1) By anonymous on 2021-03-07 05:41:32 [link] [source]

Is there a simple way to call sqlite3_sleep() from the CLI?

For example to achieve this:

INSERT INTO T0 (F1) VALUES('1');

SELECT sqlite3_sleep(1000);

INSERT INTO T0 (F1) VALUES('2');

(2) By anonymous on 2021-03-07 12:29:43 in reply to 1 [source]

Doing below workaround which isn`t ideal at all, anyone know of a better way without customizing the CLI?

>> CREATE TABLE T1 (F1, CurTime TIMESTAMP DEFAULT (strftime('%Y-%m-%dT%H:%M:%f', 'now')));
>> INSERT INTO T1 (F1) VALUES('A');
>> SELECT VALUE FROM generate_series(1,10000000,1) WHERE VALUE='MoetNiksRtn-HierVirDelay';
>> INSERT INTO T1 (F1) VALUES('B');
>> SELECT VALUE FROM generate_series(1,10000000,1) WHERE VALUE='MoetNiksRtn-HierVirDelay';
>> INSERT INTO T1 (F1) VALUES('C');
>> SELECT VALUE FROM generate_series(1,10000000,1) WHERE VALUE='MoetNiksRtn-HierVirDelay';
>> INSERT INTO T1 (F1) VALUES('D');
>> SELECT VALUE FROM generate_series(1,10000000,1) WHERE VALUE='MoetNiksRtn-HierVirDelay';
>> INSERT INTO T1 (F1) VALUES('E');
>> SELECT VALUE FROM generate_series(1,10000000,1) WHERE VALUE='MoetNiksRtn-HierVirDelay';
>> INSERT INTO T1 (F1) VALUES('F');
>> SELECT VALUE FROM generate_series(1,10000000,1) WHERE VALUE='MoetNiksRtn-HierVirDelay';
>> INSERT INTO T1 (F1) VALUES('G');
>> SELECT VALUE FROM generate_series(1,10000000,1) WHERE VALUE='MoetNiksRtn-HierVirDelay';
>> INSERT INTO T1 (F1) VALUES('H');
>> SELECT VALUE FROM generate_series(1,10000000,1) WHERE VALUE='MoetNiksRtn-HierVirDelay';
>> INSERT INTO T1 (F1) VALUES('I');
>> SELECT VALUE FROM generate_series(1,10000000,1) WHERE VALUE='MoetNiksRtn-HierVirDelay';
>> INSERT INTO T1 (F1) VALUES('J');
>> SELECT * FROM T1;
>> 
A|2021-03-07T12:20:53.027
B|2021-03-07T12:20:53.574
C|2021-03-07T12:20:54.106
D|2021-03-07T12:20:54.637
E|2021-03-07T12:20:55.184
F|2021-03-07T12:20:55.715
G|2021-03-07T12:20:56.246
H|2021-03-07T12:20:56.793
I|2021-03-07T12:20:57.324
J|2021-03-07T12:20:57.856
>Exit code: 0

(3) By Stephan Beal (stephan) on 2021-03-07 14:57:00 in reply to 2 [link] [source]

without customizing the CLI?

$ sqlite3
SQLite version 3.35.0 2021-02-06 14:56:30
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite> select usleep(1000000);
1000000

(4) By anonymous on 2021-03-07 15:12:59 in reply to 3 [link] [source]

Ouch! Thanks a million!

I only looked at

The keyword index and

https://sqlite.org/draft/c3ref/sleep.html

which only mentions

sqlite3_sleep()
and
xSleep()

Sorry for the noise!

(5) By Stephan Beal (stephan) on 2021-03-07 15:16:51 in reply to 4 [link] [source]

I only looked at The keyword index ..

It's not built in to the library - it's one of the functions the CLI app adds. It's presumably not available on platforms without usleep(), but i didn't look at the surrounding #if blocks to see when/whether it's enabled.