mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 15:12:45 +00:00 
			
		
		
		
	 1c50e9aadc
			
		
	
	
		1c50e9aadc
		
	
	
	
	
		
			
			Because SQL is the craptastic language that it is, sometimes expressions need to know details about the calling statement. For example the tables in the 'FROM' clause may be needed to determine which columns are referenced in 'WHERE' expressions. So the current statement is added to the ExecutionContext and a new 'execute' overload on Statement is created which takes the Database and the Statement and builds an ExecutionContaxt from those.
		
			
				
	
	
		
			20 lines
		
	
	
	
		
			428 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			20 lines
		
	
	
	
		
			428 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| /*
 | |
|  * Copyright (c) 2021, Jan de Visser <jan@de-visser.net>
 | |
|  *
 | |
|  * SPDX-License-Identifier: BSD-2-Clause
 | |
|  */
 | |
| 
 | |
| #include <LibSQL/AST/AST.h>
 | |
| #include <LibSQL/Database.h>
 | |
| #include <LibSQL/Meta.h>
 | |
| #include <LibSQL/Row.h>
 | |
| 
 | |
| namespace SQL::AST {
 | |
| 
 | |
| RefPtr<SQLResult> Statement::execute(AK::NonnullRefPtr<Database> database) const
 | |
| {
 | |
|     ExecutionContext context { move(database), nullptr, this, nullptr };
 | |
|     return execute(context);
 | |
| }
 | |
| 
 | |
| }
 |