You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
`INSERT INTO %I.%I SELECT CAST(reference AS VARCHAR), language, %L, %L, description, sort_order, CAST(hierarchy AS VARCHAR), 0 FROM %I.measure WHERE language = %L ORDER BY sort_order, reference;`,
1525
+
`INSERT INTO %I.%I SELECT CAST(reference AS VARCHAR), language, %L, %L, description, CAST (sort_order AS BIGINT), CAST(hierarchy AS VARCHAR), 0 FROM %I.measure WHERE language = %L ORDER BY sort_order, reference;`,
1526
1526
buildId,
1527
1527
FILTER_TABLE_NAME,
1528
1528
measureColumn.columnName,
@@ -1582,7 +1582,7 @@ function rawDimensionProcessor(
1582
1582
statements.push(
1583
1583
pgformat(
1584
1584
`INSERT INTO %I.%I
1585
-
SELECT DISTINCT CAST(%I AS VARCHAR), %L, %L, %L, CAST (%I AS VARCHAR), NULL, NULL, 0
1585
+
SELECT DISTINCT CAST(%I AS VARCHAR), %L, %L, %L, CAST (%I AS VARCHAR), NULL::BIGINT, NULL, 0
1586
1586
FROM %I.%I ORDER BY %I;`,
1587
1587
buildId,
1588
1588
FILTER_TABLE_NAME,
@@ -1708,7 +1708,7 @@ export function setupLookupTableDimension(
CAST(%I AS VARCHAR) AS reference, language, %L AS fact_table_column, %L AS dimension_name, description, sort_order AS sort_order, hierarchy
1711
+
CAST(%I AS VARCHAR) AS reference, language, %L AS fact_table_column, %L AS dimension_name, description, CAST (sort_order AS BIGINT) AS sort_order, hierarchy
1712
1712
FROM %I.%I
1713
1713
WHERE language = %L
1714
1714
ORDER BY sort_order %s, description);`,
@@ -1889,7 +1889,7 @@ function setupTextDimension(
1889
1889
statements.push(
1890
1890
pgformat(
1891
1891
`INSERT INTO %I.%I
1892
-
SELECT DISTINCT CAST(%I AS VARCHAR), %L, %L, %L, CAST (%I AS VARCHAR), NULL, NULL, 0
1892
+
SELECT DISTINCT CAST(%I AS VARCHAR), %L, %L, %L, CAST (%I AS VARCHAR), NULL::BIGINT, NULL, 0
1893
1893
FROM %I.%I;`,
1894
1894
buildId,
1895
1895
FILTER_TABLE_NAME,
@@ -2086,9 +2086,17 @@ export function updateFilterTableCounts(buildId: string, factTable: FactTableCol
statements.push(pgformat('ALTER TABLE %I.%I ADD IF NOT EXISTS sort_order TEXT;',cubeId,FILTER_TABLE_NAME));
2091
+
statements.push(pgformat('ALTER TABLE %I.%I ADD IF NOT EXISTS sort_order BIGINT;',cubeId,FILTER_TABLE_NAME));
2092
+
// Migrate existing TEXT columns to BIGINT; non-numeric values are nulled out rather than failing.
2093
+
statements.push(
2094
+
pgformat(
2095
+
`ALTER TABLE %I.%I ALTER COLUMN sort_order TYPE BIGINT USING (CASE WHEN sort_order::TEXT ~ '^-?[0-9]+$' THEN (sort_order::TEXT)::BIGINT ELSE NULL END);`,
2096
+
cubeId,
2097
+
FILTER_TABLE_NAME
2098
+
)
2099
+
);
2092
2100
statements.push(
2093
2101
pgformat('ALTER TABLE %I.%I ADD IF NOT EXISTS reference_count BIGINT DEFAULT 0;',cubeId,FILTER_TABLE_NAME)
2094
2102
);
@@ -2105,7 +2113,7 @@ function createFilterTableSortOrders(cubeId: string, dataset: Dataset): Transact
2105
2113
if(!dim.lookupTable)continue;
2106
2114
statements.push(
2107
2115
pgformat(
2108
-
'UPDATE %I.%I SET sort_order = lookup.sort_order FROM (SELECT CAST(%I AS VARCHAR) AS reference, language, sort_order FROM %I.%I) AS lookup WHERE %I.reference = lookup.reference AND %I.language = lookup.language AND %I.fact_table_column = %L;',
2116
+
'UPDATE %I.%I SET sort_order = lookup.sort_order FROM (SELECT CAST(%I AS VARCHAR) AS reference, language, CAST (sort_order AS BIGINT) as sort_order FROM %I.%I) AS lookup WHERE %I.reference = lookup.reference AND %I.language = lookup.language AND %I.fact_table_column = %L;',
2109
2117
cubeId,
2110
2118
FILTER_TABLE_NAME,
2111
2119
dim.factTableColumn,
@@ -2122,7 +2130,7 @@ function createFilterTableSortOrders(cubeId: string, dataset: Dataset): Transact
2122
2130
if(dataset.measure?.lookupTable){
2123
2131
statements.push(
2124
2132
pgformat(
2125
-
'UPDATE %I.%I SET sort_order = lookup.sort_order FROM (SELECT CAST(reference AS VARCHAR) AS reference, language, sort_order FROM %I.measure) AS lookup WHERE %I.reference = lookup.reference AND %I.language = lookup.language AND %I.fact_table_column = %L;',
2133
+
'UPDATE %I.%I SET sort_order = lookup.sort_order FROM (SELECT CAST(reference AS VARCHAR) AS reference, language, CAST (sort_order AS BIGINT) AS sort_order FROM %I.measure) AS lookup WHERE %I.reference = lookup.reference AND %I.language = lookup.language AND %I.fact_table_column = %L;',
0 commit comments