Commit graph

69 commits

Author SHA1 Message Date
Kent Boortz
b6e6097c95 Updated/added copyright headers 2011-07-03 17:47:37 +02:00
Kent Boortz
1400d7a2cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
Kent Boortz
e5ce023f57 Updated/added copyright headers 2011-06-30 17:31:31 +02:00
Magne Mahre
4c4cb80b0a Bug#11900714 REMOVE LGPL LICENSED FILES IN MYSQL 5.1
The LGPL license is used in some legacy code, and to
adhere to current licensing polity, we remove those
files that are no longer used, and reorganize the
remaining LGPL code so it will be GPL licensed from
now on.
      
Note:  This patch only removed LGPL licensed files
       in MySQL 5.1, and is the second of a set of
       patches to remove LGPL from all trees.
       (See Bug# 11840513 for details)
2011-03-28 10:47:30 +02:00
Davi Arnaut
bb036c93b4 Bug#42733: Type-punning warnings when compiling MySQL --
strict aliasing violations.

Essentially, the problem is that large parts of the server were
developed in simpler times (last decades, pre C99 standard) when
strict aliasing and compilers supporting such optimizations were
rare to non-existent. Thus, when compiling the server with a modern
compiler that uses strict aliasing rules to perform optimizations,
there are several places in the code that might trigger undefined
behavior.

As evinced by some recent bugs, GCC does a somewhat good of job
misoptimizing such code, but on the other hand also gives warnings
about suspicious code. One problem is that the warnings aren't
always accurate, yet we can't afford to just shut them off as we
might miss real cases. False-positive cases are aggravated mostly
by casts that are likely to trigger undefined behavior.

The solution is to start a cleanup process focused on fixing and
reducing the amount of strict-aliasing related warnings produced
by GCC and others compilers. A good deal of noise reduction can
be achieved by just removing useless casts that are product of
historical cruft and are likely to trigger undefined behavior if
dereferenced.
2010-06-10 17:16:43 -03:00
Satya B
cbce1f5e69 Fix for BUG#18828 - If InnoDB runs out of undo slots,
it returns misleading 'table is full'

Innodb returns a misleading error message "table is full" 
when the number of active concurrent transactions is greater
than 1024.

Fixed by adding errorcode "ER_TOO_MANY_CONCURRENT_TRXS" to the
error codes. Innodb should return HA_TOO_MANY_CONCURRENT_TRXS
to mysql which is then mapped to ER_TOO_MANY_CONCURRENT_TRXS


Note: testcase is not written as this was reproducible only by
      changing innodb code.
2009-07-17 14:13:53 +05:30
Jim Winstead
eb3c7791e5 Make help text for perror more accurate. (Bug #34574) 2009-04-28 11:16:44 -07:00
Chad MILLER
db076da82a Bug#39370: wrong output for error code 153
Add all HA error numbers and descriptions to perror.

Add reminder to header.

This is already fixed in smarter ways in future codebases, and this 
codebase is unlikely to change, since new development is forbidden
here.
2009-02-24 12:05:37 +02:00
Sergey Glukhov
8a43bcc33a 5.0-bugteam->5.1-bugteam merge 2008-11-27 17:05:38 +04:00
Sergey Glukhov
29cced9440 Bug#34825 perror on windows doesn't know about win32 error codes
extended perror to enable printing of Win32 system errors
2008-11-27 16:33:40 +04:00
gkodinov/kgeorge@magare.gmz
6916284df0 perror.c:
fixed warning in 5.1-marvel in fix for bug 25177
2008-03-28 21:59:20 +02:00
gkodinov/kgeorge@magare.gmz
a95c6b9516 Fixed problem with non-synchronous error lists
in perror and handler descriptors (BUG#25177)
Fixed problem of masking mysql error by system
  error in perror (BUG#23028)
2008-03-28 18:45:03 +02:00
tomas@whalegate.ndb.mysql.com
830be6deac Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-engines
2007-06-17 17:21:27 +02:00
tomas@whalegate.ndb.mysql.com
404f9dc10d correct warning 2007-06-14 15:15:45 +02:00
tomas@whalegate.ndb.mysql.com
ca7180c73e get mgmapi error codes into perror 2007-06-14 12:35:35 +02:00
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@kent-amd64.(none)
be15e3bc15 Merge mysql.com:/home/kent/bk/main/mysql-5.0
into  mysql.com:/home/kent/bk/main/mysql-5.1
2006-12-23 20:20:40 +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
kostja@bodhi.local
04c97488f9 Merge bodhi.local:/opt/local/work/tmp_merge
into  bodhi.local:/opt/local/work/mysql-5.1-runtime-merge
2006-08-12 21:06:51 +04:00
msvensson@neptunus.(none)
9e000766b7 Bug#16561 Unknown ERROR msg "ERROR 1186 (HY000): Binlog closed" by perror
- Since error 1186 is not found among NDB error codes, the message retuned should indicate that.
2006-07-26 14:09:20 +02:00
msvensson@neptunus.(none)
bbf6c985c8 Bug#20145 perror segfault when call it with error nr
- Add test case(execute perror)
  - Check if strerror has returned NULL and set msg to "Unknown Error" in that case
  - Thanks to Steven Xie for pointing out how to fix.
2006-07-24 18:05:00 +02:00
konstantin@mysql.com
e1f807af26 Merge mysql.com:/home/kostja/mysql/mysql-5.0-root
into  mysql.com:/home/kostja/mysql/mysql-5.1-merge
2006-02-09 13:35:59 +03:00
tomas@poseidon.ndb.mysql.com
16edce1e5d Bug #17235 perror prints wrong prefix for ndb error codes 2006-02-08 17:17:27 +01:00
hartmut@mysql.com
4c20a4da25 fixed "perror --ndb" for 5.1 (bug #15486) 2005-12-05 14:17:53 +01:00
tomas@poseidon.ndb.mysql.com
e72fdf5619 Merge 2005-10-07 01:12:46 +02:00
tomas@poseidon.ndb.mysql.com
b5ac7f31e5 added structured ndbd exit codes 2005-10-03 20:04:44 +02:00
tulin@dl145b.mysql.com
bf6e3f9aa8 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0
into dl145b.mysql.com:/home/ndbdev/tomas/mysql-5.1
2005-07-20 07:53:10 +02:00
jimw@mysql.com
80c1c6b33f Merge mysql.com:/home/jimw/my/mysql-4.1-clean
into  mysql.com:/home/jimw/my/mysql-5.0-clean
2005-07-19 11:05:49 -07:00
tulin@dl145b.mysql.com
1c2cfd80a2 perror.c:
BUG#11999, incorrect --help on perror with ndb
2005-07-19 11:52:24 +02:00
brian@zim.(none)
2193fd8666 All changes for change to all storage engines being under storage directory. 2005-04-26 19:04:36 -07:00
monty@mysql.com
0a6b7aedb2 Remove compiler warnings and remove not used variables
(Found during build process)
2005-02-25 16:53:22 +02:00
jimw@mysql.com
64ef4ec2f3 Fix output of perror to include whether the error message
corresponds to an OS or MySQL error. (Bug #8517)
2005-02-16 17:37:56 -08:00
jani@ua141d10.elisa.omakaista.fi
1c2f4ffecb Applied a patch for Netware. 2005-02-08 19:49:40 +02:00
monty@mysql.com
3936edd7fa Fixed during review of new pulled code 2005-02-02 20:28:01 +02:00
reggie@bob.(none)
a5bd37e145 Bug #7390 perror.exe doesn't work
perror.c:
  Copy output of strerr to temp buffer to prevent system overwrite on Windows
2005-01-31 23:02:32 -06:00
serg@serg.mylan
41c33c29a3 Bug #6748 heap_rfirst() doesn't work (and never did!)
range for BETWEEN typo fixed
2004-11-22 14:53:18 +01: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
tomas@poseidon.(none)
5a9533bbf3 bug#5076 bug#5077 2004-08-18 10:10:50 +00: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
paul@ice.snake.net
29dff96d96 perror.c:
MySql -> MySQL (Bug #4182)
2004-06-18 11:19:29 -05:00
miguel@hegel.txg
ba4f2c73fe Fix for bug #4182 2004-06-18 01:42:28 -03:00
paul@kite-hub.kitebird.com
2f0ca1ce42 Fix skipp -> skip once and for all.
(Note: This affects only comments, not variable names.)
2004-06-03 11:52:54 -05:00
monty@mysql.com
390d9898f9 merge with 4.0 to get Netware patches and fixes for libmysqld.dll 2004-05-25 22:54:00 +03:00
monty@mysql.com
f2e1e3ce4c Added patches from Novell 2004-05-25 22:00:14 +03:00
tulin@build.mysql.com
ff4018aa8a merge resolve 2004-05-10 17:40:57 +02:00
monty@mysql.com
d21d49a32a Merge with 4.0.19 2004-05-05 17:05:24 +03:00
tomas@mc05.(none)
c57bf1b9c7 extended perror to enable printing of storage engine specific errors for ndb 2004-05-05 14:19:47 +02:00
serg@serg.mylan
20ce55753f don't mention max row size, it's storage-engine dependent 2004-04-27 23:03:25 +02:00