Skip to content
This repository has been archived by the owner on Sep 27, 2019. It is now read-only.

December 2017 Code Clean up

Andy Pavlo edited this page Dec 12, 2017 · 51 revisions

List the things that we want to do after the end of the semester during the code clean-up week:

  • Make everything enum class [Andy]
  • Remove hacky "# of threads + 3" [Rohit]
  • Network Layer clean-up [Tianyu, Tianyi]
  • Unify logging thread pool and worker thread pool [Tianyi]
  • Change the variable name catalog_ptr to storage_manager_ptr in Codegen [Tony]
  • Introduce better Java testing for script/jdbc (maybe JUnit) [Tianyu]
  • sqrt, ceil, pow, exp, and many other mathematical functions have LLVM intrinsic implementations that may be faster than calling into C++ [Prashanth]
  • Remove redundant Transaction pointer argument for compiled plans; can be obtained from provided ExecutorContext argument [Prashanth]
  • Create a script for updating the file header copyright and apply it [Tony]
  • Redesign thread pool class and eliminate one of the two different classes in the code base now [Tianyu]
  • Figure out a way to eliminate singletons (dependency injection vs. manual passing of objects) [Tianyu]
  • Figure out what we want to do about settings/settings.cpp [Tianyu]
  • Remove this LOG_DEBUG line : https://github.com/cmu-db/peloton/blob/ffeb0819fc032d2444bd933563cf4ebbeb138ba1/test/executor/copy_test.cpp#L91 [Rohit]
  • Add support for Array [Aaron]
  • Remove unused runtime_keys vector from IndexScanDesc here [Anyone]
  • Make all public data members private [Andy]
  • Make sure that all important variables are clearly defined and explained.
  • Audit the FIXME and TODO to figure out what is real versus what can be removed. If it is real, then we should create an issue for it. Be as specific as possible in the write-up.
  • Make GetInfo be uniform.
  • Make sure that we don't call printf/cout anywhere. Check the source validator script to remove whitelist entries.
  • Audit test case output to reduce the number lines printed. NumericValue::MathTest is the biggest offender.
  • Audit the number of time that we copy the query result.
  • Check whether triggers are still working and whether they can invoke the new UDFs.
  • Make sure the default size of the LockFreeArray is not 1million. Check uses of this class. Decide whether to get rid of it and replace it with... some other concurrent data structure?
  • Don't create the stats table on first use. Create when the system boots up.
  • Make sure that all classes are in the proper namespace. We should add a script to automatically enforce this. #491 [Andy]
  • Audit the list of directories and see whether put some directories inside of each other. Here some possible things to move:
    • 'src/container' -> 'src/common/container'
    • 'src/util' -> 'src/common/util'
    • 'src/threadpool' -> 'src/common/threadpool'
    • 'src/statistics' -> 'src/storage/statistics'
  • Go through the issues and remove ones that are fixed, no longer an issue, or stupid. [Andy]
Clone this wiki locally