Skip to content

Commit

Permalink
Add Enumerated Data Types
Browse files Browse the repository at this point in the history
TODO: Write a better commit message
  • Loading branch information
davisp committed May 5, 2023
1 parent 8afb588 commit a8f12ea
Show file tree
Hide file tree
Showing 53 changed files with 4,596 additions and 91 deletions.
7 changes: 6 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,12 @@ else()
elseif (CMAKE_BUILD_TYPE MATCHES "RelWithDebInfo")
add_compile_options(-DNDEBUG -O3 -g3 -ggdb3 -gdwarf-3)
elseif (CMAKE_BUILD_TYPE MATCHES "Coverage")
add_compile_options(-DDEBUG -g3 -gdwarf-3 --coverage)
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
add_compile_options(-DDEBUG --coverage -fprofile-instr-generate -fcoverage-mapping)
add_link_options(--coverage -fprofile-instr-generate -fcoverage-mapping)
else()
add_compile_options(-DDEBUG -g3 -gdwarf-3 --coverage)
endif()
endif()

# Use -Wno-literal-suffix on Linux with C++ sources.
Expand Down
33 changes: 33 additions & 0 deletions PJD_TODO.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
Chores Left
===

* Testing
* Update C API unit tests to cover 100% of the Enumeration constructor
* Throw error if enumeration has longer length than the integer width of the attribute
* Require the attribute type to be integral when setting an enumeration
* Don't allow signed integer values for attributes with enumeratiojns? Does R need this?
* Require cell_val_num == 1 for attributes

* Errors (de?)serializing to disk

* Miscellany
* Add Enumeration::dump(FILE* out)
* Update schema consolidation and vaccuming for enumerations
* When serializing array schema, check that any enumerations set on attributes actually exist
* Array::get_enumeration - might have to check all load schema versions?
* Do loaded enumerations need serialized?
* QueryAstNode rewrite_enumeration_condition - Need to adjust bit widths
* Document enumeration format changes in the storage format docs

* REST Serialization ToDOs
* Enumerations initial implementation
* Add ASTNode::use_enumeration to serialization code - If not, all remote queries are against enumeration values
* Add attribute enumeration name

* Use generate_uri instead of reimplementing the thinger if I did that


* Coverage Reports
* Add totals row to TOC
* Do we generate files for headers with no executable lines? If not, track whcih ones are fake so that headers are green in the TOC when they only have non-executable changes
* Add jump-to-first-uncovered link
Loading

0 comments on commit a8f12ea

Please sign in to comment.