Of course you can:

select * from pragma_quick_check;
or
select * from pragma_integrity_check;



---
The fact that there's a Highway to Hell but only a Stairway to Heaven says a 
lot about anticipated traffic volume.

>-----Original Message-----
>From: sqlite-users [mailto:sqlite-users-
>boun...@mailinglists.sqlite.org] On Behalf Of David Raymond
>Sent: Thursday, 4 January, 2018 09:59
>To: SQLite mailing list
>Subject: Re: [sqlite] Can i check database corruption by select
>statement instead of quick_check?
>
>You can't replace it with a select, no. There are plenty of different
>ways in which a database can be corrupt. When you run a select query
>you'll only find ones that are fatal errors, and only in places that
>deal with your query.
>
>The type of corruption you seem to have there is fatal, but there are
>plenty of ways for a database to be corrupt and yet still give
>results back from a select query. Quick_check and integrity_check
>look for all these different types of corruption.
>
>-----Original Message-----
>From: sqlite-users [mailto:sqlite-users-
>boun...@mailinglists.sqlite.org] On Behalf Of Junyoung Park
>Sent: Thursday, January 04, 2018 12:56 AM
>To: sqlite-users@mailinglists.sqlite.org
>Subject: [sqlite] Can i check database corruption by select statement
>instead of quick_check?
>
>Hi,
>
>I am currently testing to check database corrupted / malformed.
>Database size :1G
>table num : 1
>index num : 1
>
>The database can be malformed or normal.
>
>When I executing quick_check against a normal database, it takes
>about
>3 minutes from the time of the first execution since opening.
>If database is malformed, it will be checked faster than 3 minutes
>based on what part of the file is malformed.
>
>On the other hands, when i execute the "select max (rowid) from
>table_name" command on the database when it is malformed or normal,
>get results according to the situation and get results within about 1
>second.
>
>================== TEST CASE ================
>* malformed DB checking by select statement *
>sqlite> select max(rowid) from test_t;
>Run Time: real 0.003 user 0.000000 sys 0.000000
>Error: database disk image is malformed
>
>* normal DB checking by select statement *
>sqlite> select max(rowid) from test_t;
>4644298
>Run Time: real 0.074 user 0.000000 sys 0.000000
>
>* malformed DB checking by "quick_check" *
>sqlite> pragma quick_check;
>Run Time: real 0.000 user 0.000000 sys 0.000000
>Error: database disk image is malformed
>
>* normal DB checking by "quick_check" *
>sqlite> pragma quick_check;
>ok
>Run Time: real 201.368 user 1.350000 sys 1.570000
>===============================================
>
>The main point of the question is that if the "quick_check" is slow
>according to the size of the database,
>in order to confirm the checking of malformed of the DB I would like
>to ask if I can replace it with the above select statement instead of
>"integrity_check" or "quick_check".
>
>Thank you very much.
>_______________________________________________
>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

Reply via email to