Commit graph

490 commits

Author SHA1 Message Date
konstantin@mysql.com
ed2674d0a7 Fix warnings and compilation failures (Windows). 2004-11-17 13:45:05 +03:00
dlenev@brandersnatch.localdomain
b02f5aa692 Fix for bug #6266 "Invalid DATETIME value is not handled properly".
In server we assume that datetime values stored in MYSQL_TIME struct
are normalized (and year is not greater than 9999), so we should 
perform range checks in all places then we convert something to
MYSQL_TIME.
2004-11-15 15:44:29 +03:00
monty@mysql.com
addd1a0da8 Merge with 4.1 2004-11-12 19:58:24 +02:00
monty@mysql.com
c724163e14 Fix to allow usage of 4.0 tables with 4.1 2004-11-12 19:01:49 +02:00
brian@avenger.(none)
f05daf02ba Resolved merge from 4.1 -> 5.0 (mainly Guilhem's work with mysqldump) 2004-11-11 18:58:57 -08:00
monty@mysql.com
c7e85ef9b9 More debugging
Print position in normal log for Binlog dump
2004-11-10 18:07:39 +02:00
gluh@gluh.mysql.r18.ru
a98c29921c Fix for bug #6077: Problem with make test from 4.1.7 and bk
portability fix(UnixWare)
2004-11-10 18:16:58 +03:00
monty@mysql.com
6c44563fc5 Simple optimization 2004-11-09 03:20:58 +02:00
bar@mysql.com
b7776f83e7 ctype_ujis.result, ctype_ujis.test, field.cc:
Bug#6345 Unexpected behaviour with partial indices
2004-11-08 13:15:01 +04:00
monty@mysql.com
071001950e Merge with 4.1 to get in latest bug fixes 2004-11-04 15:06:24 +02:00
bar@mysql.com
f979603cf2 field.cc, sql_mode.result, sql_mode.test:
"SHOW CREATE TABLE" mysql-4.0 and mysql-3.23 
  compatibiliry mode change:
  Check that a binary collation adds 'binary'
  suffix into a char() column definition in
  mysql40 and mysql2323 modes. This allows
  not to lose the column's case sensitivity
  when loading the dump in pre-4.1 servers.
2004-11-04 08:50:07 +04:00
monty@mysql.com
afbe601302 merge with 4.1 2004-10-29 19:26:52 +03:00
bar@mysql.com
7577c8bfc9 A fix according to Monty's request:
"uint *errors" is now a non-optional parameter in String:copy()
and copy_and_convert().
2004-10-29 17:00:39 +05:00
bar@mysql.com
541883f9d8 Produce a "truncated" warning if a value cannot be converted
into the column character set on INSERT/UPDATE.
2004-10-28 15:21:20 +05:00
serg@serg.mylan
51d3d41e8e merged 2004-10-26 21:12:14 +02:00
serg@serg.mylan
8dab51445e Bug #6019 - SELECT tries to use too short prefix index on utf8 data
Field_string::pack should respect max_length as Field_string::pack_key does
2004-10-26 20:31:41 +02:00
monty@mysql.com
7698054d19 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1
2004-10-26 19:30:57 +03:00
monty@mysql.com
6fbc869d18 A lot of fixes for prepared statements (PS):
New mysqltest that can run mysqltest with PS
Added support for ZEROFILL in PS
Fixed crash when one called mysql_stmt_store_result() without a preceding mysql_stmt_bind_result()
Updated test cases to support --ps-protocol
(Some tests are still run using old protocol)
Fixed crash in PS when using SELECT * FROM t1 NATURAL JOIN t2...
Fixed crash in PS when using sub queries
Create table didn't signal when table was created. This could cause a "DROP TABLE created_table" in another thread to wait "forever"
Fixed wrong permissions check in PS and multi-table updates (one could get permission denied for legal quries)
Fix for PS and SELECT ... PROCEDURE
Reset all warnings when executing a new PS query
group_concat(...ORDER BY) didn't work with PS
Fixed problem with test suite when not using innodb
2004-10-26 19:30:01 +03:00
bar@mysql.com
a18cee7a18 Bug 6206: ENUMs are not case sensitive even if declared BINARY
The same problem with SET columns:

find_set() now executes find_type2() to do charset aware search,
instead of always using system_charset_info comparison.
2004-10-26 13:17:37 +05:00
bar@mysql.com
217d83a69f Bug#6202: ENUMs are not case sensitive even if declared BINARY 2004-10-25 17:51:26 +05:00
konstantin@mysql.com
e546d901ac Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/kostja/work/mysql-4.1-6049
2004-10-20 16:45:09 +04:00
monty@mishka.local
04c23808a8 Review of all code pushed since last review
Simple optimzations and cleanups
Removed compiler warnings and fixed portability issues
Added client functions 'mysql_embedded()' to allow client to check if we are using embedded server
Fixes for purify
2004-10-20 01:28:42 +03:00
konstantin@mysql.com
33fb5ab61b A fix and test case for Bug#6049 "Loss of sign when using prepared
statements and negative time/date values". 
The bug was in wrong sprintf format used in the client library.
The fix moves TIME -> string conversion functions to sql-common and
utilized them in the client library.
2004-10-16 00:12:59 +04:00
bar@mysql.com
2f8f0f2eb2 Bug #6043 erratic searching for diacriticals in indexed MyISAM UTF-8 table 2004-10-14 14:14:50 +05:00
dlenev@mysql.com
96458f8f64 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/dlenev/src/mysql-4.1-bf
2004-10-05 21:24:08 +04:00
dlenev@brandersnatch.localdomain
eabec4c3ca Fixed small bug in handling of pre-4.1 TIMESTAMP columns which was
introduced during implementation of TIMESTAMP columns, which are able 
to store NULLs (Unfortunately it is impossible to write test case for
this. Kudos to Holyfoot for noticing it!)
2004-10-05 21:23:38 +04:00
bar@mysql.com
3fc7640a19 Bug #5832 SELECT doesn't return records in some cases 2004-10-05 21:22:14 +05:00
monty@mishka.local
be4ca46fbe More fixes for strict mode:
More tests.
Better error messages.
Fixed bug when checking if we updated all needed columns for INSERT.
Give an error if we encounter a wrong float value during parsing.
Don't print DEFAULT for columns without a default value in SHOW CREATE/SHOW FIELDS.
Fixed UPDATE IGNORE when using STRICT mode.
2004-10-02 22:20:08 +03:00
dlenev@mysql.com
53209cc4fc Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/dlenev/src/mysql-4.1-ryan
2004-10-01 18:55:17 +04:00
dlenev@brandersnatch.localdomain
2511990c97 Support for TIMESTAMP columns holding NULL values. Unlike all other
column types TIMESTAMP is NOT NULL by default, so in order to have 
TIMESTAMP column holding NULL valaues you have to specify NULL as
one of its attributes (this needed for backward compatibility).

Main changes:
Replaced TABLE::timestamp_default_now/on_update_now members with
TABLE::timestamp_auto_set_type flag which is used everywhere
for determining if we should auto-set value of TIMESTAMP field 
during this operation or not. We are also use Field_timestamp::set_time()
instead of handler::update_timestamp() in handlers.
2004-10-01 18:54:06 +04:00
monty@mishka.local
f2941380c4 Strict mode & better warnings
Under strict mode MySQL will generate an error message if there was any conversion when assigning data to a field.
Added checking of date/datetime fields.
If strict mode, give error if we have not given value to field without a default value (for INSERT)
2004-09-28 20:08:00 +03:00
bar@noter.intranet.mysql.r18.ru
010f4242b7 Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-4.1/
into noter.intranet.mysql.r18.ru:/root/mysql-4.1
2004-09-26 21:55:17 +05:00
bar@noter.intranet.mysql.r18.ru
29b8c6b1e0 bug #5723 length(varchar utf8 field) returns verying results 2004-09-26 21:52:20 +05:00
bell@sanja.is.com.ua
10a081a05a postreview fix 2004-09-26 17:26:32 +03:00
bell@sanja.is.com.ua
6df58cc97e Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-4.1
2004-09-25 18:37:28 +03:00
bell@sanja.is.com.ua
f3e6405ff1 postreview fixes (BUG#5618 & BUG#5590) 2004-09-25 15:07:50 +03:00
konstantin@mysql.com
7b97b5b007 Fix alignment. 2004-09-24 13:50:53 +04:00
ram@gw.mysql.r18.ru
c9d97272ed A fix (Bug #5291: float -> string, truncation, sometimes without warning). 2004-09-03 19:38:16 +05:00
monty@mysql.com
ea687ba5da Portability fixes
Fixed bug in end space handle for WHERE text_column="constant"
2004-08-26 18:26:38 +03:00
serg@serg.mylan
8f254c1b7b followup 2004-08-24 18:20:27 +02:00
serg@serg.mylan
50ee43be43 BDB: Bug#4531: unique key prefix interacts poorly with utf8,
Bug#4594 column index make = failed for gbk
2004-08-24 15:32:57 +02:00
serg@serg.mylan
62722e7b05 merged 2004-08-20 00:52:43 +02:00
serg@serg.mylan
b81af1c750 less strict assert to take into account weird cases 2004-08-19 23:10:33 +02:00
serg@serg.mylan
8ef3cdc2f9 take dec. point into account in store_double_in_string 2004-08-19 11:21:08 +02:00
bar@mysql.com
3f75d2bd3e field.cc:
Serg's typo fix :)
2004-08-19 10:28:40 +05:00
serg@serg.mylan
3f2210c064 after merge fixes 2004-08-19 03:02:09 +02:00
serg@serg.mylan
e1237cbc53 manually merged 2004-08-18 19:57:55 +02:00
serg@serg.mylan
8ce92878a2 Bug 4937: different date -> string conversion when using
SELECT ... UNION and INSERT ... SELECT ... UNION
2004-08-18 14:46:31 +02:00
konstantin@mysql.com
ee89880473 A desperate attempt to comment one place where we do conversions. 2004-08-16 15:07:45 -07:00
bar@mysql.com
1c8b328e16 CSC issue # 3299 fix:
ENUM and SET type didn't compute their length correctly.
That showed up for example while converting into a CHAR column.
2004-08-13 19:06:24 +05:00
serg@serg.mylan
6023b58b9f Bug #4797 - 32 bit and 64 bit builds behave differently on int32 overflow 2004-08-11 23:43:41 +02:00
dlenev@brandersnatch.localdomain
d39fe2623f Fix for bug #4492.
TIMESTAMP columns should be unsigned to preserve compatibility with 4.0
(Or else InnoDB will return different internal TIMESTAMP values when user upgrades to 4.1).

Altough this fix will introduce problems with early 4.1 -> 4.1 upgrades (tables with 
TIMESTAMP field should be reloaded using mysqldump) it will allow easy 4.0 -> 4.1 
upgrade (which is more important since 4.1 is still beta).
2004-07-28 10:49:21 +04:00
bar@mysql.com
6cad42e3ce Bug #4555 ALTER TABLE crashes mysqld with enum column collated utf8_unicode_ci 2004-07-23 19:10:06 +05:00
monty@mysql.com
db7efa2780 New handler::index_flags() definition to make it easy to check the full used key and a specific key part.
Added key part to optimize_range() to fix problems when using fields in key parts.
2004-07-08 15:45:25 +03:00
monty@mysql.com
b1d08ba2b4 Merge with 4.0 to get the latest bug patches to 4.1 2004-06-25 20:13:05 +03:00
konstantin@mysql.com
29b88ff539 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/kostja/mysql/mysql-4.1-4030
2004-06-24 19:09:31 +04:00
konstantin@mysql.com
a30fcdc690 Fix for Bug#4030 "Client side conversion string -> date type doesn't
work (prepared statements)" and after-review fixes:
- str_to_TIME renamed to str_to_datetime to pair with str_to_time
- functions str_to_time and str_to_TIME moved to sql-common
- send_data_str now supports MYSQL_TYPE_TIME, MYSQL_TIME_DATE,
  MYSQL_TIME_DATETIME types of user input buffers.
- few more comments in the client library
- a test case added.
2004-06-24 19:08:36 +04:00
ingo@mysql.com
fa86cada0c bug#2686 - index_merge select on BerkeleyDB table with varchar PK causes mysqld to crash.
Added put_length() to get_length() and unpack_key() to pack_key().
Keys were packed with the minimum size of the length field for the key part and 
unpacked with length size of the base column. 
For the purpose of optimal key packing we have the method pack_key(), while rows are 
packed with pack(). Now keys are unpacked with unpack_key() and no longer with 
unpack() which is used for rows.
2004-06-24 14:54:28 +02:00
serg@serg.mylan
c03addab79 merged 2004-06-23 12:36:07 +02:00
serg@serg.mylan
3f1c4ba745 handler interface cleanups:
more logical table/index_flags
  return  HA_ERR_WRONG_COMMAND instead of abstract methods where appropriate
  max_keys and other limits renamed to max_supported_keys/etc
  max_keys/etc are now wrappers to max_supported_keys/etc 
  ha_index_init/ha_rnd_init/ha_index_end/ha_rnd_end are now wrappers to real {index,rnd}_{init,end} to enforce strict pairing
2004-06-23 12:29:05 +02:00
monty@mysql.com
030f091319 Field_geom should have same max_length as Field_blob
Updated tests
After merge fix
2004-06-21 11:27:40 +03:00
monty@mysql.com
d69a36d118 merge 2004-06-21 10:24:40 +03:00
monty@mysql.com
1388c164bc After merge fixes
Return NULL if a time argument is given to date_add(). (Warning will be shown after Dimitri's timezone patch is pushed)
2004-06-21 10:21:20 +03:00
dlenev@brandersnatch.localdomain
09ba29e539 WL#1264 "Per-thread time zone support infrastructure".
Added basic per-thread time zone functionality (based on public
domain elsie-code). Now user can select current time zone
(from the list of time zones described in system tables).
All NOW-like functions honor this time zone, values of TIMESTAMP
type are interpreted as values in this time zone, so now
our TIMESTAMP type behaves similar to Oracle's TIMESTAMP WITH
LOCAL TIME ZONE (or proper PostgresSQL type).
  
WL#1266 "CONVERT_TZ() - basic time with time zone conversion 
function".
  
Fixed problems described in Bug #2336 (Different number of warnings 
when inserting bad datetime as string or as number). This required
reworking of datetime realted warning hadling (they now generated 
at Field object level not in conversion functions).
  
Optimization: Now Field class descendants use table->in_use member
instead of current_thd macro.
2004-06-18 10:11:31 +04:00
monty@mysql.com
b11d258835 Merge with 4.0.21 2004-06-18 04:38:58 +03:00
bell@sanja.is.com.ua
96b470ae59 after review fix (BUG#4067) 2004-06-17 13:48:31 +03:00
serg@serg.mylan
516bcf508c after merge fix 2004-06-11 21:20:53 +02:00
monty@mysql.com
ff223db0fe Merge with 3.23 to get latest bug fixes 2004-06-10 11:59:45 +03:00
gluh@gluh.mysql.r18.ru
5725831c73 Fix for bug #4036 multiple SELECT DATE_FORMAT, incorrect results 2004-06-07 20:35:05 +04:00
konstantin@mysql.com
f207b33a7b Support for character set conversion in binary protocol: another go
after Monty's review.
- Item_param was rewritten.
- it turns out that we can't convert string data to character set of
  connection on the fly, because they first should be written to the binary
  log.
  To support efficient conversion we need to rewrite prepared statements
  binlogging code first.
2004-05-25 02:03:49 +04:00
ram@gw.mysql.r18.ru
0f3ab4174e A fix (Bug #3728: Missing warning in 4.1). 2004-05-18 12:16:00 +05:00
monty@mishka.local
314a8bf114 key_cmp -> key_cmp_if_same
New records_in_range() interface (similar to read_range())
Macros for faster bitmap handling
Simplify read_range() code (#WL1786)
New general key_cmp() function to compare keys
2004-05-16 14:48:32 +03:00
serg@serg.mylan
423f37b92b out-of-bound array access fixed 2004-05-11 12:39:00 +02:00
monty@mysql.com
d21d49a32a Merge with 4.0.19 2004-05-05 17:05:24 +03:00
monty@mysql.com
f10d098f7d Fixed http address in some scripts (Bug #3460)
Output TIMESTAMP in 4.1 format for 4.1 tables (or for TIMESTAMP(19)) (portability fix)
Fixed that INTERVAL can handle big integers. (Bug #3498)
Fixed that hostname="" works identical as hostname="%" for table/column grants (Bug #3473)
2004-04-28 17:45:08 +03:00
monty@mysql.com
f96c4941d8 Fixed problems noticed with last build 2004-04-09 07:12:41 +03:00
monty@mysql.com
00738a2be0 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1
2004-04-08 15:02:25 +03:00
monty@mysql.com
e94d935221 Cleanup/optimizations of structures and key usage to make it easier to move key-range-search to handler 2004-04-08 01:50:59 +03:00
serg@serg.mylan
6ebf869b40 merged 2004-04-07 16:20:46 +02:00
serg@serg.mylan
6fc74e13e7 post-review fixes
HA_EXTRA_WRITE_CACHE now part of start_bulk_insert()
test cleanups
2004-04-07 16:04:28 +02:00
monty@mysql.com
70c4eb5838 Portability fixes
Fixed problems with group_concat() and HAVING
Updated crash-me values
2004-04-07 04:33:58 +03:00
serg@serg.mylan
e8eda8129f ::reset(), HA_FAST_KEY_READ, disable_indexes(), enable_indexes(), start_bulk_insert(), end_bulk_insert()
Field::val_str simplification, comment
2004-04-06 21:35:26 +02:00
bar@bar.intranet.mysql.r18.ru
950a2ebab1 Fixed charsetnr sent to the client 2004-04-06 19:57:33 +05:00
monty@mysql.com
0013516951 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1
2004-04-05 16:28:16 +03:00
monty@mysql.com
42cf92ce37 Fixed many compiler warnings
Fixed bugs in group_concat with ORDER BY and DISTINCT (Bugs #2695, #3381 and #3319)
Fixed crash when doing rollback in slave and the io thread catched up with the sql thread
Set locked_in_memory properly
2004-04-05 13:56:05 +03:00
dlenev@jabberwock.localdomain
f6bff2e6c6 WL#1266 "Separate auto-set logic from TIMESTAMP type."
Final version of patch.

Adds support for specifying of DEFAULT NOW() and/or ON UPDATE NOW()
clauses for TIMESTAMP field definition.
Current implementation allows only one such field per table and
uses several unireg types for storing info about this properties of
field. It should be replaced with better implementation when new
.frm format is introduced.
2004-04-02 10:12:53 +04:00
monty@mysql.com
f602829c75 Fix to get correct metadata when using temporary tables to create result. (Bug #2654) 2004-03-30 19:24:28 +03:00
bar@bar.intranet.mysql.r18.ru
3aea3e92ce 1. New data types, from the user point of view:
BINARY(N) and VARBIBARY(N)
2. More 4.0 compatibility and more BINARY keyword consistency:
2a. CREATE TABLE a (a CHAR(N) BINARY) 
    is now synonym for
    CREATE TABLE a (a CHAR(N) COLLATE xxxx_bin)
2b. SELECT BINARY x
    is still synonin for
    SELECT x COLLATE xxxxx_bin.
2004-03-26 16:11:46 +04:00
monty@mysql.com
eb91f7b478 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1
2004-03-25 15:05:42 +02:00
monty@mysql.com
ebc3b3afac BTREE-indexes in HEAP tables can now be used to optimize ORDER BY
Don't read character set files if we are using only the default charset. In most cases the user will not anymore get a warning about missing character set files
Compare strings with space extend instead of space strip. Now the following comparisons holds:  "a" == "a " and "a\t" < "a". (Bug #3152).
Note: Because of the above fix, one has to do a REPAIR on any table that has an ascii character < 32 last in a CHAR/VARCHAR/TEXT columns.
2004-03-25 15:05:01 +02:00
bell@sanja.is.com.ua
613104ad25 merge 2004-03-18 15:21:06 +02:00
bell@sanja.is.com.ua
2b45b53066 DBUG_ASSERT(fixed == 1); added to val*
small optimisation in signed_literal
2004-03-18 15:14:36 +02:00
monty@mysql.com
53c810cda4 merge fixes (use old code) 2004-03-18 00:16:04 +02:00
monty@mysql.com
f34a642d6e after merge fixes 2004-03-18 00:09:13 +02:00
hf@deer.(none)
5868807b92 Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into deer.(none):/home/hf/work/mysql-4.1.233
2004-03-17 14:04:02 +04:00
serg@serg.mylan
7dde35ae19 warnings removed 2004-03-16 16:35:49 +01:00
hf@deer.(none)
ceaac59c42 Fix for #233 (the second one) 2004-03-16 13:26:37 +04:00
hf@deer.(none)
f2366bf02c Spatial code changed to get rid of inconsistent this->* operation
Now we use virtual calls instead and redirect VMT pointer of the
geometry object with 'new' operation
2004-03-12 12:04:00 +04:00
vva@eagle.mysql.r18.ru
e8d78e5a4a Merge eagle.mysql.r18.ru:/home/vva/work/mysql.orig/clear/mysql-4.1
into eagle.mysql.r18.ru:/home/vva/work/BUG_2082/mysql-4.1
2004-03-06 03:01:09 +04:00
vva@eagle.mysql.r18.ru
a8bbcc52a9 - added commands --query_vertical and --query_horisontal to client/mysqltest.cc
- get my_strtod to return inf
- get Field_float::store(double) and Field_double::store(float) to set null for 
nan value 
(as extra serg's recomendations to fix for patch on 
 Bug #2082 'mysqldump converts "inf" to null')
2004-03-06 03:00:21 +04:00
vva@eagle.mysql.r18.ru
b097995293 Fixed bug #2082 'mysqldump converts "inf" to NULL' and
added commands vertical_results and horisontal_results to client/mysqltest.c
2004-03-04 21:08:14 +04:00
monty@mashka.mysql.fi
afd8f38f4e Optimized GIS functions 2004-03-04 08:50:37 +02:00
monty@mysql.com
e9315f984d Changed wellformedlen to well_formed_len
Fixed that blobs >16M can be inserted/updated
Fixed bug when doing CREATE TEMPORARY TABLE ... LIKE
2004-02-17 01:35:17 +02:00
monty@mysql.com
050af89dd8 Merge with public tree 2004-02-16 10:31:05 +02:00
monty@mysql.com
ce14578909 Merge with 4.0.18 2004-02-11 00:06:46 +01:00
bar@bar.intranet.mysql.r18.ru
5219fc269b http://bugs.mysql.com/bug.php?id=2368
Multibyte charsets do not check that incoming data is well-formed
2004-02-10 15:42:46 +04:00
monty@mysql.com
cc78e2d97a Ensure that result from date_format() is binary
Removed warnings from test suite
2004-02-09 13:59:41 +01:00
monty@mysql.com
3e35cce54d merge 2004-02-09 12:35:01 +01:00
monty@mysql.com
06432eac36 Added --compact to mysqlbinlog
Fixed output from mysqlbinlog when using --skip-comments
Fixed warnings from valgrind
Fixed ref_length when used with HEAP tables
More efficent need_conversion()
Fixed error handling in UPDATE with not updateable tables
Fixed bug in null handling in CAST to signed/unsigned
2004-02-09 12:31:03 +01:00
bar@bar.intranet.mysql.r18.ru
d13ad0822e Problem fix:
http://bugs.mysql.com/bug.php?id=2366
Wrong utf8 behaviour when data is trancated
2004-02-06 16:59:25 +04:00
dlenev@mysql.com
4578f22271 Fix for bug #2523 '"func_time" test fails on QNX'.
Moved all range checks for TIMESTAMP value to my_gmt_sec().
Also fixed check of upper boundary of TIMESTAMP range (which 
also now will catch datetime values which are too small for
TIMESTAMP in case if time_t is unsigned).
2004-01-30 19:15:11 +03:00
dlenev@mysql.com
e3816cb461 Fix for bugs #1885, #2464, #2539. Proper handling of default
values for TIMESTAMP columns. The solution is not perfect since
we just silently ignoring default value for first TIMESTAMP 
column and properly reflecting this fact in SHOW CREATE TABLE.
We can't give a warning or simply support standard syntax 
(niladic functions as legal value for default) for first field 
since it is 4.0 tree.
2004-01-30 15:13:19 +03:00
hf@deer.(none)
52f2529536 Conflicts resolved 2004-01-23 20:00:10 +04:00
bar@bar.intranet.mysql.r18.ru
03d00c7da9 Further fixes for 2390: ucs2 alignment 2004-01-21 14:15:19 +04:00
serg@serg.mylan
cf80041e09 field length convertion (bytes->chars) should be done with rounding UP. 2004-01-19 14:22:38 +01:00
hf@deer.(none)
6dcda5153b SCRUM:
WL#1163 (Making spatial code optional)
Pack of changes to do in sql/ code.
2004-01-15 21:06:22 +04:00
bar@bar.intranet.mysql.r18.ru
8872fa0458 field.cc:
http://bugs.mysql.com/bug.php?id=2218
  updating utf-8 text field generate nonsense chars
  Fix for the above bug.
2004-01-15 15:58:06 +04:00
monty@mysql.com
eeff10e4c1 merge 2003-12-19 16:34:48 +02:00
monty@mysql.com
031390a9a4 Fixes after merge with 4.0
Cleaned up embedded library access and query cache handling
Changed min stack size to 128K (to allow longer MyISAM keys)
Fixed wrong priority for XOR (should be less than NEG to get -1^1 to work)
2003-12-19 16:25:50 +02:00
monty@mysql.com
6e58a7c49e Code cleanup 2003-12-18 01:13:52 +02:00
vva@eagle.mysql.r18.ru
07f520b73e Merge vvagin@bk-internal.mysql.com:/home/bk/mysql-4.0
into eagle.mysql.r18.ru:/home/vva/work/BUG_2023/mysql-4.0
2003-12-17 13:15:57 -04:00
vva@eagle.mysql.r18.ru
7aad55d97d fixed small error in types in sql/field.cc
(char * -> const char*)
2003-12-17 13:15:01 -04:00
monty@mysql.com
e0cc6799ec Merge with 4.0.17 2003-12-17 17:35:34 +02:00
ram@gw.mysql.r18.ru
795c88517e proper fix for the bug #2077: accented characters in enum/defaul values are reported incorrectly.
note: bar asked me to use res.charset in ::sql_type() functions to be more consistent.
2003-12-16 17:39:33 +04:00
monty@mysql.com
30e318311b Fixes for last pull 2003-12-16 14:40:57 +02:00
Sinisa@sinisa.nasamreza.org
923422c247 Merge sinisa@bk-internal.mysql.com:/home/bk/mysql-4.0
into sinisa.nasamreza.org:/mnt/work/mysql-4.0
2003-12-13 15:41:20 +02:00
vva@eagle.mysql.r18.ru
5eb8fa9eaf refixed last vva patch with monty's instructions 2003-12-12 22:02:50 -04:00
vva@eagle.mysql.r18.ru
00d339c4de added checking for old cuted value in Field_enum::store
(bug #2023)
2003-12-12 21:26:44 -04:00
Sinisa@sinisa.nasamreza.org
a888caa7bc Merge sinisa@bk-internal.mysql.com:/home/bk/mysql-4.0
into sinisa.nasamreza.org:/mnt/work/mysql-4.0
2003-12-11 16:01:37 +02:00
konstantin@mysql.com
124c4ca346 cleanup: if there is return from if-part, we don't need else statement 2003-12-10 22:26:31 +03:00
dlenev@mysql.com
e4d2cbc0da Fix undeterministic behaviour of year check
if we failed to classify integer as datetime 
in Field_datetime::store().
Stylistic clean-ups.
2003-12-04 19:02:48 +03:00
dlenev@mysql.com
dd37ef055b Fix for Bug #1448 "Date parsing fails, and fails to complain
about it". Now numbers representing illegal timestamps are 
converted to 0 value if they are stored as timestamp or 
datetime. This behaviour is consistent with manual and with 
behaviour of string -> timestamp conversion.
2003-12-02 20:25:45 +03:00
guilhem@mysql.com
292b0a1892 Fix for BUG#1960 "date_format() returns spurious '-' for valid dates".
It was a forgotten ltime->neg=0 (neg was the only forgotten variable).
I scanned field.cc for other places where we would forget to set neg, found none.
A test for the bug.
2003-11-26 17:06:24 +01:00
bell@sanja.is.com.ua
afe48d3ce4 after review fixes 2003-11-23 21:26:43 +02:00
monty@mysql.com
7c6113a39f Merge key cache structures to one
Fixed compiler warnings (IRIX C compiler and VC++)
2003-11-20 22:06:25 +02:00
Sinisa@sinisa.nasamreza.org
f6ca9afdbd Fix for bug when zeros are to be prepended to decimal field 2003-11-18 15:58:27 +02:00
serg@serg.mylan
501c337ac4 test a correct flag in Field::optimize_range 2003-11-13 17:39:41 +01:00
monty@narttu.mysql.fi
6b79cd5c23 Merge 2003-11-03 22:48:03 +02:00
monty@narttu.mysql.fi
a444a3449f Simplified 'wrong xxx name' error messages by introducing 'general' ER_WRONG_NAME error
Cleaned up (and disabled part of) date/time/datetime format patch. One can't anymore change default read/write date/time/formats.
This is becasue the non standard datetime formats can't be compared as strings and MySQL does still a lot of datetime comparisons as strings
Changed flag argument to str_to_TIME() and get_date() from bool to uint
Removed THD from str_to_xxxx functions and Item class.
Fixed core dump when doing --print-defaults
Move some common string functions to strfunc.cc
Dates as strings are now of type my_charset_bin instead of default_charset()
Introduce IDENT_QUOTED to not have to create an extra copy of simple identifiers (all chars < 128)
Removed xxx_FORMAT_TYPE enums and replaced them with the old TIMESTAMP_xxx enums
Renamed some TIMESTAMP_xxx enums to more appropriate names
Use defines instead of integers for date/time/datetime string lengths
Added to build system and use the new my_strtoll10() function.
2003-11-03 14:01:59 +02:00
serg@serg.mylan
6e17f4f20d fixes to Bitmap class 2003-10-24 22:44:48 +02:00
serg@serg.mylan
f944fd4a65 merged 2003-10-21 11:58:43 +02:00
gluh@gluh.mysql.r18.ru
4bed4abb62 Merge commit 2003-10-20 13:45:28 +05:00
gluh@gluh.mysql.r18.ru
62b0b8b800 Scrum task 835 - text-to-datetime conversion function 2003-10-20 13:24:18 +05:00
serg@serg.mylan
8cc3951c8f key_map with more that 64 bits width 2003-10-11 13:06:55 +02:00
bar@bar.mysql.r18.ru
83c6946232 Bug fix:
http://bugs.mysql.com/bug.php?id=1264
2003-09-16 15:43:17 +05:00
monty@mashka.mysql.fi
7538242e4f merge with 4.1 tree 2003-09-11 20:31:40 +03:00
bar@bar.mysql.r18.ru
6fa45cec53 mysql_create_table now accepts field lengths in CREATE form, not in internal form.
This is to simplify fixing indexes to mean number of chars rather than bytes too.
2003-09-10 17:25:26 +05:00
monty@narttu.mysql.fi
77a70a0a24 merge with 4.0.15 2003-08-29 13:44:35 +03:00
monty@narttu.mysql.fi
efa85aad49 Move test that uses many tables (in query_cache.test) to separate test so that we can get it 'skipped' instead of 'failed' on system where we can't open many files. 2003-08-22 04:07:40 +03:00
monty@narttu.mysql.fi
359846f052 Fixed some varnings from valgrind
Set min value of max_allowed_packet to 1024
Fixed problem with UNION's without braces and SQL_CALC_FOUND_ROWS, LIMIT #,#
and ORDER BY...LIMIT
2003-08-20 16:25:44 +03:00
monty@mashka.mysql.fi
10c4acfb4f merge 2003-08-19 00:10:21 +03:00
monty@mashka.mysql.fi
4f7512160b After merge fixes
Use server character set if --default-character-set is not used
Added convert_string() for more efficient alloc+character-set convert of strings
2003-08-19 00:08:08 +03:00
serg@serg.mylan
147b34e2f4 snprintf compatibility fix 2003-08-12 15:28:36 +02:00
bar@bar.mysql.r18.ru
786af34146 Fix: create table t1 (a char(10) character set cp1251) SELECT _koi8r'blabla' as a
The above query created a field of koi8r charset, not cp1251

Change:
CREATE TABLE a (a CHAR(1) CHARACTER SET utf8) 
Length now means character length, not byte length.
The above creates a field that guarantees can store a multibyte value
1 character long. For utf8 the above creates a field that can store
3 bytes.
2003-08-11 18:18:34 +05:00
gluh@gluh.mysql.r18.ru
e6eef74812 Merge gluh@gw:/home/bk/mysql-4.1
into gluh.mysql.r18.ru:/home/gluh/mysql-4.1.DTFUNC
2003-07-08 12:57:00 +05:00
serg@serg.mylan
55115e0f9d timestamp MYD-4.0 format compatibility fix 2003-06-28 23:01:33 +02:00
gluh@gluh.mysql.r18.ru
91e3245b67 Merge gluh@gw:/home/bk/mysql-4.1
into gluh.mysql.r18.ru:/home/gluh/mysql-4.1.DTFUNC
2003-06-23 13:02:28 +05:00
gluh@gluh.mysql.r18.ru
66af4b5c9a Internal commit 2003-06-23 12:56:44 +05:00
wax@kishkin.ru
ed02be687c Merge kishkin.ru:/home/wax/mysql-4.1 into kishkin.ru:/home/wax/mysql-4g 2003-06-07 02:28:11 +06:00
monty@narttu.mysql.fi
dad0664579 merge with public tree 2003-06-05 00:12:45 +03:00
monty@narttu.mysql.fi
40109c574a Merge with 4.0.13 2003-06-04 19:21:51 +03:00
wax@kishkin.ru
61f7821323 Merge kishkin.ru:/home/wax/mysql-4n into kishkin.ru:/home/wax/mysql-4g 2003-06-03 17:07:46 +06:00
bar@bar.mysql.r18.ru
759214fa41 MY_CS_NONTEXT flag for sprintf() incompatible charsets (ucs2 if the only one now)
Some default_charset_info were removed
2003-06-03 14:59:17 +05:00
wax@kishkin.ru
a2e9bbf2eb URGENT
SCRUM
BUG
correct wrong code in group_concat
2003-05-31 15:44:19 +06:00
monty@narttu.mysql.fi
381492093e Fixed problem with mysql prompt when server disconnect. (Bug 356)
Fixed problem with localtime -> gmt where some times resulted in
different (but correct) timestamps. Now MySQL should use the smallest
possible timestamp value in this case.  (Bug 316)
2003-05-27 16:40:14 +03:00
monty@mashka.mysql.fi
bd4b9522e4 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mashka.mysql.fi:/home/my/mysql-4.1-narttu
2003-05-26 19:03:25 +03:00
monty@mashka.mysql.fi
68a159b1fa New 4.1 protocol; SQLSTATE, CLIENT_MULTI_RESULTS, client character set 2003-05-26 19:01:20 +03:00
bar@bar.mysql.r18.ru
8192d169a2 CHARSET_INFO structure reorganization for easier maintainance 2003-05-23 17:45:52 +05:00
bar@bar.mysql.r18.ru
a238efaa63 SHOW FIELDS changes, more SQL99 INFORMATION_SCHEMA.COLUMNS compatibility:
Character set is not displayed in "Type" column anymore
In "Collation" column NULL instead of BINARY is now displayd for for non-character data types
2003-05-23 13:10:25 +05:00
monty@mashka.mysql.fi
cb7061ebe4 merge 2003-05-22 02:57:27 +03:00
monty@mashka.mysql.fi
6aa8929cf3 After merge fixes
Added initialization of all important global variables
2003-05-21 21:39:58 +03:00
venu@myvenu.com
39cbb547d4 Resolve merge colflict 2003-05-21 00:12:09 -07:00
monty@narttu.mysql.fi
dd2b7918cd Merge with 4.0.13 2003-05-19 16:35:49 +03:00
serg@serg.mylan
784fb81426 INSERT ... UPDATE ... VALUES() 2003-05-03 01:16:56 +02:00
venu@myvenu.com
eb137c063c Support of warnings for all DML statements (Insert, Update and Alter)
Fix LOAD DATA INFILE warnings to have a better meanigful messages
Fix to make the mysql command line to automatically show the warnings count for all basic commands
2003-04-30 00:02:28 -07:00
monty@mashka.mysql.fi
dd377bfba6 Fixed problem when comparing a key for a multi-byte-character set. (bug 152)
Use 0x.... as strings if 'new' mode. (bug 152)
Don't report -max on windows when InnoDB is enabled. (bug 332)
Reset current_linfo;  This could cause a hang when doing PURGE LOGS.
Fix for row numbers in EXPLAIN (bug 322)
 Fix that USE_FRM works for all table types (bug 97)
2003-04-27 22:12:08 +03:00
monty@narttu.mysql.fi
f6a43bd567 Fixes for valgrind
Added optimzation for clustered index
Fixed bug in UPDATE ... ORDER BY
Fixed handling of UPDATE ... LIMIT
2003-04-23 21:52:16 +03:00
venu@myvenu.com
213847281a Fix to return appropriate warnings using SHOW WARNINGS for LOAD DATA INFILE (scrum) 2003-04-22 00:53:07 -07:00
bar@bar.mysql.r18.ru
3e0464b84d field.cc:
Geometry is now large blob
2003-04-03 23:19:15 +05:00
bar@bar.mysql.r18.ru
f0155f6a44 ALTER TABLE didn't remember the exact
geometry type (POINT, LINESTRING, etc)
and changed all into "GEOMETRY".
2003-03-31 09:19:20 +05:00
bar@bar.mysql.r18.ru
0989db3e90 More OpenGIS compatibility:
Point, MultiLine, Poligom, etc, are now not aliases
for Geometry, but separate field types.
2003-03-27 13:09:09 +04:00
ram@mysql.r18.ru
396438a83b R-tree bug fixes. 2003-03-20 20:55:53 +04:00
ram@mysql.r18.ru
031ac2a7b2 SRID support.
GeomertyFromWKB() function.
SRID() function.
::store() methods for Field_geom.
Code cleanup.
2003-03-18 15:30:32 +04:00
bar@bar.mysql.r18.ru
caf31a0790 Preparing to client<->server autoconvert 2003-03-17 13:14:04 +04:00
bar@bar.mysql.r18.ru
b4c8ecd8bc filesort.cc, sql_analyse.cc, item_func.cc, item_strfunc.cc, field.cc:
Unnesessary binary() calls have been removed
2003-03-13 15:34:46 +04:00
monty@mashka.mysql.fi
fef194fcb8 Fix for --new option (Timestamp in YYYY-MM-DD HH:MM:SS format) 2003-03-12 14:34:54 +02:00
serg@serg.mysql.com
95af195d11 disable partial timestamps in --new mode 2003-03-06 10:54:27 +01:00
serg@serg.mysql.com
6897b00216 --new option and local variable to optionally turn on
"very new functions" - for now 4.1-compatible TIMESTAMT format
2003-03-05 18:43:56 +01:00
bar@bar.mysql.r18.ru
6cbbbd6948 Fix for SHOW, it didn't display CHARACTER SET and COLLATE clause
for binary collations
2003-03-04 12:33:52 +04:00
bar@bar.mysql.r18.ru
e8412e9ea5 field.cc:
Now all text fields convert data into proper charset before storing
2003-02-27 12:10:41 +04:00
bar@bar.mysql.r18.ru
6d15efb1a8 field.cc:
rename len -> length, to look in common style
2003-02-27 11:44:45 +04:00
bar@bar.mysql.r18.ru
e3579917da set_var.cc, sql_table.cc, handler.cc, field.cc:
Less default_charset_info
2003-02-26 13:34:35 +04:00
bar@bar.mysql.r18.ru
d0f198ff5d sql_table.cc, field.cc:
Bug fix
opt_range.cc:
  Buf fix
2003-02-17 16:47:48 +04:00
monty@mashka.mysql.fi
3695c64111 Merge work:/home/bk/mysql-4.1 into mashka.mysql.fi:/home/my/mysql-4.1 2003-02-12 23:18:00 +02:00
monty@mashka.mysql.fi
e327393e9d Fixed a lot of wrong memory references as reported by valgrind
Portability fixes
Added new client function: mysql_get_server_version()
New server help code (From Victor Vagin)
Fixed wrong usage of binary()
Disabled RTREE usage for now.
2003-02-12 21:55:37 +02:00
venu@myvenu.com
0516b2bfee Windows compile fixups (To be verified by respective devs) 2003-02-04 18:50:48 -08:00
monty@mashka.mysql.fi
303c3e30ab Added charset number to result header 2003-02-04 03:19:19 +02:00
bar@bar.mysql.r18.ru
735399a850 Move latin1 into a separarte file 2003-01-29 17:31:20 +04:00
bar@bar.mysql.r18.ru
a292d4f632 New "fill" function in charset_info_st structure 2003-01-28 14:58:06 +04:00
bar@bar.mysql.r18.ru
106b21bd85 field.cc:
Use cs->scan() instead of my_isspace()
2003-01-27 18:46:51 +04:00