~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to client/drizzledump_data.cc

  • Committer: Mark Atwood
  • Date: 2011-11-30 07:06:47 UTC
  • mfrom: (2463.1.6 drizzle-include)
  • Revision ID: me@mark.atwood.name-20111130070647-ixp7oalp70hkbt6l
mergeĀ lp:~brianaker/drizzle/libdrizzle-2.0-not-install

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