~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to client/drizzledump_data.cc

  • Committer: Mark Atwood
  • Date: 2011-11-14 07:30:41 UTC
  • Revision ID: me@mark.atwood.name-20111114073041-mo2hgg8ouseo2kpu
releaseĀ 2011.11.29

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
 *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
18
18
 */
19
19
 
20
 
#include <config.h>
21
 
 
22
 
#include "client/drizzledump_data.h"
23
 
#include "client/client_priv.h"
 
20
#include "drizzledump_data.h"
 
21
#include "client_priv.h"
24
22
#include <drizzled/definitions.h>
25
23
#include <drizzled/gettext.h>
26
24
#include <string>
543
541
  hostName(host),
544
542
  drizzleProtocol(drizzle_protocol)
545
543
{
 
544
  drizzle_return_t ret;
 
545
 
546
546
  if (host.empty())
547
 
  {
548
547
    host= "localhost";
549
 
  }
550
548
 
551
549
  std::string protocol= (drizzle_protocol) ? "Drizzle" : "MySQL";
552
550
  if (verbose)
554
552
    std::cerr << _("-- Connecting to ") << host  << _(" using protocol ")
555
553
      << protocol << "..." << std::endl;
556
554
  }
557
 
 
558
 
  drizzle= drizzle_create();
559
 
 
560
 
  if (drizzle == NULL)
561
 
  {
562
 
    std::cerr << "drizzle_create() failed" << std::endl;
563
 
  }
564
 
 
565
 
  connection= drizzle_con_create(drizzle);
566
 
  drizzle_con_set_tcp(connection, (char *)host.c_str(), port);
567
 
  drizzle_con_set_auth(connection, (char *)username.c_str(), (char *)password.c_str());
568
 
  drizzle_con_add_options(connection, drizzle_protocol ? DRIZZLE_CON_EXPERIMENTAL : DRIZZLE_CON_MYSQL);
569
 
 
570
 
  drizzle_return_t ret= drizzle_con_connect(connection);
 
555
  drizzle_create(&drizzle);
 
556
  drizzle_con_create(&drizzle, &connection);
 
557
  drizzle_con_set_tcp(&connection, (char *)host.c_str(), port);
 
558
  drizzle_con_set_auth(&connection, (char *)username.c_str(),
 
559
    (char *)password.c_str());
 
560
  drizzle_con_add_options(&connection, 
 
561
    drizzle_protocol ? DRIZZLE_CON_EXPERIMENTAL : DRIZZLE_CON_MYSQL);
 
562
  ret= drizzle_con_connect(&connection);
571
563
  if (ret != DRIZZLE_RETURN_OK)
572
564
  {
573
565
    errorHandler(NULL, ret, "when trying to connect");
574
566
    throw std::exception();
575
567
  }
576
568
 
577
 
  ServerDetect server_detect= ServerDetect(connection);
 
569
  ServerDetect server_detect= ServerDetect(&connection);
578
570
 
579
571
  serverType= server_detect.getServerType();
580
572
  serverVersion= server_detect.getServerVersion();
584
576
{
585
577
  drizzle_return_t ret;
586
578
  drizzle_result_st* result= new drizzle_result_st;
587
 
  if (drizzle_query_str(connection, result, str_query.c_str(), &ret) == NULL or
 
579
  if (drizzle_query_str(&connection, result, str_query.c_str(), &ret) == NULL ||
588
580
      ret != DRIZZLE_RETURN_OK)
589
581
  {
590
582
    if (ret == DRIZZLE_RETURN_ERROR_CODE)
595
587
    }
596
588
    else
597
589
    {
598
 
      std::cerr << _("Error executing query: ") << drizzle_con_error(connection) << std::endl;
 
590
      std::cerr << _("Error executing query: ") <<
 
591
        drizzle_con_error(&connection) << std::endl;
599
592
    }
600
593
    return NULL;
601
594
  }
602
595
 
603
596
  if (drizzle_result_buffer(result) != DRIZZLE_RETURN_OK)
604
597
  {
605
 
    std::cerr << _("Could not buffer result: ") << drizzle_con_error(connection) << std::endl;
 
598
    std::cerr << _("Could not buffer result: ") <<
 
599
        drizzle_con_error(&connection) << std::endl;
606
600
    return NULL;
607
601
  }
608
602
  return result;
619
613
  drizzle_return_t ret;
620
614
  drizzle_result_st result;
621
615
 
622
 
  if (drizzle_query_str(connection, &result, str_query.c_str(), &ret) == NULL or
 
616
  if (drizzle_query_str(&connection, &result, str_query.c_str(), &ret) == NULL ||
623
617
      ret != DRIZZLE_RETURN_OK)
624
618
  {
625
619
    if (ret == DRIZZLE_RETURN_ERROR_CODE)
630
624
    }
631
625
    else
632
626
    {
633
 
      std::cerr << _("Error executing query: ") << drizzle_con_error(connection) << std::endl;
 
627
      std::cerr << _("Error executing query: ") <<
 
628
        drizzle_con_error(&connection) << std::endl;
634
629
    }
635
630
    return false;
636
631
  }
643
638
{
644
639
  drizzle_return_t ret;
645
640
  drizzle_result_st result;
646
 
 
647
 
  if (drizzle_select_db(connection, &result, databaseName.c_str(), &ret) == NULL or 
648
 
      ret != DRIZZLE_RETURN_OK)
 
641
  if (drizzle_select_db(&connection, &result, databaseName.c_str(), &ret) == 
 
642
    NULL || ret != DRIZZLE_RETURN_OK)
649
643
  {
650
644
    std::cerr << _("Error: Could not set db '") << databaseName << "'" << std::endl;
651
645
    if (ret == DRIZZLE_RETURN_ERROR_CODE)
652
 
    {
653
646
      drizzle_result_free(&result);
654
 
    }
655
 
 
656
647
    return false;
657
648
  }
658
649
  drizzle_result_free(&result);
659
 
 
660
650
  return true;
661
651
}
662
652
 
665
655
{
666
656
  if (res == NULL)
667
657
  {
668
 
    std::cerr << _("Got error: ") << drizzle_con_error(connection) << " " << when << std::endl;
 
658
    std::cerr << _("Got error: ") << drizzle_con_error(&connection) << " "
 
659
      << when << std::endl;
669
660
  }
670
661
  else if (ret == DRIZZLE_RETURN_ERROR_CODE)
671
662
  {
684
675
DrizzleDumpConnection::~DrizzleDumpConnection()
685
676
{
686
677
  if (verbose)
687
 
  {
688
678
    std::cerr << _("-- Disconnecting from ") << hostName << "..." << std::endl;
689
 
  }
690
 
 
691
 
  drizzle_con_free(connection);
692
 
  drizzle_free(drizzle);
 
679
  drizzle_con_free(&connection);
 
680
  drizzle_free(&drizzle);
693
681
}