@@ -2,6 +2,7 @@ import React, {useEffect, useState} from 'react';
22import {
33 ActivityIndicator ,
44 Button ,
5+ Clipboard ,
56 SafeAreaView ,
67 ScrollView ,
78 Text ,
@@ -39,8 +40,6 @@ export default function App() {
3940 [ ] ,
4041 ) ;
4142 const [ singleRecordTime , setSingleRecordTime ] = useState < number > ( 0 ) ;
42- const [ sqliteMMSetTime , setSqliteMMSetTime ] = useState ( 0 ) ;
43- const [ sqliteGetTime , setSqliteMMGetTime ] = useState ( 0 ) ;
4443 const [ rawExecutionTimes , setRawExecutionTimes ] = useState < number [ ] > ( [ ] ) ;
4544 useEffect ( ( ) => {
4645 setResults ( [ ] ) ;
@@ -84,70 +83,31 @@ export default function App() {
8483 }
8584 } ;
8685
87- const queryAndReload = async ( ) => {
88- queryLargeDB ( ) ;
89- setTimeout ( ( ) => {
90- RNRestart . restart ( ) ;
91- } , 200 ) ;
86+ const copyDbPathToClipboad = async ( ) => {
87+ const db = await open ( { name : 'dbPath.sqlite' } ) ;
88+ db . execute ( 'CREATE TABLE test (id INTEGER PRIMARY KEY AUTOINCREMENT)' ) ;
89+ const path = db . getDbPath ( ) ;
90+ await db . close ( ) ;
91+ console . warn ( path ) ;
92+ Clipboard . setString ( path ) ;
9293 } ;
9394
9495 const allTestsPassed = results . reduce ( ( acc : boolean , r : any ) => {
9596 return acc && r . type !== 'incorrect' ;
9697 } , true ) ;
9798
98- const testAgainstMMKV = ( ) => {
99- const db = open ( {
100- name : 'mmkvTestDb' ,
101- } ) ;
102-
103- db . execute ( 'PRAGMA mmap_size=268435456' ) ;
104- // db.execute('PRAGMA journal_mode = OFF;');
105- db . execute ( 'DROP TABLE IF EXISTS mmkvTest;' ) ;
106- db . execute ( 'CREATE TABLE mmkvTest (text TEXT);' ) ;
107-
108- let insertStatment = db . prepareStatement (
109- 'INSERT INTO "mmkvTest" (text) VALUES (?)' ,
110- ) ;
111- insertStatment . bind ( [ 'quack' ] ) ;
112-
113- let start = performance . now ( ) ;
114- insertStatment . execute ( ) ;
115- let end = performance . now ( ) ;
116- setSqliteMMSetTime ( end - start ) ;
117-
118- let readStatement = db . prepareStatement ( 'SELECT text from mmkvTest;' ) ;
119- start = performance . now ( ) ;
120- readStatement . execute ( ) ;
121- end = performance . now ( ) ;
122- setSqliteMMGetTime ( end - start ) ;
123-
124- db . close ( ) ;
125- } ;
126-
12799 return (
128100 < SafeAreaView className = "flex-1 bg-neutral-900" >
129101 < StyledScrollView >
130102 < View className = "flex-row p-2 bg-neutral-800 items-center" >
131103 < Text className = { 'font-bold flex-1 text-white' } > Tools</ Text >
132104 </ View >
133- < Button title = "Reload app middle of query" onPress = { queryAndReload } />
105+ < Button
106+ title = "Copy DB Path to clipboard"
107+ onPress = { copyDbPathToClipboad }
108+ />
134109 < Button title = "Create 300k Record DB" onPress = { createLargeDb } />
135110 < Button title = "Query 300k Records" onPress = { queryLargeDb } />
136- { /* <Button title="Query single record" onPress={querySingleRecord} />
137- <Button title="Against MMKV" onPress={testAgainstMMKV} /> */ }
138- < View className = "gap-2 items-center mt-4" >
139- { ! ! sqliteMMSetTime && (
140- < Text className = "text-white" >
141- MM SQLite Write: { sqliteMMSetTime . toFixed ( 3 ) } ms
142- </ Text >
143- ) }
144-
145- { ! ! sqliteGetTime && (
146- < Text className = "text-white" >
147- MM SQLite Get: { sqliteGetTime . toFixed ( 3 ) } ms
148- </ Text >
149- ) }
150- </ View >
151111 { isLoading && < ActivityIndicator color = { 'white' } size = "large" /> }
152112
153113 { ! ! singleRecordTime && (
0 commit comments