MySQL Cluster Tutorial - cdn.oreillystatic.com
MySQL Cluster Tutorial - cdn.oreillystatic.com
MySQL Cluster Tutorial - cdn.oreillystatic.com
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
static void run_application(MYSQL &mysql,<br />
Ndb_cluster_connection &cluster_connection)<br />
{<br />
/********************************************<br />
* Connect to database via mysql-c *<br />
********************************************/<br />
mysql_query(&mysql, "CREATE DATABASE TEST_DB_1");<br />
if (mysql_query(&mysql, "USE TEST_DB_1") != 0) MYSQLERROR(mysql);<br />
create_table(mysql);<br />
/********************************************<br />
* Connect to database via NdbApi *<br />
********************************************/<br />
// Object representing the database<br />
Ndb myNdb( &cluster_connection, "TEST_DB_1" );<br />
if (myNdb.init()) APIERROR(myNdb.getNdbError());<br />
do_insert(myNdb);<br />
do_indexScan(myNdb);<br />
drop_table(mysql);<br />
mysql_query(&mysql, "DROP DATABASE TEST_DB_1");<br />
}<br />
/*********************************************************<br />
* Create a table named COUNTRY if it does not exist *<br />
*********************************************************/<br />
static void create_table(MYSQL &mysql)<br />
{<br />
if (mysql_query(&mysql,<br />
"DROP TABLE IF EXISTS"<br />
" COUNTRY"))<br />
MYSQLERROR(mysql);<br />
}<br />
if (mysql_query(&mysql,<br />
"CREATE TABLE"<br />
" COUNTRY"<br />
" (SUB_ID INT UNSIGNED NOT NULL PRIMARY KEY,"<br />
" COUNTRY_CODE INT UNSIGNED NOT NULL)"<br />
" ENGINE=NDB"))<br />
MYSQLERROR(mysql);<br />
/***********************************<br />
* Drop a table named MYTABLENAME<br />
***********************************/<br />
static void drop_table(MYSQL &mysql)<br />
{<br />
if (mysql_query(&mysql,<br />
"DROP TABLE"<br />
" COUNTRY"))<br />
MYSQLERROR(mysql);<br />
}<br />
static void do_insert(Ndb &myNdb)<br />
{<br />
NdbDictionary::Dictionary* myDict= myNdb.getDictionary();<br />
const NdbDictionary::Table *myTable= myDict->getTable("COUNTRY");<br />
if (myTable == NULL)<br />
APIERROR(myDict->getNdbError());<br />
NdbTransaction *myTransaction= myNdb.startTransaction();<br />
if (myTransaction == NULL) APIERROR(myNdb.getNdbError());<br />
NdbOperation *myOperation= myTransaction->getNdbOperation(myTable);<br />
if (myOperation == NULL) APIERROR(myTransaction->getNdbError());<br />
myOperation->insertTuple();<br />
myOperation->equal("SUB_ID", 1);<br />
myOperation->setValue("COUNTRY_CODE", 44);<br />
myOperation= myTransaction->getNdbOperation(myTable);<br />
if (myOperation == NULL) APIERROR(myTransaction->getNdbError());<br />
myOperation->insertTuple();<br />
Copyright © 2010, Oracle and/or its affiliates. All rights reserved. 45/81