mirror of
				https://github.com/isar/rusqlite.git
				synced 2025-10-31 05:48:56 +08:00 
			
		
		
		
	Merge remote-tracking branch 'upstream/master' into series
This commit is contained in:
		| @@ -424,18 +424,14 @@ fn ensure_safe_sqlite_threading_mode() -> Result<()> { | ||||
|             } | ||||
|  | ||||
|             unsafe { | ||||
|                 let msg = "\ | ||||
| Could not ensure safe initialization of SQLite. | ||||
| To fix this, either: | ||||
| * Upgrade SQLite to at least version 3.7.0 | ||||
| * Ensure that SQLite has been initialized in Multi-thread or Serialized mode and call | ||||
|   rusqlite::bypass_sqlite_initialization() prior to your first connection attempt."; | ||||
|  | ||||
|                 if ffi::sqlite3_config(ffi::SQLITE_CONFIG_MULTITHREAD) != ffi::SQLITE_OK { | ||||
|                     panic!(msg); | ||||
|                 } | ||||
|                 if ffi::sqlite3_initialize() != ffi::SQLITE_OK { | ||||
|                     panic!(msg); | ||||
|                 if ffi::sqlite3_config(ffi::SQLITE_CONFIG_MULTITHREAD) != ffi::SQLITE_OK || ffi::sqlite3_initialize() != ffi::SQLITE_OK { | ||||
|                     panic!( | ||||
|                         "Could not ensure safe initialization of SQLite.\n\ | ||||
|                          To fix this, either:\n\ | ||||
|                          * Upgrade SQLite to at least version 3.7.0\n\ | ||||
|                          * Ensure that SQLite has been initialized in Multi-thread or Serialized mode and call\n\ | ||||
|                            rusqlite::bypass_sqlite_initialization() prior to your first connection attempt." | ||||
|                     ); | ||||
|                 } | ||||
|             } | ||||
|         }); | ||||
|   | ||||
| @@ -170,6 +170,7 @@ impl RawStatement { | ||||
|         r | ||||
|     } | ||||
|  | ||||
|     // does not work for PRAGMA | ||||
|     #[inline] | ||||
|     #[cfg(all(feature = "extra_check", feature = "modern_sqlite"))] // 3.7.4 | ||||
|     pub fn readonly(&self) -> bool { | ||||
|   | ||||
| @@ -220,7 +220,6 @@ impl Statement<'_> { | ||||
|     /// Will return `Err` if binding parameters fails. | ||||
|     #[inline] | ||||
|     pub fn query<P: Params>(&mut self, params: P) -> Result<Rows<'_>> { | ||||
|         self.check_readonly()?; | ||||
|         params.__bind_in(self)?; | ||||
|         Ok(Rows::new(self)) | ||||
|     } | ||||
| @@ -718,21 +717,6 @@ impl Statement<'_> { | ||||
|         self.conn.decode_result(stmt.finalize()) | ||||
|     } | ||||
|  | ||||
|     #[cfg(not(feature = "modern_sqlite"))] | ||||
|     #[inline] | ||||
|     fn check_readonly(&self) -> Result<()> { | ||||
|         Ok(()) | ||||
|     } | ||||
|  | ||||
|     #[cfg(feature = "modern_sqlite")] | ||||
|     #[inline] | ||||
|     fn check_readonly(&self) -> Result<()> { | ||||
|         /*if !self.stmt.readonly() { does not work for PRAGMA | ||||
|             return Err(Error::InvalidQuery); | ||||
|         }*/ | ||||
|         Ok(()) | ||||
|     } | ||||
|  | ||||
|     #[cfg(all(feature = "modern_sqlite", feature = "extra_check"))] | ||||
|     #[inline] | ||||
|     fn check_update(&self) -> Result<()> { | ||||
| @@ -755,6 +739,7 @@ impl Statement<'_> { | ||||
|  | ||||
|     #[cfg(not(feature = "extra_check"))] | ||||
|     #[inline] | ||||
|     #[allow(clippy::unnecessary_wraps)] | ||||
|     fn check_update(&self) -> Result<()> { | ||||
|         Ok(()) | ||||
|     } | ||||
| @@ -793,6 +778,7 @@ impl Statement<'_> { | ||||
|  | ||||
|     #[cfg(not(feature = "extra_check"))] | ||||
|     #[inline] | ||||
|     #[allow(clippy::unnecessary_wraps)] | ||||
|     pub(crate) fn check_no_tail(&self) -> Result<()> { | ||||
|         Ok(()) | ||||
|     } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user