~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/definitions.h

  • Committer: Brian Aker
  • Date: 2009-12-01 02:39:03 UTC
  • mfrom: (1234.1.4 push)
  • Revision ID: brian@gaz-20091201023903-1id5z7xnup695jaq
Merge of Brian + Jay test fixes.

Show diffs side-by-side

added added

removed removed

Lines of Context:
331
331
#define HA_ADMIN_INVALID         -5
332
332
#define HA_ADMIN_REJECT          -6
333
333
 
334
 
/* Bits in table_flags() to show what database can do */
335
 
 
336
 
#define HA_NO_TRANSACTIONS     (1 << 0) /* Doesn't support transactions */
337
 
#define HA_PARTIAL_COLUMN_READ (1 << 1) /* read may not return all columns */
338
 
#define HA_TABLE_SCAN_ON_INDEX (1 << 2) /* No separate data/index file */
339
 
 
340
 
/*
341
 
  Reading keys in random order is as fast as reading keys in sort order
342
 
  (Used in records.cc to decide if we should use a record cache and by
343
 
  filesort to decide if we should sort key + data or key + pointer-to-row
344
 
*/
345
 
#define HA_FAST_KEY_READ       (1 << 5)
346
 
/*
347
 
  Set the following flag if we on delete should force all key to be read
348
 
  and on update read all keys that changes
349
 
*/
350
 
#define HA_REQUIRES_KEY_COLUMNS_FOR_DELETE (1 << 6)
351
 
#define HA_NULL_IN_KEY         (1 << 7) /* One can have keys with NULL */
352
 
#define HA_DUPLICATE_POS       (1 << 8)    /* ha_position() gives dup row */
353
 
#define HA_NO_BLOBS            (1 << 9) /* Doesn't support blobs */
354
 
#define HA_CAN_INDEX_BLOBS     (1 << 10)
355
 
#define HA_AUTO_PART_KEY       (1 << 11) /* auto-increment in multi-part key */
356
 
#define HA_REQUIRE_PRIMARY_KEY (1 << 12) /* .. and can't create a hidden one */
357
 
#define HA_STATS_RECORDS_IS_EXACT (1 << 13) /* stats.records is exact */
358
 
/*
359
 
  If we get the primary key columns for free when we do an index read
360
 
  It also implies that we have to retrive the primary key when using
361
 
  position() and rnd_pos().
362
 
*/
363
 
#define HA_PRIMARY_KEY_IN_READ_INDEX (1 << 15)
364
 
/*
365
 
  If HA_PRIMARY_KEY_REQUIRED_FOR_POSITION is set, it means that to position()
366
 
  uses a primary key. Without primary key, we can't call position().
367
 
*/
368
 
#define HA_PRIMARY_KEY_REQUIRED_FOR_POSITION (1 << 16)
369
334
#define HA_NOT_DELETE_WITH_CACHE (1 << 18)
370
 
/*
371
 
  The following is we need to a primary key to delete (and update) a row.
372
 
  If there is no primary key, all columns needs to be read on update and delete
373
 
*/
374
 
#define HA_PRIMARY_KEY_REQUIRED_FOR_DELETE (1 << 19)
375
 
#define HA_NO_PREFIX_CHAR_KEYS (1 << 20)
376
 
#define HA_NO_AUTO_INCREMENT   (1 << 23)
377
 
#define HA_HAS_CHECKSUM        (1 << 24)
378
 
#define HA_NEED_READ_RANGE_BUFFER (1 << 29) /* for read_multi_range */
379
 
#define HA_ANY_INDEX_MAY_BE_UNIQUE (1 << 30)
380
 
#define HA_HAS_RECORDS         (INT64_C(1) << 32) /* records() gives exact count*/
381
 
#define HA_MRR_CANT_SORT       (INT64_C(1) << 34)
382
335
 
383
336
/* bits in index_flags(index_number) for what you can do with index */
384
337
#define HA_READ_NEXT            1       /* TODO really use this flag */