<commit_before># Main TODO list

Following the PostgreSQL features list on [this page](https://www.postgresql.org/about/featurematrix/).

> **cte** - Common Table Expressions

## v0.1.0

- [ ] DOCS!!!
  - [ ] Interval
  - [ ] Enum
  - [ ] Distinct On
  - [ ] Config
- [x] CTE queries (auxiliary statements)
  - [x] Configure CTE queries on model, and enable using `with(:name)` on relations
  - [x] Allow custom join type, besides the default InnerJoin
  - [x] Only provides the CTE fields when the main query doesn't select columns
  - [x] Create a exclusive class to hold all the generated auxiliary statements
  - [x] Try to identify join columns
- [x] Interval data type [DOCS](https://www.postgresql.org/docs/9.4/static/datatype-datetime.html#DATATYPE-INTERVAL-INPUT)
  - [x] Setup the interval style to the easier 'iso_8601' [DOCS](https://www.postgresql.org/docs/9.6/static/runtime-config-client.html#RUNTIME-CONFIG-CLIENT-FORMAT)
  - [x] On create table, interval column method
  - [x] Value OID
  - [x] Accepts integer as a value
  - [x] Accepts array and hash as a value
- [x] 'Enum' type manager [DOCS](https://www.postgresql.org/docs/9.2/static/sql-createtype.html)
  - [x] Configurations
  - [x] Allow schema option for database statements
  - [x] Create, remove and change values
  - [x] Schema dumper
  - [x] Migration up and down<commit_msg>Update TODO<commit_after># Main TODO list

Following the PostgreSQL features list on [this page](https://www.postgresql.org/about/featurematrix/).

> **cte** - Common Table Expressions

## v0.1.0

- [ ] DOCS!!!
  - [ ] Config
  - [ ] Auxiliary Statements
  - [ ] Interval
  - [ ] Enum
  - [ ] Distinct On
- [x] CTE queries (auxiliary statements)
  - [x] Configure CTE queries on model, and enable using `with(:name)` on relations
  - [x] Allow custom join type, besides the default InnerJoin
  - [x] Only provides the CTE fields when the main query doesn't select columns
  - [x] Create a exclusive class to hold all the generated auxiliary statements
  - [x] Try to identify join columns
- [x] Interval data type [DOCS](https://www.postgresql.org/docs/9.4/static/datatype-datetime.html#DATATYPE-INTERVAL-INPUT)
  - [x] Setup the interval style to the easier 'iso_8601' [DOCS](https://www.postgresql.org/docs/9.6/static/runtime-config-client.html#RUNTIME-CONFIG-CLIENT-FORMAT)
  - [x] On create table, interval column method
  - [x] Value OID
  - [x] Accepts integer as a value
  - [x] Accepts array and hash as a value
- [x] 'Enum' type manager [DOCS](https://www.postgresql.org/docs/9.2/static/sql-createtype.html)
  - [x] Configurations
  - [x] Allow schema option for database statements
  - [x] Create, remove and change values
  - [x] Schema dumper
  - [x] Migration up and down
{'fraction_non_alphanumeric': 0.12586647209047794, 'fraction_numerical': 0.009485589201021525, 'mean_word_length': 3.5397350993377485, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 8, 'lorem ipsum': 0, 'www.': 8, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3410283', 'n_tokens_mistral': 914, 'n_tokens_neox': 899, 'n_words': 296}