框架优化

This commit is contained in:
hoteas
2022-03-13 05:06:28 +08:00
parent 369c06724a
commit 716b3dfa6b
11 changed files with 255 additions and 114 deletions
+38 -4
View File
@@ -10,6 +10,7 @@ import (
_ "github.com/mattn/go-sqlite3"
"os"
"reflect"
"sort"
"strings"
)
@@ -447,7 +448,16 @@ func (that *HoTimeDB) Select(table string, qu ...interface{}) []Map {
}
if join {
for k, v := range qu[0].(Map) {
var testQu = []string{}
testQuData := qu[0].(Map)
for key, _ := range testQuData {
//fmt.Println(key, ":", value)
testQu = append(testQu, key)
}
sort.Strings(testQu)
for _, k := range testQu {
v := testQuData[k]
switch Substr(k, 0, 3) {
case "[>]":
query += " LEFT JOIN " + Substr(k, 3, len(k)-3) + " ON " + v.(string)
@@ -560,7 +570,15 @@ func (that *HoTimeDB) where(data Map) (string, []interface{}) {
res := make([]interface{}, 0)
//AND OR判断
for k, v := range data {
testQu := []string{}
//testQuData:= qu[0].(Map)
for key, _ := range data {
//fmt.Println(key, ":", value)
testQu = append(testQu, key)
}
sort.Strings(testQu)
for _, k := range testQu {
v := data[k]
x := 0
for i := 0; i < len(condition); i++ {
@@ -607,7 +625,15 @@ func (that *HoTimeDB) where(data Map) (string, []interface{}) {
//特殊字符
for j := 0; j < len(vcond); j++ {
for k, v := range data {
testQu := []string{}
//testQuData:= qu[0].(Map)
for key, _ := range data {
//fmt.Println(key, ":", value)
testQu = append(testQu, key)
}
sort.Strings(testQu)
for _, k := range testQu {
v := data[k]
if vcond[j] == k {
if k == "ORDER" {
where += " " + k + " BY "
@@ -881,7 +907,15 @@ func (that *HoTimeDB) cond(tag string, data Map) (string, []interface{}) {
res := make([]interface{}, 0)
lens := len(data)
//fmt.Println(lens)
for k, v := range data {
testQu := []string{}
//testQuData:= qu[0].(Map)
for key, _ := range data {
//fmt.Println(key, ":", value)
testQu = append(testQu, key)
}
sort.Strings(testQu)
for _, k := range testQu {
v := data[k]
x := 0
for i := 0; i < len(condition); i++ {