diff --git a/compiler/rungen/op.go b/compiler/rungen/op.go index 4214f09cc1..fdcb19eac3 100644 --- a/compiler/rungen/op.go +++ b/compiler/rungen/op.go @@ -322,11 +322,7 @@ func (b *Builder) compileLeaf(o dag.Op, parent sbuf.Puller) (sbuf.Puller, error) case *dag.MergeOp: return nil, errors.New("merge: multiple upstream paths required") case *dag.HeadOp: - limit := v.Count - if limit == 0 { - limit = 1 - } - return head.New(parent, limit), nil + return head.New(parent, v.Count), nil case *dag.LoadOp: return load.New(b.rctx, b.env.DB(), parent, v.Pool, v.Branch, v.Author, v.Message, v.Meta), nil case *dag.OutputOp: @@ -364,11 +360,7 @@ func (b *Builder) compileLeaf(o dag.Op, parent sbuf.Puller) (sbuf.Puller, error) } return sort.New(b.rctx, parent, sortExprs, v.Reverse, b.resetters), nil case *dag.TailOp: - limit := v.Count - if limit == 0 { - limit = 1 - } - return tail.New(parent, limit), nil + return tail.New(parent, v.Count), nil case *dag.TopOp: b.resetResetters() var sortExprs []expr.SortExpr diff --git a/compiler/ztests/sql/limit-zero.yaml b/compiler/ztests/sql/limit-zero.yaml new file mode 100644 index 0000000000..17ba639fed --- /dev/null +++ b/compiler/ztests/sql/limit-zero.yaml @@ -0,0 +1,3 @@ +spq: select 1 limit 0 + +output: "" diff --git a/runtime/ztests/op/head-zero.yaml b/runtime/ztests/op/head-zero.yaml new file mode 100644 index 0000000000..3c459363fc --- /dev/null +++ b/runtime/ztests/op/head-zero.yaml @@ -0,0 +1,3 @@ +spq: values 1 | head 0 + +output: "" diff --git a/runtime/ztests/op/tail-zero.yaml b/runtime/ztests/op/tail-zero.yaml new file mode 100644 index 0000000000..5afc833ea9 --- /dev/null +++ b/runtime/ztests/op/tail-zero.yaml @@ -0,0 +1,3 @@ +spq: values 1 | tail 0 + +output: ""