123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215 |
- package unittest
- import (
- "database/sql"
- "fmt"
- _ "xugugodriver/xugu"
- )
- var table_name = []string{
- "GO_UNIT_INT",
- "GO_UNIT_FLOAT",
- "GO_UNIT_CHAR",
- "GO_UNIT_DATE",
- "GO_UNIT_INTERVAL1",
- "GO_UNIT_INTERVAL2",
- "GO_UNIT_BLOB",
- "GO_UNIT_CLOB",
- "GO_UNIT_BOOLEAN",
- "GO_UNIT_BINARY",
- "GO_UNIT_GUID",
- "GO_UNIT_JSON",
- "GO_UNIT_XML",
- "GO_UNIT_TRANSATION",
- "GO_UNIT_INT_DEAL",
- "GO_UNIT_FLOAT_DEAL",
- "GO_UNIT_CHAR_DEAL",
- "GO_UNIT_DATE_DEAL",
- "GO_UNIT_INTERVAL1_DEAL",
- "GO_UNIT_INTERVAL2_DEAL",
- "GO_UNIT_BLOB_DEAL",
- "GO_UNIT_CLOB_DEAL",
- "GO_UNIT_BOOLEAN_DEAL",
- "GO_UNIT_BINARY_DEAL",
- "GO_UNIT_GUID_DEAL",
- "GO_UNIT_JSON_DEAL",
- "GO_UNIT_XML_DEAL",
- }
- var create_table = []string{
- "create table GO_UNIT_INT(ID INT PRIMARY KEY, TINY TINYINT, SMALL SMALLINT, INTE INTEGER, BIG BIGINT);",
- "create table GO_UNIT_FLOAT(ID INT PRIMARY KEY, F1 FLOAT, D1 DOUBLE, NUM NUMERIC(12,6));",
- "create table GO_UNIT_CHAR(ID INT PRIMARY KEY, CH CHAR,CHN CHAR(30), VAR VARCHAR);",
- "create table GO_UNIT_DATE(ID INT PRIMARY KEY, DT DATE, TM TIME, TMZ TIME WITH TIME ZONE,DTTM DATETIME , DTTMZ DATETIME WITH TIME ZONE, TS TIMESTAMP, TSZ TIMESTAMP WITH TIME ZONE);",
- "create table GO_UNIT_INTERVAL1(ID INT PRIMARY KEY, IY INTERVAL YEAR, IM INTERVAL MONTH, ITD INTERVAL DAY,IH INTERVAL HOUR,IMIN INTERVAL MINUTE,ITS INTERVAL SECOND);",
- "create table GO_UNIT_INTERVAL2(ID INT PRIMARY KEY, IY2M INTERVAL YEAR TO MONTH, ID2H INTERVAL DAY TO HOUR,ID2M INTERVAL DAY TO MINUTE,ID2S INTERVAL DAY TO SECOND, IH2M INTERVAL HOUR TO MINUTE,IH2S INTERVAL HOUR TO SECOND,IM2S INTERVAL MINUTE TO SECOND);",
- "create table GO_UNIT_BLOB(ID INT PRIMARY KEY, B1 BLOB)",
- "create table GO_UNIT_CLOB(ID INT PRIMARY KEY, C1 CLOB)",
- "create table GO_UNIT_BOOLEAN(ID INT PRIMARY KEY, B1 BOOLEAN);",
- "create table GO_UNIT_BINARY(ID INT PRIMARY KEY, B1 BIT, B2 VARBIT, B3 BINARY);",
- "create table GO_UNIT_GUID(ID INT PRIMARY KEY, G1 GUID);",
- "create table GO_UNIT_JSON(ID INT PRIMARY KEY, J1 JSON)",
- "create table GO_UNIT_XML(ID INT PRIMARY KEY, X1 XML)",
- "create table GO_UNIT_TRANSATION(ID INT PRIMARY KEY, I1 INT)",
- "create table GO_UNIT_INT_DEAL(ID INT PRIMARY KEY, TINY TINYINT, SMALL SMALLINT, INTE INTEGER, BIG BIGINT);",
- "create table GO_UNIT_FLOAT_DEAL(ID INT PRIMARY KEY, F1 FLOAT, D1 DOUBLE, NUM NUMERIC(12,6));",
- "create table GO_UNIT_CHAR_DEAL(ID INT PRIMARY KEY, CH CHAR,CHN CHAR(30), VAR VARCHAR);",
- "create table GO_UNIT_DATE_DEAL(ID INT PRIMARY KEY, DT DATE, TM TIME, TMZ TIME WITH TIME ZONE,DTTM DATETIME , DTTMZ DATETIME WITH TIME ZONE, TS TIMESTAMP, TSZ TIMESTAMP WITH TIME ZONE);",
- "create table GO_UNIT_INTERVAL1_DEAL(ID INT PRIMARY KEY, IY INTERVAL YEAR, IM INTERVAL MONTH, ITD INTERVAL DAY,IH INTERVAL HOUR,IMIN INTERVAL MINUTE,ITS INTERVAL SECOND);",
- "create table GO_UNIT_INTERVAL2_DEAL(ID INT PRIMARY KEY, IY2M INTERVAL YEAR TO MONTH, ID2H INTERVAL DAY TO HOUR,ID2M INTERVAL DAY TO MINUTE,ID2S INTERVAL DAY TO SECOND, IH2M INTERVAL HOUR TO MINUTE,IH2S INTERVAL HOUR TO SECOND,IM2S INTERVAL MINUTE TO SECOND);",
- "create table GO_UNIT_BLOB_DEAL(ID INT PRIMARY KEY, B1 BLOB)",
- "create table GO_UNIT_CLOB_DEAL(ID INT PRIMARY KEY, C1 CLOB)",
- "create table GO_UNIT_BOOLEAN_DEAL(ID INT PRIMARY KEY, B1 BOOLEAN);",
- "create table GO_UNIT_BINARY_DEAL(ID INT PRIMARY KEY, B1 BIT, B2 VARBIT, B3 BINARY);",
- "create table GO_UNIT_GUID_DEAL(ID INT PRIMARY KEY, G1 GUID);",
- "create table GO_UNIT_JSON_DEAL(ID INT PRIMARY KEY, J1 JSON)",
- "create table GO_UNIT_XML_DEAL(ID INT PRIMARY KEY, X1 XML)",
- }
- var insert_table = []string{
-
- "INSERT INTO GO_UNIT_INT VALUES(1,NULL,NULL,NULL,NULL);",
- "INSERT INTO GO_UNIT_INT VALUES(2,0,0,0,0);",
- "INSERT INTO GO_UNIT_INT VALUES(3,1,1,1,1);",
- "INSERT INTO GO_UNIT_INT VALUES(4,-1,-1,-1,-1);",
- "INSERT INTO GO_UNIT_INT VALUES(5,127,32767,2147483647,9223372036854775807);",
- "INSERT INTO GO_UNIT_INT VALUES(6,-128,-32768,-2147483648,-9223372036854775808);",
-
- "INSERT INTO GO_UNIT_FLOAT VALUES(1,NULL,NULL,NULL);",
- "INSERT INTO GO_UNIT_FLOAT VALUES(2,0,0,0);",
- "INSERT INTO GO_UNIT_FLOAT VALUES(3,1,1,1);",
- "INSERT INTO GO_UNIT_FLOAT VALUES(4,999999,999999999999999,999999);",
- "INSERT INTO GO_UNIT_FLOAT VALUES(5,0.0000000001,0.0000000001,0.000001);",
- "INSERT INTO GO_UNIT_FLOAT VALUES(6,0.99999,0.9999999999,0.999999);",
- "INSERT INTO GO_UNIT_FLOAT VALUES(7,-1,-1,-1);",
- "INSERT INTO GO_UNIT_FLOAT VALUES(8,-999999,-999999999999999,-999999);",
- "INSERT INTO GO_UNIT_FLOAT VALUES(9,-0.0000000001,-0.0000000001,-0.000001);",
- "INSERT INTO GO_UNIT_FLOAT VALUES(10,-0.99999,-0.9999999999,-0.999999);",
-
- "INSERT INTO GO_UNIT_CHAR VALUES(1,NULL,NULL,NULL);",
- "INSERT INTO GO_UNIT_CHAR VALUES(2,'','','');",
- "INSERT INTO GO_UNIT_CHAR VALUES(3,' ',' ',' ');",
- "INSERT INTO GO_UNIT_CHAR VALUES(4,'A','ABC','ABC');",
- "INSERT INTO GO_UNIT_CHAR VALUES(5,'\"','\"!@#$%^&*()_+~','\"!@#$%^&*()_+~');",
- "INSERT INTO GO_UNIT_CHAR VALUES(6,'中','中文','中文数据');",
- "INSERT INTO GO_UNIT_CHAR VALUES(7,'1',REPEAT('0123456789',3),REPEAT('0123456789',500));",
- "INSERT INTO GO_UNIT_CHAR VALUES(8,'一',REPEAT('零一二三四五六七八九',3),REPEAT('零一二三四五六七八九',500));",
-
- "INSERT INTO GO_UNIT_DATE VALUES(1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);",
- "INSERT INTO GO_UNIT_DATE values(2,'0001-01-01','00:00:00','00:00:00 +0','0001-01-01 00:00:00','0001-01-01 00:00:00 +0','0001-01-01 00:00:00','0001-01-01 00:00:00 +0');",
- "INSERT INTO GO_UNIT_DATE values(3,'9999-12-31','23:59:59.999','23:59:59.999 +12','9999-12-31 23:59:59.999','9999-12-31 23:59:59.999 +12','9999-12-31 23:59:59.999','9999-12-31 23:59:59.999 +12');",
-
- "INSERT INTO GO_UNIT_INTERVAL1 VALUES(1,NULL,NULL,NULL,NULL,NULL,NULL);",
- "INSERT INTO GO_UNIT_INTERVAL1 VALUES(2,0,0,0,0,0,0);",
- "INSERT INTO GO_UNIT_INTERVAL1 VALUES(3,9999,99999,999999,9999999,99999999,999999999);",
- "INSERT INTO GO_UNIT_INTERVAL1 VALUES(4,-9999,-99999,-999999,-9999999,-99999999,-999999999);",
-
- "INSERT INTO GO_UNIT_INTERVAL2 VALUES(1,NULL,NULL,NULL,NULL,NULL,NULL,NULL);",
- "INSERT INTO GO_UNIT_INTERVAL2 VALUES(2,'0-0','0 0','0 0:0','0 0:0:0','0:0','0:0:0','0:0');",
- "INSERT INTO GO_UNIT_INTERVAL2 VALUES(3,'9999-11','99999 23','99999 23:59','99999 23:59:59.999','999999:59','9999999:59:59.999','9999999:59.999');",
- "INSERT INTO GO_UNIT_INTERVAL2 VALUES(4,'-9999-11','-99999 23','-99999 23:59','-99999 23:59:59.999','-999999:59','-9999999:59:59.999','-9999999:59.999');",
-
- "INSERT INTO GO_UNIT_BLOB VALUES(1,NULL);",
- "INSERT INTO GO_UNIT_BLOB VALUES(2,'');",
- "INSERT INTO GO_UNIT_BLOB VALUES(3,'123456789');",
- "INSERT INTO GO_UNIT_BLOB VALUES(4,'ABCDEFABCDEF');",
-
- "INSERT INTO GO_UNIT_BLOB VALUES(5,REPEAT('0123456789ABCDEF',33554420));",
-
- "INSERT INTO GO_UNIT_CLOB VALUES(1,NULL);",
- "INSERT INTO GO_UNIT_CLOB VALUES(2,'');",
- "INSERT INTO GO_UNIT_CLOB VALUES(3,'123456789');",
- "INSERT INTO GO_UNIT_CLOB VALUES(4,'ABCDEFGHIJKLMNOPQRSTUVWXYZ');",
- "INSERT INTO GO_UNIT_CLOB VALUES(5,'!@#$%^&*()_+-={}[]''\"');",
- "INSERT INTO GO_UNIT_CLOB VALUES(6,'中文数据测试一二三四五六七八九十');",
- "INSERT INTO GO_UNIT_CLOB VALUES(7,REPEAT('1234567890中文数据测试一二三四五六七八九十',8388605));",
-
- "INSERT INTO GO_UNIT_BOOLEAN VALUES(1,NULL);",
- "INSERT INTO GO_UNIT_BOOLEAN VALUES(2,'');",
- "INSERT INTO GO_UNIT_BOOLEAN VALUES(3,TRUE);",
- "INSERT INTO GO_UNIT_BOOLEAN VALUES(4,FALSE);",
-
-
- "INSERT INTO GO_UNIT_BINARY VALUES(1,NULL,NULL,NULL);",
- "INSERT INTO GO_UNIT_BINARY VALUES(2,'','','');",
- "INSERT INTO GO_UNIT_BINARY VALUES(3,'0','0','0');",
- "INSERT INTO GO_UNIT_BINARY VALUES(4,'1','0011011','000001010011100101110111');",
-
- "INSERT INTO GO_UNIT_GUID VALUES(1,NULL);",
- "INSERT INTO GO_UNIT_GUID VALUES(2,'0941BCBD12CF4DF18EB27AEF709B3624');",
-
- "INSERT INTO GO_UNIT_JSON VALUES(1,NULL);",
- "INSERT INTO GO_UNIT_JSON VALUES(2,'null');",
- "INSERT INTO GO_UNIT_JSON VALUES(3,'true');",
- "INSERT INTO GO_UNIT_JSON VALUES(4,'false');",
- "INSERT INTO GO_UNIT_JSON VALUES(5,'1');",
- "INSERT INTO GO_UNIT_JSON VALUES(6,'-1');",
- "INSERT INTO GO_UNIT_JSON VALUES(7,'0.01');",
- "INSERT INTO GO_UNIT_JSON VALUES(8,'\"中文数据测试\"');",
- "INSERT INTO GO_UNIT_JSON VALUES(9,'[\"abc\", true, false, 1, 1.1, null]');",
- "INSERT INTO GO_UNIT_JSON VALUES(10,'{\"key1\": \"value\", \"key2\": true, \"key3\": false, \"key4\": 1, \"key5\": 1.1, \"key6\": null}');",
-
- "INSERT INTO GO_UNIT_XML VALUES(1,NULL);",
- "INSERT INTO GO_UNIT_XML VALUES(2,'<string>abc</string>');",
- "INSERT INTO GO_UNIT_XML VALUES(3,'<string>中文数据测试</string>');",
- "INSERT INTO GO_UNIT_XML VALUES(4,'<int>11</int>');",
- "INSERT INTO GO_UNIT_XML VALUES(5,'<double>11.1</double>');",
- "INSERT INTO GO_UNIT_XML VALUES(6,'<bool>true</bool>');",
- "INSERT INTO GO_UNIT_XML VALUES(7,'<bool>false</bool>');",
- }
- var db *sql.DB
- var ip = "192.168.2.216"
- var port = "5138"
- var database = "SYSTEM"
- var user = "SYSDBA"
- var pwd = "SYSDBA"
- var char_set = "UTF8"
- var Dsn = fmt.Sprintf("IP=%s;Port=%s;DB=%s;User=%s;PWD=%s;CHAR_SET=%s;",
- ip, port, database, user, pwd, char_set)
- var need_inti = false
- func init() {
- var err error
- db, err = sql.Open("xugusql", Dsn)
- if err != nil {
- fmt.Printf("[ERROR] %s\n", err.Error())
- }
- if need_inti {
-
- for _, value := range table_name {
- var table_alive = fmt.Sprintf("select count(*) from all_tables where table_name = '%s'", value)
- var row = db.QueryRow(table_alive)
- var table_count int32
- row.Scan(&table_count)
- if table_count > 0 {
- var drop_sql = fmt.Sprintf("drop table %s", value)
- db.Exec(drop_sql)
- }
- }
-
- for _, value := range create_table {
- db.Exec(value)
- }
- for _, insertsql := range insert_table {
- db.Exec(insertsql)
- }
- }
- }
|