mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
new lock for multiupdate:
- open and create derived tables - detect which tables should be locked for write - lock and fill derived tables some unitialized variables fixed mysql-test/r/lock_multi.result: correct results returned mysql-test/r/multi_update.result: correct results returned mysql-test/r/view.result: correct results returned mysql-test/t/multi_update.test: correct results returned mysql-test/t/view.test: correct results returned sql/mysql_priv.h: derived tables processing splited on table creation and table filling sql/sql_base.cc: derived tables processing splited on table creation and table filling sql/sql_class.h: function to detect when we need fill derived tables sql/sql_derived.cc: derived tables processing splited on table creation and table filling sql/sql_lex.cc: fixed uninitialized value sql/sql_load.cc: fixed uninitialized value sql/sql_parse.cc: initialization muved (will be done for all queries) sql/sql_prepare.cc: preparation of multiupdate changed a bit because new locking procedure sql/sql_update.cc: new lock for multiupdate: - open and create derived tables - detect which tables should be locked for write - lock and fill derived tables sql/table.h: place to store select_result between creation and filling tables
This commit is contained in:
@ -1131,8 +1131,12 @@ public:
|
||||
{
|
||||
return command == COM_PREPARE;
|
||||
}
|
||||
inline gptr trans_alloc(unsigned int size)
|
||||
{
|
||||
inline bool fill_derived_tables()
|
||||
{
|
||||
return !only_prepare() && !lex->only_view_structure();
|
||||
}
|
||||
inline gptr trans_alloc(unsigned int size)
|
||||
{
|
||||
return alloc_root(&transaction.mem_root,size);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user