Skip to content

Commit 474e3e1

Browse files
committed
fmt
1 parent 21a1262 commit 474e3e1

File tree

2 files changed

+29
-22
lines changed

2 files changed

+29
-22
lines changed

src/50expression.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -836,7 +836,7 @@
836836
findAggregator(query) {
837837
// Check if an identical aggregate already exists in selectGroup
838838
let existingAggr = query.selectGroup.find(agg => agg.toString() === this.toString());
839-
839+
840840
if (existingAggr) {
841841
// Reuse the existing aggregate's nick to share the same accumulator
842842
this.aggrNick = existingAggr.nick;

test/test1147.js

Lines changed: 28 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -17,46 +17,53 @@ describe('Test 942 - Duplicate aggregate functions return different values', fun
1717

1818
it('A) Two identical SUM aggregates without rownum should return same value', function () {
1919
alasql('CREATE TABLE test (population number)');
20-
alasql("INSERT INTO test VALUES (100), (200), (300)");
21-
20+
alasql('INSERT INTO test VALUES (100), (200), (300)');
21+
2222
var res = alasql('SELECT sum(population) as val1, sum(population) as val2 FROM test');
23-
23+
2424
assert.deepEqual(res, [{val1: 600, val2: 600}]);
2525
assert.strictEqual(res[0].val1, res[0].val2, 'val1 and val2 should be equal');
26-
26+
2727
alasql('DROP TABLE test');
2828
});
2929

3030
it('B) Two identical SUM aggregates with rownum should return same value', function () {
3131
alasql('CREATE TABLE test (city string, price number, people number, population number)');
32-
alasql("INSERT INTO test VALUES ('Rome',10,1,2863223),('Paris',20,1,2249975),('Berlin',30,1,3517424), ('Madrid',40,1,3041579)");
33-
34-
var res = alasql('SELECT sum(population) as val3, sum(population) as val4, rownum() as rownum FROM test');
35-
32+
alasql(
33+
"INSERT INTO test VALUES ('Rome',10,1,2863223),('Paris',20,1,2249975),('Berlin',30,1,3517424), ('Madrid',40,1,3041579)"
34+
);
35+
36+
var res = alasql(
37+
'SELECT sum(population) as val3, sum(population) as val4, rownum() as rownum FROM test'
38+
);
39+
3640
assert.strictEqual(res[0].val3, res[0].val4, 'val3 and val4 should be equal');
3741
assert.strictEqual(res[0].val3, 11672201, 'val3 should be 11672201');
3842
assert.strictEqual(res[0].val4, 11672201, 'val4 should be 11672201');
39-
43+
4044
alasql('DROP TABLE test');
4145
});
4246

4347
it('C) Multiple identical aggregates in complex query', function () {
4448
alasql('CREATE TABLE test (city string, price number, people number, population number)');
45-
alasql("INSERT INTO test VALUES ('Rome',10,1,2863223),('Paris',20,1,2249975),('Berlin',30,1,3517424), ('Madrid',40,1,3041579)");
46-
47-
var sql = "SELECT " +
48-
"CASE WHEN sum(people)=0 THEN 0 ELSE (sum(cast(price as float)) / sum(cast(people as float))) END as val1, " +
49-
"CASE WHEN sum(population)=0 THEN 0 ELSE (sum(cast(price as float)) / sum(cast(population as float))) END as val2, " +
50-
"sum(population) as val3, " +
51-
"sum(population) as val4, " +
52-
"rownum() as rownum " +
53-
"FROM test";
54-
49+
alasql(
50+
"INSERT INTO test VALUES ('Rome',10,1,2863223),('Paris',20,1,2249975),('Berlin',30,1,3517424), ('Madrid',40,1,3041579)"
51+
);
52+
53+
var sql =
54+
'SELECT ' +
55+
'CASE WHEN sum(people)=0 THEN 0 ELSE (sum(cast(price as float)) / sum(cast(people as float))) END as val1, ' +
56+
'CASE WHEN sum(population)=0 THEN 0 ELSE (sum(cast(price as float)) / sum(cast(population as float))) END as val2, ' +
57+
'sum(population) as val3, ' +
58+
'sum(population) as val4, ' +
59+
'rownum() as rownum ' +
60+
'FROM test';
61+
5562
var res = alasql(sql);
56-
63+
5764
assert.strictEqual(res[0].val3, res[0].val4, 'val3 and val4 should be equal');
5865
assert.strictEqual(res[0].val3, 11672201, 'val3 should be the sum of all populations');
59-
66+
6067
alasql('DROP TABLE test');
6168
});
6269
});

0 commit comments

Comments
 (0)