~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/session.h

  • Committer: Mark Atwood
  • Date: 2011-08-01 05:22:14 UTC
  • mfrom: (1919.3.53 drizzle_pbms)
  • Revision ID: me@mark.atwood.name-20110801052214-3wdsx3xgld6b5v4f
mergeĀ lp:~barry-leslie/drizzle/drizzle_pbms

Show diffs side-by-side

added added

removed removed

Lines of Context:
47
47
 
48
48
namespace drizzled {
49
49
 
 
50
extern char internal_table_name[2];
 
51
extern char empty_c_string[1];
 
52
extern const char **errmesg;
50
53
extern uint32_t server_id;
51
54
extern std::string server_uuid;
52
55
 
117
120
  memory::Root& mem;
118
121
  memory::Root* mem_root; /**< Pointer to current memroot */
119
122
 
120
 
  uint64_t getXaId() const
 
123
  uint64_t getXaId()
121
124
  {
122
125
    return xa_id;
123
126
  }
160
163
      return NULL;
161
164
    }
162
165
    length= tmp_string->length();
163
 
    return mem.strdup(*tmp_string);
 
166
    return mem.strmake(*tmp_string);
164
167
  }
165
168
 
166
169
  util::string::ptr schema() const;
214
217
 
215
218
  identifier::user::ptr user() const
216
219
  {
217
 
    return security_ctx;
 
220
    return security_ctx ? security_ctx : identifier::user::ptr();
218
221
  }
219
222
 
220
223
  void setUser(identifier::user::mptr arg)
222
225
    security_ctx= arg;
223
226
  }
224
227
 
225
 
  int32_t getScoreboardIndex() const
 
228
  int32_t getScoreboardIndex()
226
229
  {
227
230
    return scoreboard_index;
228
231
  }
232
235
    scoreboard_index= in_scoreboard_index;
233
236
  }
234
237
 
235
 
  bool isOriginatingServerUUIDSet() const
 
238
  bool isOriginatingServerUUIDSet()
236
239
  {
237
240
    return originating_server_uuid_set;
238
241
  }
243
246
    originating_server_uuid_set= true;
244
247
  }
245
248
 
246
 
  const std::string &getOriginatingServerUUID() const
 
249
  std::string &getOriginatingServerUUID()
247
250
  {
248
251
    return originating_server_uuid;
249
252
  }
253
256
    originating_commit_id= in_originating_commit_id;
254
257
  }
255
258
 
256
 
  uint64_t getOriginatingCommitID() const
 
259
  uint64_t getOriginatingCommitID()
257
260
  {
258
261
    return originating_commit_id;
259
262
  }
272
275
  const char *_where;
273
276
 
274
277
public:
275
 
  const char *where() const
 
278
  const char *where()
276
279
  {
277
280
    return _where;
278
281
  }
535
538
    _killed= arg;
536
539
  }
537
540
 
538
 
  killed_state_t getKilled() const
 
541
  killed_state_t getKilled()
539
542
  {
540
543
    return _killed;
541
544
  }
583
586
  /** set during loop of derived table processing */
584
587
  bool derived_tables_processing;
585
588
 
586
 
  bool doing_tablespace_operation() const
 
589
  bool doing_tablespace_operation()
587
590
  {
588
591
    return tablespace_op;
589
592
  }
716
719
    if (first_successful_insert_id_in_cur_stmt == 0)
717
720
      first_successful_insert_id_in_cur_stmt= id_arg;
718
721
  }
719
 
  inline uint64_t read_first_successful_insert_id_in_prev_stmt() const
 
722
  inline uint64_t read_first_successful_insert_id_in_prev_stmt()
720
723
  {
721
724
    return first_successful_insert_id_in_prev_stmt;
722
725
  }
826
829
    return server_status & SERVER_STATUS_IN_TRANS;
827
830
  }
828
831
 
829
 
  lex_string_t* make_lex_string(lex_string_t*, str_ref);
 
832
  lex_string_t *make_lex_string(lex_string_t *lex_str,
 
833
                              const char* str, uint32_t length,
 
834
                              bool allocate_lex_string);
 
835
 
 
836
  lex_string_t *make_lex_string(lex_string_t *lex_str,
 
837
                              const std::string &str,
 
838
                              bool allocate_lex_string);
830
839
 
831
840
  void send_explain_fields(select_result*);
832
841
 
882
891
    attributes including security context. In the future, this operation
883
892
    will be made private and more convenient interface will be provided.
884
893
  */
885
 
  void set_schema(const std::string&);
 
894
  void set_db(const std::string&);
886
895
 
887
896
  /*
888
897
    Copy the current database to the argument. Use the current arena to
889
898
    allocate memory for a deep copy: current database may be freed after
890
899
    a statement is parsed but before it's executed.
891
900
  */
892
 
  bool copy_db_to(char*& p_db, size_t& p_db_length);
 
901
  bool copy_db_to(char **p_db, size_t *p_db_length);
893
902
 
894
903
public:
895
904