33use crate :: bindings:: _helpers:: boundary:: python_calls:: KeywordArguments ;
44use crate :: bindings:: _helpers:: boundary:: python_calls:: keywords;
55use crate :: bindings:: _helpers:: compiled_views:: model_reads;
6+ use crate :: bindings:: _helpers:: compiled_views:: project_reads;
67use crate :: bindings:: _helpers:: graph:: project_graph:: NativeProjectGraph ;
78use crate :: bindings:: _helpers:: model_config:: typed_config:: { config_node_of, model_values} ;
89use crate :: bindings:: _helpers:: planner_entries:: models:: ModelPlanContext ;
@@ -121,13 +122,13 @@ fn resolved_source_entries<'py>(
121122 let source_type = enum_member ( py, RecordId :: CompiledResourceType , "SOURCE" ) ?;
122123 let read = PySet :: empty ( py) ?;
123124 let mut readers: Vec < Bound < ' py , PyAny > > = Vec :: new ( ) ;
124- for model in native_field ( project, "models" ) ?. try_iter ( ) ? {
125+ for model in project_reads :: models ( project) ?. try_iter ( ) ? {
125126 let model = model?;
126127 if recreated_view ( & model, & selected) ? {
127128 readers. push ( model) ;
128129 }
129130 }
130- for function in native_field ( project, "functions" ) ?. try_iter ( ) ? {
131+ for function in project_reads :: functions ( project) ?. try_iter ( ) ? {
131132 let function = function?;
132133 if selected. contains ( native_field ( & function, "key" ) ?) ? {
133134 readers. push ( function) ;
@@ -157,14 +158,11 @@ fn clone_resolution<'py>(
157158 ( adapter, connection) : ( & Bound < ' py , PyAny > , & Bound < ' py , PyAny > ) ,
158159) -> PyResult < CloneResolution < ' py > > {
159160 let py = project. py ( ) ;
160- let model_locations = object (
161- py,
162- build_model_locations ( & native_field ( project, "models" ) ?) ?,
163- ) ?;
164- let seed_locations = object ( py, build_seed_locations ( & native_field ( project, "seeds" ) ?) ?) ?;
161+ let model_locations = object ( py, build_model_locations ( & project_reads:: models ( project) ?) ?) ?;
162+ let seed_locations = object ( py, build_seed_locations ( & project_reads:: seeds ( project) ?) ?) ?;
165163 let function_locations = object (
166164 py,
167- build_function_locations ( & native_field ( project, "functions" ) ?) ?,
165+ build_function_locations ( & project_reads :: functions ( project) ?) ?,
168166 ) ?;
169167 let source_map = PyDict :: new ( py) ;
170168 for source in native_field ( source_project, "sources" ) ?. try_iter ( ) ? {
@@ -232,15 +230,15 @@ fn clone_model_entries<'py>(
232230 let py = project. py ( ) ;
233231 let selected = native_field ( plan, "selected_keys" ) ?;
234232 let entries = PyDict :: new ( py) ;
235- for model in native_field ( project, "models" ) ?. try_iter ( ) ? {
233+ for model in project_reads :: models ( project) ?. try_iter ( ) ? {
236234 let model = model?;
237235 if !selected. contains ( model_reads:: model_key ( & model) ?) ? || disabled_model ( & model) ? {
238236 continue ;
239237 }
240238 let materialization_type = materialization_of ( & model) ?;
241239 let resolved_sql = if materialization_type. eq ( VIEW_MATERIALIZATION ) ? {
242240 let functions = PyDict :: new ( py) ;
243- for function in native_field ( project, "functions" ) ?. try_iter ( ) ? {
241+ for function in project_reads :: functions ( project) ?. try_iter ( ) ? {
244242 let function = function?;
245243 functions. set_item ( native_field ( & function, "name" ) ?, function) ?;
246244 }
@@ -301,7 +299,7 @@ fn clone_source_entries<'py>(
301299) -> PyResult < Bound < ' py , PyAny > > {
302300 let py = project. py ( ) ;
303301 let entries = PyDict :: new ( py) ;
304- for source in native_field ( project, "sources" ) ?. try_iter ( ) ? {
302+ for source in project_reads :: sources ( project) ?. try_iter ( ) ? {
305303 let source = source?;
306304 let entry = native_field ( & source, "source_entry" ) ?;
307305 if !selected. contains ( native_field ( & source, "key" ) ?) ?
@@ -359,7 +357,7 @@ fn clone_function_entries<'py>(
359357 let py = project. py ( ) ;
360358 let selected = native_field ( plan, "selected_keys" ) ?;
361359 let entries = PyDict :: new ( py) ;
362- for function in native_field ( project, "functions" ) ?. try_iter ( ) ? {
360+ for function in project_reads :: functions ( project) ?. try_iter ( ) ? {
363361 let function = function?;
364362 if !selected. contains ( native_field ( & function, "key" ) ?) ? {
365363 continue ;
@@ -445,7 +443,7 @@ fn seed_entries<'py>(
445443 wanted : & Bound < ' py , PyAny > ,
446444) -> PyResult < Bound < ' py , PyAny > > {
447445 let mut entries: Vec < Bound < ' py , PyAny > > = Vec :: new ( ) ;
448- for seed in native_field ( project, "seeds" ) ?. try_iter ( ) ? {
446+ for seed in project_reads :: seeds ( project) ?. try_iter ( ) ? {
449447 let seed = seed?;
450448 if wanted. contains ( native_field ( & seed, field) ?) ? {
451449 entries. push ( seed_entry ( & seed) ?) ;
@@ -460,7 +458,7 @@ fn origin_model_entries<'py>(
460458) -> PyResult < Bound < ' py , PyAny > > {
461459 let py = project. py ( ) ;
462460 let mut entries: Vec < Bound < ' py , PyAny > > = Vec :: new ( ) ;
463- for model in native_field ( project, "models" ) ?. try_iter ( ) ? {
461+ for model in project_reads :: models ( project) ?. try_iter ( ) ? {
464462 let model = model?;
465463 if !selected_names. contains ( model_reads:: name_object ( & model) ?) ? || disabled_model ( & model) ? {
466464 continue ;
@@ -487,7 +485,7 @@ fn origin_source_entries<'py>(
487485 let py = project. py ( ) ;
488486 let mut keys: Vec < Bound < ' py , PyAny > > = Vec :: new ( ) ;
489487 let mut order: Vec < Bound < ' py , PyAny > > = Vec :: new ( ) ;
490- for source in native_field ( project, "sources" ) ?. try_iter ( ) ? {
488+ for source in project_reads :: sources ( project) ?. try_iter ( ) ? {
491489 let source = source?;
492490 if selected_names. contains ( native_field ( & source, "name" ) ?) ? {
493491 keys. push ( native_field ( & source, "key" ) ?) ;
0 commit comments