Commit graph

177 commits

Author SHA1 Message Date
bar@mysql.com
2fc0d7e422 An extra "separator" class member was removed from Item_func_concat_ws.
args[0] is now used instead.
2004-10-28 11:43:31 +05:00
bell@sanja.is.com.ua
7f896917b8 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-5.0
into sanja.is.com.ua:/home/bell/mysql/bk/work-view-5.0
2004-10-22 09:53:08 +03:00
bell@sanja.is.com.ua
84d4c4eb05 fixed printing of substring_index (BUG#5911) 2004-10-21 13:11:15 +03:00
igor@rurik.mysql.com
71f6ab7a09 Merge for Item_equal. 2004-10-09 10:34:13 -07: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
bell@sanja.is.com.ua
3ef0b19cd3 fixed & added comments (according to Igor's review and a bit more) 2004-10-07 01:45:06 +03:00
bell@sanja.is.com.ua
09b316f051 updateability of field with collation support (BUG#5506) 2004-09-16 23:45:20 +03:00
bell@sanja.is.com.ua
392c306969 fixed open_and_lock_tables result processing (all open_and_lock_tables revision)
fixed printing of COLLATE operation
(BUG#5155)
2004-08-31 10:06:38 +03:00
serg@serg.mylan
0452d59d22 in 4.1 DATABASE() may be NULL 2004-07-16 13:21:58 +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
bell@sanja.is.com.ua
8035ce40ec DBUG_ASSERT(fixed == 0) added to fix_fields() 2004-03-17 14:26:26 +02:00
serg@serg.mylan
de6d3b8dff UNHEX() function 2004-03-04 23:18:54 +01:00
serg@serg.mylan
65077a8a0e fix CHARSET(UUID()) 2004-02-27 23:59:09 +01:00
serg@serg.mylan
ed2e1aa14d my_gethwaddr() for linux/freebsd
UUID() function
2004-02-27 20:30:08 +01: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
bar@bar.intranet.mysql.r18.ru
4e77123079 Bug 2701: Function CHARSET() inconsistency
CONVERT3 was removed, it was for test purposes,
and rather harmful.
2004-02-11 16:53:39 +04: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
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
igor@rurik.mysql.com
c236568ac9 Auto Merge 2003-12-23 02:24:12 -08:00
monty@mysql.com
e0cc6799ec Merge with 4.0.17 2003-12-17 17:35:34 +02:00
gluh@gluh.mysql.r18.ru
d626c313e5 Fix for bug#1944 'Function RPad() sometimes produce unexpected result' 2003-12-04 14:12:01 +04: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
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
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@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
serg@serg.mylan
7d2b0a0ce7 Merge bk-internal:/home/bk/mysql-4.1/
into serg.mylan:/usr/home/serg/Abk/mysql-4.1
2003-09-03 15:40:19 +02:00
kostja@oak.local
36dd82c1d5 merge commit, hope that none of bar and dlenev changes were
lost.
2003-09-03 14:12:10 +04:00
serg@serg.mylan
755455e15c merged 2003-09-03 12:07:18 +02:00
serg@serg.mylan
58bdc6f5e1 use crc32() from bundled zlib if system zlib is unavailable 2003-08-21 18:30:43 +02:00
serg@serg.mylan
08d7f298ee fixed a crash on COMPRESS() and other zlib-dependent functions when compiled w/o zlib
moved them all from different places to item_strfunc.{h,cc}
checksum table command
Com_xxx status variables updated
2003-08-21 16:15:06 +02:00
bell@sanja.is.com.ua
a0fda66f00 merge 2003-08-11 11:51:33 +03:00
kostja@oak.local
c23975aace Merge oak.local:/home/kostja/mysql/mysql-4.1-root
into oak.local:/home/kostja/mysql/mysql-4.1
2003-08-07 13:29:25 +04:00
bar@bar.mysql.r18.ru
a60acfcfe0 Old style charset() and set_charset() were removed. 2003-08-05 12:52:37 +05:00
kostja@oak.local
7dab500b7a Merge oak.local:/home/kostja/mysql/mysql-4.1-root
into oak.local:/home/kostja/mysql/mysql-4.1
2003-07-17 14:55:13 +04:00
bell@sanja.is.com.ua
a6b1a6fe3a merge 2003-07-16 13:58:11 +03:00
bar@bar.mysql.r18.ru
91d93f6f61 ELT passes the first argument in args[0] instead of having a separate Item. 2003-07-15 18:11:49 +05:00
kostja@oak.local
a232225b69 Preliminary support for options --secure-auth,
--old-passwords
Support for option --old-protocol was removed.
Some test performed.
Tests for SSL and replication are pending.
More strict following to specification for --old-passwords
is in the TODO.
2003-07-08 02:36:14 +04:00
kostja@oak.local
1d20b23247 Bug fixes for authentication
OLD_PASSWORD made a keyword to allow set password=old_password('abc') constructions.
2003-07-04 20:52:04 +04: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
kostja@oak.local
7df0475847 First version of new authentification procedure: now authentification is one-stage (instead of two-stage in 4.1)
For now following tasks have been done:
- PASSWORD() function was rewritten. PASSWORD() now returns SHA1
  hash_stage2; for new passwords user.password contains '*'hash_stage2; sql_yacc.yy also fixed; 

- password.c: new functions were implemented, old rolled back to 4.0 state

- server code was rewritten to use new authorization algorithm (check_user(), change
  user, and other stuff in sql/sql_parse.cc)

- client code was rewritten to use new authorization algorithm
  (mysql_real_connect, myslq_authenticate in sql-common/client.c)

- now server barks on 45-byte-length 4.1.0 passwords and refuses 4.1.0-style
  authentification. Users with 4.1.0 passwords are blocked (sql/sql_acl.cc)

- mysqladmin.c was fixed to work correctly with new passwords

Tests for 4.0-4.1.1, 4.1.1-4.1.1 (with or without db/password) logons was performed;
mysqladmin also was tested. Additional check are nevertheless necessary.
2003-07-01 23:40:59 +04:00
bar@bar.mysql.r18.ru
c6c4e8b8e1 LOCATE(), INSTR(), POSITION(), FIND_IN_SET(), SUBSTRING_INDEX()
now process arguments according to standard SQL collation determation
rules.
2003-06-25 15:07:20 +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
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
bar@bar.mysql.r18.ru
22a7449c7c LOAD_FILE() is now COERCIBLE
LOAD_FILE() tests
2003-06-10 17:53:06 +05:00
bar@bar.mysql.r18.ru
3d08cfecd4 Some more functions work according to coercibility now:
repeat, reverse, quote, soundex, substring
Test func_str has been extended to check them
2003-06-10 14:54:03 +05:00
bar@bar.mysql.r18.ru
1ef8b2e34a LTRIM, RTRIM and TRIM now honors coercibility
LTRIM, RTRIM and TRIM now work fine with ucs2
2003-06-03 16:57:14 +05:00
ram@mysql.r18.ru
a36d4212fc Moved spatial functions to the sql/item_geofunc.cc file. 2003-05-30 15:22:34 +05:00
bar@bar.mysql.r18.ru
ff02bddc1a Automatic conversion into supersets (utf8, ucs2) for comparison in some cases
USER(), DATABASE() and VERSION() return in utf8 now
2003-05-23 10:45:46 +05:00
bar@bar.mysql.r18.ru
5b643e5527 USER, DATABASE and VERSION functions returns now IMPLICIT coercibility 2003-05-22 18:41:47 +05:00
vva@eagle.mysql.r18.ru
02ad1b95e3 Merge 2003-04-10 10:25:21 -04:00
vva@eagle.mysql.r18.ru
950fa7aa8a added compress/uncompress function 2003-04-09 20:50:30 -04:00
ram@mysql.r18.ru
2180fa858b AsWKB() function has been added. 2003-04-03 15:13:14 +05:00
Sinisa@sinisa.nasamreza.org
165b3960be Fixing crashing bugs as reported in bugs database
#195
2003-03-28 16:57:03 +02:00
bar@bar.mysql.r18.ru
c87303d4a2 All charset related actions have been moved from fix_fields() to fix_length_and_dec() 2003-03-21 17:21:45 +04:00
bar@bar.mysql.r18.ru
f63218b39a Getting closer to be more SQL99 in dyadic operations 2003-03-19 15:55:17 +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
78da2ad7bd SELECT BINARY expr
is now synonim for
SELECT expr COLLATE <expr_charset>_bin
2003-03-04 19:53:53 +04:00
bar@bar.mysql.r18.ru
48cdd97866 Strings which appear without charset context,
like number-to-string-convertion-result, now 
takes current database character set, instead of
thread character set. This makes it easy to be
SQL99 conformant and 4.0 compatible.

Item->thd_charset() is renamed to Item->default_charset()
as old name doesn't describe its nature anymore.
2003-03-03 10:53:08 +04:00
bar@bar.mysql.r18.ru
8f90a0329b sql_yacc.yy, item_strfunc.cc:
Two separate functions charset() and collatio()
item_strfunc.h:
  Two separate functions charset() and collation()
2003-02-27 16:53:10 +04:00
monty@mashka.mysql.fi
48558055ed Move tmp_table_used to THD
Optimize depending sub querys
Remove valgrind warnings
2003-02-10 17:59:16 +02:00
monty@mashka.mysql.fi
25de9c19b2 After merge fixes & remove compiler warnings
Added lengths for all MYSQL_FIELD string parameters
Changed field length to 2 byte in .frm files
2003-02-07 15:47:24 +02:00
monty@mashka.mysql.fi
023d6dd39b Merge with 4.0.11 2003-02-04 21:52:14 +02:00
bell@sanja.is.com.ua
5ed5dac01b cyclic reference test removed, becouse testing of Item::fixed field apply more strict limitation 2003-01-30 14:35:07 +02:00
monty@mashka.mysql.fi
9e3fd09305 merge with 3.23.56 to get patches for --lower-case-table-names and
proper handling of SUM() in some functions.
2003-01-29 19:22:22 +02:00
bar@bar.mysql.r18.ru
735399a850 Move latin1 into a separarte file 2003-01-29 17:31:20 +04:00
bell@sanja.is.com.ua
c6beb583f6 fixed functions to be able work with group function as argument
made bisone 1.75 compatible code
2003-01-29 10:38:56 +02:00
bell@sanja.is.com.ua
372e2130e4 fixed test of cardinality 2003-01-21 13:55:26 +02:00
monty@mashka.mysql.fi
8acc22296c Change client_flag to unsigned long (16 -> 32 bits) to handle more options.
Don't use new password format if mysql.user has old format
tables_priv was not reset on FLUSH PRIVILEGES if tables_priv was empty
Portability fixes for Windows
2003-01-18 16:39:21 +02:00
peter@mysql.com
3b425c8ba5 Merge mysql.com:/home/pz/mysql/mysql-4.1-root
into mysql.com:/home/pz/mysql/mysql-4.1
2003-01-01 20:11:18 +03:00
peter@mysql.com
6bc97ffaee SCRUM
Add optional second parameter to password() function. It can be used to force password()
to return fixed values.
2002-12-27 19:47:23 +03:00
bell@sanja.is.com.ua
1dd7cb52ae support of subselect without FROM reducing (SCRUM)
fixed bug of calling setup_fields without correct lex->current_select pointer in mysql_derived
more correct creation of reference in Item_field::fix_field
2002-12-26 01:28:59 +02:00
peter@mysql.com
08f51eaedd Merging.... 2002-11-29 22:03:14 +03:00
bell@sanja.is.com.ua
4be2cfd62d merging 2002-11-27 19:31:11 +02:00
monty@mashka.mysql.fi
4cefc97f65 Fixed CAST( xxx as CHAR) 2002-11-25 17:33:51 +02:00
peter@mysql.com
925155cf5a Merge.... 2002-11-24 17:26:26 +03:00
bell@sanja.is.com.ua
7a9f47759e basic row Items (SCRUM) 2002-11-15 20:32:09 +02:00
bell@sanja.is.com.ua
41d9311621 fixed cyclic reference bug 2002-11-14 00:26:18 +02:00
bar@bar.mysql.r18.ru
442509acdd USER(), DATABASE() and CHARSET() functions are now UCS2 compatible
Bug fix in ctype-utf8.c
2002-11-11 18:43:33 +04:00
peter@mysql.com
cc18dc7291 Merge mysql.com:/home/pz/mysql/mysql-4.1-root
into mysql.com:/home/pz/mysql/mysql-4.1
2002-10-30 18:03:09 +03:00
bar@bar.mysql.r18.ru
637b97991d Use item->set_charset() instead of item->str_value.set_charset() 2002-10-30 15:15:18 +04:00
peter@mysql.com
1545cbccd3 Merge mysql.com:/home/pz/mysql/mysql-4.1-root
into mysql.com:/home/pz/mysql/mysql-4.1
2002-10-27 13:13:31 +03:00
bar@bar.mysql.r18.ru
95aef91521 BINARY charset is now used instead of binary_flag 2002-10-25 13:58:32 +05:00
peter@mysql.com
d21402052c One more commit to do the merge of new 4.1 tree 2002-10-06 13:42:16 +04:00
peter@mysql.com
de57e9ba35 Merge mysql.com:/home/pz/mysql/mysql-4.1-root
into mysql.com:/home/pz/mysql/mysql-4.1
2002-10-03 22:48:53 +04:00
peter@mysql.com
66b1435ee2 Merging... 2002-10-03 00:13:08 +04:00
peter@mysql.com
f1155a98a4 Changeset to deal with 4.1 -> 4.0 merge 2002-10-02 23:43:27 +04:00
monty@mashka.mysql.fi
0f39457613 Merge with 4.0.4 2002-10-02 17:55:12 +03:00
monty@mashka.mysql.fi
a748b35ddd merge with work 2002-10-02 13:45:16 +03:00
monty@mashka.mysql.fi
70b1d53883 merge with 3.23.53 (only code cleanup and new test case) 2002-09-18 02:04:56 +03:00
monty@mashka.mysql.fi
74744466b1 Fixed bug with BINARY NULL 2002-09-18 02:00:56 +03:00
bar@bar.mysql.r18.ru
ad91c3b77d Fixed that:
SELECT * FROM t WHERE (c COLLATE latin1) >'a'
might fail in some cases
2002-09-13 14:11:06 +05:00
monty@narttu.mysql.fi
7134ffec21 Merge with 4.0.3
Some simple optimzations, more comments and indentation changes.
Add ` around database in 'use database' in binary log.
Moved max_error_count and max_warning_count to variables struct.
Removed SHOW_WARNS_COUNT and SHOW_ERRORS_COUNT calls.
Changed string functions to use character set of first string argument as default return characterset
(Each string function can change the above assumption if needed)
2002-08-30 12:40:40 +03:00
bar@bar.mysql.r18.ru
dd5382187e Fix that this didn't work as far as sorting for ORDER BY was removed by optimizer:
SELECT k FROM t1 GROUP BY k COLLATE latin1 ORDER BY k COLLATE latin1_de
2002-08-26 17:33:44 +05:00
Sinisa@sinisa.nasamreza.org
22bcce253e Adding a necessary functionality to ::store and ::save_in_field
that will take place properly after pull from 4.0, in order to 
handle conversions from quoted constants to bigint's.
2002-08-24 14:49:04 +03:00
bar@bar.mysql.r18.ru
faaddbd214 Stupid bug fixes in sql_yacc.cc
New class Item_func_set_collation()
Fixed that "SELECT CONVERT(expr USING charset) GROUP BY 1" was not working
New COLLATION syntax:  <expr> COLLATE latin1
2002-08-22 18:12:45 +05:00
ram@ram.(none)
cdd1d57ee3 Merge rkalimullin@work.mysql.com:/home/bk/mysql-4.0
into ram.(none):/home/ram/work/mysql-4.0
2002-08-09 15:46:01 +05:00
ram@ram.(none)
b43eb82b10 QUOTE() func changes according to monty's suggestions 2002-08-09 15:42:38 +05:00