From b4c31313424dfe91b04a3118225ce1a39a8322a1 Mon Sep 17 00:00:00 2001 From: Asdine El Hrychy Date: Wed, 4 Mar 2020 23:05:11 +0100 Subject: [PATCH] Fix panic when not using a pk --- .travis.yml | 1 - Makefile | 2 -- sql/query/plan.go | 5 +++-- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 872e77d12..8a615767d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,4 +17,3 @@ script: - make - make gen - go test -v -mod vendor -race -cover -timeout=2m ./... - - cd engine/badgerengine && go mod vendor && go test -v -mod vendor -race -cover -timeout=2m ./... diff --git a/Makefile b/Makefile index 9a05abd50..5c122aaae 100644 --- a/Makefile +++ b/Makefile @@ -17,10 +17,8 @@ test: testrace: go test -v -race -cover -timeout=2m ./... - cd engine/badgerengine && go test -v -race -cover -timeout=2m ./... cd cmd/genji && go test -v -race -cover -timeout=2m ./... bench: go test -v -run=^\$$ -benchmem -bench=. ./... - cd engine/badgerengine && go test -v -run=^\$$ -benchmem -bench=. ./... cd cmd/genji && go test -v -run=^\$$ -benchmem -bench=. ./... diff --git a/sql/query/plan.go b/sql/query/plan.go index 9b6bf42be..1d9fdcb75 100644 --- a/sql/query/plan.go +++ b/sql/query/plan.go @@ -145,7 +145,7 @@ func (qo *queryOptimizer) buildQueryPlan() queryPlan { if len(qo.orderBy) != 0 { _, ok := qo.indexes[qo.orderBy.Name()] pk := qo.cfg.GetPrimaryKey() - if ok || pk.Path.String() == qo.orderBy.Name() { + if ok || (pk != nil && pk.Path.String() == qo.orderBy.Name()) { qp.field = &queryPlanField{ indexedField: qo.orderBy, isPrimaryKey: pk.Path.String() == qo.orderBy.Name(), @@ -184,7 +184,8 @@ func (qo *queryOptimizer) analyseExpr(e Expr) *queryPlanField { } } - if qo.cfg.GetPrimaryKey().Path.String() == fs.Name() { + pk := qo.cfg.GetPrimaryKey() + if pk != nil && pk.Path.String() == fs.Name() { return &queryPlanField{ indexedField: fs, op: t.Token,