Browse Source

删除多余的sdk接口

yjp 1 year ago
parent
commit
a11ef9876e
3 changed files with 65 additions and 97 deletions
  1. 40 54
      demo/demo.go
  2. 25 2
      demo/resources.yaml
  3. 0 41
      sdk/sdk.go

+ 40 - 54
demo/demo.go

@@ -1,20 +1,23 @@
 package main
 
 import (
+	"fmt"
 	"git.sxidc.com/go-tools/utils/strutils"
 	"git.sxidc.com/service-supports/ds-sdk/sdk"
 	"math/rand"
+	"sync"
+	"time"
 )
 
 const (
-	token         = "IpTTwAQweh/BP51fz5CzWKQFaXHvZe6ewvk6yOcAOkU="
-	address       = "localhost"
-	httpPort      = "10000"
-	grpcPort      = "10001"
-	namespace     = "ns-sdk-demo"
-	dataSource    = "ds-sdk-demo"
-	dataContainer = "dc-sdk-demo"
-	deleteSql     = "delete-sdk-demo"
+	token          = "IpTTwAQweh/BP51fz5CzWKQFaXHvZe6ewvk6yOcAOkU="
+	address        = "localhost"
+	httpPort       = "10000"
+	grpcPort       = "10001"
+	namespace      = "ns-sdk-demo"
+	dataSource     = "ds-sdk-demo"
+	deleteSql      = "delete-sdk-demo"
+	goRoutineCount = 100
 )
 
 const (
@@ -22,30 +25,6 @@ const (
 )
 
 var (
-	dataContainerSpec = sdk.DataContainerDatabaseSpec{
-		TableName: "test.classes",
-		Columns: []sdk.DataContainerDatabaseColumnSpec{
-			{
-				Name:       "id",
-				Type:       "varchar(32)",
-				Comment:    "id",
-				PrimaryKey: true,
-			},
-			{
-				Name:    "name",
-				Type:    "varchar(128)",
-				Comment: "班名",
-				NotNull: true,
-			},
-			{
-				Name:    "student_num",
-				Type:    "integer",
-				Comment: "学生数量",
-				Default: 60,
-			},
-		},
-	}
-
 	sqlSpec = sdk.SqlSpec{
 		Transaction: false,
 		Clauses:     "- DELETE FROM test.classes WHERE id = '{{ .id }}'",
@@ -79,11 +58,6 @@ func main() {
 		}
 	}()
 
-	err = sdk.GetInstance().CreateDataContainer(dataContainer, dataContainerSpec.ToMap())
-	if err != nil {
-		panic(err)
-	}
-
 	err = sdk.GetInstance().CreateSQL(deleteSql, sqlSpec.ToMap())
 	if err != nil {
 		panic(err)
@@ -99,25 +73,37 @@ func main() {
 		panic(err)
 	}
 
-	err = sdk.GetInstance().Transaction(func(tx *sdk.Transaction) error {
-		err := tx.ExecuteRawSql(sqlInsertTpl, insertExecuteParams)
-		if err != nil {
-			return err
-		}
+	wg := sync.WaitGroup{}
+	wg.Add(goRoutineCount)
 
-		err = tx.ExecuteSql(deleteSql, deleteExecuteParams)
-		if err != nil {
-			return err
-		}
+	start := time.Now()
 
-		return nil
-	})
-	if err != nil {
-		panic(err)
-	}
+	for i := 0; i < goRoutineCount; i++ {
+		go func() {
+			defer wg.Done()
 
-	err = sdk.GetInstance().DeleteDataContainer(dataContainer)
-	if err != nil {
-		panic(err)
+			err = sdk.GetInstance().Transaction(func(tx *sdk.Transaction) error {
+				err := tx.ExecuteRawSql(sqlInsertTpl, insertExecuteParams)
+				if err != nil {
+					return err
+				}
+
+				err = tx.ExecuteSql(deleteSql, deleteExecuteParams)
+				if err != nil {
+					return err
+				}
+
+				return nil
+			})
+			if err != nil {
+				panic(err)
+			}
+		}()
 	}
+
+	wg.Wait()
+
+	end := time.Now()
+
+	fmt.Println(end.Sub(start).Milliseconds())
 }

+ 25 - 2
demo/resources.yaml

@@ -13,8 +13,31 @@ spec:
     type: postgres
     user_name: test
     password: "123456"
-    address: localhost
+    address: "10.0.0.84"
     port: "30432"
     database: test
     max_connections: 40
-    max_idle_connections: 10
+    max_idle_connections: 10
+
+---
+
+kind: DataContainer
+spec:
+  namespace: ns-sdk-demo
+  data_source: ds-sdk-demo
+  name: dc-sdk-demo
+  spec:
+    table_name: test.classes
+    columns:
+      - name: id
+        type: varchar(32)
+        comment: id
+        primary_key: true
+      - name: name
+        type: varchar(128)
+        comment: 班名
+        not_null: true
+      - name: student_num
+        type: integer
+        comment: 学生数量
+        default: 60

+ 0 - 41
sdk/sdk.go

@@ -17,47 +17,6 @@ type SDK struct {
 	grpcClient *grpc_client.Client
 }
 
-func (s *SDK) CreateDataContainer(name string, spec map[string]any) error {
-	if strutils.IsStringEmpty(name) {
-		return errors.New("没有传递数据容器名称")
-	}
-
-	options := s.options
-
-	err := s.client.CreateDataContainer(options.token, options.baseUrl,
-		options.namespace, options.dataSource, name, spec)
-	if err != nil {
-		return err
-	}
-
-	return nil
-}
-
-func (s *SDK) DeleteDataContainer(name string) error {
-	if strutils.IsStringEmpty(name) {
-		return errors.New("没有传递数据容器名称")
-	}
-
-	options := s.options
-
-	err := s.client.DeleteDataContainer(options.token, options.baseUrl,
-		options.namespace, options.dataSource, name)
-	if err != nil {
-		return err
-	}
-
-	return nil
-}
-
-func (s *SDK) GetDataContainers(name string, pageNo int, pageSize int) ([]client.DataContainerInfo, error) {
-	options := s.options
-
-	return s.client.GetDataContainers(options.token, options.baseUrl,
-		options.namespace, options.dataSource, name, pageNo, pageSize)
-}
-
-// TODO 增加Event版本的Container创建
-
 func (s *SDK) ExecuteRawSql(sql string, executeParams map[string]any) ([]map[string]any, error) {
 	if strutils.IsStringEmpty(sql) {
 		return make([]map[string]any, 0), nil