Commit graph

244 commits

Author SHA1 Message Date
monty@mysql.com/narttu.mysql.fi
088e2395f1 WL#3817: Simplify string / memory area types and make things more consistent (first part)
The following type conversions was done:

- Changed byte to uchar
- Changed gptr to uchar*
- Change my_string to char *
- Change my_size_t to size_t
- Change size_s to size_t

Removed declaration of byte, gptr, my_string, my_size_t and size_s. 

Following function parameter changes was done:
- All string functions in mysys/strings was changed to use size_t
  instead of uint for string lengths.
- All read()/write() functions changed to use size_t (including vio).
- All protocoll functions changed to use size_t instead of uint
- Functions that used a pointer to a string length was changed to use size_t*
- Changed malloc(), free() and related functions from using gptr to use void *
  as this requires fewer casts in the code and is more in line with how the
  standard functions work.
- Added extra length argument to dirname_part() to return the length of the
  created string.
- Changed (at least) following functions to take uchar* as argument:
  - db_dump()
  - my_net_write()
  - net_write_command()
  - net_store_data()
  - DBUG_DUMP()
  - decimal2bin() & bin2decimal()
- Changed my_compress() and my_uncompress() to use size_t. Changed one
  argument to my_uncompress() from a pointer to a value as we only return
  one value (makes function easier to use).
- Changed type of 'pack_data' argument to packfrm() to avoid casts.
- Changed in readfrm() and writefrom(), ha_discover and handler::discover()
  the type for argument 'frmdata' to uchar** to avoid casts.
- Changed most Field functions to use uchar* instead of char* (reduced a lot of
  casts).
- Changed field->val_xxx(xxx, new_ptr) to take const pointers.

Other changes:
- Removed a lot of not needed casts
- Added a few new cast required by other changes
- Added some cast to my_multi_malloc() arguments for safety (as string lengths
  needs to be uint, not size_t).
- Fixed all calls to hash-get-key functions to use size_t*. (Needed to be done
  explicitely as this conflict was often hided by casting the function to
  hash_get_key).
- Changed some buffers to memory regions to uchar* to avoid casts.
- Changed some string lengths from uint to size_t.
- Changed field->ptr to be uchar* instead of char*. This allowed us to
  get rid of a lot of casts.
- Some changes from true -> TRUE, false -> FALSE, unsigned char -> uchar
- Include zlib.h in some files as we needed declaration of crc32()
- Changed MY_FILE_ERROR to be (size_t) -1.
- Changed many variables to hold the result of my_read() / my_write() to be
  size_t. This was needed to properly detect errors (which are
  returned as (size_t) -1).
- Removed some very old VMS code
- Changed packfrm()/unpackfrm() to not be depending on uint size
  (portability fix)
- Removed windows specific code to restore cursor position as this
  causes slowdown on windows and we should not mix read() and pread()
  calls anyway as this is not thread safe. Updated function comment to
  reflect this. Changed function that depended on original behavior of
  my_pwrite() to itself restore the cursor position (one such case).
- Added some missing checking of return value of malloc().
- Changed definition of MOD_PAD_CHAR_TO_FULL_LENGTH to avoid 'long' overflow.
- Changed type of table_def::m_size from my_size_t to ulong to reflect that
  m_size is the number of elements in the array, not a string/memory
  length.
- Moved THD::max_row_length() to table.cc (as it's not depending on THD).
  Inlined max_row_length_blob() into this function.
- More function comments
- Fixed some compiler warnings when compiled without partitions.
- Removed setting of LEX_STRING() arguments in declaration (portability fix).
- Some trivial indentation/variable name changes.
- Some trivial code simplifications:
  - Replaced some calls to alloc_root + memcpy to use
    strmake_root()/strdup_root().
  - Changed some calls from memdup() to strmake() (Safety fix)
  - Simpler loops in client-simple.c
2007-05-10 12:59:39 +03:00
guilhem@gbichot3.local
8efe1b1fae manual merge 2007-03-09 16:06:08 +01:00
monty@mysql.com/narttu.mysql.fi
f0ae3ce9b9 Fixed compiler warnings
Fixed compile-pentium64 scripts
Fixed wrong estimate of update_with_key_prefix in sql-bench
Merge bk-internal.mysql.com:/home/bk/mysql-5.1 into mysql.com:/home/my/mysql-5.1
Fixed unsafe define of uint4korr()
Fixed that --extern works with mysql-test-run.pl
Small trivial cleanups
This also fixes a bug in counting number of rows that are updated when we have many simultanous queries
Move all connection handling and command exectuion main loop from sql_parse.cc to sql_connection.cc
Split handle_one_connection() into reusable sub functions.
Split create_new_thread() into reusable sub functions.
Added thread_scheduler; Preliminary interface code for future thread_handling code.

Use 'my_thread_id' for internal thread id's
Make thr_alarm_kill() to depend on thread_id instead of thread
Make thr_abort_locks_for_thread() depend on thread_id instead of thread
In store_globals(), set my_thread_var->id to be thd->thread_id.
Use my_thread_var->id as basis for my_thread_name()
The above changes makes the connection we have between THD and threads more soft.

Added a lot of DBUG_PRINT() and DBUG_ASSERT() functions
Fixed compiler warnings
Fixed core dumps when running with --debug
Removed setting of signal masks (was never used)
Made event code call pthread_exit() (portability fix)
Fixed that event code doesn't call DBUG_xxx functions before my_thread_init() is called.
Made handling of thread_id and thd->variables.pseudo_thread_id uniform.
Removed one common 'not freed memory' warning from mysqltest
Fixed a couple of usage of not initialized warnings (unlikely cases)
Suppress compiler warnings from bdb and (for the moment) warnings from ndb
2007-02-23 13:13:55 +02:00
jani@a88-113-38-195.elisa-laajakaista.fi
cd75806b61 Merge jamppa@bk-internal.mysql.com:/home/bk/mysql-5.1
into  a88-113-38-195.elisa-laajakaista.fi:/home/my/bk/mysql-5.1
2007-02-03 00:58:09 +02:00
guilhem@gbichot3.local
be389f62de Mechanical class renaming:
Protocol_simple->Protocol_text; Protocol_prep->Protocol_binary
and also THD::protocol_simple->THD::protocol_text,
THD::protocol_prep->THD::protocol_binary.
Reason: the binary protocol is not bound to be used only with
prepared statements long term (see WL#3559 "Decouple binary protocol
from prepared statements"). Renaming now is pressing because
the fix for BUG#735 "Prepared Statements: there is
no support for Query Cache" will introduce a new member
in class Query_cache_flags telling about the protocol's nature.
Other reason: "simple" is less accurate than "text".
Future patches for BUG#735 will rely on this cset.
2007-01-30 22:48:05 +01:00
df@kahlann.erinye.com
a4208cdc1c BUG#25890 put previous fix in better place 2007-01-27 21:26:28 +01:00
df@kahlann.erinye.com
26c6d2d231 BUG#25895 compiling the server with embedded fails on several 64-bit platforms
temporary fix
2007-01-27 20:16:15 +01:00
df@kahlann.erinye.com
508d7da976 BUG#25890 mysqltest_embedded crashes on start
very temporary fix
2007-01-27 13:12:59 +01:00
monty@narttu.mysql.fi
8a80e36ac3 Merge mysql.com:/home/my/mysql-5.0
into  mysql.com:/home/my/mysql-5.1
Merge of 'remove compiler warnings when using -Wshadow'
2007-01-27 03:46:45 +02:00
monty@mysql.com/narttu.mysql.fi
a04157fbb3 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/my/mysql-5.0
2007-01-22 14:04:40 +02:00
holyfoot/hf@hfmain.(none)
f95e387212 Merge mysql.com:/d2/hf/common/my50-common
into  mysql.com:/d2/hf/common/my51-common
2007-01-03 02:43:59 +04:00
holyfoot/hf@mysql.com/hfmain.(none)
988e2e4cad Merge mysql.com:/d2/hf/common/my41-common
into  mysql.com:/d2/hf/common/my50-common
2007-01-03 02:43:27 +04:00
holyfoot/hf@mysql.com/hfmain.(none)
12cd7c7b3e warning count for embedded prepared statements added 2007-01-03 02:41:14 +04:00
holyfoot/hf@hfmain.(none)
e6b3a71cc0 Merge mysql.com:/d2/hf/common/my50-common
into  mysql.com:/d2/hf/common/my51-common
2007-01-02 17:55:18 +04:00
holyfoot/hf@mysql.com/hfmain.(none)
429b82bed3 Merge mysql.com:/d2/hf/common/my41-common
into  mysql.com:/d2/hf/common/my50-common
2007-01-02 17:54:38 +04:00
holyfoot/hf@mysql.com/hfmain.(none)
e7130631cb merging fix 2007-01-02 17:53:55 +04:00
holyfoot/hf@mysql.com/hfmain.(none)
56155d83e7 merging fix 2007-01-02 17:51:32 +04:00
holyfoot/hf@mysql.com/hfmain.(none)
998167acce embedded-server related fixes 2007-01-02 17:46:20 +04:00
holyfoot/hf@mysql.com/hfmain.(none)
842b23a8fc WL#3630 (add embedded server to pushbuild)
5.1-related fixes
libmysqld/Makefile.am fixed to recompile and link ha_*.cc files that
keep dependance on THD structure.
Minor fixes to make tests working.
2006-12-28 09:42:04 +04:00
monty@mysql.com/narttu.mysql.fi
a6481aa4c7 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/my/mysql-5.0
2006-12-15 01:01:52 +02:00
monty@mysql.com/narttu.mysql.fi
88dd873de0 Fixed compiler warnings detected by option -Wshadow and -Wunused:
- Removed not used variables and functions
- Added #ifdef around code that is not used
- Renamed variables and functions to avoid conflicts
- Removed some not used arguments

Fixed some class/struct warnings in ndb
Added define IS_LONGDATA() to simplify code in libmysql.c

I did run gcov on the changes and added 'purecov' comments on almost all lines that was not just variable name changes
2006-12-15 00:51:37 +02:00
holyfoot/hf@deer.(none)
edfbcc12cb Merge bk@192.168.21.1:mysql-5.1-opt
into  mysql.com:/home/hf/work/embt/my51-embt
2006-12-08 15:49:43 +04:00
holyfoot/hf@mysql.com/deer.(none)
4091806268 Merge bk@192.168.21.1:mysql-5.0-opt
into  mysql.com:/home/hf/work/embt/my50-embt
2006-12-08 15:22:46 +04:00
holyfoot/hf@mysql.com/deer.(none)
f83bedabed Merge bk@192.168.21.1:mysql-4.1-opt
into  mysql.com:/home/hf/work/embt/my41-embt
2006-12-08 15:15:33 +04:00
kostja@bodhi.local
966c569b94 Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  bodhi.local:/opt/local/work/mysql-5.1-runtime-merge
2006-11-29 23:36:26 +03:00
kostja@bodhi.local
5fea0724bc Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  bodhi.local:/opt/local/work/mysql-5.0-runtime
2006-11-29 02:44:12 +03:00
kostja@bodhi.local
bf3fbb44ae Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  bodhi.local:/opt/local/work/mysql-4.1-runtime
2006-11-29 02:39:17 +03:00
holyfoot/hf@deer.(none)
dd0b81885d Merge mysql.com:/home/hf/work/mysql-5.0-mrg
into  mysql.com:/home/hf/work/mysql-5.1-mrg
2006-11-17 18:27:28 +04:00
kroki/tomash@moonlight.intranet
f6e4e2317e Fix after manual merge: remove dead declaration. 2006-11-17 13:56:11 +03:00
kroki/tomash@moonlight.intranet
1f699a4422 Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug23383
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.1-bug23383
2006-11-17 12:33:59 +03:00
kroki/tomash@moonlight.intranet
6d4558f7c3 Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-4.1-bug23383
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug23383
2006-11-17 12:30:26 +03:00
kroki/tomash@moonlight.intranet
5e2ef3a68e BUG#23383: mysql_affected_rows() returns different values than
mysql_stmt_affected_rows()

The problem was that affected_rows for prepared statement wasn't updated
in the client library on the error.  The solution is to always update
affected_rows, which will be equal to -1 on the error.
2006-11-17 12:21:32 +03:00
holyfoot/hf@mysql.com/deer.(none)
497ccd6b87 Merge mysql.com:/home/hf/work/mysql-4.1-mrg
into  mysql.com:/home/hf/work/mysql-5.0-mrg
2006-11-16 23:16:44 +04:00
holyfoot/hf@deer.(none)
385541131b Merge mysql.com:/home/hf/work/embt/my50-embt
into  mysql.com:/home/hf/work/embt/my51-embt
2006-11-13 20:16:46 +04:00
holyfoot/hf@mysql.com/deer.(none)
7ece4caad3 several fixes to make tests pass in embedded-server mode 2006-11-13 20:06:45 +04:00
holyfoot/hf@mysql.com/deer.(none)
7805cdef84 Merge mysql.com:/home/hf/work/embt/my41-embt
into  mysql.com:/home/hf/work/embt/my50-embt
2006-11-13 10:45:22 +04:00
holyfoot/hf@mysql.com/deer.(none)
6e0045ed20 embedded-mode tests fixed 2006-11-13 10:39:15 +04:00
mmj@tiger.local[mmj]
da721fe7aa Bug #23427: incompatible ABI change in 5.0.26?
Revert 1 June change enough to restore ABI compatibility with previous
versions.
2006-10-24 19:05:11 +02:00
holyfoot/hf@deer.(none)
e203abf0a1 Merge mysql.com:/home/hf/work/current_stmt/my50-current_stmt
into  mysql.com:/home/hf/work/current_stmt/my51-current_stmt
2006-10-24 17:53:15 +05:00
holyfoot/hf@mysql.com/deer.(none)
887e6af60c Merge mysql.com:/home/hf/work/0current_stmt/my41-current_stmt
into  mysql.com:/home/hf/work/current_stmt/my50-current_stmt
2006-10-24 17:50:46 +05:00
holyfoot/hf@mysql.com/deer.(none)
d0ef58b6a4 Bug #23427 (incompatible ABI change)
the incompatibility was caused by current_stmt member added to the MYSQL
structure.
It's possible to move it to THD structure instead which saves ABI
2006-10-24 17:19:02 +05:00
cmiller@zippy.cornsilk.net
b96ab282ea Bug #23427: incompatible ABI change in 5.0.26?
Revert 1 June change enough to restore ABI compatibility with previous
versions.
2006-10-20 17:17:24 -04:00
kent@mysql.com/g4-2.local
b329f2c3ef Many files:
Deleted config/ac-macros/ha_berkeley.m4
  Removed more referenses to bdb
2006-08-21 15:34:29 +02:00
patg@govinda.patg.net
8d1e5a5bb1 Merge govinda.patg.net:/home/patg/mysql-build/mysql-5.0-holyfoot
into  govinda.patg.net:/home/patg/mysql-build/mysql-5.1-5.0-merge2

Push by holyfoot@production.mysql.com on Tue Jul 25 13:41:40 2006:

bk clone -l -r'holyfoot/hf@mysql.com/deer.(none)|ChangeSet|20060725085017|41021' mysql-5.0 tmp_merge
2006-08-08 09:01:32 -07:00
jimw@rama.(none)
f7e19b40f3 Merge rama.(none):/home/jimw/my/tmp_merge
into  rama.(none):/home/jimw/my/mysql-5.1-clean
2006-07-28 15:51:48 -07:00
holyfoot/hf@mysql.com/deer.(none)
a9a345d9a5 Merge mysql.com:/home/hf/work/mysql-4.1.mrg
into  mysql.com:/home/hf/work/mysql-5.0.mrg
2006-07-25 13:50:17 +05:00
holyfoot/hf@mysql.com/deer.(none)
95b88445fb Merge bk@192.168.21.1:mysql-4.1
into  mysql.com:/home/hf/work/mysql-4.1.19983
2006-07-20 16:03:21 +05:00
holyfoot/hf@mysql.com/deer.(none)
00f56da9af merging 2006-07-18 16:43:39 +05:00
holyfoot/hf@mysql.com/deer.(none)
bed7b69243 Merge mysql.com:/home/hf/work/mysql-4.1.mrg
into  mysql.com:/home/hf/work/mysql-5.0.mrg
2006-07-18 14:52:29 +05:00
holyfoot/hf@mysql.com/deer.(none)
eddaafb12b Merge bk@192.168.21.1:mysql-4.1
into  mysql.com:/home/hf/work/mysql-4.1.16017
2006-07-13 22:32:18 +05:00