forked from cory/tildefriends
		
	sqlite thread safety and extended result codes, mainly.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4183 ed5197a5-7fde-0310-b194-c3ffbd925b24
This commit is contained in:
		
							
								
								
									
										1
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								Makefile
									
									
									
									
									
								
							| @@ -221,6 +221,7 @@ $(SQLITE_OBJS): CFLAGS += \ | ||||
| 	-DSQLITE_DBCONFIG_DEFAULT_DEFENSIVE \ | ||||
| 	-DSQLITE_ENABLE_FTS5 \ | ||||
| 	-DSQLITE_ENABLE_JSON1 \ | ||||
| 	-DSQLITE_THREADSAFE=1 \ | ||||
| 	-DSQLITE_MAX_LENGTH=5242880 \ | ||||
| 	-DSQLITE_MAX_SQL_LENGTH=100000 \ | ||||
| 	-DSQLITE_MAX_COLUMN=100 \ | ||||
|   | ||||
| @@ -2148,6 +2148,7 @@ sqlite3* tf_ssb_acquire_db_reader(tf_ssb_t* ssb) | ||||
| 	else | ||||
| 	{ | ||||
| 		sqlite3_open_v2(ssb->db_path, &db, SQLITE_OPEN_READONLY, NULL); | ||||
| 		tf_ssb_db_init_reader(db); | ||||
| 	} | ||||
| 	uv_mutex_unlock(&ssb->db_readers_lock); | ||||
| 	return db; | ||||
|   | ||||
| @@ -53,10 +53,16 @@ static bool _tf_ssb_db_has_rows(sqlite3* db, const char* query) | ||||
|  | ||||
| static void _tf_ssb_db_init_internal(sqlite3* db) | ||||
| { | ||||
| 	sqlite3_extended_result_codes(db, 1); | ||||
| 	_tf_ssb_db_exec(db, "PRAGMA journal_mode = WAL"); | ||||
| 	_tf_ssb_db_exec(db, "PRAGMA synchronous = NORMAL"); | ||||
| } | ||||
|  | ||||
| void tf_ssb_db_init_reader(sqlite3* db) | ||||
| { | ||||
| 	_tf_ssb_db_init_internal(db); | ||||
| } | ||||
|  | ||||
| void tf_ssb_db_init(tf_ssb_t* ssb) | ||||
| { | ||||
| 	sqlite3* db = tf_ssb_get_db(ssb); | ||||
|   | ||||
| @@ -8,6 +8,7 @@ | ||||
| typedef struct _tf_ssb_t tf_ssb_t; | ||||
|  | ||||
| void tf_ssb_db_init(tf_ssb_t* ssb); | ||||
| void tf_ssb_db_init_reader(sqlite3* db); | ||||
| bool tf_ssb_db_store_message(tf_ssb_t* ssb, JSContext* context, const char* id, JSValue val, const char* signature, bool sequence_before_author); | ||||
| bool tf_ssb_db_message_content_get(tf_ssb_t* ssb, const char* id, uint8_t** out_blob, size_t* out_size); | ||||
| bool tf_ssb_db_blob_has(tf_ssb_t* ssb, const char* id); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user