Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,11 @@ archived_tests/*
queries/synthetic_query/*.csv
queries/synthetic_query/*.db
*.zip

# Uploaded optimizer-pass plugins are runtime artifacts; only the baseline
# (empty) manifest and the dir placeholder are tracked.
plugins/opt_passes/*.cpp
!plugins/opt_passes/_manifest.cpp
plugins/opt_passes/*.rejected
plugins/opt_passes/include/*
!plugins/opt_passes/include/.gitkeep
10 changes: 10 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,16 @@ add_subdirectory(src/ml_functions)
add_subdirectory(src/util)
add_subdirectory(src/optimization)
add_subdirectory(src/cost_model)

# Uploadable optimizer passes. Files dropped in plugins/opt_passes/ by the
# frontend upload flow are compiled directly into the extension target (NOT a
# static archive) so their REGISTER_OPT_PASS static initializers survive linking.
# CONFIGURE_DEPENDS re-globs when a new upload appears, so no manual reconfigure.
file(GLOB OPT_PASS_PLUGINS CONFIGURE_DEPENDS
"${CMAKE_CURRENT_SOURCE_DIR}/plugins/opt_passes/*.cpp")
list(APPEND EXTENSION_SOURCES ${OPT_PASS_PLUGINS})
include_directories(plugins/opt_passes/include) # uploaded .hpp headers land here

message(STATUS "EXTENSION_SOURCES include ${EXTENSION_SOURCES}")

build_static_extension(${TARGET_NAME} ${EXTENSION_SOURCES})
Expand Down
Binary file added Frontend/__pycache__/app.cpython-311.pyc
Binary file not shown.
Binary file added Frontend/__pycache__/app.cpython-312.pyc
Binary file not shown.
Loading
Loading