mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-30 04:26:45 +03:00 
			
		
		
		
	No need to check for result existence any more, store_result functions now are shorter. cli_read_binary_rows rewritten to handle MYSQL_DATA directly. include/mysql.h: MYSQL_RES * pointer replaced with MYSQL_DATA: it saves us at least 2 mallocs per store_result and simplifies stored result handling. Plus it's done with cursor fetch in mind: cursor fetch will use this structure to buffer fetched rows. libmysql/client_settings.h: signature of cli_read_binary_rows changed libmysql/libmysql.c: MYSQL_DATA is now used to handle result. cli_read_binary_rows rewritten to use MYSQL_DATA directly. libmysql/libmysql.def: declarations of new calls in the library libmysqld/lib_sql.cc: MYSQL_DATA is now used to handle result. cli_read_binary_rows rewritten to use MYSQL_DATA directly.
		
			
				
	
	
		
			72 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
 | |
|    
 | |
|    This program is free software; you can redistribute it and/or modify
 | |
|    it under the terms of the GNU General Public License as published by
 | |
|    the Free Software Foundation; either version 2 of the License, or
 | |
|    (at your option) any later version.
 | |
|    
 | |
|    This program is distributed in the hope that it will be useful,
 | |
|    but WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
|    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | |
|    GNU General Public License for more details.
 | |
|    
 | |
|    You should have received a copy of the GNU General Public License
 | |
|    along with this program; if not, write to the Free Software
 | |
|    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */
 | |
| 
 | |
| extern uint		mysql_port;
 | |
| extern my_string	mysql_unix_port;
 | |
| 
 | |
| #define CLIENT_CAPABILITIES (CLIENT_LONG_PASSWORD | CLIENT_LONG_FLAG |	  \
 | |
|                              CLIENT_LOCAL_FILES | CLIENT_TRANSACTIONS |   \
 | |
| 			     CLIENT_PROTOCOL_41 | CLIENT_SECURE_CONNECTION)
 | |
| 
 | |
| sig_handler pipe_sig_handler(int sig __attribute__((unused)));
 | |
| void read_user_name(char *name);
 | |
| my_bool handle_local_infile(MYSQL *mysql, const char *net_filename);
 | |
| 
 | |
| /*
 | |
|   Let the user specify that we don't want SIGPIPE;  This doesn't however work
 | |
|   with threaded applications as we can have multiple read in progress.
 | |
| */
 | |
| 
 | |
| #if !defined(__WIN__) && defined(SIGPIPE) && !defined(THREAD)
 | |
| #define init_sigpipe_variables  sig_return old_signal_handler=(sig_return) 0;
 | |
| #define set_sigpipe(mysql)     if ((mysql)->client_flag & CLIENT_IGNORE_SIGPIPE) old_signal_handler=signal(SIGPIPE,pipe_sig_handler)
 | |
| #define reset_sigpipe(mysql) if ((mysql)->client_flag & CLIENT_IGNORE_SIGPIPE) signal(SIGPIPE,old_signal_handler);
 | |
| #else
 | |
| #define init_sigpipe_variables
 | |
| #define set_sigpipe(mysql)
 | |
| #define reset_sigpipe(mysql)
 | |
| #endif
 | |
| 
 | |
| void mysql_read_default_options(struct st_mysql_options *options,
 | |
| 				const char *filename,const char *group);
 | |
| MYSQL *
 | |
| cli_mysql_real_connect(MYSQL *mysql,const char *host, const char *user,
 | |
| 		       const char *passwd, const char *db,
 | |
| 		       uint port, const char *unix_socket,ulong client_flag);
 | |
| 
 | |
| void cli_mysql_close(MYSQL *mysql);
 | |
| 
 | |
| MYSQL_FIELD * cli_list_fields(MYSQL *mysql);
 | |
| my_bool cli_read_prepare_result(MYSQL *mysql, MYSQL_STMT *stmt);
 | |
| MYSQL_DATA * cli_read_rows(MYSQL *mysql,MYSQL_FIELD *mysql_fields,
 | |
| 				   uint fields);
 | |
| int cli_stmt_execute(MYSQL_STMT *stmt);
 | |
| int cli_read_binary_rows(MYSQL_STMT *stmt);
 | |
| int cli_unbuffered_fetch(MYSQL *mysql, char **row);
 | |
| const char * cli_read_statistics(MYSQL *mysql);
 | |
| int cli_read_change_user_result(MYSQL *mysql, char *buff, const char *passwd);
 | |
| 
 | |
| #ifdef EMBEDDED_LIBRARY
 | |
| int init_embedded_server(int argc, char **argv, char **groups);
 | |
| void end_embedded_server();
 | |
| 
 | |
| #else
 | |
| /* Prevent warnings of unused parameters */
 | |
| #define init_embedded_server(a,b,c) ((void)a, (void)b, (void)c, 0)
 | |
| #define end_embedded_server()
 | |
| #endif /*EMBEDDED_LIBRARY*/
 | |
| 
 |