Sergei Golubchik
227510e039
parser cleanup: don't store field properties in LEX, use Create_field directly
...
length/dec/charset are still in LEX, because they're also used
for CAST and dynamic columns.
also
1. fix "MDEV-7041 COLLATION(CAST('a' AS CHAR BINARY)) returns a wrong result"
2. allow BINARY modifier in stored function RETURN clause
3. allow "COLLATION without CHARSET" in SP/SF (parameters, RETURN, DECLARE)
4. print correct variable name in error messages for stored routine parameters
2014-12-04 16:09:34 +01:00
Sergei Golubchik
8360e1a5b5
MDEV-6712 THD specifics for plugins
...
thd_specifics service
2014-12-04 10:41:55 +01:00
Sergei Golubchik
7516a3c7f4
strict_password_validation
2014-12-04 10:41:55 +01:00
Sergei Golubchik
b814046719
validate SET PASSWORD
2014-12-04 10:41:55 +01:00
Sergei Golubchik
dccd85e7c7
cleanup: s/(OLD_)?PASSWORD/&_SYM/g
2014-12-04 10:41:54 +01:00
Sergei Golubchik
8934794a70
password validation function in sql_acl.cc
2014-12-04 10:41:54 +01:00
Sergei Golubchik
c98b2b393d
password validation plugin type and a simple plugin
2014-12-04 10:41:54 +01:00
Sergei Golubchik
b5357f025b
GRANT: calculate pasword hash in sql_acl.cc
...
don't do it in the parser, one should not make run-time
decisions (like, checking thd->variables.old_passwords variable)
during parsing.
2014-12-04 10:41:54 +01:00
Sergei Golubchik
7bd9eb1f41
parser: store the password hash in LEX_USER::auth, not in ::password
...
* indeed, "username IDENTIFIED BY PASSWORD hash" is the same
as "username IDENTIFIED VIA mysql_native_password USING hash"
* LEX_USER::password can now be used for plain-text passwords
2014-12-04 10:41:54 +01:00
Sergei Golubchik
91ad0cd580
sql_acl.cc: better recognize the context to tell the role from a user
...
REQUIRE and MAX_QUERIES_PER_HOUR can not possibly apply to a role
2014-12-04 10:41:54 +01:00
Sergei Golubchik
bc603c604d
bugfix: IDENTIFIED BY clause was lost in some GRANT variants
2014-12-04 10:41:54 +01:00
Sergei Golubchik
61820bca9b
cleanup: sql_acl.cc
...
* remove no-op check_password_policy() and references to it
* add 'static' to functions that need it
* remove unused function check_acl_user()
2014-12-04 10:41:53 +01:00
Sergei Golubchik
f5722f5851
cleanup: normalize LEX_USER to get rid of different representation of the same thing
...
username IDENTIFIED BY PASSWORD xxx
username IDENTIFIED VIA mysql_native_password USING xxx
etc
also check for valid strlen(xxx)
2014-12-04 10:41:53 +01:00
Sergei Golubchik
c1204da1c7
cleanup: bool_variable= -1; -> bool_variable= true;
2014-12-04 10:41:53 +01:00
Sergei Golubchik
4027e3b885
don't load plugin of unsupported types
2014-12-04 10:41:53 +01:00
Sergei Golubchik
77e3cb7dc1
cleanup: sql_plugin.cc
...
* test for opt->name being non-NULL *before* dereferencing it
* remove unused argument in cleanup_variables()
* simplify
2014-12-04 10:41:53 +01:00
Sergei Golubchik
23fa0a367b
fix a comment
2014-12-04 10:41:53 +01:00
Sergei Golubchik
fc40f81eda
a case of uninitialized variable
2014-12-04 10:41:53 +01:00
Sergei Golubchik
e4f973930c
MDEV-6999 Remove or deprecate unused variables
2014-12-04 10:41:52 +01:00
Sergei Golubchik
6a2fbdf948
MDEV-6979 simplify trigger rules for RBR triggers
...
Rows_log_event::write_row - don't optimize DELETE+INSERT
into UPDATE if RBR triggers are used
2014-12-04 10:41:52 +01:00
Sergei Golubchik
0438f12540
MDEV-6980 OUT parameters in PREPARE
...
revert the patch for "out parameters in prepare"
2014-12-04 10:41:52 +01:00
Sergei Golubchik
2ae7541bcf
cleanup: s/const CHARSET_INFO/CHARSET_INFO/
...
as CHARSET_INFO is already const, using const on it
is redundant and results in compiler warnings (on Windows)
2014-12-04 10:41:51 +01:00
Sergei Golubchik
20c3b2ff80
MDEV-6311 Add errors on CREATE SERVER
...
fail CREATE SERVER foreign data wrapper is "mysql"
and neither HOST nor SOCKET are specified.
Also default PORT to 3306 (again, only for foreign
data wrapper "mysql")
2014-12-04 10:41:51 +01:00
Sergei Golubchik
97a913e31c
cleanup: freshen up CREATE SERVER code
...
* pass LEX_STRING's from the parser, don't ignore the length only to strlen later
* init LEX::server_options only for SERVER commands, not for every statement
* don't put temporary values into a global persistent memroot
but really it's just scratching a surface
2014-12-04 10:41:51 +01:00
Nirbhay Choubey
a50ddebb5c
MDEV-6593 : domain_id based replication filters
...
Implementation for domain ID based filtering of replication events.
2014-12-03 22:30:48 -05:00
Sergei Golubchik
316d8c7fc8
compiler warning
2014-12-03 11:58:33 +01:00
Sergei Golubchik
ec4137c62b
Merge branch '10.1' into bb-10.1-merge
2014-12-03 11:37:26 +01:00
Sergei Golubchik
853077ad7e
Merge branch '10.0' into bb-10.1-merge
...
Conflicts:
.bzrignore
VERSION
cmake/plugin.cmake
debian/dist/Debian/control
debian/dist/Ubuntu/control
mysql-test/r/join_outer.result
mysql-test/r/join_outer_jcl6.result
mysql-test/r/null.result
mysql-test/r/old-mode.result
mysql-test/r/union.result
mysql-test/t/join_outer.test
mysql-test/t/null.test
mysql-test/t/old-mode.test
mysql-test/t/union.test
packaging/rpm-oel/mysql.spec.in
scripts/mysql_config.sh
sql/ha_ndbcluster.cc
sql/ha_ndbcluster_binlog.cc
sql/ha_ndbcluster_cond.cc
sql/item_cmpfunc.h
sql/lock.cc
sql/sql_select.cc
sql/sql_show.cc
sql/sql_update.cc
sql/sql_yacc.yy
storage/innobase/buf/buf0flu.cc
storage/innobase/fil/fil0fil.cc
storage/innobase/include/srv0srv.h
storage/innobase/lock/lock0lock.cc
storage/tokudb/CMakeLists.txt
storage/xtradb/buf/buf0flu.cc
storage/xtradb/fil/fil0fil.cc
storage/xtradb/include/srv0srv.h
storage/xtradb/lock/lock0lock.cc
support-files/mysql.spec.sh
2014-12-02 22:25:16 +01:00
Kristian Nielsen
1eed274848
Fix wording in error log message, to be consistent with other messages ("IO thread" -> "I/O thread").
2014-12-02 12:11:07 +01:00
Oleksandr Byelkin
3502d74121
MDEV-7015: SET STATEMENT old_passwords has no effect
...
Decision about algorihtm moved on prepare phase.
Made possible to add mpore password algorithms.
2014-12-02 10:59:44 +01:00
Oleksandr Byelkin
53ff66fe31
MDEV-6996: SET STATEMENT default_week_format = .. has no effect
...
Change constant with a system variable.
2014-12-02 09:29:53 +01:00
Sergei Petrunia
8722b6de4d
Code cleanup
2014-12-02 02:14:17 +03:00
Sergei Petrunia
0000695025
EXPLAIN FORMAT=JSON
...
Add support for semi-join strategies: FirstMatch, DuplicateWeedout,
LooseScan.
2014-12-02 01:40:10 +03:00
Sergei Petrunia
a35b05399e
EXPLAIN FORMAT=JSON: Do set usable_key_parts for key in the temp. table
...
If we didn't do it, SJ-Materialization table would appear to
EXPLAIN JSON code as having different keyparts than it actually
has. This caused unpredictable content in "used_key_parts"
2014-12-02 01:22:16 +03:00
Sergei Petrunia
5c5a8b1cc8
Merge ../10.1 into bb-10.1-explain-json
2014-12-02 00:32:31 +03:00
Sergei Petrunia
54392f0a22
MDEV-7245: Incorrect display of subquery cache in union.result
...
- Do set nest_level and nest_level_base for fake_select_lex objects.
2014-12-02 00:18:57 +03:00
Sergei Petrunia
753718c201
EXPLAIN FORMAT=JSON: support SJ-Materialization
...
- Switch Explain data structure from "flat" representation of
SJ-Materialization into nested one.
- Update functions that print tabular output to operate on the
nested structure.
- Add function to generate JSON output.
2014-12-01 21:35:31 +03:00
Sergei Golubchik
dbbe831096
don't skip wsrep position recovery silently
...
control scripts (mysqld_safe for example) want to know
whether a recovery was successful or not.
total silence is too suspicious to be trusted.
2014-12-01 15:25:07 +01:00
Sergei Golubchik
bb070f9367
MDEV-7188 main.signal_demo3 and sys_vars.max_sp_recursion_depth_func fail in biuldbot on labrador with Thread stack overrun
...
reduce stack requirememnts for CALL by just a little bit
2014-12-01 10:31:57 +01:00
Nirbhay Choubey
2b40a389a5
MDEV-4412 : SLOW QUERY LOG - add affected rows (UPDATE / DELETE) in slow query log
...
Added Rows_affected to slow query log & mysql.slow_log table.
2014-11-30 21:13:41 -05:00
Nirbhay Choubey
3e792e6cbc
MDEV-4018 : Feature Request: microseconds in GET_LOCK()
...
Updated MDL_context's lock methods to accept double precision
lock_wait_timeout.
2014-11-30 01:05:34 -05:00
Nirbhay Choubey
5298e21c32
MDEV-6961: mysqld should terminate when started with --wsrep-recover
...
Fixed the condition to make sure mysqld process terminates when
started with wsrep-recover.
2014-11-30 00:12:45 -05:00
Sergei Petrunia
c46eadb2b3
EXPLAIN FORMAT=JSON: support EXPLAIN FORMAT=JSON INSERT ...
2014-11-29 03:28:46 +03:00
Sergei Petrunia
e235bb864d
ANALYZE FORMAT=JSON: better output and tests
...
- Print r_loops
- Always print r_* members. Print NULL values if no scans took place
- Added testcases.
2014-11-29 03:07:24 +03:00
Sergei Petrunia
0b5d989c89
EXPLAIN FORMAT=JSON: Add support for non-merged semi-joins
2014-11-29 01:08:18 +03:00
Sergei Petrunia
2ac3b39e68
EXPLAIN FORMAT=JSON: support derived tables
2014-11-28 22:23:29 +03:00
Sergei Petrunia
d5fbfb9a93
EXPLAIN FORMAT=JSON: Add support for single-table UPDATE/DELETE.
2014-11-28 02:36:31 +03:00
Alexey Botchkov
d0d6284cab
MDEV-4045 Missing OGC Spatial functions.
...
Missing GIS functions added:
IsRing()
PointOnSurface
PointOnSurface
Relate
Distance
Intersection
ConvexHull
Other old OpenGis standard inconsistencies fixed.
2014-11-28 00:29:37 +04:00
Sergei Petrunia
461dbd80d2
EXPLAIN FORMAT=JSON: support join buffering
...
- Basic support for JOIN buffering
- The output is not polished but catches the main point:
tab->select_cond and tab->cache_select->cond are printed separately.
- Hash join support is poor still.
- Also fixed identation in JOIN_TAB::save_explain_data
2014-11-27 23:10:44 +03:00
Sergei Petrunia
37c444e1a0
EXPLAIN FORMAT=JSON: further development
...
Writing JSON:
- Fix a bug in Single_line_formatting_helper
- Add Json_writer_nesting_guard - safety class
EXPLAIN JSON support
- Add basic subquery support
- Add tests for UNION/UNION ALL.
2014-11-27 19:32:48 +03:00