summaryrefslogtreecommitdiff
path: root/sql/item.h
Commit message (Collapse)AuthorAgeFilesLines
* After merge fixesmonty@mysql.com2004-12-311-2/+2
|
* Merge with 4.1monty@mishka.local2004-12-221-4/+76
|\
| * Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1ram@gw.mysql.r18.ru2004-12-141-1/+1
| |\ | | | | | | | | | into gw.mysql.r18.ru:/usr/home/ram/work/4.1
| | * bug#6275 "client_test" fail in 4.1.7 make testbar@mysql.com2004-12-141-1/+1
| | | | | | | | | | | | bug#6911 resultset metadata always return client character set
| * | A quick fix for bug #7257: Crash in default tests: 'subselect'ram@gw.mysql.r18.ru2004-12-141-2/+2
| |/
| * * Added comments and one assertsergefp@mysql.com2004-12-141-0/+1
| | | | | | | | | | * Backport of safety measures from 5.0: make numeorous replaces: s/item->fix_fields()/if (!item->fixed) item->fix_fields()
| * Merge of fix for BUG#6976 continued: pulling in some Item_ref changes from 5.0sergefp@mysql.com2004-12-141-19/+22
| | | | | | | | | | | | | | * 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
| * Merged fixes for BUG#6976 and BUG#7079sergefp@mysql.com2004-12-131-0/+4
| |
| * Merged (will need a post-merge fix)sergefp@mysql.com2004-12-131-0/+21
| |\
| | * Merging fix for BUG#6976 from 4.0 to 4.1 sergefp@mysql.com2004-12-131-0/+21
| | | | | | | | | | | | | | | | | | 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).
| * | comment of class eddedbell@sanja.is.com.ua2004-12-131-0/+4
| | |
| * | new reference which refer to current value not to result used for ↵bell@sanja.is.com.ua2004-12-111-0/+39
| |/ | | | | | | | | | | | | resolving outer refernces if subqueri is not in HAVING clause (BUG#7079) and the same used for subquery transformetion
* | bit typeram@gw.mysql.r18.ru2004-12-171-3/+10
| |
* | Update results for new varchar handlingmonty@mysql.com2004-12-071-2/+3
| | | | | | | | | | Fixed compiler warnings String results in CREATE ... SELECT are now created as CHAR(0), VARCHAR(X) or TEXT() depending on item->max_length
* | Merge with 4.1monty@mysql.com2004-12-061-3/+3
|\ \ | |/
| * init values to avoid junk returning in case of null value asking without ↵bell@sanja.is.com.ua2004-11-251-3/+3
| | | | | | | | assigning value (BUG#6806)
* | protection: TRASH in deleteserg@serg.mylan2004-11-281-2/+3
| | | | | | | | fixed a bug that it discovered
* | Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-5.0bell@sanja.is.com.ua2004-11-251-1/+14
|\ \ | | | | | | | | | into sanja.is.com.ua:/home/bell/mysql/bk/work-join-5.0
| * \ Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-5.0bell@sanja.is.com.ua2004-11-241-0/+1
| |\ \ | | | | | | | | | | | | into sanja.is.com.ua:/home/bell/mysql/bk/work-error-5.0
| | * | fixed problem in MacOSbell@sanja.is.com.ua2004-11-241-0/+1
| | | | | | | | | | | | | | | | correct printing of aliases
| * | | Fix for bug #5888 "Triggers with nonexistent columns cause packetsdlenev@brandersnatch.localdomain2004-11-241-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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).
| * | | mergedserg@serg.mylan2004-11-221-0/+10
| |\ \ \ | | |/ / | |/| / | | |/
| | * A fix and test case for Bug#6297 "prepared statement, wrong handlingkonstantin@mysql.com2004-11-211-0/+10
| | | | | | | | | | | | | | | | | | of <parameter> IS NULL": we must not only set Item::null_value in Item_param, but implement Item_param::is_null() to work well with IS NULL/IS NOT NULL clauses.
* | | mergebell@sanja.is.com.ua2004-11-211-0/+3
|\ \ \ | |/ / |/| |
| * | mergebell@sanja.is.com.ua2004-11-111-0/+3
| |\ \
| | * \ mergebell@sanja.is.com.ua2004-10-051-3/+24
| | |\ \
| | | * | fixed merged view fields names (BUG#5147)bell@sanja.is.com.ua2004-09-141-3/+24
| | | | | | | | | | | | | | | | | | | | support of merged VIEW over several tables added (WL#1809)
* | | | | Merge baker@bk-internal.mysql.com:/home/bk/mysql-5.0brian@avenger.(none)2004-11-111-0/+3
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | into avenger.(none):/export/brian/mysql/test/5.0
| * \ \ \ \ Resolved merge from 4.1 -> 5.0 (mainly Guilhem's work with mysqldump)brian@avenger.(none)2004-11-111-0/+3
| |\ \ \ \ \ | | |/ / / / | |/| | | / | | | |_|/ | | |/| |
| | * | | 1. When mixing NULL to a character string,bar@mysql.com2004-11-101-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | Rename: Item::val -> Item::val_real().konstantin@mysql.com2004-11-111-20/+20
|/ / / /
* | | | merge on pullmonty@mysql.com2004-11-091-3/+26
|\ \ \ \
| * | | | After merge fixesmonty@mysql.com2004-11-081-0/+1
| | | | |
| * | | | Merge with 4.1 to get in latest bug fixesmonty@mysql.com2004-11-041-3/+25
| |\ \ \ \ | | |/ / /
| | * | | Many files:bar@mysql.com2004-11-021-3/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow mixing of different character sets for more SQL functions. item_func.h: Allow mixing of different character sets for more SQL functions..
| | * | | Allow to convert to non-Unicode charset when mixing a stringbar@mysql.com2004-10-291-3/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | postreview fixesbell@sanja.is.com.ua2004-11-081-0/+1
|/ / / /
* | | | Fixes after merge with 4.1monty@mysql.com2004-11-031-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | merge with 4.1monty@mysql.com2004-10-291-28/+42
|\ \ \ \ | |/ / /
| * | | Merge bk-internal.mysql.com:/home/bk/mysql-4.1monty@mysql.com2004-10-221-1/+2
| |\ \ \ | | | | | | | | | | | | | | | into mysql.com:/home/my/mysql-4.1
| | * | | Fix compiler warnings (detected by Intel's C++ compiler)monty@mysql.com2004-10-221-1/+2
| | | | | | | | | | | | | | | | | | | | Fixed checking of privilege handling in CREATE ... SELECT (Bug #6094)
| * | | | Followup to fix for bug#6050: fix valgrind warnings.konstantin@mysql.com2004-10-221-2/+3
| |/ / /
| * | | A fix and test case for Bug#6050 "EXECUTE stmt reports ambiguous field konstantin@mysql.com2004-10-221-4/+13
| | | | | | | | | | | | | | | | | | | | names with ident. tables fr. diff. schemata": revise all uses of Item_field and make them prepared-statements friendly when necessary.
| * | | item.h:konstantin@mysql.com2004-10-121-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A fix for Bug#6042 "constants propogation works olny once (prepared statements)": reset item->marker in Item::cleanup, as it's used in propogate_cond_constants. No test case as the only way I could come up with to show the problem is EXPLAIN, and EXPLAIN is painful to use in the test suite.
| * | | Merge bk-internal.mysql.com:/home/bk/mysql-4.1konstantin@mysql.com2004-10-101-1/+1
| |\ \ \ | | | | | | | | | | | | | | | into mysql.com:/media/sda1/mysql/mysql-4.1-hook
| | * | | A fix and test case for Bug#5987 "subselect in bool function konstantin@mysql.com2004-10-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | args_copy and cleunup() removed from Item_sumbell@sanja.is.com.ua2004-10-091-0/+1
| |/ / / | | | | | | | | | | | | registration changing ITEM_SUM arguments added
| * | | Deployment of centralized Item change registry, step 2: Item_ref konstantin@mysql.com2004-10-081-17/+10
| | | | | | | | | | | | | | | | doesn't need to have it's own recovery mechanism.
| * | | A fix for Bug#5748 "Prepared statement with BETWEEN and bigint values konstantin@mysql.com2004-10-081-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | some comments addedbell@sanja.is.com.ua2004-09-251-1/+13
| | | |