velox/dwio/dwrf/writer/ColumnWriter.cpp (18 lines): - line 217: // TODO: passing factory method into the dict encoder also works - line 269: // TODO: It would be nice if the suppression could be pushed down to - line 286: // FIXME: call base class set encoding first to deal with sequence and - line 304: // TODO: the only way useDictionaryEncoding_ right now is - line 334: // TODO: hopefully not required in the future, but need to solve the problem - line 347: // TODO: passing factory method into the dict encoder also works - line 404: // TODO: wonder if this should be final dictionary size instead. In that - line 554: // TODO: T45220726 Reduce memory usage in this method by - line 578: // TODO: T45260340 Unfortunately standard usage of the index - line 849: // TODO: T46365785 It would be nice if the suppression - line 873: // FIXME: call base class set encoding first to deal with sequence and - line 891: // TODO: the only way useDictionaryEncoding_ right now is - line 926: // TODO: hopefully not required in the future, but need to solve the problem - line 1138: // TODO Optimize to avoid copy - line 1179: // TODO: T45220726 Reduce memory usage in this method by - line 1216: // TODO: T45260340 Unfortunately standard usage of the index - line 1241: // TODO: optimize this branching either through restoring visitor - line 1487: // TODO Optimize to avoid copy velox/experimental/codegen/benchmark/StringBenchmarks.cpp (8 lines): - line 158: // TODO: enable generating strings that represent numbers - line 175: // TODO: Casting fails here because str1 is not a valid double string. - line 199: // TODO: This test is failling with a exceptioon because str1 (and possibly - line 255: // TODO: investigate why vectorFunc is much faster than compiled - line 274: // TODO: This basically here to track the benefit of constructing constant - line 397: // TODO 1: Investigate copying - line 398: // TODO 2: Investigate using a global bump allocator instead of std::string - line 399: // TODO 3: Add ascii propagation optimization velox/experimental/codegen/vector_function/VectorReader-inl.h (7 lines): - line 47: // TODO: move readers to different directory - line 86: // TODO when read only vector does not have nulls we dont need to - line 103: // FIXME: generated code should avoid calling on this on the writer and - line 186: // TODO when read only vector does not have nulls we dont need to allocate - line 291: // TODO: avoid copying constant string by allocating them on Velox buffer - line 292: // TODO: specialize for default nulls - line 310: // TODO when read only vector does not have nulls we dont need to allocate velox/substrait/SubstraitToVeloxPlan.cpp (7 lines): - line 206: // TODO: Currently Filter is skipped because Filter is Pushdowned to - line 309: // TODO: Use the names as the output names for the whole computing. - line 354: // TODO: Support different types here. - line 422: // TODO: Add different types' support here. - line 429: // TODO: Only direct reference is considered here. - line 436: // TODO: Only double is considered here. - line 506: // TODO: Only and relation is supported here. velox/expression/VectorUdfTypeSystem.h (7 lines): - line 547: // TODO: deprecate this once all proxies introduced. - line 1133: // TODO: This is temporary until the new map writer interface is completed. - line 1483: // TODO (kevinwilfong): Add support for Generics in callNullFree. - line 1492: // TODO (kevinwilfong): Add support for Generics in callNullFree. - line 1499: // TODO (kevinwilfong): Add support for Generics in callNullFree. - line 1506: // TODO (kevinwilfong): Add support for Generics in callNullFree. - line 1518: // TODO: This is temporary until the new map writer interface is completed. velox/common/memory/Memory.h (6 lines): - line 110: // TODO: might be able to move implementation to abstract class - line 269: // TODO: move to factory pattern with type trait. - line 274: // TODO: might be able to collapse this with templated class - line 376: // TODO: Consider putting these in base class also. - line 457: // TODO: consider returning bool instead. - line 486: // TODO: perhaps the root pool should be a specialized pool that velox/dwio/dwrf/reader/ColumnReader.cpp (6 lines): - line 1167: // TODO Reuse memory - line 1188: BufferPtr(nullptr), // TODO nulls - line 1197: // TODO Reuse memory - line 1210: BufferPtr(nullptr), // TODO nulls - line 1470: // TODO Reuse memory - line 1479: // TODO Reuse memory velox/experimental/codegen/transform/utils/adapters.h (5 lines): - line 31: // TODO: this assume that nodePtr is never null, we need to add a constraints - line 63: // TODO: this assume that nodePtr is never null, we need to add a constraints - line 76: // TODO: this assume that nodePtr is never null, we need to add a constraints - line 99: * Constraints (TODO : define formaly those constraints in term of c++ concepts) - line 152: // TODO: probably can introduce a macro here. velox/core/Context.h (5 lines): - line 161: // TODO (bharathb) : Either disallow or flatten config stacks here. - line 164: // TODO (bharathb) : this need to be atomic. - line 177: // TODO (bharathb) : replace dynamic_pointer_cast with - line 272: // TODO (bharathb): Look for a lock free datastructure(replace with a list). - line 273: // TODO (bharathb) : We notify everyone irrespective of whether their velox/experimental/codegen/code_generator/ExprCodeGenerator.cpp (5 lines): - line 28: // TODO add codgenType inside velox type traits for now we are using - line 68: /// TODO extract this onto a separate process - line 124: // TODO: support null on failure - line 396: // TODO: Rename this to something more descriptive - line 416: // TODO: let's templatise the invoke function; velox/experimental/codegen/transform/utils/utils.h (5 lines): - line 47: * TODO: Introduce more refined of the tree concept : mutable tree - line 62: // TODO: relax this constraint to allow more pointer type - line 72: * TODO: Make sure that this class respects the range concept - line 73: * TODO: Implement a lazy version - line 128: * @tparam NodeTransformer (TODO: see NodeTransformer concept) velox/experimental/codegen/ast/ASTNode.cpp (4 lines): - line 100: // TODO: support eager format - line 126: // TODO: double check if we need to check on eagerness here. - line 210: // FIXME: Unless query optimizer took care of this already, othersie this - line 272: // TODO: this is a work around for UDFs that do not respect the templated velox/type/Type.h (4 lines): - line 130: // TODO Implement - line 523: // TODO: velox throws here for non fixed width types. - line 533: // TODO: velox implementation is in cpp - line 1481: // TODO: maybe do something smarter than just matching any shared_ptr, e.g. we velox/experimental/codegen/CodegenCompiledExpressionTransform.h (4 lines): - line 138: // TODO: Move this into a file - line 181: /// TODO: use a range_view instead of a containers as arg - line 206: // TODO: We probably need here to have a better ordering of the columns - line 525: // TODO: We should exclude here direct access columns. velox/dwio/dwrf/writer/WriterShared.cpp (4 lines): - line 203: // TODO: override getCurrentBytes() to be lock-free for leaf level pools. - line 277: // TODO: extract context.canSwitchEncoding(). - line 357: // TODO: T45025996 Discard all empty streams at flush time. - line 432: // TODO: what does this try to capture? velox/experimental/codegen/vector_function/StringTypes.h (4 lines): - line 56: // TODO we can allocate on the pool - line 181: // TODO: avoid this copy when oldBuffer and newBuffer are sequential in - line 281: // TODO: - line 293: // TODO:// coming have some thoughts velox/experimental/codegen/vector_function/GeneratedVectorFunction-inl.h (4 lines): - line 187: // TODO: We should probably move this loop inside ensureWritable - line 217: // TODO: write now we are sharing everything, this not ideal. We should do - line 387: // TODO: Missing implementation; - line 449: /// TODO: This might need to be improved in case func return ref types. velox/dwio/dwrf/reader/SelectiveStringDictionaryColumnReader.cpp (4 lines): - line 162: // TODO Reuse memory - line 183: BufferPtr(nullptr), // TODO nulls - line 188: // TODO Reuse memory - line 201: BufferPtr(nullptr), // TODO nulls velox/connectors/hive/HiveConnector.cpp (3 lines): - line 84: // TODO: Wire up serde properties to writer configs. - line 172: // TODO Remove this check when Presto is fixed to not specify a filter - line 524: // TODO Check if remaining filter has a conjunct that doesn't depend on any velox/exec/MergeJoin.cpp (3 lines): - line 236: // TODO Re-use output_ columns when possible. - line 271: // TODO Refactor this logic into a method on BaseVector. - line 362: // TODO Finish early if ran out of data on either side of the join. build/fbcode_builder/CMake/FBPythonBinary.cmake (3 lines): - line 50: # TODO: On Windows we require the Python libraries as well. - line 187: # TODO: generate a main executable that will invoke Python3 - line 420: # TODO: In the future it would be nice to support pre-compiling the source velox/experimental/codegen/library_loader/FunctionTable.h (3 lines): - line 69: // TODO: Investigate why std::shared_ptr here is seen as incomplete type - line 70: // TODO: Is it safe to have std::shared_ptr cross ABI boundaries? - line 77: // TODO: Add interface to save/Restor the state of an expression velox/dwio/dwrf/common/RLEv2.cpp (3 lines): - line 393: // TODO: something more efficient than resize - line 400: // TODO: something more efficient than resize - line 403: // TODO: Skip corrupt? velox/connectors/hive/storage_adapters/s3fs/S3FileSystem.cpp (3 lines): - line 114: // TODO: allocate from a memory pool - line 132: // TODO: Check if any buffers are being used by the S3 library - line 369: // TODO: Support multiple S3FileSystem instances using a cache velox/connectors/Connector.h (3 lines): - line 85: // TODO maybe at some point we want to make it async - line 132: // TODO Allow DataSource to indicate that it is blocked (say waiting for IO) - line 222: // TODO Generalize to specify TableHandle/Layout and ColumnHandles. velox/type/Timestamp.h (2 lines): - line 122: return StringView("TODO: Implement"); - line 168: // TODO Implement velox/vector/BaseVector.cpp (2 lines): - line 486: // TODO Figure out how to allow memory reuse for a newly loaded vector. - line 596: // TODO: Reuse the indices if 'source' is already a dictionary and velox/vector/arrow/Bridge.cpp (2 lines): - line 298: // TODO: need to figure out how we'll map this since in Velox we currently - line 372: // TODO: No dictionaries for now. velox/experimental/codegen/code_generator/ExprCodeGenerator.h (2 lines): - line 32: /// TODO: Update this to reflected latest changes in D26383419 - line 123: /// TODO: We should really be story full library information here instead velox/dwio/dwrf/common/CachedBufferedInput.h (2 lines): - line 33: // like pins into file handle caches. TODO: Make file handle cache - line 45: // unique_ptr. TODO: Make all streams owned via shared_ptr. velox/experimental/codegen/external_process/subprocess.h (2 lines): - line 85: // TODO: the on_exit handler is not triggered - line 95: // TODO: Normally, we would want to handle this in the on_error callback. velox/substrait/proto/substrait/algebra.proto (2 lines): - line 40: // TODO: nodes, cpu threads/%, memory, iops, etc. - line 630: // TODO: should allow expressions velox/functions/sparksql/String.h (2 lines): - line 104: // TODO: Once C++20 supported we may want to replace this with - line 130: // TODO Once C++20 supported we may want to replace this with velox/functions/lib/DateTimeFormatter.cpp (2 lines): - line 281: // TODO: implement short name time zone, need a map from full name to - line 293: // TODO: implement timezone offset id formatting, need a map from full velox/functions/sparksql/SplitFunctions.cpp (2 lines): - line 117: // TODO: Add support for zero-length pattern, 2-character pattern - line 118: // TODO: add support for general regex pattern using R2 velox/experimental/codegen/external_process/Command.h (2 lines): - line 29: /// TODO 1: add reference to the working directory, and the search path. - line 48: /// TODO: Missing implementation velox/experimental/codegen/ast/CodegenUtils.h (2 lines): - line 27: /// TODO: Why is this in an anon namespace - line 130: // TODO: change this to be controlled in a header i.e ret CodegenType