~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/sql_client.cc

  • Committer: Padraig O'Sullivan
  • Date: 2009-06-29 17:24:02 UTC
  • mto: This revision was merged to the branch mainline in revision 1081.
  • Revision ID: osullivan.padraig@gmail.com-20090629172402-9c5n1kr7ry7xgau7
Removed the dependency on knowing the position of an I_S table in the
schema_tables array defined in show.cc. This issue crops up in
prepare_schema_table. An issue with my design is that it increases the time
complexity from O(1) to O(n) in numerous places to determine an I_S table to
work on since we don't have an explicit index into the array and instead
need to search by name. However, as n is the number of I_S tables and this
number is quite small (at the moment n is < 30), we don't see this causing
any issue. This design makes the code much more maintainable and easier to
understand. Previously, modifying anything to do with the I_S tables meant
having to tip-toe around the issue of hard-coded indexes into the
schema_tables array.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* Copyright (C) 2003 MySQL AB
2
 
 
3
 
   This program is free software; you can redistribute it and/or modify
4
 
   it under the terms of the GNU General Public License as published by
5
 
   the Free Software Foundation; version 2 of the License.
6
 
 
7
 
   This program is distributed in the hope that it will be useful,
8
 
   but WITHOUT ANY WARRANTY; without even the implied warranty of
9
 
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10
 
   GNU General Public License for more details.
11
 
 
12
 
   You should have received a copy of the GNU General Public License
13
 
   along with this program; if not, write to the Free Software
14
 
   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */
15
 
 
16
 
/*
17
 
  This files defines some MySQL C API functions that are server specific
18
 
*/
19
 
#include <drizzled/server_includes.h>
20
 
 
21
 
/*
22
 
  Function called by my_net_init() to set some check variables
23
 
*/
24
 
 
25
 
extern "C" {
26
 
void my_net_local_init(NET *net)
27
 
{
28
 
  net->max_packet=   (uint) global_system_variables.net_buffer_length;
29
 
 
30
 
  my_net_set_read_timeout(net, (uint)global_system_variables.net_read_timeout);
31
 
  my_net_set_write_timeout(net,
32
 
                           (uint)global_system_variables.net_write_timeout);
33
 
 
34
 
  net->retry_count=  (uint) global_system_variables.net_retry_count;
35
 
  net->max_packet_size= max(global_system_variables.net_buffer_length,
36
 
                            global_system_variables.max_allowed_packet);
37
 
}
38
 
}