85
84
LEX_STRING normalized_path; /* unpack_filename(path) */
86
85
LEX_STRING connect_string;
88
uint32_t avg_row_length; /* create information */
89
87
uint32_t block_size; /* create information */
91
89
uint32_t timestamp_offset; /* Set to offset+1 of record */
93
91
uint32_t stored_rec_length; /* Stored record length*/
94
92
enum row_type row_type; /* How rows are stored */
96
ha_rows min_rows; /* create information */
97
ha_rows max_rows; /* create information */
95
uint64_t max_rows_hack; // We can't use proto in a "tmp" table because of a lack of release mechanisms
96
drizzled::message::Table *table_proto;
99
inline bool hasOptions()
101
return (table_proto) ? table_proto->has_options() : false;
104
/* This is only used in one location currently */
105
inline void setTableProto(drizzled::message::Table *arg)
107
assert(table_proto == NULL);
111
inline bool hasComment()
113
return (table_proto) ? table_proto->options().has_comment() : false;
116
inline const char *getComment()
118
return (table_proto) ? table_proto->options().comment().c_str() : NULL;
121
inline uint32_t getCommentLength()
123
return (table_proto) ? table_proto->options().comment().length() : 0;
127
inline uint32_t getAverageRowLength()
129
return (table_proto) ? table_proto->options().avg_row_length() : 0;
132
inline bool hasAverageRowLength()
134
return (table_proto) ? table_proto->options().has_avg_row_length() : false;
137
inline bool hasMaxRows()
139
return (table_proto) ? table_proto->options().has_max_rows() : false;
142
inline uint64_t getMaxRows()
144
return (table_proto) ? table_proto->options().max_rows() : max_rows_hack;
147
inline void setMaxRows(uint64_t arg)
151
drizzled::message::Table::TableOptions *table_options;
153
table_options= table_proto->mutable_options();
154
table_options->set_max_rows(arg);
162
inline bool hasMinRows()
164
return (table_proto) ? table_proto->options().has_min_rows() : false;
167
inline uint64_t getMinRows()
169
return (table_proto) ? table_proto->options().min_rows() : 0;
99
172
StorageEngine *storage_engine; /* storage engine plugin */
100
173
inline StorageEngine *db_type() const /* table_type for handler */
293
366
storage_engine= NULL;
295
371
/* We must copy mem_root from share because share is allocated through it */
296
372
memcpy(&new_mem_root, &mem_root, sizeof(new_mem_root));
297
373
free_root(&new_mem_root, MYF(0)); // Free's share