Commit graph

74 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
kent@mysql.com/kent-amd64.(none)
e580bd6c6f gen_lex_hash.cc:
If inserting a GPL header, include a complete one
Makefile.am, mysql.dsw, mysql.sln:
  Removed C version of mysql-test-run
mysql.spec.sh:
  Specify GPL license only in GPL sources
.del-my_manage.h:
  Delete: mysql-test/my_manage.h
mysql.spec.sh:
  Added GPL header
.del-mysql_test_run_new.c:
  Delete: mysql-test/mysql_test_run_new.c
.del-mysql_test_run_new.dsp:
  Delete: VC++Files/mysql-test/mysql_test_run_new.dsp
.del-my_create_tables.c:
  Delete: mysql-test/my_create_tables.c
.del-mysql_test_run_new_ia64.dsp:
  Delete: VC++Files/mysql-test/mysql_test_run_new_ia64.dsp
msql2mysql.sh:
  Use up-to-date GPL header
.del-mysql_test_run_new.vcproj:
  Delete: VC++Files/mysql-test/mysql_test_run_new.vcproj
.del-my_manage.c:
  Delete: mysql-test/my_manage.c
2007-01-31 00:06:42 +01:00
kent@mysql.com/kent-amd64.(none)
6523aca729 my_strtoll10-x86.s:
Corrected spelling in copyright text
Makefile.am:
  Don't update the files from BitKeeper
Many files:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header 
Many files:
  Added GPL copyright text
Removed files:
  Docs/Support/colspec-fix.pl
  Docs/Support/docbook-fixup.pl
  Docs/Support/docbook-prefix.pl
  Docs/Support/docbook-split
  Docs/Support/make-docbook
  Docs/Support/make-makefile
  Docs/Support/test-make-manual
  Docs/Support/test-make-manual-de
  Docs/Support/xwf
2006-12-31 01:02:27 +01:00
kent@mysql.com/kent-amd64.(none)
226a5c833f Many files:
Changed header to GPL version 2 only
2006-12-23 20:17:15 +01:00
monty@mysql.com/narttu.mysql.fi
601e6f4b2a Fixed compiler warnings
Don't assert if my_thread_end() is called twice (common case)
2006-11-30 21:56:03 +02:00
cmiller@zippy.cornsilk.net
05df2f9402 Merge zippy.cornsilk.net:/home/cmiller/work/mysql/merge/mysql-5.0-maint-gca
into  zippy.cornsilk.net:/home/cmiller/work/mysql/merge/mysql-5.0-maint
2006-08-23 18:37:04 -04:00
cmiller@zippy.cornsilk.net
a4f32ff2e8 String broken up to avoid silly MICROS~1 string-size limit. 2006-08-23 18:29:05 -04:00
cmiller@maint1.mysql.com
c640ed93b6 Merge maint1.mysql.com:/data/localhome/cmiller/bug20908/my50-bug20908
into  maint1.mysql.com:/data/localhome/cmiller/mysql-5.0-maint
2006-08-23 19:41:46 +02:00
cmiller@maint1.mysql.com
977e696677 Bug #20908: Crash if select @@""
Zero-length variables caused failures when using the length to look
up the name in a hash.  Instead, signal that no zero-length name can
ever be found and that to encounter one is a syntax error.
2006-08-23 19:14:58 +02:00
cmiller@maint1.mysql.com
53bb6a47cd Bug #20908: Crash if select @@""
Zero-length variables caused failures when using the length to look
up the name in a hash.  Instead, signal that no zero-length name can
ever be found and that to encounter one is a syntax error.
2006-08-15 18:41:21 +02:00
ramil@mysql.com
c2f31a5f0d a fix (#10742: Can't compile "sql_lex.cc" on AIX 5.2). 2005-05-19 18:56:01 +05:00
monty@mysql.com
db40af2a6f Fix warnings from icc
Added BUILD scripts for icc
Fixed (one time) memory leak in grant handling
2005-05-18 19:00:21 +03:00
monty@mysql.com
d71c030587 After merge fixes 2004-12-31 00:44:00 +02:00
monty@mysql.com
054cea4ca8 Merge with 4.0 2004-09-01 04:12:09 +03:00
ram@gw.mysql.r18.ru
b93a973b12 Added global my_getopt_error_reporter function pointer which is
used in the handle_options() function (instead of using additional 
handle_option() parameter). The default value of the 
my_getopt_error_reporter is default_reporter(). One can set it to
other functions if case of need.
2004-08-31 21:27:58 +05:00
serg@serg.mylan
b4bb38e896 merged 2004-08-26 15:19:46 +02:00
rburnett@build.mysql.com
67003d1c98 mysql_priv.h:
Added declarations for print_msg_to_log and vprint_msg_to_log.  sql_print_error are simple functions that wrap calls to print_msg_to_log.  Define the different error types with MY_ERROR_TYPE, MY_WARNING_TYPE, and MY_INFORMATION_TYPE
gen_lex_hash.cc:
  Added NULL error reporting parameter to handle_options
log.cc:
  Add print_msg_to_log, print_buffer_to_log, and vprint_msg_to_log.  Print_msg_to_log will write the message to the windows event log if on NT.  We now have error, warning, and information versions of sql_print_xxxx.  T his is a variation of a similar changeset WAX did.
mysqld.cc:
  Added option_error_reporter callback function and pass that into handle_options
mysql.cc:
  Added NULL as error reporter arg to the end of handle_options
Many files:
  Added NULL error reporter parameter as the last paramter to handle_options
my_getopt.c:
  Added second function pointer to server as an error reporting callback.  Added local function report_option_error that will either write the error to stderr or to the error reporting callback.  changed all calls in handle_options from fprintf(stderr, ... ) to report_option_error
my_getopt.h:
  Changed declaration of handle_options to use typedefs for the two function pointers.  added second function pointer to server as an error reporting callback
mysqld.dsp:
  Added custom build step for compiling message file and added message resource file (output of mc)
2004-08-14 03:38:37 +02:00
magnus@neptunus.(none)
50ff8ea369 Formatting changes requested by Monty 2004-04-15 09:17:55 +02:00
monty@mysql.com
8f093d0fb3 Portability fixes 2004-03-05 19:49:50 +02:00
hf@deer.(none)
215a65b1fd SCRUM
wl #1163 (Make spatial code optional)
Patch I cleaned with Serg & Monty's suggestions
2004-01-23 16:02:57 +04:00
lenz@kallisto.local
f01a6f7eae - Polished mysql-copyright a bit and added call to remove
cmd-line-utils/readline from the commercial distribution
 - fixed some copyright headers so mysql-copyright can process them
2003-09-23 00:38:01 +02:00
monty@mashka.mysql.fi
a5cf27b65b Merge 2003-08-05 16:08:36 +03:00
serg@serg.mylan
52e043fd44 gen_lex_hash sigsegv fixed 2003-07-21 21:13:52 +02:00
monty@mashka.mysql.fi
ea5abe7160 Fixed wrong getopt table which caused core dumps 2003-07-14 05:54:08 +03:00
serg@serg.mysql.com
026ec1d37c merged 2003-03-13 13:44:03 +01:00
Sinisa@sinisa.nasamreza.org
b1e28b5491 A fix for an obvious bug in hash generating proram. 2003-03-10 17:14:01 +02:00
monty@narttu.mysql.fi
3b073a08e0 Portability fixes
Don't define crc32 if we are not linking with gzip
2003-02-27 03:44:44 +02:00
vva@eagle.mysql.r18.ru
0f3305c9b7 adding check for duplicated symbols 2002-12-15 22:30:26 +04:00
monty@mashka.mysql.fi
dac6498f9b Merge with 4.0 2002-11-21 15:56:48 +02:00
monty@hundin.mysql.fi
aa4e165808 Portability fix extern "C" static -> extern "C" 2002-11-07 12:49:02 +02:00
monty@butch.
a2bdf9265f Portability fixes for Fortre C++ 5.0 (on Sun) in 32 and 64 bit modes. 2002-11-07 03:54:00 +02:00
vva@genie.(none)
01da261574 new version of sql/gen_lex_hash.cc 2002-11-06 13:03:38 +04:00
monty@narttu.mysql.fi
7134ffec21 Merge with 4.0.3
Some simple optimzations, more comments and indentation changes.
Add ` around database in 'use database' in binary log.
Moved max_error_count and max_warning_count to variables struct.
Removed SHOW_WARNS_COUNT and SHOW_ERRORS_COUNT calls.
Changed string functions to use character set of first string argument as default return characterset
(Each string function can change the above assumption if needed)
2002-08-30 12:40:40 +03:00
monty@hundin.mysql.fi
b9d7fcd279 Fixed bug in SAFEMALLOC for systems that requires longlong data to be aligned on 8 byte boundaries (like sparc)
Removed thread marking of safemalloc blocks (becasue of alignment problems)
Temporary fix for bigint comparison.
2002-08-17 05:18:06 +03:00
monty@hundin.mysql.fi
5773b6504a Fixed bug in blocking handling when compiling with OPENSSL (caused hangup in client code)
Fixed bug in SELECT DISTINCT ... ORDER BY not-used-column.
Fixed bug in pthread_mutex_trylock with HPUX 11.0
2002-08-17 00:35:51 +03:00
monty@hundin.mysql.fi
4e5b087172 Better error messages for mysql-test-run
Added option --host to mysqlhotcopy
2002-08-06 16:12:52 +03:00
monty@mashka.mysql.fi
d050c30d42 Added some mutex locks to make SLAVE START and SLAVE STOP thread safe. 2002-08-05 13:09:12 +03:00
monty@mashka.mysql.fi
d686ef729f Merge of ha_innobase.cc from 4.0; This fixes that MySQL doesn't allocate too big buffers when sorting innobase rows
Changed name of variables
NO_FOREIGN_KEY_CHECKS -> FOREIGN_KEY_CHECKS
RELAXED_UNIQUE_CHECKS -> UNIQUE_CHECKS
to avoid confusion with 'not...' variables.
Write name of adminstrator command to slow log.
Added mysqldumpslow to RPM
2002-07-29 09:35:25 +03:00
peter@mysql.com
684bf18e4d Arjens LOG functions changes with small changes and tests added to mysql-test 2002-07-17 12:11:48 +04:00
monty@hundin.mysql.fi
8fa3c789f6 Added support for semaphores in mysys.
(Needed for query cache for systems which doesn't have native semaphores)
2002-06-29 00:16:15 +03:00
monty@hundin.mysql.fi
f0b28da6f9 merge with 4.0 2002-06-03 12:59:31 +03:00
jani@hynda.(none)
c961494444 Added useful exit error code for programs using my_getopt in case
of an error in option handling. This can sometimes be useful in
scripts.

Changed some exit code names and corresponding numbers.

Fixed a bug in mysqld.cc, in replication related options.

Added a global flag in my_getopt, which can be set by any program
that is using my_getopt, which tells whether the client should
print the error message itself, or whether my_getopt should do it.
The default is that my_getopt will print the error messages.
2002-05-29 15:07:30 +03:00
jani@rhols221.arenanet.fi
16e3b892a6 Changed ft_dump, ft_eval, ft_test1, mi_test1, myisampack, gen_lex_hash,
mysqlmanager from using GNU getopt to use my_getopt.

Changed some files that just included old getopt.h to include
my_getopt.h now.

Fixed a bug in my_print_help() in my_getopt.c.

Made better documentation for option -G in mysql client.
2002-05-24 14:06:58 +03:00
bar@gw.udmsearch.izhnet.ru
1c0a5fd457 Several new OpenGIS functions
Fixes in GeomFromText() to accept an new optional
   argument respobsible for SRID. This is for more
   OpenGIS conformance and PostGIS compatibility
   to simplify migrating from PgSQL to MySQL
2002-02-28 17:28:36 +04:00
monty@hundin.mysql.fi
c298f03570 merge with 3.23.47 (DO statement) 2001-12-17 20:47:20 +02:00
monty@hundin.mysql.fi
f049543416 Added DO command 2001-12-17 19:59:20 +02:00
monty@hundin.mysql.fi
4c60b41954 Portability fix
Cleanup typos (like SKIPP -> SKIP)
2001-11-07 00:13:29 +02:00
monty@hundin.mysql.fi
384ae2eff0 Fixed that one can always get a name for a compiled characterset 2001-09-28 07:21:24 +03:00
monty@hundin.mysql.fi
5d9be4de24 Portability fix 2001-09-22 17:40:59 +03:00
monty@hundin.mysql.fi
e390a99573 Added support of INSERT to MERGE tables
Fixes for embedded libary and openssl
2001-09-22 17:40:57 +03:00