| 
									
										
										
										
											2008-02-04 14:34:01 -05:00
										 |  |  | ! Copyright (C) 2008 Doug Coleman. | 
					
						
							|  |  |  | ! See http://factorcode.org/license.txt for license. | 
					
						
							| 
									
										
										
										
											2008-05-15 00:23:12 -04:00
										 |  |  | USING: alien continuations destructors io kernel prettyprint | 
					
						
							|  |  |  | sequences db db.mysql.ffi ;
 | 
					
						
							| 
									
										
										
										
											2008-02-04 14:34:01 -05:00
										 |  |  | IN: db.mysql | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TUPLE: mysql-db handle host user password db port ;
 | 
					
						
							| 
									
										
										
										
											2008-02-04 18:53:04 -05:00
										 |  |  | TUPLE: mysql-statement ;
 | 
					
						
							|  |  |  | TUPLE: mysql-result-set ;
 | 
					
						
							| 
									
										
										
										
											2008-02-04 14:34:01 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | M: mysql-db db-open ( mysql-db -- )
 | 
					
						
							| 
									
										
										
										
											2008-04-14 04:54:43 -04:00
										 |  |  |     ;
 | 
					
						
							| 
									
										
										
										
											2008-02-04 14:34:01 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | M: mysql-db dispose ( mysql-db -- )
 | 
					
						
							|  |  |  |     mysql-db-handle mysql_close ;
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-03-08 03:51:26 -05:00
										 |  |  | M: mysql-db <simple-statement> ( str in out -- statement )
 | 
					
						
							|  |  |  |     3drop f ;
 | 
					
						
							| 
									
										
										
										
											2008-02-04 18:53:04 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-03-08 03:51:26 -05:00
										 |  |  | M: mysql-db <prepared-statement> ( str in out -- statement )
 | 
					
						
							|  |  |  |     3drop f ;
 | 
					
						
							| 
									
										
										
										
											2008-02-04 18:53:04 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | M: mysql-statement prepare-statement ( statement -- )
 | 
					
						
							| 
									
										
										
										
											2008-03-08 03:51:26 -05:00
										 |  |  |     drop ;
 | 
					
						
							| 
									
										
										
										
											2008-02-04 18:53:04 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | M: mysql-statement bind-statement* ( statement -- )
 | 
					
						
							| 
									
										
										
										
											2008-03-08 03:51:26 -05:00
										 |  |  |     drop ;
 | 
					
						
							| 
									
										
										
										
											2008-02-04 18:53:04 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | M: mysql-statement query-results ( query -- result-set )
 | 
					
						
							| 
									
										
										
										
											2008-03-08 03:51:26 -05:00
										 |  |  |     drop f ;
 | 
					
						
							| 
									
										
										
										
											2008-02-04 18:53:04 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | M: mysql-result-set #rows ( result-set -- n )
 | 
					
						
							| 
									
										
										
										
											2008-03-08 03:51:26 -05:00
										 |  |  |     drop 0 ;
 | 
					
						
							| 
									
										
										
										
											2008-02-04 18:53:04 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | M: mysql-result-set #columns ( result-set -- n )
 | 
					
						
							| 
									
										
										
										
											2008-03-08 03:51:26 -05:00
										 |  |  |     drop 0 ;
 | 
					
						
							| 
									
										
										
										
											2008-02-04 18:53:04 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | M: mysql-result-set row-column ( result-set n -- obj )
 | 
					
						
							| 
									
										
										
										
											2008-03-08 03:51:26 -05:00
										 |  |  |     2drop f ;
 | 
					
						
							| 
									
										
										
										
											2008-02-04 18:53:04 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-03-08 03:51:26 -05:00
										 |  |  | M: mysql-result-set advance-row ( result-set -- )
 | 
					
						
							|  |  |  |     drop ;
 | 
					
						
							| 
									
										
										
										
											2008-02-04 18:53:04 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | M: mysql-db begin-transaction ( -- )
 | 
					
						
							|  |  |  |     ;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | M: mysql-db commit-transaction ( -- )
 | 
					
						
							|  |  |  |     ;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | M: mysql-db rollback-transaction ( -- )
 | 
					
						
							|  |  |  |     ;
 |