Commit graph

844 commits

Author SHA1 Message Date
monty@mishka.local
4f4bbfc279 Merge with 4.1 2004-12-22 13:54:39 +02:00
ram@gw.mysql.r18.ru
92f89369ae bit type 2004-12-17 18:06:05 +04:00
sergefp@mysql.com
3c8f48d2e3 * Added comments and one assert
* Backport of safety measures from 5.0: make numeorous replaces:
    s/item->fix_fields()/if (!item->fixed) item->fix_fields()
2004-12-14 03:36:19 +03:00
sergefp@mysql.com
3ceb04a5d8 Merge of fix for BUG#6976 continued: pulling in some Item_ref changes from 5.0
* Added Item_ref::set_properties 
 * Item_ref::Item_ref now expects to get in *item either
     NULL - then fix_fields() will be called later  or 
     ptr to Item it will refer to - then an equivalent of fix_fields() call is performed
2004-12-14 01:07:06 +03:00
sergefp@mysql.com
03acb8155f Merged (will need a post-merge fix) 2004-12-13 20:10:07 +03:00
sergefp@mysql.com
9ed8cd701b Merging fix for BUG#6976 from 4.0 to 4.1
The problem in 4.1 was the same as in 4.0 - fix_fields() not called for created Item_ref. 
The fix is similar too - initialize Item_refs in ctor (but don't interfere with cases when 
Item_ref is used by subselects).
2004-12-13 20:06:06 +03:00
bell@sanja.is.com.ua
9819df20c9 initialize variables (addition for BUG#7079) 2004-12-13 08:45:00 +02:00
sergefp@mysql.com
f78a60593a Fix for BUG#6976:
In Item_ref::Item_ref set maybe_null (and other fields fix_fields sets) to be the 
same as in (*ref), because Item_ref::fix_fields() will not be called.  Previously 
maybe_null was 0 always and this produced a bogus state where 
maybe_null==0 && is_null() == true 
which broke evaluation for some upper-level Items, like AND and OR.
2004-12-11 19:59:09 +03:00
bell@sanja.is.com.ua
b9abf25a55 new reference which refer to current value not to result used for resolving outer
refernces if subqueri is not in HAVING clause (BUG#7079)
  and the same used for subquery transformetion
2004-12-11 17:13:19 +02:00
monty@mysql.com
563500994a Update results for new varchar handling
Fixed compiler warnings
String results in CREATE ... SELECT are now created as CHAR(0), VARCHAR(X) or TEXT() depending on item->max_length
2004-12-07 15:47:00 +02:00
monty@mysql.com
77207d19f2 Merge with new VARCHAR code 2004-12-06 19:18:35 +02:00
monty@mysql.com
75d0958dc3 After merge fixes
Fixed compiler warnings
Fix core dump when sending SIGHUP to mysqld
2004-12-06 17:15:54 +02:00
monty@mysql.com
67ce247965 Add support for up to VARCHAR (size up to 65535)
Renamed HA_VAR_LENGTH to HA_VAR_LENGTH_PART
Renamed in all files FIELD_TYPE_STRING and FIELD_TYPE_VAR_STRING to MYSQL_TYPE_STRING and MYSQL_TYPE_VAR_STRING to make it easy to catch all possible errors
Added support for VARCHAR KEYS to heap
Removed support for ISAM
Now only long VARCHAR columns are changed to TEXT on demand (not CHAR)
Internal temporary files can now use fixed length tables if the used VARCHAR columns are short
2004-12-06 02:00:37 +02:00
bell@sanja.is.com.ua
94bbc72382 portability fix (some printf lack of NULL support in strings) 2004-11-26 17:27:47 +02:00
bell@sanja.is.com.ua
5290e580ef portability fix (some printf lack of NULL support in strings) 2004-11-26 16:30:20 +02:00
bell@sanja.is.com.ua
69ec6a4592 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-5.0
into sanja.is.com.ua:/home/bell/mysql/bk/work-join-5.0
2004-11-25 02:27:02 +02:00
bell@sanja.is.com.ua
3fa511ff54 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-5.0
into sanja.is.com.ua:/home/bell/mysql/bk/work-error-5.0
2004-11-24 20:01:34 +02:00
bell@sanja.is.com.ua
6d5d5ff941 fixed problem in MacOS
correct printing of aliases
2004-11-24 19:48:30 +02:00
dlenev@brandersnatch.localdomain
d201074611 Fix for bug #5888 "Triggers with nonexistent columns cause packets
out of order". (final version)

Now instead of binding Item_trigger_field to TABLE objects during
trigger definition parsing at table open, we perform pass through
special list of all such objects in trigger. This allows easily check
all references to fields in old/new version of row in trigger during
execution of CREATE TRIGGER statement (this is more courtesy for users
since we can't check everything anyway).
We also report that such reference is bad by returning error from
Item_trigger_field::fix_fields() method (instead of setup_field())
This means that if trigger is broken we will bark during trigger
execution instead of trigger definition parsing at table open.
(i.e. now we allow to open tables with broken triggers).
2004-11-24 12:24:02 +03:00
bell@sanja.is.com.ua
072d38eb12 merge 2004-11-21 20:08:12 +02:00
bell@sanja.is.com.ua
21eb2e2eae post merge 2004-11-21 19:33:49 +02:00
serg@serg.mylan
d5c1768139 post-merge fix 2004-11-20 20:19:08 +01:00
serg@serg.mylan
2d3dd65cc1 merged 2004-11-20 18:36:41 +01:00
dlenev@mysql.com
cb7e272e46 Manual merge of fix for bug #6266 "Invalid DATETIME value is not handled
properly" with main tree.
2004-11-19 18:35:36 +03:00
timour@mysql.com
0a11036e1c Fixed one warning and two errors reported by VC 6.0. 2004-11-18 11:24:18 +02: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
bell@sanja.is.com.ua
25d0f827ce posmerge fixes 2004-11-13 23:26:15 +02:00
bell@sanja.is.com.ua
7210195f1e now my_printf_error is not better then my_error, but my_error call is shorter
used only one implementation of format parser of (printf)
fixed multistatement
2004-11-13 19:35:51 +02:00
bell@sanja.is.com.ua
1555469b64 merge 2004-11-12 15:36:31 +02:00
bell@sanja.is.com.ua
31f7811183 post-review fixes 2004-11-12 14:34:00 +02:00
brian@avenger.(none)
b5e02d3276 Merge baker@bk-internal.mysql.com:/home/bk/mysql-5.0
into avenger.(none):/export/brian/mysql/test/5.0
2004-11-11 19:15:41 -08: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
bell@sanja.is.com.ua
0ef0b030a5 merge 2004-11-11 21:18:10 +02:00
konstantin@mysql.com
e5f4c7a0bd Rename: Item::val -> Item::val_real(). 2004-11-11 21:39:35 +03:00
timour@mysql.com
ea97ce50b9 post-merge fixes for WL#1972 2004-11-11 20:16:38 +02:00
timour@mysql.com
9a4ffb5ad9 WL#1972 - manual merge with latest bk source tree 2004-11-11 11:16:51 +02:00
monty@mysql.com
1e424ecbff Portability fix (Problems compiling on MacOSX with gcc) 2004-11-10 14:55:55 +02:00
timour@mysql.com
866abfddf4 WL#1972 "Evaluate HAVING before SELECT select-list"
- post-review changes
2004-11-10 12:43:08 +02:00
bar@mysql.com
c51d7acfcc 1. When mixing NULL to a character string,
the result takes its charset/collation
attributes from the character string,
e.g.  SELECT func(NULL, _latin2'string')
now returns a latin2 result. This is
done by introducing a new derivation
(aka coercibility) level DERIVATION_IGNORABLE,
which is used with Item_null.
2. 'Pure' NULL is now BINARY(0), not CHAR(0).
I.e. NULL is now more typeless.
2004-11-10 14:05:28 +04:00
timour@mysql.com
974c29b97b WL#1972 "Evaluate HAVING before SELECT select-list"
- post-review fix regarding Item_fields
- added test for the changed name resolution
2004-11-09 17:56:33 +02:00
monty@mysql.com
87af3d9113 merge on pull 2004-11-09 04:06:44 +02:00
monty@mysql.com
1087186657 Merge with 4.1 to get new thd->mem_root handling 2004-11-08 17:53:32 +02:00
bell@sanja.is.com.ua
9d0bb7426a postreview fixes 2004-11-08 01:54:23 +02:00
monty@mysql.com
07f9c634ad After merge fixes 2004-11-08 01:51:10 +02:00
konstantin@mysql.com
eeeb342b3c A fix and test case for the bug reported by Reggie: if character set
of client equals to character set of connection, possibly required
conversion to character set of column is not performed
(prepared statements, data is supplied using placeholders).
2004-11-05 21:02:12 +03:00
timour@mysql.com
660e1236b5 WL#1972 "Evaluate HAVING before SELECT"
- more tests, post-review changes, bug-fixes, simplifications, and improved comments
2004-11-05 15:48:44 +02:00
monty@mysql.com
071001950e Merge with 4.1 to get in latest bug fixes 2004-11-04 15:06:24 +02:00
monty@mysql.com
47bbf768d4 Fixes after merge with 4.1
FOUND is not a reserved keyword anymore
Added Item_field::set_no_const_sub() to be able to mark fields that can't be substituted
Added 'simple_select' method to be able to quickly determinate if a select_result is a normal SELECT
Note that the 5.0 tree is not yet up to date: Sanja will have to fix multi-update-locks for this merge to be complete
2004-11-03 12:39:38 +02:00
timour@mysql.com
09f1c7096c WL#1972 "Evaluate HAVING before SELECT select-list"
- Changed name resolution for GROUP BY so that derived columns do not shadow table columns
  from the FROM clause. As a result GROUP BY now is handled as a true ANSI extentsion.
- Issue a warning when HAVING is resolved into ambiguous columns, and prefer the columns from
  the GROUP BY clause over SELECT columns.
2004-11-02 18:23:15 +02:00
bar@mysql.com
6a3b1d443f Many files:
Allow mixing of different character sets for more SQL functions.
item_func.h:
  Allow mixing of different character sets for more SQL functions..
2004-11-02 16:02:12 +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
ea49a5181a Allow to convert to non-Unicode charset when mixing a string
constant with a column. The string is converted into the column
character set. It conversion doesn't lose data, then operation
is possible. Otherwise, give an error, as it was earlier.
2004-10-29 16:00:03 +05:00
timour@mysql.com
9161669492 Implementation of WL#1972 "Evaluate HAVING before SELECT select-list" 2004-10-28 17:31:26 +03:00
konstantin@mysql.com
016d5adeeb Followup to fix for bug#6050: fix valgrind warnings. 2004-10-22 20:21:55 +04:00
konstantin@mysql.com
a7c52d755b A fix and test case for Bug#6050 "EXECUTE stmt reports ambiguous field
names with ident. tables fr. diff. schemata": revise all uses of
Item_field and make them prepared-statements friendly when necessary.
2004-10-22 14:47:35 +04:00
bell@sanja.is.com.ua
b1617371d2 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-5.0
into sanja.is.com.ua:/home/bell/mysql/bk/work-error-5.0
2004-10-22 09:51:20 +03:00
bell@sanja.is.com.ua
42d6d6765a Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-5.0
into sanja.is.com.ua:/home/bell/mysql/bk/work-error-5.0
2004-10-20 16:11:16 +03: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
bell@sanja.is.com.ua
4714a6e744 errors without code removed
net_printf/send_error calls replaced by my_error family functions
-1/1 (sent/unsent) error reporting removed
(WL#2133)
2004-10-20 04:04:37 +03:00
monty@mishka.local
7af65592c7 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mishka.local:/home/my/mysql-4.1
2004-10-20 02:55:03 +03:00
igor@rurik.mysql.com
a03e5ad8e4 Merge for post-merge fixes for Item_equal patch. 2004-10-19 16:07:10 -07: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
igor@rurik.mysql.com
4c8e391718 table.h, sql_select.h:
Added the code processing on expressions for applying
  multiple equalities.
sql_select.cc:
  Post-merge fixes for Item_equal patch.
  Added the code processing on expressions for applying
  multiple equalities.
Many files:
  Post-merge fixes for Item_equal patch.
item_cmpfunc.cc:
  Post-merge fixes for Item_equal patch.
  Fixed a problem when an equality field=const cannot be applied to
  the predicate P(field,c) for constant propagation as a conversion
  of field is needed.
item.h, item.cc:
  Fixed a problem when an equality field=const cannot be applied to
  the predicate P(field,c) for constant propagation as a conversion
  of field is needed.
2004-10-19 14:12:55 -07:00
bar@mysql.com
47f638054e Bug #6139 UNION doesn't understand collate in the column of second select 2004-10-18 17:56:25 +05: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
timour@mysql.com
8ab4a7a101 Merge with implementation of WL#1724. 2004-10-11 10:47:08 +03:00
timour@mysql.com
f2a78b13b2 Fixes for WL#1724 required by the third code review. 2004-10-11 08:28:30 +03:00
konstantin@mysql.com
703e396b6e A small simplification: perform two actions at once, register a
change, and perform it (the new Item changes registry).
2004-10-10 03:10:00 +04:00
konstantin@mysql.com
e08febea0c Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/media/sda1/mysql/mysql-4.1-hook
2004-10-10 02:39:48 +04:00
konstantin@mysql.com
daa4c2495c A fix and test case for Bug#5987 "subselect in bool function
crashes server (prepared statements)": the bug was that all boolean
items always recovered its original arguments at statement cleanup 
stage.
This collided with Item_subselect::select_transformer, which tries to 
permanently change the item tree to use a transformed subselect instead of
original one.
So we had this call sequence for prepare:
mysql_stmt_prepare -> JOIN::prepare -> 
Item_subselect::fix_fields -> the item tree gets transformed ->
Item_bool_rowready_func2::cleanup, item tree is recovered to original
state, while it shouldn't have been;
mysql_stmt_execute -> attempts to execute a broken tree -> crash.
Now instead of bluntly recovering all arguments of bool functions in 
Item_bool_rowready_func2::cleanup, we recover only those
which were changed, and do it in one place.
There still would exist a possibility for a collision with subselect
tranformation, if permanent and temporary changes were performed at the 
same stage.
But fortunately subselect transformation is always done first, so it 
doesn't conflict with the optimization done by propogate_cond_constants.
Now we have: 
mysql_stmt_prepare -> JOIN::prepare -> subselect transformation 
permanently changes the tree -> cleanup doesn't recover anything, 
because nothing was registered for recovery.
mysql_stmt_execute -> JOIN::prepare (the tree is already transformed, 
so it doesn't change), JOIN::optimize -> 
propogate_cond_constants -> temporary changes the item tree 
with constants -> JOIN::execute -> cleanup -> 
the changes done by propogate_cond_constants are recovered, as
they were registered for recovery.
2004-10-10 02:39:22 +04:00
igor@rurik.mysql.com
71f6ab7a09 Merge for Item_equal. 2004-10-09 10:34:13 -07:00
bell@sanja.is.com.ua
b2d9799b54 args_copy and cleunup() removed from Item_sum
registration changing ITEM_SUM arguments added
2004-10-09 01:01:19 +03:00
konstantin@mysql.com
234c80b689 Deployment of centralized Item change registry, step 2: Item_ref
doesn't need to have it's own recovery mechanism.
2004-10-08 19:13:09 +04:00
konstantin@mysql.com
2aa7ec0d9d A fix for Bug#5748 "Prepared statement with BETWEEN and bigint values
crashes mysqld": implementation for a generic item tree modifications
registry. Every item tree modification which should be rolled back for
subsequent execution of a prepared statement or stored procedure should
be saved in the registry. All such modifications are rolled back at once
during cleanup stage of PS.
Actual fix for the bug just adds a call to register modifications to
convert_constant_item.
Post review fixes implemented.
2004-10-08 02:21:19 +04:00
bell@sanja.is.com.ua
a78f817d20 merge 2004-10-05 13:41:51 +03:00
konstantin@mysql.com
0cadd78db7 A couple of typos fixed. 2004-10-04 14:14:30 +04: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
28f933fe10 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/dlenev/src/mysql-4.1-bg4302
2004-09-30 16:30:34 +04:00
dlenev@brandersnatch.localdomain
0aa589d099 Final solution for bug# 4302 "Ambiguos order by when renamed column is
identical to another in result"
According to SQL standard queries like 
"select t1.a as col from t1, t2 order by a" should return an error if
both tables contain field a.
2004-09-30 16:28:17 +04: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
4230eae857 A fix and test case for bug#5510 "inserting Null in AutoIncrement primary
key Column Fails".
2004-09-18 01:10:09 +04:00
bell@sanja.is.com.ua
f11bcefae1 fixed error handling if creating derived table failed
single row subquery always can return NULL (no rows found) (BUG#5590)
2004-09-17 19:08:46 +03:00
bell@sanja.is.com.ua
d2474ee2e5 Do not try use fields examples is expression and fiend used or SET/ENUM field used in types merging procedure (BUG#5618) 2004-09-17 13:23:57 +03:00
monty@mishka.local
095f7e8740 Removed wrong warnings in test suite (This was because select_insert / select_create results was not freed.
Added thd to openfrm() for initialization of TABLE->in_use. This fixed a bug in BDB handling where table->in_use was used early
2004-09-17 03:08:23 +03:00
bell@sanja.is.com.ua
f6dba131eb Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-sum-4.1
2004-09-16 16:24:46 +03:00
bar@mysql.com
e39a5033f2 item.cc:
Bug #5561 No BINARY_FLAG in metadata
2004-09-16 11:12:49 +05:00
bell@sanja.is.com.ua
f797298fc5 fixed merged view fields names (BUG#5147)
support of merged VIEW over several tables added (WL#1809)
2004-09-14 19:28:29 +03:00
bell@sanja.is.com.ua
763c57d41f Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-5.0
into sanja.is.com.ua:/home/bell/mysql/bk/work-show-5.0
2004-09-10 02:26:09 +03:00
dlenev@mysql.com
c46e640009 Yet another manual merge with main tree for patch for WL#1218 "Triggers" 2004-09-09 19:52:10 +04:00
bell@sanja.is.com.ua
336cb5f8be merge 2004-09-09 16:52:22 +03:00
monty@mysql.com
49cd04b510 Merge on pull 2004-09-09 07:26:28 +03:00
monty@mysql.com
f2829d0386 After merge fixes of merge with 4.1 that included the new arena code.
Fixed (together with Guilhem) bugs in mysqlbinlog regarding --offset
Prefix addresses with 0x for easier comparisons of debug logs
Fixed problem where MySQL choosed index-read even if there would be a much better range on the same index
This fix changed some 'index' queries to 'range' queries in the test suite
Don't create 'dummy' WHERE clause for trivial WHERE clauses where we can remove the WHERE clause.
This fix removed of a lot of 'Using where' notes in the test suite.
Give NOTE instead of WARNING if table/function doesn't exists when using DROP IF EXISTS
Give NOTE instead of WARNING for safe field-type conversions
2004-09-09 06:59:26 +03:00
dlenev@mysql.com
9b1bc6a4d5 Merge of changes from the main tree to tree for WL#1218 "Triggers". 2004-09-08 13:29:21 +04:00
bell@sanja.is.com.ua
48a1b10b58 ixed table and db name of fields incase of lower_case_table_names (BUG#5154) 2004-09-07 19:58:02 +03:00
dlenev@brandersnatch.localdomain
9ed038dd6f WL#1218 "Triggers". Some very preliminary version of patch.
Mostly needed for Monty for him getting notion what needed for triggers 
from new .FRM format. 

Things to be done:
- Right placement of trigger's invocations
- Right handling of errors in triggers (including transaction rollback)
- Support for priviliges
- Right handling of DROP/RENAME table (hope that it will be handled automatically
  with merging of .TRG into .FRM file)
- Saving/restoring some information critical for trigger creation and replication
  with their definitions (e.g. sql_mode, creator, ...)
- Replication

Already has some known bugs so probably not for general review.
2004-09-07 16:29:46 +04:00
bell@sanja.is.com.ua
1513f980fc postmerge fix (found by Dmitry) 2004-09-06 20:11:04 +03:00
monty@mysql.com
31122efde7 Merge with 4.1
(Includes merge of arena code in 4.1 and 5.0)
2004-09-06 15:14:10 +03:00
bell@sanja.is.com.ua
5d42c492d6 fixed temporary table processing expresions of subqueries and removed wrong restrictions of field resolving (BUG#5326) 2004-09-06 13:00:24 +03:00
bell@sanja.is.com.ua
161662ba4c Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-5.0
into sanja.is.com.ua:/home/bell/mysql/bk/work-5.0
2004-09-04 15:32:13 +03:00
monty@mysql.com
32594c9989 Print value of Item_param if it has a value (when debugging) 2004-09-04 15:02:57 +03:00
bell@sanja.is.com.ua
31dacc6ede Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-5.0
into sanja.is.com.ua:/home/bell/mysql/bk/work-5.0
2004-09-02 07:52:29 +03:00
bell@sanja.is.com.ua
d1b667bdd1 fixed staistic of subquery if outer field resolved in merged view (BUG#5247) 2004-09-01 23:27:40 +03:00
bell@sanja.is.com.ua
80a28d458a fixed printing of real constants (BUG#5160) 2004-09-01 20:30:48 +03:00
bar@mysql.com
4f32cd2b3d Move collation aggregation with superset conversion code
from Item_bool_func2 into DTCollation to make it reusable
for other types of items.
2004-09-01 13:56:33 +05:00
pem@mysql.comhem.se
0c39b7458a Fixed return type warning in sql/item.cc. 2004-08-30 11:09:56 +02:00
timour@mysql.com
e2cd3dd1ce WL#1724 "Min/Max Optimization for Queries with Group By Clause"
- after-review changes
- merged with the source tree from 204-08-27
2004-08-27 16:37:13 +03:00
bell@sanja.is.com.ua
b836d2ddb7 fixed updateability VIEW detection (Bug#5146)
fixed other Item_ref methods where result_field involved
2004-08-26 14:34:56 +03:00
bell@sanja.is.com.ua
8b01230e5b fix of Item_ref with result_field (BUG#5104) 2004-08-26 13:11:06 +03:00
monty@mysql.com
c44d4debfa Portablity fixes & simple optimizations 2004-08-24 18:00:45 +03:00
bell@sanja.is.com.ua
74d7a092b2 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-08-23 10:59:35 +03:00
bell@sanja.is.com.ua
0ce931947e skip resolving field in table list if table list is not accessable due to groupping (BUG#4814) 2004-08-13 10:01:30 +03:00
bar@mysql.com
186e6cb2d6 ctype_ucs.result, ctype_ucs.test, item.cc:
#5024 [Ver]: Server crashes with queries on fields with certain charset/collation settings
2004-08-13 11:13:56 +05:00
bell@sanja.is.com.ua
10ce8cdef5 fixed quoting of identifiers in VIEWs (BUG#4613) 2004-07-20 18:51:02 +03:00
bell@sanja.is.com.ua
1e3f10a4b1 mark subquery in the FROM clause like derived and quoate all identifiers (BUG#4609) 2004-07-20 08:48:28 +03:00
bell@sanja.is.com.ua
9336d36cf8 VIEW
two TABLE_LIST copy eliminated
2004-07-16 01:15:55 +03:00
monty@mysql.com
1e31199995 Merge with 4.1.3-beta 2004-07-07 11:29:39 +03:00
bell@sanja.is.com.ua
74b01ca387 type of parameter assignment for parameters from variables added (BUG#4280) 2004-06-25 15:16:00 +03: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
sergefp@mysql.com
19616945ab Coding style fixes 2004-06-22 03:25:54 +04:00
dlenev@brandersnatch.localdomain
e8891ee926 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into brandersnatch.localdomain:/home/dlenev/src/mysql-4.1-tz-push
2004-06-18 10:12:21 +04: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
konstantin@mysql.com
7bbdb8408b Fix for bug#4105 "Server crash on attempt to prepare a statement with
character set introducer": add new item type to be returned before from 
Item_param until it's value is set.
This way items like Item_bool_func2 and udf_handler won't treat this item
as constant literal when statement is prepared.
2004-06-18 04:16:08 +04:00
bell@sanja.is.com.ua
96b470ae59 after review fix (BUG#4067) 2004-06-17 13:48:31 +03:00
bell@sanja.is.com.ua
002364c20f new length detection for non-string in UNION (BUG#4067) 2004-06-16 16:06:30 +03:00
konstantin@mysql.com
f3e018f833 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/kostja/mysql/mysql-4.1-4026
2004-06-09 03:22:55 +04:00
konstantin@mysql.com
dc11d3cfa1 Proposed fix for Bug#4026 "Microseconds part of TIME/DATETIME types
is broken (prepared statements)": fixed date handling in many places 
of prepared statements code.
2004-06-09 03:21:50 +04:00
sergefp@mysql.com
1e05e6cb82 Post review fixes for "SQL Syntax for Prepared Statements". 2004-06-07 12:09:10 +04:00
sergefp@mysql.com
dc38512390 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/dbdata/psergey/mysql-4.1-ps-merge
2004-06-01 17:29:13 +04:00
konstantin@mysql.com
eaa4d106e6 Fix for Bug#3796 "Prepared statement, select concat(<parameter>,<column>), wrong
result": new Item_param member for use in val_str()
2004-05-31 14:21:48 +04:00
pem@mysql.com
71eddc362e Merging 4.1 to 5.0. 2004-05-26 17:04:45 +02:00
sergefp@mysql.com
d7dd97089e Manually merged, requirees more merging 2004-05-25 08:15:50 +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
sergefp@mysql.com
f75b1adece Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/dbdata/psergey/mysql-4.1-ps-merge
2004-05-21 04:31:07 +04:00
sergefp@mysql.com
fb17025b3e WL#1622 "SQL Syntax for Prepared Statements": Post-review fixes (1 of 2) 2004-05-21 04:27:50 +04:00
bell@sanja.is.com.ua
329ac02441 assigning max_length parameter for Item_param (Bug #3811) 2004-05-20 19:08:34 +03:00
bell@sanja.is.com.ua
71a374dc13 Merge 2004-05-14 13:33:02 +03:00
pem@mysql.com
bf45960eef Merge 4.1 -> 5.0 2004-05-07 18:52:06 +02:00
sergefp@mysql.com
7af3097e60 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/dbdata/psergey/mysql-4.1-ps-merge
2004-05-07 03:33:39 +04:00
monty@mysql.com
939ea71ecd Portability fixes
Change strtoll -> my_strtoll10()
Fixed bug in my_strntoul() and my_strntol() where we got different values on 32 and 64 bit systems (Bug #3472)
2004-05-07 01:43:17 +03:00
sergefp@mysql.com
67ad78cb5d Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/dbdata/psergey/mysql-4.1-ps-merge
2004-05-06 23:02:32 +04:00
bell@sanja.is.com.ua
3aae50e8c0 EXPLAIN UNION using same routing which used for execution which allow return correct bug messages (Bug #3639)
EXPLAIN of hidden SELECT of UNION
2004-05-06 20:40:21 +03:00
sergefp@mysql.com
ec33d794d8 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/dbdata/psergey/mysql-4.1-code-cleanup
2004-05-06 01:06:18 +04:00
monty@mysql.com
a5d8b846fa after merge fixes 2004-05-05 21:24:21 +03:00
sergefp@mysql.com
7c3376229e Make Item_param::val_int and Item_param::val_str follow the used convention and return 0 if null_value==1. 2004-05-05 20:04:25 +04:00
monty@mysql.com
d21d49a32a Merge with 4.0.19 2004-05-05 17:05:24 +03:00
sergefp@mysql.com
fdfcadc735 Manual merge for WL#1622 code, will need fixes 2004-05-05 16:10:16 +04:00
monty@mysql.com
104fdf607d Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1
2004-05-05 12:40:59 +03:00
monty@mysql.com
7e3cf5958c Fixed crashing bug with alter table when table was in use (Bug #3643)
We didn't use 'only index' for tables of type 'const'. (Bug #3497)
2004-05-05 12:31:17 +03:00
dlenev@brandersnatch.localdomain
c7fbcbca7a Fix for remaining issues described in Bug #1664
"mysql_send_long_data() API call is completely broken".

Now we are resetting some members (long_data_supplied/null_value...) of Item_param to its 
initial state after each execution of prepared statement. We also manipulating 
Item_param::maybe_null/null_value only via Item_param::set_* setters which makes code a bit 
more robust.
2004-05-04 19:08:19 +04:00
sergefp@mysql.com
b55d59fe2f Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/dbdata/psergey/mysql-4.1-ps-merge
2004-04-30 19:24:57 +04:00
monty@mysql.com
edc584acce Fixed stack overrun with some INSERT ... SELECT ... GROUP BY queries (Bug #3265)
Ensure that raid_chunks is not set to higher than 255 as this could cause problems with DROP DATABASE. (Bug #3182)
2004-04-28 03:37:45 +03:00
sergefp@mysql.com
194027d5d8 Merged 2004-04-13 02:18:09 +04:00
sergefp@mysql.com
5e22d6cbfc Fix and testcase for BUG#3367. 2004-04-13 00:13:25 +04:00
monty@mysql.com
8b72dde888 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1
2004-04-12 01:43:07 +03:00
monty@mysql.com
dc0d2b83c2 Added function comment 2004-04-12 01:42:39 +03:00
sergefp@mysql.com
ac563b1b8e Merge 2004-04-08 17:08:56 +04:00
bell@sanja.is.com.ua
d4f5f1b7ac field->store resuts passing is fixed for REAL and INT for Item_param (BUG3223) 2004-04-08 11:07:37 +03:00
pem@mysql.com
dfd59e296e Merge 4.1 -> 5.0. 2004-04-07 19:07:44 +02:00
serg@serg.mylan
6ebf869b40 merged 2004-04-07 16:20:46 +02:00
bell@sanja.is.com.ua
61fd95d168 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-ps3-4.1
2004-04-07 15:23:05 +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
sergefp@mysql.com
1f8505d66f Post-merge fixes 2004-04-05 19:52:10 +04:00
sergefp@mysql.com
a8386d01c2 Many files:
SQL Syntax for Prepared Statements (WL#1622)
ps.test, ps.result:
  new file
2004-04-05 19:43:37 +04: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
bell@sanja.is.com.ua
b30c28d85d for Item_param we have to have value set instead of fave item fixed (BUG#3353)
fixed outer joins
test of different joins included
2004-04-03 17:23:41 +03:00
bell@sanja.is.com.ua
de502e1df2 removed unused field
layout fised
debug information added
2004-04-01 23:27:22 +03:00
dlenev@brandersnatch.localdomain
f38e0a935d Merge of fix for bug #2050 and bug #3307 2004-03-31 22:17:10 +04:00
dlenev@brandersnatch.localdomain
4122188cc2 Fix for Bug #3307 "FLUSH TABLES sometimes breaks prepared statement
table resolution".
Added members to Item_ident for storing original db, table and field
names since those that set later from Field have shorter life-time 
than required by prep. stmt. So we need to restore original names in 
Item_ident::cleanup(). Also now using special construnctor for creation
of Item_field from Field object that ensures that table and field name 
have big enough life-time.

"Fix" for bug #2050 "10 to 1 performance drop with server 4.1.1"
Clean ups in implementation of caching of field number in table.
Added caching of table in which field is found in find_field_in_tables().
2004-03-31 21:25:55 +04:00
monty@mysql.com
4bc6b551f8 false/true -> FALSE/TRUE
Fixes after last merge
2004-03-30 02:32:41 +03:00
dlenev@brandersnatch.localdomain
9e28b7698d "Fix" for BUG #2050 "10 to 1 performance drop with server 4.1.1".
Actually it is not a bug but right behavior observed as pefomance 
degradation after we have forced Item_field::fix_fields() to 
re-execute each time when we are executing prep stmt.

This patch implements small optimization which heals this bad 
behavior. We are caching field position in TABLE::field array in
Item's member and are using this position for speeding up field
lookups in fix_fields() in case of its re-execution.
2004-03-28 04:11:54 +04:00
monty@mysql.com
1448199bd7 Cleanups & safety fixes 2004-03-25 22:11:22 +02:00
hf@deer.(none)
87612b5294 Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into deer.(none):/home/hf/work/mysql-4.1.3266
2004-03-23 17:58:55 +04:00
hf@deer.(none)
7ab1c2106d Fix for #3266 (garbled TEXT fields as a result of CREATE TABLE SELECT)
Problem is that Item::save_in_field modifies str_value member
 before it calls val_str but Item_copy_string::val_str just returns
this str_value as the result.
I added local String variable to the Item::save_in_field
2004-03-23 17:57:14 +04:00
hf@deer.(none)
ea2c160919 Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into deer.(none):/home/hf/work/mysql-4.1.3188
2004-03-23 13:09:50 +04:00
hf@deer.(none)
182aa5bec9 Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into deer.(none):/home/hf/work/mysql-4.1.clean
2004-03-22 17:48:29 +04:00
bell@sanja.is.com.ua
bbb6642a66 aliases should be compared with my_strcasecmp (BUG#3251)
some db comparison code cleupup
removed compiler warnings
2004-03-22 15:43:13 +02:00
bell@sanja.is.com.ua
d095d4753e after review changes 2004-03-20 13:36:26 +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
hf@deer.(none)
e93b933ade Fix for #3188 2004-03-18 16:49:48 +04:00
bell@sanja.is.com.ua
8035ce40ec DBUG_ASSERT(fixed == 0) added to fix_fields() 2004-03-17 14:26:26 +02:00
hf@deer.(none)
2011d717cb Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into deer.(none):/home/hf/work/mysql-4.1.233
2004-03-16 13:27:25 +04:00
hf@deer.(none)
ceaac59c42 Fix for #233 (the second one) 2004-03-16 13:26:37 +04:00
bell@sanja.is.com.ua
ac8c1cc4be Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-fix_fields-4.1
2004-03-16 07:40:11 +02:00
konstantin@mysql.com
e43ac76094 Fixes for bugs #2274 "mysqld gets SIGSEGV during processing of malformed
COM_EXECUTE packet" and #2795 "prepare + execute without bind_param crashes
 server" and #2473 "seg fault running tests/client_test.c": 
- length checking added to packet parser 
- default impelemntation of Item_param::set_param_func will work in
case of malformed packet.
No test cases are possible in our test suite, as there are no tests 
operating on protocol layer.
2004-03-15 20:20:47 +03:00
bell@sanja.is.com.ua
7e48a0f610 merge 2004-03-09 12:52:25 +02:00
igor@rurik.mysql.com
e720c2ce69 sql_select.cc, opt_range.cc, item.cc:
After merge fixes.
2004-02-19 12:04:46 -08:00
igor@rurik.mysql.com
f18e0068ba Manual merge 2004-02-19 01:09:54 -08:00
igor@rurik.mysql.com
09fa16424a Many files:
After review fixes for Item_equal.
2004-02-18 22:21:37 -08:00
bell@sanja.is.com.ua
14b9fa3588 revision of fix_fields() calls (BUG2838) 2004-02-18 01:08:52 +02:00
bell@sanja.is.com.ua
a66b398eb8 merge 2004-02-17 11:12:55 +02:00
monty@mysql.com
050af89dd8 Merge with public tree 2004-02-16 10:31:05 +02:00
monty@mysql.com
f43093ec0e After merge fixes
Added more DBUG statements
Ensure that we are comparing end space with BINARY strings
Use 'any_db' instead of '' to mean any database. (For HANDLER command)
Only strip ' ' when comparing CHAR, not other space-like characters (like \t)
2004-02-16 10:03:25 +02:00
pem@mysql.com
5faf244b30 Merge mysql.com:/home/pem/work/mysql-4.1
into mysql.com:/home/pem/work/mysql-5.0-merge
2004-02-13 17:39:00 +01:00
bell@sanja.is.com.ua
6777120d85 merge 2004-02-12 11:12:16 +02:00
guilhem@gbichot2.local
7db22b1ed3 Fix for prepared statements:
added setting of 'neg' in Item_param::set_time() (looks like the only forgotten
member).
It's the second place I find where 'neg' was forgotten.
The symptom was unexpected negative times in the binary log when running
tests/client_test.c (test_date() in fact):
# at 43009
#040210 15:46:42 server id 1  log_pos 43009     Query   thread_id=1     exec_time=0     error_code=0
SET TIMESTAMP=1076424402;
INSERT INTO test_date VALUES('2000-01-10 11:16:20','-11:16:20' etc
2004-02-10 23:47:34 +01:00
pem@mysql.com
c8585f3283 Merge 4.1 into 5.0. 2004-02-10 18:44:02 +01:00
bell@sanja.is.com.ua
e58771bb07 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-prepared-4.1
2004-02-09 14:46:41 +02:00
bell@sanja.is.com.ua
69e2460bd4 fixed subquery with PS (BUG#2462)
fixed UNION preparation
2004-02-08 20:14:13 +02:00
konstantin@mysql.com
7e9944d3d5 cleanup: #ifdef DELETE_ITEMS removed 2004-02-03 23:34:31 +03:00
hf@deer.(none)
37abf689ec Pack of changes about 'cleanup()'-s
Some errorneous code trimmed
2004-01-20 20:55:47 +04:00
hf@deer.(none)
7dda8c102f Merge deer.(none):/home/hf/work/mysql-4.1.clean
into deer.(none):/home/hf/work/mysql-4.1.1676
2004-01-19 21:06:27 +04:00
hf@deer.(none)
1f8eb40310 Code cleanup (working on PS & cleanup() code)
Item & changed with Item* in Item_xxx constructors
tables_list.first -> get_table_list()
2004-01-19 19:53:25 +04:00
hf@deer.(none)
bfe134b86f Fix for prepared statements
Here i added Item_*::cleanup() functions,
removed a lot of ~Item_*'s,
added code to restore order_list and group_list
2003-12-30 14:08:19 +04:00
ram@gw.mysql.r18.ru
9dba5a709b Fix for the bug #2198: SELECT INTO OUTFILE (with Sub-Select) Problem.
Proper Item_cache::setup() method.
Code cleanup.
(discussed with sanja)
2003-12-25 18:50:22 +04:00
igor@rurik.mysql.com
c236568ac9 Auto Merge 2003-12-23 02:24:12 -08:00
pem@mysql.com
12187684ca Merging lex-pointer change from 4.1 to 5.0. 2003-12-19 20:13:48 +01:00
konstantin@oak.local
d37da004f6 THD::lex now points to THD::main_lex like in 5.0
All tests pass (client_test included)
2003-12-19 20:52:13 +03:00
pem@mysql.com
99e0ae85c7 Merge 4.1 to 5.0. 2003-12-19 18:03:27 +01: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
e0cc6799ec Merge with 4.0.17 2003-12-17 17:35:34 +02:00
pem@mysql.com
975061bb5a Merge 4.1 to 5.0. 2003-12-16 16:12:28 +01:00
monty@mysql.com
2742701574 Added missing timeout function for named pipes and shared memory (fixes core dump on windows)
Signed auto_increment keys for HASH tables (like for MyISAM tables in 4.0)
nitialize system_charset_info() early. Fixes core dump when starting windows service
2003-12-15 17:58:15 +02:00
monty@mysql.com
d47deebb58 Extend max_allowed_packet to 2G in mysql and mysqldump (Bug #2105)
Don't dump data for MRG_ISAM or MRG_MYISAM tables. (Bug #1846)
Ensure that 'lower_case_table_names' is always set on case insensitive file systems. (Bug #1812)
One can now configure MySQL as windows service as a normal user. (Bug #1802)
Database names is now compared with lower case in ON clause when lower_case_table_names is set. (Bug #1736)
IGNORE ... LINES option didn't work when used with fixed length rows. (Bug #1704)
Change INSERT DELAYED ... SELECT... to INSERT .... SELECT (Bug #1983)
Safety fix for service 'mysql start' (Bug #1815)
2003-12-14 06:39:52 +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
igor@rurik.mysql.com
d64bdafb4c Merge rurik.mysql.com:/home/igor/mysql-5.0
into rurik.mysql.com:/home/igor/dev/mysql-5.0-0
2003-12-08 11:26:34 -08:00
pem@mysql.comhem.se
a5780a4815 Fixed BUG#336: Subselects with tables does not work as values for local SP variables
and BUG#1654: Stored Procedure Crash if contains subquery and set function

Disallowed subselects in RETURN (for FUNCTIONs) and SET of local variables.
The latter should work, but turned out to be difficult to fix, so we just
disallow it for the time being.
2003-12-04 15:17:55 +01:00
igor@rurik.mysql.com
31700ed218 Merge rurik.mysql.com:/home/igor/mysql-5.0
into rurik.mysql.com:/home/igor/dev/mysql-5.0-0
2003-12-02 16:46:06 -08:00
pem@mysql.com
2c16ccdbe6 Merge mysql.com:/home/pem/work/mysql-4.1
into mysql.com:/home/pem/work/mysql-5.0
2003-12-02 17:08:24 +01:00
konstantin@oak.local
c10413abda Item_param::save_in_field():
thd->command can be anything except COM_EXECUTE in no cases
except programming error.
2003-12-02 15:09:35 +03:00
igor@rurik.mysql.com
e235d796c9 Merge 2003-12-01 18:47:19 -08:00
pem@mysql.com
6e717133c5 Merge 4.1 to 5.0 2003-12-01 16:14:40 +01:00
monty@mysql.com
ede8169d24 Added missing SSL library (Should be in source distribution)
Fixed compiler warnings (a lot of hidden variables detected by the Forte compiler)
Added a lot of 'version_xxx' strings to 'show variables'
Prevent copying of TMP_TABLE_PARAM (This caused core dump bug on Solaris)
Fixed problem with printing sub selects to debug log
2003-11-28 12:18:13 +02:00
igor@rurik.mysql.com
3938ac5436 This ChangeSet Introdices Item_equal.
The objects of this class represent multiple conjunctive equalities
in where conditions: =(f1,f2,...fn) <=> f1=f2 and f2= ... and =fn.
The objects are used to generate new possibale paths to access
the tables when executing a query.
They are also used to optimize the execution plan 
chosen by the optimizer for the query.
2003-11-26 17:23:52 -08:00
bell@sanja.is.com.ua
5474ada47a added collation processing in UNION merging
temporary table BLOB now is longblob
2003-11-25 23:52:10 +02:00
bell@sanja.is.com.ua
afe48d3ce4 after review fixes 2003-11-23 21:26:43 +02:00
bell@sanja.is.com.ua
9fbf629cdc Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-union-4.1
2003-11-23 17:59:28 +02:00
bell@sanja.is.com.ua
7191ea0ae3 Fixed UNION fields type/length detecting 2003-11-23 02:01:15 +02:00
dlenev@mysql.com
baa6ee20b2 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/dlenev/src/mysql-4.1-bg1500-2
2003-11-23 00:48:59 +03:00
dlenev@dlenev.mshome
625371f306 Fix for bug #1500 "Server crash with mysql_prepare"
We treat Item_param whose value is not set as non-const.
This allows us to avoid use of Item_param's value (not yet existing) in 
those fix_fields and fix_length_and_dec that do calculations if their 
Items arguments are const. So we can call fix_fields for such items from
mysql_prepare safely.
2003-11-23 00:48:18 +03:00
monty@mysql.com
8aeb63dd3b Update VC++ files
Portability fixes
After merge fixes
2003-11-21 01:53:01 +02:00
monty@mysql.com
32a62d5069 Merge with 4.0 to revert patch for BIGINT assignment to double 2003-11-21 00:17:46 +02:00
monty@mysql.com
41eda1c949 Revert patch for bigint handling in double context as it broke normal bigint handling
The right way to fix this is to change the Field::store(longlong) method to be
Field::store(longlong, bool unsigned_flag), but this is better to do in 4.1 than in 4.0
2003-11-21 00:11:50 +02:00
monty@mysql.com
b01fcb4e14 Merge with 4.0 to get:
Fix for storing negative values in decimal fields
Fix for FLUSH TABLE with HANDLER
2003-11-20 22:30:48 +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
pem@mysql.com
28a2c6a96b Merging 4.1->5.0. 2003-11-19 15:19:46 +01:00
serg@serg.mylan
60d60a299e Item_uint::save_in_field() added to take into account bigint->decimal case 2003-11-16 17:37:15 +01:00
konstantin@mysql.com
eb3c90095a Merge kosipov@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/kostja/mysql/mysql-4.1-root
2003-11-05 14:35:20 +03: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
bell@sanja.is.com.ua
c56e75e2c1 after review fix 2003-11-03 12:28:36 +02:00
bell@sanja.is.com.ua
e025adb403 Merge 2003-11-03 08:47:27 +02:00
bell@sanja.is.com.ua
74ddfaadda after review fix 2003-11-02 16:56:39 +02:00
bell@sanja.is.com.ua
d98487ac20 merge 2003-11-02 15:52:40 +02:00
bell@sanja.is.com.ua
0747324ede merge 2003-10-31 22:14:49 +02:00
konstantin@oak.local
e3bf30fdfb follow-up to Sanja fix:
fix_fields() never accepts (THD *)(0)
2003-10-31 17:52:00 +03:00
bell@sanja.is.com.ua
5ad2f38f5d amall fix 2003-10-31 11:52:01 +02:00
bell@sanja.is.com.ua
33346e26af added code covarage for functions convert(), nullif(), crc32(), is_used_lock(), char_lengtrh(), bit_xor()
added string length for more speed
made code covarage for print() method of Item
fixed printability of some items (SCRUM) (WL#1274)
2003-10-30 12:57:26 +02:00
bell@sanja.is.com.ua
ae380c5855 merge 2003-10-28 12:45:37 +02:00
serg@serg.mylan
944570970d Merge bk-internal:/home/bk/mysql-4.1/
into serg.mylan:/usr/home/serg/Abk/mysql-4.1
2003-10-23 23:11:33 +02:00
bell@sanja.is.com.ua
5fb30467ee Merge 2003-10-23 21:09:40 +03:00
bell@sanja.is.com.ua
b0bd7f80be ufter review fix (BUG#1444) 2003-10-23 20:50:53 +03:00
bell@sanja.is.com.ua
934fa2a104 Merge 2003-10-22 20:52:47 +03:00
pem@mysql.com
337238b78a Merging 4.1->5.0 2003-10-22 16:10:22 +02:00
serg@serg.mylan
f944fd4a65 merged 2003-10-21 11:58:43 +02:00
bell@sanja.is.com.ua
282b402813 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-count-4.1
2003-10-20 18:18:18 +03:00
bar@bar.mysql.r18.ru
7d5ec45152 Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into bar.mysql.r18.ru:/usr/home/bar/mysql-4.1
2003-10-20 18:53:58 +05:00
bar@bar.mysql.r18.ru
89c794bdad Fix for:
http://bugs.mysql.com/bug.php?id=1022
Description: When a table contains a 'float' field, and one of the functions
MAX, MIN, or AVG is used on that field, the system crashes.
2003-10-20 18:52:45 +05: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
bell@sanja.is.com.ua
9d294b869e correct table name assigned to temporary table field:
- correct table name shown in EXPLAIN Iindex reference)
 - pointer on freed memmory (reallocation of table name in reusing table entry) can't be used in EXPLAIN
(BUG#1584)
2003-10-19 14:25:33 +03:00
bell@sanja.is.com.ua
b9dccb34dd fixed support of used_tables() and const_item() in subqueries
(BUG#1444)
2003-10-17 00:36:01 +03:00
bell@sanja.is.com.ua
a7bdd19707 subqueries made printable
new EXPLAIN parameter to show real query as it was interpreted
(SCRUM) (WL#1274)
2003-10-16 15:54:47 +03:00
serg@serg.mylan
50d9b95b77 merged 2003-10-15 12:25:44 +02:00
bell@laptop.sanja.is.com.ua
ddf4d1e529 fixed printability of Items (all items except subselects)
(SCRUM) (WL#1274)
2003-10-12 17:56:05 +03:00
bell@laptop.sanja.is.com.ua
fa5520fbf8 more resonable errors about name resolving in subqueries (BUG#1483) 2003-10-11 17:41:15 +03:00
serg@serg.mylan
8cc3951c8f key_map with more that 64 bits width 2003-10-11 13:06:55 +02:00
bell@laptop.sanja.is.com.ua
18bb43671d Merge laptop.sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into laptop.sanja.is.com.ua:/home/bell/mysql/bk/work-all_any_group-4.1
2003-10-07 01:31:16 +03:00
bell@laptop.sanja.is.com.ua
e527f268d5 fixed error names 2003-10-06 22:35:05 +03:00
bell@laptop.sanja.is.com.ua
e1b53fdd42 Merge 2003-10-06 20:55:06 +03:00
bell@laptop.sanja.is.com.ua
9f7b900014 Merge laptop.sanja.is.com.ua:/home/bell/mysql/bk/mysql-5.0
into laptop.sanja.is.com.ua:/home/bell/mysql/bk/work-udf-5.0
2003-09-28 12:00:30 +03:00
pem@mysql.telia.com
6e55a3428a Post-merge fixes. 2003-09-24 15:26:20 +02:00
pem@mysql.com
8d884c02bb Merging 4.1 -> 5.0 2003-09-24 11:29:38 +02:00
bell@sanja.is.com.ua
8554796252 new UDF arguments interface (WL#1017) (SCRUM) 2003-09-13 17:47:59 +03:00
monty@mashka.mysql.fi
7538242e4f merge with 4.1 tree 2003-09-11 20:31:40 +03:00
bell@sanja.is.com.ua
ad07ffbf6d merge 2003-09-09 22:26:19 +03:00
monty@mashka.mysql.fi
80565e1352 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mashka.mysql.fi:/home/my/mysql-tmp
2003-09-07 15:14:32 +03:00
bell@sanja.is.com.ua
0f456a480e fixed string parameter assugnment (coping instead of asigning pointer to buffer) (BUG#1115)
fixed test_field_misc (UTF variable value)
2003-09-02 14:37:06 +03:00
monty@narttu.mysql.fi
77a70a0a24 merge with 4.0.15 2003-08-29 13:44:35 +03:00
vva@eagle.mysql.r18.ru
60fc3ae02b Merge 2003-08-27 21:26:00 -04:00
vva@eagle.mysql.r18.ru
cde2b50514 fixed bug #910 (right type of ifnull function) 2003-08-27 19:11:54 -04:00
pem@mysql.telia.com
08e5a7e135 Post-merge fixes. 2003-08-26 17:41:40 +02:00
bell@laptop.sanja.is.com.ua
eb3240a908 merge 2003-08-26 16:49:53 +03:00
pem@mysql.com
7f158dd12a Merge 4.1 into 5.0 2003-08-26 11:51:09 +02:00
bell@laptop.sanja.is.com.ua
5553868638 fixed bug of lack of fix_fields call (after merge bugfix (SCRUM))
fixed bug in Item_sum
fixed bug in dependence remover
after merge fix
2003-08-23 13:29:38 +03:00
serg@serg.mylan
e3a3d00c77 merged 2003-08-21 21:39:22 +02:00
serg@serg.mylan
5bc4965d70 fix for SHOW CREATE TABLE to report corerct second field's length 2003-08-21 20:21:07 +02:00
bell@laptop.sanja.is.com.ua
dd9cbce47b merge 2003-08-19 20:14:35 +03:00
monty@mashka.mysql.fi
eb6458cb18 After merge fixes + bugs from last merge 2003-08-19 16:00:12 +03:00
bell@laptop.sanja.is.com.ua
85f397781b Code cleanup 2003-08-16 13:26:48 +03:00
bell@laptop.sanja.is.com.ua
55094f903f As far as now transformer called after setup_wild() it is impossible to have '*' 2003-08-16 02:04:29 +03:00
bell@sanja.is.com.ua
734a953e27 after merge fix 2003-08-11 13:17:48 +03:00
bell@sanja.is.com.ua
a0fda66f00 merge 2003-08-11 11:51:33 +03:00
bar@bar.mysql.r18.ru
a60acfcfe0 Old style charset() and set_charset() were removed. 2003-08-05 12:52:37 +05:00
bell@sanja.is.com.ua
659650b4ea merge 2003-08-05 09:56:21 +03:00
bell@sanja.is.com.ua
8d0647c6ac merge 2003-08-01 18:24:27 +03:00
bell@sanja.is.com.ua
f59cfa6452 merge 2003-08-01 16:51:54 +03:00
venu@myvenu.com
015a65a7f7 Merge venu@bk-internal.mysql.com:/home/bk/mysql-4.1
into myvenu.com:/home/venu/work/sql/dev-4.1
2003-07-30 02:15:26 -07:00
bar@bar.mysql.r18.ru
f8791c3962 Derivation attribute was not processed correctly
by MAX/MIN in some cases:
SELECT coercibility(max(s1)) from t1;

Subselect collation and derivation was not processed
correctly:

create table a select (select s1 from t1);
select * from t1 where s1 = (select s2 from t1);
2003-07-30 14:15:25 +05:00
venu@myvenu.com
45dcca7351 Fix for timestamp issue (BR #819) 2003-07-30 02:01:53 -07:00
bell@sanja.is.com.ua
6dea500fb2 prevented finding references in item_list for non-SELECT st_select_lex
(fixed BUG#943)
2003-07-29 16:59:46 +03:00
bell@sanja.is.com.ua
bc1546ce31 count HAVING clause elements with select list elements, because agregate function can be present in it (BUG#922)
removerd unused loop_id
2003-07-29 13:00:32 +03:00
bell@sanja.is.com.ua
9ba680040b added warning about external fields resolving to EXPLAIN command
(SCRUM) (WL#1053)
2003-07-25 01:02:42 +03:00
pem@mysql.telia.com
a8a29a39d2 Merging 4.1 into 5.0 (second pass; post-merge fixes).
One test in subselect.test still wrong.
Had to reconstruct all errmsg.txt files completely, since auto-merge made
a mess of the lot. :-(
2003-07-09 17:07:12 +02:00
pem@mysql.telia.com
9c3a7a6ba3 Merge 4.1 into 5.0 (first pass). 2003-07-08 17:50:23 +02:00
bell@sanja.is.com.ua
73fdf52fa2 merged 2003-07-03 11:59:57 +03:00
bell@sanja.is.com.ua
28207ede02 (SCRUM)
It looks like samll revolution in SELECT_LEX tree, but it was only natural way to solve problem with name resolution of external fields inside subselect which belongs to global order of union
also it have following advantages:
 - removed mess with current_select type conversion
   - type checking/converting
   - a lot of virtual methods
 - fake select for union execution allocated only once (it was allocated for every subselect with union executing)

changes:
fixed bug with outer fields name resolution of subqueries which belong to global ORDER BY clause
remuved select_lex() function, now thd->lex.current_select always have type SELECT_LEX
new SELECT_LEX (fake_select_lex) will be allocated in case of UNION for using in UNION processing
fake_select_lex allocated for union hold global ORDER BY & LIMIT clauses and have linkage equal to GLOBAL_OPTIONS_TYPE 
new description of SELECT_LEX tree

(SCRUM)
2003-07-03 02:30:52 +03:00
bell@sanja.is.com.ua
5cd54c6945 fixed typos 2003-07-02 15:03:49 +03:00
bell@sanja.is.com.ua
feb425a9f2 fixed bug, which lead to crash mysqld by running 'mysql some_db_with_tables' 2003-07-02 14:45:35 +03:00
bell@sanja.is.com.ua
2ae8a00b2a Item tree iterator
fixed dependence of items from reduced subquery
(SCRUM)
2003-07-02 13:12:18 +03:00
bell@sanja.is.com.ua
5eaaf8e732 after review changes (SCRUM)
removed outer resolving flag (because of movingtransformation after fix_fields)
2003-07-02 01:45:22 +03:00
bell@sanja.is.com.ua
100a101ab6 Merge 2003-06-30 13:14:18 +03:00
bell@sanja.is.com.ua
08f8ab5917 Merge 2003-06-28 14:32:06 +03:00
bell@sanja.is.com.ua
00f952849d merging 2003-06-27 23:14:20 +03:00
bar@bar.mysql.r18.ru
28b2fcba27 item.cc:
A better comment
2003-06-27 16:09:53 +05:00
bar@bar.mysql.r18.ru
b528745dce When unifying arguments for comparion, binary strings won character strings,
and comparison was done binary. Now, a binary string wins a character sting 
taking in account their derivation. That means a character field wins a
binary literal and comparison is done according to the character field
collation, not binary.
2003-06-27 16:08:52 +05:00
bell@sanja.is.com.ua
6f81b7e027 Item::str_value can't be used for storing value
(fixed error in Item_cache_str)
2003-06-26 15:07:42 +03:00
bell@sanja.is.com.ua
7b77c5a2d3 merged 2003-06-25 23:52:15 +03:00
bar@bar.mysql.r18.ru
cb4539e8de String comparison functions now use the same DTCollation with
CONCAT() and other string functions. This allows to reuse a lot
if code and to simplify further development.
2003-06-24 17:12:07 +05:00
bar@bar.mysql.r18.ru
7371150f2d New class DTCollation (SQL:2003 calls it "declared type collation")
It's a combination of collation and its derivation (precedence order)
2003-06-24 15:11:07 +05:00
bar@bar.mysql.r18.ru
8bd715daa4 Item character set is stored in Item itself now, not in ITem->str_value 2003-06-24 13:37:11 +05:00
bell@sanja.is.com.ua
b171910b2b fixed BUG #679
outer resolved fields now do not marked as dependent if they is not really belong to outer SELECT
one-letter variables name fixed
2003-06-20 10:15:58 +03:00
bell@sanja.is.com.ua
096ae170ae Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-item-4.1
2003-06-19 15:25:41 +03:00
bar@bar.mysql.r18.ru
69af692a5c These functions now return a result of proper collation:
BIN
OCT
CONV
HEX
CHAR
FORMAT
REPLACE
2003-06-19 11:36:44 +05:00
monty@narttu.mysql.fi
dad0664579 merge with public tree 2003-06-05 00:12:45 +03:00
monty@narttu.mysql.fi
23145cfed7 Added SQLSTATE to client/server protocol
bmove_allign -> bmove_align
Added OLAP function ROLLUP
Split mysql_fix_privilege_tables to a script and a .sql data file
Added new (MEMROOT*) functions to avoid calling current_thd() when creating some common objects.
Added table_alias_charset, for easier --lower-case-table-name handling
Better SQL_MODE handling (Setting complex options also sets sub options)
New (faster) assembler string functions for x86
2003-06-04 18:28:51 +03: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
bell@sanja.is.com.ua
01217497b5 merging 2003-05-26 15:52:19 +03:00
bell@sanja.is.com.ua
1a064a43a7 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-top-4.1
2003-05-26 09:28:56 +03:00
bell@sanja.is.com.ua
32262a0fd5 fixed subqueries name resolution with INSERT/REPLACE (found during bug 446 investigation) 2003-05-21 23:35:51 +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
monty@narttu.mysql.fi
dd2b7918cd Merge with 4.0.13 2003-05-19 16:35:49 +03:00
bell@sanja.is.com.ua
3a30eda921 fixed memory overrun (bug 380) 2003-05-17 10:05:07 +03:00
bell@sanja.is.com.ua
e12cc8ef41 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-top-4.1
2003-05-14 22:01:56 +03:00
bell@sanja.is.com.ua
1915632163 subselect transformation moved in after-fix_field place
removed "of is null" if it is possible
  (this cset should be SCRUM related, but not approved as scrum task yet)
2003-05-14 21:51:33 +03:00
monty@mashka.mysql.fi
60dfb25be3 Give warning if MySQL doesn't honor given storage engine
Allow syntax CREATE TABLE t1 (LIKE t2)
2003-05-13 11:15:11 +03:00
monty@narttu.mysql.fi
c858d72588 merge 2003-05-06 01:42:33 +03:00
monty@narttu.mysql.fi
51f9879008 Removed compiler warnings
Fixed memory leak in new filesort code
Optimzed sub selects to use keys with outer references.
Increased max tables in join to 62
2003-05-06 01:38:38 +03:00
vva@eagle.mysql.r18.ru
afd581edd3 made lex a pointer in THD 2003-05-05 14:54:37 -04:00
serg@serg.mylan
784fb81426 INSERT ... UPDATE ... VALUES() 2003-05-03 01:16:56 +02:00
pem@mysql.com
35c82164f6 Merged 4.1 to 5.0. 2003-04-29 12:06:04 +02: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
Sinisa@sinisa.nasamreza.org
5dc8dbea5f merge fix 2003-04-26 15:26:28 +03:00
bar@bar.mysql.r18.ru
6d5f527afd Variable names have been renamed:
client_collation -> collation_client
  result_collation -> collation_results
  connection_collation -> collation_connection
2003-04-23 18:19:22 +05:00
bar@bar.mysql.r18.ru
a3d08eaaf9 I renamed system variable literal_collation into connection_collation 2003-04-22 12:27:35 +05:00
Sinisa@sinisa.nasamreza.org
8902b739e9 Merge sinisa@bk-internal.mysql.com:/home/bk/mysql-4.1
into sinisa.nasamreza.org:/mnt/work/mysql-4.1
2003-04-17 13:47:37 +03:00