Skip to content

Commit 4244a78

Browse files
committed
fix head 0, tail 0, and limit 0 so they work properly
1 parent 7c4d960 commit 4244a78

File tree

3 files changed

+8
-10
lines changed

3 files changed

+8
-10
lines changed

compiler/rungen/op.go

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -322,11 +322,7 @@ func (b *Builder) compileLeaf(o dag.Op, parent sbuf.Puller) (sbuf.Puller, error)
322322
case *dag.MergeOp:
323323
return nil, errors.New("merge: multiple upstream paths required")
324324
case *dag.HeadOp:
325-
limit := v.Count
326-
if limit == 0 {
327-
limit = 1
328-
}
329-
return head.New(parent, limit), nil
325+
return head.New(parent, v.Count), nil
330326
case *dag.LoadOp:
331327
return load.New(b.rctx, b.env.DB(), parent, v.Pool, v.Branch, v.Author, v.Message, v.Meta), nil
332328
case *dag.OutputOp:
@@ -364,11 +360,7 @@ func (b *Builder) compileLeaf(o dag.Op, parent sbuf.Puller) (sbuf.Puller, error)
364360
}
365361
return sort.New(b.rctx, parent, sortExprs, v.Reverse, b.resetters), nil
366362
case *dag.TailOp:
367-
limit := v.Count
368-
if limit == 0 {
369-
limit = 1
370-
}
371-
return tail.New(parent, limit), nil
363+
return tail.New(parent, v.Count), nil
372364
case *dag.TopOp:
373365
b.resetResetters()
374366
var sortExprs []expr.SortExpr
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
spq: select 1 limit 0
2+
3+
output: ""

runtime/ztests/op/head-zero.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
spq: values 1 | head 0
2+
3+
output: ""

0 commit comments

Comments
 (0)