Abhinav Sarkar
f968612f36
Renames Env to Config.
7 years ago
Abhinav Sarkar
18dde15427
Refactors generator populate fact module to simplify the code.
...
- Extracts smaller functions out of big ones
- Moves count distinct update related code to a separate module
7 years ago
Abhinav Sarkar
7cec652d96
Adds functions in the Ringo module to get hssqlppp Statements.
7 years ago
Abhinav Sarkar
85cbd41e84
Renames functions to expand abbreviations.
7 years ago
Abhinav Sarkar
1cb60c56f4
Removes CPP directives and uses base-compat package instead.
7 years ago
Abhinav Sarkar
11e7d7d3b2
Fixes a typo in a setting name.
7 years ago
Abhinav Sarkar
29bafea95b
Removes EnvV from Types to simplify the code.
7 years ago
Abhinav Sarkar
ade13f767b
Removes FactColumnType pattern synonyms to simplify the code.
7 years ago
Abhinav Sarkar
9c683f3f67
Breaks the library and exe as separate cabal projects.
7 years ago
Abhinav Sarkar
ade5c388d8
Adds a smart constructor for Env for better type safety.
...
- Env is now created through a smart constructor which does
validations.
7 years ago
Abhinav Sarkar
0f4970d587
Changes FactColumn to use GADTs for better type safety.
7 years ago
Abhinav Sarkar
04be3b69f1
Adds more doctests.
...
- Found and fixed a bug regarding column names of FKs to existing dimension tables
(from DimId fact columns).
7 years ago
Abhinav Sarkar
46e5e43856
Changes fact populatation generator to use hssqlppp internally.
7 years ago
Abhinav Sarkar
3b7603b311
Fixes dim time population select clause.
...
- Dim time fact column population had a bug where the time id was being rounded
instead of being floored. This fixes it.
7 years ago
Abhinav Sarkar
aede5d6fc6
Fixes the dim time where clause interval queries.
...
- Changes the interval queries on dim time columns from <= ? and > ? to < ? and >= ?.
This is more convinient for specifying where clause datetime values.
7 years ago
Abhinav Sarkar
4a7682320b
Adds max and min fact column types.
7 years ago
Abhinav Sarkar
6ce2d56252
Adds support for tenant id fact column for multi-tenant databse designs.
7 years ago
Abhinav Sarkar
c021ffb845
Adds doctests.
7 years ago
Abhinav Sarkar
4e4d13b94f
Adds support for generated table suffixes and time where clause on source table in full refresh mode.
7 years ago
Abhinav Sarkar
644acc7ee9
Moves out foreign key id coalesce value as a setting.
7 years ago
Abhinav Sarkar
dc4b260ff6
Refactoring.
7 years ago
Abhinav Sarkar
601eed9a3c
Changes count distinct algo to use a specialized int log2 function.
7 years ago
Abhinav Sarkar
2d5a49f53e
Refactoring: Breaks Ringo.Generator into small modules.
7 years ago
Abhinav Sarkar
d758dc3310
Changes dimension table population query for coalesce changes.
...
- Replaces "IS NOT DISTICNT FROM" with "="
- Adds not-all-columns-null check for full refresh.
7 years ago
Abhinav Sarkar
ad14698ab0
Refactoring.
7 years ago
Abhinav Sarkar
bcd210e7a5
Moves SQL type defaults to input json from code.
7 years ago
Abhinav Sarkar
8a530618e4
Fixes incremental SQL for coaleasce changes.
7 years ago
Abhinav Sarkar
3978f33cd0
Adds coalescing to default values for fact table columns.
...
- Removes FKs from fact tables
- Some coercions in SQL for faster processing
7 years ago
Abhinav Sarkar
b994955399
Adds coalescing to default values for dimension table columns.
7 years ago
Abhinav Sarkar
ff4ca5e235
Adds sql generation for count distinct fact columns population.
7 years ago
Abhinav Sarkar
2dcbe4efd7
Adds source column to count and count distinct fact columns.
...
Also removes CountDistinctColumSuffix setting.
7 years ago
Abhinav Sarkar
d1e1eb7676
Adds output json generation.
...
- JSON files are generated for the following:
- list of fact tables generated
- list of dimension tables generated
- dependencies between the fact, dimension and source tables
7 years ago
Abhinav Sarkar
7d64ffcde4
Adds incremental refresh sql generation for fact tables.
7 years ago
Abhinav Sarkar
7dc6db944f
Adds incremental refresh sql generation for dimension tables.
...
- Adds partial unique indexes for tables to handle null columns.
- Adds validation for time column in fact tables.
7 years ago
Abhinav Sarkar
f8a6382aa3
Fixes bugs in fact table DDL and insert SQL generation.
7 years ago
Abhinav Sarkar
c430e5f255
Refactoring.
7 years ago
Abhinav Sarkar
a84325cb2a
Makes the build work with stack lts-2.
7 years ago
Abhinav Sarkar
ea9e100f8f
Extracts constants in code to settings.
7 years ago
Abhinav Sarkar
21497269ee
Adds index SQL in fact table create SQL.
7 years ago
Abhinav Sarkar
900b4b7488
Adds fact table insert SQL generation.
7 years ago
Abhinav Sarkar
c39916704e
Refactoring
7 years ago
Abhinav Sarkar
041d55f9dd
Refactors to move validation logic to its own namespace
7 years ago
Abhinav Sarkar
6e1341b52a
Adds dimension table insert SQL generation.
...
Moves some private functions from Extractor to Extractor.Internal for reuse.
7 years ago
Abhinav Sarkar
6d8e32950f
Adds SQL generation for table definitions.
...
And moves dimension and fact extraction logic to Ringo.Extractor namespace.
7 years ago