mirror of
				https://github.com/TriliumNext/Notes.git
				synced 2025-10-31 04:51:31 +08:00 
			
		
		
		
	server-ts: Add some type fixes to sql.ts
This commit is contained in:
		
							parent
							
								
									5309d4ad5c
								
							
						
					
					
						commit
						3a7d0d1f13
					
				| @ -5,12 +5,13 @@ | |||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
| import log = require('./log'); | import log = require('./log'); | ||||||
| import Database = require('better-sqlite3'); | import type { Statement, Database as DatabaseType, RunResult } from "better-sqlite3"; | ||||||
| import dataDir = require('./data_dir'); | import dataDir = require('./data_dir'); | ||||||
| import cls = require('./cls'); | import cls = require('./cls'); | ||||||
| import fs = require("fs-extra"); | import fs = require("fs-extra"); | ||||||
|  | import Database = require('better-sqlite3'); | ||||||
| 
 | 
 | ||||||
| const dbConnection = new Database(dataDir.DOCUMENT_PATH); | const dbConnection: DatabaseType = new Database(dataDir.DOCUMENT_PATH); | ||||||
| dbConnection.pragma('journal_mode = WAL'); | dbConnection.pragma('journal_mode = WAL'); | ||||||
| 
 | 
 | ||||||
| const LOG_ALL_QUERIES = false; | const LOG_ALL_QUERIES = false; | ||||||
| @ -50,8 +51,8 @@ function insert<T extends {}>(tableName: string, rec: T, replace = false) { | |||||||
|     return res ? res.lastInsertRowid : null; |     return res ? res.lastInsertRowid : null; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function replace<T extends {}>(tableName: string, rec: T) { | function replace<T extends {}>(tableName: string, rec: T): number | null { | ||||||
|     return insert(tableName, rec, true); |     return insert(tableName, rec, true) as number | null; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function upsert<T extends {}>(tableName: string, primaryKey: string, rec: T) { | function upsert<T extends {}>(tableName: string, primaryKey: string, rec: T) { | ||||||
| @ -79,7 +80,7 @@ function upsert<T extends {}>(tableName: string, primaryKey: string, rec: T) { | |||||||
|     execute(query, rec); |     execute(query, rec); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| const statementCache: Record<string, Database.Statement> = {}; | const statementCache: Record<string, Statement> = {}; | ||||||
| 
 | 
 | ||||||
| function stmt(sql: string) { | function stmt(sql: string) { | ||||||
|     if (!(sql in statementCache)) { |     if (!(sql in statementCache)) { | ||||||
| @ -169,8 +170,8 @@ function getColumn(query: string, params: Params = []) { | |||||||
|     return wrap(query, s => s.pluck().all(params)); |     return wrap(query, s => s.pluck().all(params)); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function execute(query: string, params: Params = []): Database.RunResult { | function execute(query: string, params: Params = []): RunResult { | ||||||
|     return wrap(query, s => s.run(params)) as Database.RunResult; |     return wrap(query, s => s.run(params)) as RunResult; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function executeMany(query: string, params: Params) { | function executeMany(query: string, params: Params) { | ||||||
| @ -197,7 +198,7 @@ function executeMany(query: string, params: Params) { | |||||||
|     } |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function executeScript(query: string) { | function executeScript(query: string): DatabaseType { | ||||||
|     if (LOG_ALL_QUERIES) { |     if (LOG_ALL_QUERIES) { | ||||||
|         console.log(query); |         console.log(query); | ||||||
|     } |     } | ||||||
| @ -205,7 +206,7 @@ function executeScript(query: string) { | |||||||
|     return dbConnection.exec(query); |     return dbConnection.exec(query); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function wrap(query: string, func: (statement: Database.Statement) => unknown): unknown { | function wrap(query: string, func: (statement: Statement) => unknown): unknown { | ||||||
|     const startTimestamp = Date.now(); |     const startTimestamp = Date.now(); | ||||||
|     let result; |     let result; | ||||||
| 
 | 
 | ||||||
| @ -242,7 +243,7 @@ function wrap(query: string, func: (statement: Database.Statement) => unknown): | |||||||
|     return result; |     return result; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function transactional<T>(func: (statement: Database.Statement) => T) { | function transactional<T>(func: (statement: Statement) => T) { | ||||||
|     try { |     try { | ||||||
|         const ret = (dbConnection.transaction(func) as any).deferred(); |         const ret = (dbConnection.transaction(func) as any).deferred(); | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| { | { | ||||||
| 	"compilerOptions": { | 	"compilerOptions": { | ||||||
|       "moduleResolution": "Node", |       "moduleResolution": "Node", | ||||||
| 	  "declaration": true, | 	  "declaration": false, | ||||||
| 	  "sourceMap": true, | 	  "sourceMap": true, | ||||||
| 	  "outDir": "./build", | 	  "outDir": "./build", | ||||||
| 	  "strict": true, | 	  "strict": true, | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Elian Doran
						Elian Doran