18
18
Single table and multi table updates of tables.
19
Multi-table updates were introduced by Sinisa & Monty
23
#include <drizzled/sql_select.h>
24
#include <drizzled/error.h>
25
#include <drizzled/probes.h>
26
#include <drizzled/sql_base.h>
27
#include <drizzled/field/epoch.h>
28
#include <drizzled/sql_parse.h>
29
#include <drizzled/optimizer/range.h>
30
#include <drizzled/records.h>
31
#include <drizzled/internal/my_sys.h>
32
#include <drizzled/internal/iocache.h>
33
#include <drizzled/transaction_services.h>
34
#include <drizzled/filesort.h>
35
#include <drizzled/plugin/storage_engine.h>
22
#include "drizzled/sql_select.h"
23
#include "drizzled/error.h"
24
#include "drizzled/probes.h"
25
#include "drizzled/sql_base.h"
26
#include "drizzled/field/epoch.h"
27
#include "drizzled/sql_parse.h"
28
#include "drizzled/optimizer/range.h"
29
#include "drizzled/records.h"
30
#include "drizzled/internal/my_sys.h"
31
#include "drizzled/internal/iocache.h"
32
#include "drizzled/transaction_services.h"
33
#include "drizzled/filesort.h"
37
35
#include <boost/dynamic_bitset.hpp>
454
454
session->set_proc_info("Updating");
456
456
transactional_table= table->cursor->has_transactions();
457
session->setAbortOnWarning(test(!ignore));
457
session->abort_on_warning= test(!ignore);
460
460
Assure that we can use position()
578
578
session->main_da.reset_diagnostics_area();
579
session->my_ok((ulong) session->rowCount(), found, id, buff);
580
session->status_var.updated_row_count+= session->rowCount();
579
session->my_ok((ulong) session->row_count_func, found, id, buff);
580
session->status_var.updated_row_count+= session->row_count_func;
582
582
session->count_cuted_fields= CHECK_FIELD_ERROR_FOR_NULL; /* calc cuted fields */
583
session->setAbortOnWarning(false);
583
session->abort_on_warning= 0;
584
584
DRIZZLE_UPDATE_DONE((error >= 0 || session->is_error()), found, updated);
585
585
return ((error >= 0 || session->is_error()) ? 1 : 0);
595
595
table->key_read=0;
596
596
table->cursor->extra(HA_EXTRA_NO_KEYREAD);
598
session->setAbortOnWarning(false);
598
session->abort_on_warning= 0;
600
600
DRIZZLE_UPDATE_DONE(1, 0, 0);
620
620
Item **conds, uint32_t order_num, Order *order)
622
622
List<Item> all_fields;
623
Select_Lex *select_lex= &session->getLex()->select_lex;
623
Select_Lex *select_lex= &session->lex->select_lex;
625
session->getLex()->allow_sum_func= 0;
625
session->lex->allow_sum_func= 0;
627
627
if (setup_tables_and_check_access(session, &select_lex->context,
628
628
&select_lex->top_join_list,