mirror of
				https://github.com/launchbadge/sqlx.git
				synced 2025-10-30 04:52:59 +00:00 
			
		
		
		
	 b5312c3b6f
			
		
	
	
		b5312c3b6f
		
	
	
	
	
		
			
			* WIP rt refactors * refactor: break drivers out into separate crates also cleans up significant technical debt
		
			
				
	
	
		
			57 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
| use crate::arguments::PgArgumentBuffer;
 | |
| use crate::value::{PgValue, PgValueRef};
 | |
| use crate::{
 | |
|     PgArguments, PgColumn, PgConnection, PgQueryResult, PgRow, PgStatement, PgTransactionManager,
 | |
|     PgTypeInfo,
 | |
| };
 | |
| 
 | |
| pub(crate) use sqlx_core::database::{
 | |
|     Database, HasArguments, HasStatement, HasStatementCache, HasValueRef,
 | |
| };
 | |
| 
 | |
| /// PostgreSQL database driver.
 | |
| #[derive(Debug)]
 | |
| pub struct Postgres;
 | |
| 
 | |
| impl Database for Postgres {
 | |
|     type Connection = PgConnection;
 | |
| 
 | |
|     type TransactionManager = PgTransactionManager;
 | |
| 
 | |
|     type Row = PgRow;
 | |
| 
 | |
|     type QueryResult = PgQueryResult;
 | |
| 
 | |
|     type Column = PgColumn;
 | |
| 
 | |
|     type TypeInfo = PgTypeInfo;
 | |
| 
 | |
|     type Value = PgValue;
 | |
| 
 | |
|     const NAME: &'static str = "PostgreSQL";
 | |
| 
 | |
|     const URL_SCHEMES: &'static [&'static str] = &["postgres", "postgresql"];
 | |
| }
 | |
| 
 | |
| impl<'r> HasValueRef<'r> for Postgres {
 | |
|     type Database = Postgres;
 | |
| 
 | |
|     type ValueRef = PgValueRef<'r>;
 | |
| }
 | |
| 
 | |
| impl HasArguments<'_> for Postgres {
 | |
|     type Database = Postgres;
 | |
| 
 | |
|     type Arguments = PgArguments;
 | |
| 
 | |
|     type ArgumentBuffer = PgArgumentBuffer;
 | |
| }
 | |
| 
 | |
| impl<'q> HasStatement<'q> for Postgres {
 | |
|     type Database = Postgres;
 | |
| 
 | |
|     type Statement = PgStatement<'q>;
 | |
| }
 | |
| 
 | |
| impl HasStatementCache for Postgres {}
 |