~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to client/mysqldump.c

Merging from trunk r102

Show diffs side-by-side

added added

removed removed

Lines of Context:
948
948
  SYNOPSIS
949
949
    die()
950
950
    error_num   - process return value
951
 
    fmt_reason  - a format string for use by my_vsnprintf.
 
951
    fmt_reason  - a format string for use by vsnprintf.
952
952
    ...         - variable arguments for above fmt_reason string
953
953
  
954
954
  DESCRIPTION
960
960
  char buffer[1000];
961
961
  va_list args;
962
962
  va_start(args,fmt_reason);
963
 
  my_vsnprintf(buffer, sizeof(buffer), fmt_reason, args);
 
963
  vsnprintf(buffer, sizeof(buffer), fmt_reason, args);
964
964
  va_end(args);
965
965
 
966
966
  fprintf(stderr, "%s: %s\n", my_progname, buffer);
977
977
  SYNOPSIS
978
978
    maybe_die()
979
979
    error_num   - process return value
980
 
    fmt_reason  - a format string for use by my_vsnprintf.
 
980
    fmt_reason  - a format string for use by vsnprintf.
981
981
    ...         - variable arguments for above fmt_reason string
982
982
  
983
983
  DESCRIPTION
994
994
  char buffer[1000];
995
995
  va_list args;
996
996
  va_start(args,fmt_reason);
997
 
  my_vsnprintf(buffer, sizeof(buffer), fmt_reason, args);
 
997
  vsnprintf(buffer, sizeof(buffer), fmt_reason, args);
998
998
  va_end(args);
999
999
 
1000
1000
  fprintf(stderr, "%s: %s\n", my_progname, buffer);
1056
1056
  if (!server_supports_switching_charsets)
1057
1057
    return FALSE;
1058
1058
 
1059
 
  query_length= my_snprintf(query_buffer,
1060
 
                            sizeof (query_buffer),
1061
 
                            "SET SESSION character_set_results = '%s'",
1062
 
                            (const char *) cs_name);
 
1059
  query_length= snprintf(query_buffer,
 
1060
                         sizeof (query_buffer),
 
1061
                         "SET SESSION character_set_results = '%s'",
 
1062
                         (const char *) cs_name);
1063
1063
 
1064
1064
  return mysql_real_query(mysql, query_buffer, query_length);
1065
1065
}
1157
1157
  */
1158
1158
  if (opt_tz_utc)
1159
1159
  {
1160
 
    my_snprintf(buff, sizeof(buff), "/*!40103 SET TIME_ZONE='+00:00' */");
 
1160
    snprintf(buff, sizeof(buff), "/*!40103 SET TIME_ZONE='+00:00' */");
1161
1161
    if (mysql_query_with_error_report(mysql, 0, buff))
1162
1162
      DBUG_RETURN(1);
1163
1163
  }
1548
1548
 
1549
1549
  verbose_msg("-- Retrieving table structure for table %s...\n", table);
1550
1550
 
1551
 
  len= my_snprintf(query_buff, sizeof(query_buff),
1552
 
                   "SET OPTION SQL_QUOTE_SHOW_CREATE=%d",
1553
 
                   (opt_quoted || opt_keywords));
 
1551
  len= snprintf(query_buff, sizeof(query_buff),
 
1552
                "SET OPTION SQL_QUOTE_SHOW_CREATE=%d",
 
1553
                (opt_quoted || opt_keywords));
1554
1554
 
1555
1555
  result_table=     quote_name(table, table_buff, 1);
1556
1556
  opt_quoted_table= quote_name(table, table_buff2, 0);
1570
1570
      char buff[20+FN_REFLEN];
1571
1571
      MYSQL_FIELD *field;
1572
1572
 
1573
 
      my_snprintf(buff, sizeof(buff), "show create table %s", result_table);
 
1573
      snprintf(buff, sizeof(buff), "show create table %s", result_table);
1574
1574
 
1575
1575
      if (switch_character_set_results(mysql, "binary") ||
1576
1576
          mysql_query_with_error_report(mysql, &result, buff) ||
1629
1629
          This will not be necessary once we can determine dependencies
1630
1630
          between views and can simply dump them in the appropriate order.
1631
1631
        */
1632
 
        my_snprintf(query_buff, sizeof(query_buff),
1633
 
                    "SHOW FIELDS FROM %s", result_table);
 
1632
        snprintf(query_buff, sizeof(query_buff),
 
1633
                 "SHOW FIELDS FROM %s", result_table);
1634
1634
        if (switch_character_set_results(mysql, "binary") ||
1635
1635
            mysql_query_with_error_report(mysql, &result, query_buff) ||
1636
1636
            switch_character_set_results(mysql, default_charset))
1716
1716
      check_io(sql_file);
1717
1717
      mysql_free_result(result);
1718
1718
    }
1719
 
    my_snprintf(query_buff, sizeof(query_buff), "show fields from %s",
1720
 
                result_table);
 
1719
    snprintf(query_buff, sizeof(query_buff), "show fields from %s",
 
1720
             result_table);
1721
1721
    if (mysql_query_with_error_report(mysql, &result, query_buff))
1722
1722
    {
1723
1723
      if (path)
1773
1773
    verbose_msg("%s: Warning: Can't set SQL_QUOTE_SHOW_CREATE option (%s)\n",
1774
1774
                my_progname, mysql_error(mysql));
1775
1775
 
1776
 
    my_snprintf(query_buff, sizeof(query_buff), "show fields from %s",
1777
 
                result_table);
 
1776
    snprintf(query_buff, sizeof(query_buff), "show fields from %s",
 
1777
             result_table);
1778
1778
    if (mysql_query_with_error_report(mysql, &result, query_buff))
1779
1779
      DBUG_RETURN(0);
1780
1780
 
1871
1871
      /* Make an sql-file, if path was given iow. option -T was given */
1872
1872
      char buff[20+FN_REFLEN];
1873
1873
      uint keynr,primary_key;
1874
 
      my_snprintf(buff, sizeof(buff), "show keys from %s", result_table);
 
1874
      snprintf(buff, sizeof(buff), "show keys from %s", result_table);
1875
1875
      if (mysql_query_with_error_report(mysql, &result, buff))
1876
1876
      {
1877
1877
        if (mysql_errno(mysql) == ER_WRONG_OBJECT)
1951
1951
        char show_name_buff[NAME_LEN*2+2+24];
1952
1952
 
1953
1953
        /* Check memory for quote_for_like() */
1954
 
        my_snprintf(buff, sizeof(buff), "show table status like %s",
1955
 
                    quote_for_like(table, show_name_buff));
 
1954
        snprintf(buff, sizeof(buff), "show table status like %s",
 
1955
                 quote_for_like(table, show_name_buff));
1956
1956
 
1957
1957
        if (mysql_query_with_error_report(mysql, &result, buff))
1958
1958
        {
2340
2340
        */
2341
2341
        is_blob= (opt_hex_blob && field->charsetnr == 63 &&
2342
2342
                  (field->type == MYSQL_TYPE_STRING ||
2343
 
                   field->type == MYSQL_TYPE_VAR_STRING ||
2344
2343
                   field->type == MYSQL_TYPE_VARCHAR ||
2345
2344
                   field->type == MYSQL_TYPE_BLOB ||
2346
2345
                   field->type == MYSQL_TYPE_LONG_BLOB ||
2398
2397
                  dynstr_append_checked(&extended_row, "NULL");
2399
2398
                else
2400
2399
                {
2401
 
                  if (field->type == MYSQL_TYPE_DECIMAL)
2402
 
                  {
2403
 
                    /* add " signs around */
2404
 
                    dynstr_append_checked(&extended_row, "'");
2405
 
                    dynstr_append_checked(&extended_row, ptr);
2406
 
                    dynstr_append_checked(&extended_row, "'");
2407
 
                  }
2408
 
                  else
2409
 
                    dynstr_append_checked(&extended_row, ptr);
 
2400
                  dynstr_append_checked(&extended_row, ptr);
2410
2401
                }
2411
2402
              }
2412
2403
            }
2467
2458
              else if (my_isalpha(charset_info, *ptr) ||
2468
2459
                       (*ptr == '-' && my_isalpha(charset_info, ptr[1])))
2469
2460
                fputs("NULL", md_result_file);
2470
 
              else if (field->type == MYSQL_TYPE_DECIMAL)
2471
 
              {
2472
 
                /* add " signs around */
2473
 
                fputc('\'', md_result_file);
2474
 
                fputs(ptr, md_result_file);
2475
 
                fputc('\'', md_result_file);
2476
 
              }
2477
2461
              else
2478
2462
                fputs(ptr, md_result_file);
2479
2463
            }
2536
2520
    check_io(md_result_file);
2537
2521
    if (mysql_errno(mysql))
2538
2522
    {
2539
 
      my_snprintf(buf, sizeof(buf),
2540
 
                  "%s: Error %d: %s when dumping table %s at row: %ld\n",
2541
 
                  my_progname,
2542
 
                  mysql_errno(mysql),
2543
 
                  mysql_error(mysql),
2544
 
                  result_table,
2545
 
                  rownr);
 
2523
      snprintf(buf, sizeof(buf),
 
2524
               "%s: Error %d: %s when dumping table %s at row: %ld\n",
 
2525
               my_progname,
 
2526
               mysql_errno(mysql),
 
2527
               mysql_error(mysql),
 
2528
               result_table,
 
2529
               rownr);
2546
2530
      fputs(buf,stderr);
2547
2531
      error= EX_CONSCHECK;
2548
2532
      goto err;
2656
2640
    MYSQL_ROW row;
2657
2641
    MYSQL_RES *dbinfo;
2658
2642
 
2659
 
    my_snprintf(qbuf, sizeof(qbuf),
2660
 
                "SHOW CREATE DATABASE IF NOT EXISTS %s",
2661
 
                qdatabase);
 
2643
    snprintf(qbuf, sizeof(qbuf),
 
2644
             "SHOW CREATE DATABASE IF NOT EXISTS %s",
 
2645
             qdatabase);
2662
2646
 
2663
2647
    if (mysql_query(mysql, qbuf) || !(dbinfo = mysql_store_result(mysql)))
2664
2648
    {
2826
2810
 
2827
2811
  /* Check memory for quote_for_like() */
2828
2812
  DBUG_ASSERT(2*sizeof(old_table_name) < sizeof(show_name_buff));
2829
 
  my_snprintf(query, sizeof(query), "SHOW TABLES LIKE %s",
2830
 
              quote_for_like(old_table_name, show_name_buff));
 
2813
  snprintf(query, sizeof(query), "SHOW TABLES LIKE %s",
 
2814
           quote_for_like(old_table_name, show_name_buff));
2831
2815
 
2832
2816
  if (mysql_query_with_error_report(mysql, 0, query))
2833
2817
    return NullS;
3303
3287
 
3304
3288
  /* Check memory for quote_for_like() */
3305
3289
  DBUG_ASSERT(2*sizeof(table_name) < sizeof(show_name_buff));
3306
 
  my_snprintf(buff, sizeof(buff), "show table status like %s",
3307
 
              quote_for_like(table_name, show_name_buff));
 
3290
  snprintf(buff, sizeof(buff), "show table status like %s",
 
3291
           quote_for_like(table_name, show_name_buff));
3308
3292
  if (mysql_query_with_error_report(mysql, &res, buff))
3309
3293
  {
3310
3294
    if (mysql_errno(mysql) != ER_PARSE_ERROR)
3385
3369
  char buff[NAME_LEN * 2 + 3];
3386
3370
  char *quoted_field;
3387
3371
 
3388
 
  my_snprintf(show_keys_buff, sizeof(show_keys_buff),
3389
 
              "SHOW KEYS FROM %s", table_name);
 
3372
  snprintf(show_keys_buff, sizeof(show_keys_buff),
 
3373
           "SHOW KEYS FROM %s", table_name);
3390
3374
  if (mysql_query(mysql, show_keys_buff) ||
3391
3375
      !(res= mysql_store_result(mysql)))
3392
3376
  {