~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to plugin/pbms/src/system_table_ms.h

  • Committer: Barry.Leslie at PrimeBase
  • Date: 2010-10-18 21:21:20 UTC
  • mto: This revision was merged to the branch mainline in revision 1871.
  • Revision ID: barry.leslie@primebase.com-20101018212120-dqukgtkwhb1imt1o
Merged changes from lp:pbms. These changes should remove any danger
of longjmp() clobbering local variables.

Show diffs side-by-side

added added

removed removed

Lines of Context:
100
100
        static void systemTablesStartUp();
101
101
        static void systemTableShutDown();
102
102
 
 
103
        private:
 
104
        static bool try_loadSystemTables(CSThread *self, int i, MSDatabase *db);
103
105
};
104
106
 
105
107
class MSSystemTableShare;
133
135
                Field *assumed_str_field = GET_FIELD(mySQLTable, column_index);
134
136
                unsigned char *old_ptr = assumed_str_field->ptr;
135
137
                
 
138
 
 
139
#ifdef DRIZZLED
136
140
                assumed_str_field->ptr = (unsigned char *)row + assumed_str_field->offset(mySQLTable->getInsertRecord());
137
 
 
138
 
#ifdef DRIZZLED
139
141
                assumed_str_field->setReadSet();
140
142
#else
 
143
                assumed_str_field->ptr = (unsigned char *)row + assumed_str_field->offset(mySQLTable->record[0]);
141
144
                assumed_str_field->table->use_all_columns();
142
145
#endif
143
146
                value = assumed_str_field->val_str(value);
150
153
                Field *assumed_int_field = GET_FIELD(mySQLTable, column_index);
151
154
                unsigned char *old_ptr = assumed_int_field->ptr;
152
155
 
 
156
 
 
157
#ifdef DRIZZLED
153
158
                assumed_int_field->ptr = (unsigned char *)row + assumed_int_field->offset(mySQLTable->getInsertRecord());
154
 
 
155
 
#ifdef DRIZZLED
156
159
                assumed_int_field->setReadSet();
157
160
#else
 
161
                assumed_int_field->ptr = (unsigned char *)row + assumed_int_field->offset(mySQLTable->record[0]);
158
162
                assumed_int_field->table->use_all_columns();
159
163
#endif
160
164
                *value = assumed_int_field->val_int();
310
314
        MSMetaDataTable(MSSystemTableShare *share, TABLE *table);
311
315
        virtual ~MSMetaDataTable();
312
316
 
 
317
        void use();
313
318
        void unuse();
314
319
        void seqScanInit();
315
320
        int     getRefLen();
347
352
        virtual bool returnSubRecord(char *buf);
348
353
        virtual bool returnRow(MSBlobHeadPtr blob, char *buf) { return MSRepositoryTable::returnRow(blob, buf);}
349
354
        virtual void returnRow(char *name, char *value, char *buf);
350
 
        virtual bool resetScan(bool positioned, uint32_t index = 0) { return MSRepositoryTable::resetScan(positioned, index);}
 
355
        virtual bool resetScan(bool positioned, uint32_t index = 0) {bool have_data= false; return resetScan(positioned, &have_data, index);}
351
356
        virtual bool resetScan(bool positioned, bool *have_data, uint32_t iRepoIndex = 0);
352
357
        
353
358
        static MSMetaDataTable *newMSMetaDataTable(MSDatabase *db);