Use hash's as ids for table relationships

This commit is contained in:
Vikram Rangnekar
2019-05-14 22:32:12 -04:00
parent e1d3bb9055
commit 58408eadc1
7 changed files with 116 additions and 41 deletions

View File

@ -34,8 +34,6 @@ type coreContext struct {
func (c *coreContext) handleReq(w io.Writer, req *http.Request) error {
var err error
//cacheEnabled := (conf.EnableTracing == false)
qc, err := qcompile.CompileQuery(c.req.Query)
if err != nil {
return err
@ -130,21 +128,16 @@ func (c *coreContext) handleReq(w io.Writer, req *http.Request) error {
return err
}
// if cacheEnabled {
// if err = cache.Set(key, []byte(finalSQL)); err != nil {
// return err
// }
// }
return c.render(w, ob.Bytes())
}
func (c *coreContext) resolveSQL(qc *qcode.QCode, vars variables) (
[]byte, uint32, error) {
//var entry []byte
//var key string
//cacheEnabled := (conf.EnableTracing == false)
// var entry []byte
// var key string
// cacheEnabled := (conf.EnableTracing == false)
// if cacheEnabled {
// k := sha1.Sum([]byte(req.Query))
@ -180,13 +173,23 @@ func (c *coreContext) resolveSQL(qc *qcode.QCode, vars variables) (
return nil, 0, err
}
finalSQL := sqlStmt.String()
finalSQL := sqlStmt.Bytes()
if conf.DebugLevel > 0 {
fmt.Println(finalSQL)
}
st := time.Now()
// if cacheEnabled {
// if err = cache.Set(key, finalSQL); err != nil {
// return err
// }
// }
var st time.Time
if conf.EnableTracing {
st = time.Now()
}
var root json.RawMessage
_, err = db.Query(pg.Scan(&root), finalSQL)

View File

@ -45,7 +45,12 @@ func initRemotes(t configTable) {
// register a relationship between the remote data
// and the database table
key := psql.TTKey{strings.ToLower(r.Name), t.Name}
h.WriteString(strings.ToLower(r.Name))
h.WriteString(t.Name)
key := h.Sum64()
h.Reset()
val := &psql.DBRel{
Type: psql.RelRemote,
Col1: idcol,