~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to libdrizzle/column.cc

  • Committer: Mark Atwood
  • Date: 2011-12-16 15:35:52 UTC
  • mfrom: (2472.1.1 drizzle-build)
  • Revision ID: me@mark.atwood.name-20111216153552-0zk0mmf1tt22p92n
mergeĀ lp:~brianaker/drizzle/libdrizzle-valgrind-test-warnings

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
 * Drizzle Client & Protocol Library
 
1
/*  vim:expandtab:shiftwidth=2:tabstop=2:smarttab: 
 
2
 *
 
3
 *  Drizzle Client & Protocol Library
3
4
 *
4
5
 * Copyright (C) 2008 Eric Day (eday@oddments.org)
5
6
 * All rights reserved.
410
411
 
411
412
  if (result->column_list)
412
413
    result->column_list->prev= column;
 
414
 
413
415
  column->next= result->column_list;
414
416
  result->column_list= column;
415
417
 
420
422
{
421
423
  if (column->result->column_list == column)
422
424
    column->result->column_list= column->next;
 
425
 
423
426
  if (column->prev)
424
427
    column->prev->next= column->next;
 
428
 
425
429
  if (column->next)
426
430
    column->next->prev= column->prev;
427
431
 
428
432
  if (column->options & DRIZZLE_COLUMN_ALLOCATED)
429
433
  {
430
 
    delete [] column;
 
434
    delete column;
431
435
  }
432
436
}
433
437
 
535
539
 
536
540
drizzle_return_t drizzle_column_skip_all(drizzle_result_st *result)
537
541
{
538
 
  drizzle_return_t ret;
539
 
  uint16_t it;
 
542
  for (uint16_t it= 1; it <= result->column_count; it++)
 
543
  {
 
544
    drizzle_return_t ret= drizzle_column_skip(result);
540
545
 
541
 
  for (it= 1; it <= result->column_count; it++)
542
 
  {
543
 
    ret= drizzle_column_skip(result);
544
546
    if (ret != DRIZZLE_RETURN_OK)
 
547
    {
545
548
      return ret;
 
549
    }
546
550
  }
547
551
 
548
552
  return DRIZZLE_RETURN_OK;
561
565
  }
562
566
 
563
567
  *ret_ptr= drizzle_state_loop(result->con);
 
568
 
564
569
  return result->column;
565
570
}
566
571
 
601
606
drizzle_column_st *drizzle_column_next(drizzle_result_st *result)
602
607
{
603
608
  if (result->column_current == result->column_count)
 
609
  {
604
610
    return NULL;
 
611
  }
605
612
 
606
613
  result->column_current++;
607
614
  return &(result->column_buffer[result->column_current - 1]);
610
617
drizzle_column_st *drizzle_column_prev(drizzle_result_st *result)
611
618
{
612
619
  if (result->column_current == 0)
 
620
  {
613
621
    return NULL;
 
622
  }
614
623
 
615
624
  result->column_current--;
616
625
  return &(result->column_buffer[result->column_current]);
619
628
void drizzle_column_seek(drizzle_result_st *result, uint16_t column)
620
629
{
621
630
  if (column <= result->column_count)
 
631
  {
622
632
    result->column_current= column;
 
633
  }
623
634
}
624
635
 
625
636
drizzle_column_st *drizzle_column_index(drizzle_result_st *result,
626
637
                                        uint16_t column)
627
638
{
628
639
  if (column >= result->column_count)
 
640
  {
629
641
    return NULL;
 
642
  }
630
643
 
631
644
  return &(result->column_buffer[column]);
632
645
}
656
669
void drizzle_column_set_catalog(drizzle_column_st *column, const char *catalog)
657
670
{
658
671
  if (catalog == NULL)
 
672
  {
659
673
    column->catalog[0]= 0;
 
674
  }
660
675
  else
661
676
  {
662
677
    strncpy(column->catalog, catalog, DRIZZLE_MAX_CATALOG_SIZE);
667
682
void drizzle_column_set_db(drizzle_column_st *column, const char *db)
668
683
{
669
684
  if (db == NULL)
 
685
  {
670
686
    column->db[0]= 0;
 
687
  }
671
688
  else
672
689
  {
673
690
    strncpy(column->db, db, DRIZZLE_MAX_DB_SIZE);
678
695
void drizzle_column_set_table(drizzle_column_st *column, const char *table)
679
696
{
680
697
  if (table == NULL)
 
698
  {
681
699
    column->table[0]= 0;
 
700
  }
682
701
  else
683
702
  {
684
703
    strncpy(column->table, table, DRIZZLE_MAX_TABLE_SIZE);
690
709
                                   const char *orig_table)
691
710
{
692
711
  if (orig_table == NULL)
 
712
  {
693
713
    column->orig_table[0]= 0;
 
714
  }
694
715
  else
695
716
  {
696
717
    strncpy(column->orig_table, orig_table, DRIZZLE_MAX_TABLE_SIZE);
701
722
void drizzle_column_set_name(drizzle_column_st *column, const char *name)
702
723
{
703
724
  if (name == NULL)
 
725
  {
704
726
    column->name[0]= 0;
 
727
  }
705
728
  else
706
729
  {
707
730
    strncpy(column->name, name, DRIZZLE_MAX_COLUMN_NAME_SIZE);