@nicia-ai/typegraph 0.9.1 → 0.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -2524,14 +2524,8 @@ function compileAggregateExprFromSource(expr, dialect) {
2524
2524
  const { field: field2 } = expr;
2525
2525
  const fn = expr.function;
2526
2526
  switch (fn) {
2527
- case "count": {
2528
- const cteAlias = `cte_${field2.alias}`;
2529
- return sql`COUNT(${sql.raw(cteAlias)}.${sql.raw(field2.alias)}_id)`;
2530
- }
2531
- case "countDistinct": {
2532
- const cteAlias = `cte_${field2.alias}`;
2533
- return sql`COUNT(DISTINCT ${sql.raw(cteAlias)}.${sql.raw(field2.alias)}_id)`;
2534
- }
2527
+ case "count":
2528
+ case "countDistinct":
2535
2529
  case "sum":
2536
2530
  case "avg":
2537
2531
  case "min":
@@ -2543,6 +2537,9 @@ function compileAggregateExprFromSource(expr, dialect) {
2543
2537
  field2.valueType,
2544
2538
  cteAlias
2545
2539
  );
2540
+ if (fn === "countDistinct") {
2541
+ return sql`COUNT(DISTINCT ${column})`;
2542
+ }
2546
2543
  return sql`${sql.raw(fn.toUpperCase())}(${column})`;
2547
2544
  }
2548
2545
  default: {
@@ -3652,19 +3649,17 @@ function compilePrefixedSelect(ast, prefix, dialect) {
3652
3649
  function compileFieldValueForSetOp(source, prefix, alias, dialect) {
3653
3650
  if ("__type" in source && source.__type === "aggregate") {
3654
3651
  const { field: field2, function: fn } = source;
3655
- const cteName = `cte_${prefix}_${field2.alias}`;
3656
3652
  switch (fn) {
3657
- case "count": {
3658
- return sql`COUNT(${sql.raw(cteName)}.${sql.raw(field2.alias)}_id)`;
3659
- }
3660
- case "countDistinct": {
3661
- return sql`COUNT(DISTINCT ${sql.raw(cteName)}.${sql.raw(field2.alias)}_id)`;
3662
- }
3653
+ case "count":
3654
+ case "countDistinct":
3663
3655
  case "sum":
3664
3656
  case "avg":
3665
3657
  case "min":
3666
3658
  case "max": {
3667
3659
  const column = compileFieldColumnForSetOp(field2, prefix, dialect);
3660
+ if (fn === "countDistinct") {
3661
+ return sql`COUNT(DISTINCT ${column})`;
3662
+ }
3668
3663
  return sql`${sql.raw(fn.toUpperCase())}(${column})`;
3669
3664
  }
3670
3665
  default: {
@@ -3878,9 +3873,7 @@ function collectRequiredColumnsByAlias2(ast) {
3878
3873
  markFieldRefAsRequired(requiredColumnsByAlias, source);
3879
3874
  } else {
3880
3875
  addRequiredColumn(requiredColumnsByAlias, source.field.alias, "id");
3881
- if (source.function !== "count" && source.function !== "countDistinct") {
3882
- markFieldRefAsRequired(requiredColumnsByAlias, source.field);
3883
- }
3876
+ markFieldRefAsRequired(requiredColumnsByAlias, source.field);
3884
3877
  }
3885
3878
  }
3886
3879
  }