~mordred/ndb-bindings/resultsets

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
require("ndbapi")
require("luasql.mysql")

env=luasql.mysql()
num_iter=1000
INSERT_NUM=1000
BATCH_SIZE=1000

db = env:connect("test","root")

print "Dropping and recreating schema\n"

db:execute("drop table if exists mytablename")

db:execute("CREATE TABLE if not exists"
  .. " mytablename "
  .. " (ATTR1 INT UNSIGNED not null auto_increment, "
  .. " ATTR2 INT UNSIGNED NOT NULL, "
  .. " PRIMARY KEY USING HASH (ATTR1)) "
  .. " ENGINE=NDBCLUSTER")


-- Connect to cluster

print "connecting to cluster\n"

ndbapi.ndb_init()

connection = ndbapi.NdbFactory_createNdbClusterConnection("127.0.0.1")

connection:connect(1,1,true)
connection:waitUntilReady(30,30)

myNdb = connection:createNdb("test")

myNdb:init(4)

print "running tests"

myTransaction = myNdb:startTransaction()

myOperation = myTransaction:getNdbOperation("mytablename")
myOperation:insertTuple()
auto_id = myNdb:getAutoIncrementValue("mytablename",100)

print("Inserting",auto_id)

myOperation:equalInt32("ATTR1",auto_id)
myOperation:setInt("ATTR2",10)

myTransaction:execute(ndbapi.Commit)
myTransaction:close()