~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/field/blob.cc

  • Committer: Brian Aker
  • Date: 2010-10-26 21:34:15 UTC
  • mto: (1887.2.1 merge)
  • mto: This revision was merged to the branch mainline in revision 1888.
  • Revision ID: brian@tangent.org-20101026213415-666ezkzx542h8uf0
Adding cache.h for definition.

Show diffs side-by-side

added added

removed removed

Lines of Context:
63
63
{
64
64
  flags|= BLOB_FLAG;
65
65
  share->blob_fields++;
66
 
  /* TODO: why do not fill table->s->blob_field array here? */
 
66
  /* TODO: why do not fill table->getShare()->blob_field array here? */
67
67
}
68
68
 
69
69
void Field_blob::store_length(unsigned char *i_ptr,
107
107
void Field_blob::store_length(unsigned char *i_ptr, uint32_t i_packlength,
108
108
                  uint32_t i_number)
109
109
{
110
 
  store_length(i_ptr, i_packlength, i_number, table->s->db_low_byte_first);
 
110
  store_length(i_ptr, i_packlength, i_number, getTable()->getShare()->db_low_byte_first);
111
111
}
112
112
 
113
113
 
160
160
uint32_t Field_blob::get_length(uint32_t row_offset)
161
161
{
162
162
  return get_length(ptr+row_offset, this->packlength,
163
 
                    table->s->db_low_byte_first);
 
163
                    getTable()->getShare()->db_low_byte_first);
164
164
}
165
165
 
166
166
 
167
167
uint32_t Field_blob::get_length(const unsigned char *ptr_arg)
168
168
{
169
 
  return get_length(ptr_arg, this->packlength, table->s->db_low_byte_first);
 
169
  return get_length(ptr_arg, this->packlength, getTable()->getShare()->db_low_byte_first);
170
170
}
171
171
 
172
172
 
219
219
 
220
220
  if (from == value.ptr())
221
221
  {
222
 
    uint32_t dummy_offset;
 
222
    size_t dummy_offset;
223
223
    if (!String::needs_conversion(length, cs, field_charset, &dummy_offset))
224
224
    {
225
225
      Field_blob::store_length(length);
531
531
 
532
532
uint32_t Field_blob::pack_length() const
533
533
{
534
 
  return (uint32_t) (packlength+table->s->blob_ptr_size);
 
534
  return (uint32_t) (packlength + portable_sizeof_char_ptr);
535
535
}
536
536
 
537
537
void Field_blob::sql_type(String &res) const
594
594
  uint32_t const master_packlength=
595
595
    param_data > 0 ? param_data & 0xFF : packlength;
596
596
  uint32_t const length= get_length(from, master_packlength, low_byte_first);
597
 
  table->setWriteSet(field_index);
 
597
  getTable()->setWriteSet(field_index);
598
598
  store(reinterpret_cast<const char*>(from) + master_packlength,
599
599
        length, field_charset);
600
600
  return(from + master_packlength + length);