~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/unireg.cc

  • Committer: Brian Aker
  • Date: 2008-12-19 00:21:45 UTC
  • mfrom: (673.3.14 tests)
  • Revision ID: brian@tangent.org-20081219002145-o9blhzoh0shrih2u
Merge from Stewart.

Show diffs side-by-side

added added

removed removed

Lines of Context:
88
88
  return is_handled;
89
89
}
90
90
 
 
91
int mysql_frm_type(char *path, enum legacy_db_type *dbt)
 
92
{
 
93
  int file;
 
94
  unsigned char header[10];
 
95
  int error;
 
96
 
 
97
  *dbt= DB_TYPE_UNKNOWN;
 
98
 
 
99
  file= open(path, O_RDONLY);
 
100
 
 
101
  if(file < 1)
 
102
    return 1;
 
103
 
 
104
  error= read(file, header, sizeof(header));
 
105
  close(file);
 
106
 
 
107
  if (error!=sizeof(header))
 
108
    return 1;
 
109
 
 
110
  /*
 
111
    This is just a check for DB_TYPE. We'll return default unknown type
 
112
    if the following test is true (arg #3). This should not have effect
 
113
    on return value from this function (default FRMTYPE_TABLE)
 
114
  */
 
115
  if (header[0] != (unsigned char)254 || header[1] != 1 ||
 
116
      (header[2] != FRM_VER && header[2] != FRM_VER+1 &&
 
117
       (header[2] < FRM_VER+3 || header[2] > FRM_VER+4)))
 
118
    return 0;
 
119
 
 
120
  *dbt= (enum legacy_db_type) (uint) *(header + 3);
 
121
  return 0;
 
122
}
 
123
 
91
124
/*
92
125
  Create a frm (table definition) file
93
126