changed web interface to static files + json interface
[goDBhammer.git] / src / dbconnector.go
index 637aa84..0123d4d 100644 (file)
@@ -3,6 +3,7 @@ package dbconnector
 
 import (
        "./dbibridge";
+       //"strings";
        "time";
        "rand";
        "fmt";
@@ -15,22 +16,22 @@ type DBConnector struct {
 
 func CreateRandomText(len int) (str string)
 {
-       buf := make([]byte, len+2);
+       buf := make([]byte, len);
 
        rand.Seed(time.Nanoseconds());
        
        for i:=0; i<len; i++ {
-               switch(rand.Int()%3) {
+               switch(rand.Int()%2) {
                 case 0:
-                    buf[i] = uint8(rand.Int()%26+65);
+                    buf[i] = uint8(rand.Int()%22+66);
                 case 1:
-                    buf[i] = uint8(rand.Int()%26+97);
+                    buf[i] = uint8(rand.Int()%22+98);
                 case 2:
-                    buf[i] = uint8(rand.Int()%10+48);
+                    buf[i] = uint8(rand.Int()%9+48);
+               }
+               //buf[i+1] = 0; // this bit pisses off the c.cstring conversion somehow
         }
-        buf[i+1] = 0;
-               
-       }
+       
        
        return string(buf);
 }
@@ -46,6 +47,9 @@ func DBSetup(dbtype string, host string, username string, password string, datab
        dbibridge.DBIConnect(Dbconn, "mysql", host, username, password, database);
        
        if dbtype == "mysql" {
+               dbibridge.ExecSQL(Dbconn,"drop table WAREHOUSE");
+               dbibridge.ExecSQL(Dbconn,"drop table DISTRICT");
+               dbibridge.ExecSQL(Dbconn,"drop table ITEM");
                dbibridge.ExecSQL(Dbconn,"create table WAREHOUSE ( \
                W_ID integer NOT NULL, \
                W_NAME CHARACTER(10), \
@@ -79,9 +83,6 @@ func DBSetup(dbtype string, host string, username string, password string, datab
                I_PRICE integer, \
                I_DATA CHARACTER(50), \
                PRIMARY KEY(I_ID))");
-               whst := fmt.Sprintf("insert into WAREHOUSE values ( %d, '%s', '%s', '%s', '%s', '%s', '%s', %d, %d)", 10, CreateRandomText(9),
-                       CreateRandomText(19), CreateRandomText(19), CreateRandomText(19), CreateRandomText(2), CreateRandomText(8), rand.Int()%50, rand.Int()%100);
-          dbibridge.ExecSQL(Dbconn, whst);
        }
        
        
@@ -93,12 +94,12 @@ func DBSetup(dbtype string, host string, username string, password string, datab
                whst := fmt.Sprintf("insert into WAREHOUSE values ( %d, '%s', '%s', '%s', '%s', '%s', '%s', %d, %d)", i, CreateRandomText(9),
                        CreateRandomText(19), CreateRandomText(19), CreateRandomText(19), CreateRandomText(2), CreateRandomText(8), rand.Int()%50, rand.Int()%100);
                dbibridge.ExecSQL(Dbconn, whst); 
-               for j:=0; j < 1; j++ {
+               for j:=0; j < 20; j++ {
                        dtst := fmt.Sprintf("insert into DISTRICT values ( %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, %d)", j, i, 
                                CreateRandomText(9), CreateRandomText(19), CreateRandomText(19), CreateRandomText(19), CreateRandomText(2), CreateRandomText(8), rand.Int()%50, rand.Int()%100, j+1);
                        dbibridge.ExecSQL(Dbconn, dtst);
-                       for k:=0; k<1; k++ {
-                               itst := fmt.Sprintf("insert into ITEM values ( %d, %d, '%s', %d, '%s')", i*j*k, rand.Int()%50000, 
+                       for k:=0; k<50000; k++ {
+                               itst := fmt.Sprintf("insert into ITEM values ( %d, %d, '%s', %d, '%s')", (i+1)*(j+1)*(k+1), rand.Int()%50000, 
                                        CreateRandomText(23), rand.Int()%1000000, CreateRandomText(49));
                                dbibridge.ExecSQL(Dbconn, itst);
                        }