| 
					
				 | 
			
			
				@@ -45,19 +45,23 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 called by `org-babel-execute-src-block'." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   (message "executing Sqlite source code block") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   (let ((result-params (split-string (or (cdr (assoc :results params)) ""))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	(vars (org-babel-ref-variables params))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	(vars (org-babel-ref-variables params)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	(headers-p (equal "yes" (cdr (assoc :colnames params))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     (with-temp-buffer 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       (insert 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        (shell-command-to-string 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	(format "%s -csv %s %S" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	(format "%s %s -csv %s %S" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		org-babel-sqlite3-command 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		(if headers-p "-header" "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		(cdr (assoc :db params)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		(org-babel-sqlite-expand-vars body vars)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       (if (or (member "scalar" result-params) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	      (member "code" result-params)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  (buffer-string) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	(org-table-convert-region (point-min) (point-max)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	(org-babel-sqlite-table-or-scalar (org-table-to-lisp)))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	(org-babel-sqlite-table-or-scalar 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 (org-babel-sqlite-offset-colnames 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	  (org-table-to-lisp) headers-p)))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 (defun org-babel-sqlite-expand-vars (body vars) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   "Expand the variables held in VARS in BODY." 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -77,6 +81,12 @@ called by `org-babel-execute-src-block'." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       (caar result) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     result)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(defun org-babel-sqlite-offset-colnames (table headers-p) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  "If HEADERS-P is non-nil then offset the first row as column names." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (if headers-p 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      (cons (car table) (cons 'hline (cdr table))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    table)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 (defun org-babel-prep-session:sqlite (session params) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   "Prepare SESSION according to the header arguments specified in PARAMS." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   (error "sqlite sessions not yet implemented")) 
			 |