• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

torand / FasterSQL / 13316818541

13 Feb 2025 08:49PM UTC coverage: 56.762%. First build
13316818541

Pull #8

github

web-flow
Merge a7d313d14 into 1f252c094
Pull Request #8: feat: misc additions

143 of 336 branches covered (42.56%)

Branch coverage included in aggregate %.

97 of 171 new or added lines in 34 files covered. (56.73%)

772 of 1276 relevant lines covered (60.5%)

3.21 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/main/java/io/github/torand/fastersql/expression/arithmetic/Subtraction.java
1
package io.github.torand.fastersql.expression.arithmetic;
2

3
import io.github.torand.fastersql.Context;
4
import io.github.torand.fastersql.Field;
5
import io.github.torand.fastersql.expression.Expression;
6
import io.github.torand.fastersql.projection.Projection;
7

8
import java.util.Random;
9
import java.util.stream.Stream;
10

11
import static io.github.torand.fastersql.util.contract.Requires.requireNonBlank;
12
import static java.util.Objects.nonNull;
13
import static java.util.Objects.requireNonNull;
14

15
public class Subtraction implements Expression {
16
    private final Expression left;
17
    private final Expression right;
18
    private final String alias;
19

NEW
20
    Subtraction(Expression left, Expression right, String alias) {
×
21
        this.left = requireNonNull(left, "No left operand specified");
×
22
        this.right = requireNonNull(right, "No right operand specified");
×
23
        this.alias = nonNull(alias) ? alias : defaultAlias();
×
24
    }
×
25

26
    // Sql
27

28
    @Override
29
    public String sql(Context context) {
30
        return left.sql(context) + " - " + right.sql(context);
×
31
    }
32

33
    @Override
34
    public Stream<Object> params(Context context) {
35
        return Stream.concat(left.params(context), right.params(context));
×
36
    }
37

38
    // Projection
39

40
    @Override
41
    public Projection as(String alias) {
42
        requireNonBlank(alias, "No alias specified");
×
NEW
43
        return new Subtraction(left, right, alias);
×
44
    }
45

46
    @Override
47
    public String alias() {
48
        return alias;
×
49
    }
50

51
    // Expression
52

53
    @Override
54
    public Stream<Field> fieldRefs() {
55
        return Stream.concat(left.fieldRefs(), right.fieldRefs());
×
56
    }
57

58
    private String defaultAlias() {
59
        return "MINUS_" + (new Random().nextInt(999) + 1);
×
60
    }
61
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc