trino icon indicating copy to clipboard operation
trino copied to clipboard

Query column limit when running MERGE over Iceberg table

Open RobbertDM opened this issue 2 years ago • 23 comments

Hi there, I'm using dbt snapshot and just ran into this issue, Caused by: io.trino.spi.TrinoException: Query exceeded maximum columns. Please reduce the number of columns referenced and re-run the query. It's indeed running on 295 columns. What's the limit?

Full error output trino.spi.TrinoException: Compiler failed. Possible reasons include: the query may have too many or too complex expressions, or the underlying tables may have too many columns at io.trino.sql.planner.LocalExecutionPlanner$Visitor.visitScanFilterAndProject(LocalExecutionPlanner.java:1994) at io.trino.sql.planner.LocalExecutionPlanner$Visitor.visitProject(LocalExecutionPlanner.java:1875) at io.trino.sql.planner.LocalExecutionPlanner$Visitor.visitProject(LocalExecutionPlanner.java:877) at io.trino.sql.planner.plan.ProjectNode.accept(ProjectNode.java:82) at io.trino.sql.planner.LocalExecutionPlanner$Visitor.visitScanFilterAndProject(LocalExecutionPlanner.java:1924) at io.trino.sql.planner.LocalExecutionPlanner$Visitor.visitProject(LocalExecutionPlanner.java:1875) at io.trino.sql.planner.LocalExecutionPlanner$Visitor.visitProject(LocalExecutionPlanner.java:877) at io.trino.sql.planner.plan.ProjectNode.accept(ProjectNode.java:82) at io.trino.sql.planner.LocalExecutionPlanner$Visitor.visitScanFilterAndProject(LocalExecutionPlanner.java:1924) at io.trino.sql.planner.LocalExecutionPlanner$Visitor.visitProject(LocalExecutionPlanner.java:1875) at io.trino.sql.planner.LocalExecutionPlanner$Visitor.visitProject(LocalExecutionPlanner.java:877) at io.trino.sql.planner.plan.ProjectNode.accept(ProjectNode.java:82) at io.trino.sql.planner.LocalExecutionPlanner.plan(LocalExecutionPlanner.java:599) at io.trino.sql.planner.LocalExecutionPlanner.plan(LocalExecutionPlanner.java:571) at io.trino.execution.SqlTaskExecutionFactory.create(SqlTaskExecutionFactory.java:77) at io.trino.execution.SqlTask.updateTask(SqlTask.java:439) at io.trino.execution.SqlTaskManager.doUpdateTask(SqlTaskManager.java:498) at io.trino.execution.SqlTaskManager.lambda$updateTask$9(SqlTaskManager.java:453) at io.trino.$gen.Trino_402_e_0____20230102_154952_2.call(Unknown Source) at io.trino.execution.SqlTaskManager.updateTask(SqlTaskManager.java:453) at io.trino.server.TaskResource.createOrUpdateTask(TaskResource.java:151) at jdk.internal.reflect.GeneratedMethodAccessor508.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:76) at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:148) at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:191) at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$VoidOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:183) at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:103) at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:493) at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:415) at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:104) at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:277) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:272) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:268) at org.glassfish.jersey.internal.Errors.process(Errors.java:316) at org.glassfish.jersey.internal.Errors.process(Errors.java:298) at org.glassfish.jersey.internal.Errors.process(Errors.java:268) at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:289) at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:256) at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:703) at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:416) at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:370) at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:389) at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:342) at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:229) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799) at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1656) at io.airlift.http.server.TraceTokenFilter.doFilter(TraceTokenFilter.java:63) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626) at io.airlift.http.server.TimingFilter.doFilter(TimingFilter.java:51) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:552) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:722) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1440) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:505) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1355) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146) at org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:181) at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:59) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) at org.eclipse.jetty.server.Server.handle(Server.java:516) at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487) at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:732) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:479) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131) at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:409) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883) at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034) at java.base/java.lang.Thread.run(Thread.java:833) Caused by: com.google.common.util.concurrent.UncheckedExecutionException: io.trino.spi.TrinoException: Query exceeded maximum columns. Please reduce the number of columns referenced and re-run the query. at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2055) at com.google.common.cache.LocalCache.get(LocalCache.java:3966) at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3989) at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4950) at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4956) at com.google.common.cache.ForwardingLoadingCache.getUnchecked(ForwardingLoadingCache.java:51) at io.trino.sql.gen.PageFunctionCompiler.compileProjection(PageFunctionCompiler.java:170) at io.trino.sql.gen.ExpressionCompiler.lambda$compilePageProcessor$3(ExpressionCompiler.java:108) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:992) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) at io.trino.sql.gen.ExpressionCompiler.compilePageProcessor(ExpressionCompiler.java:109) at io.trino.sql.gen.ExpressionCompiler.compilePageProcessor(ExpressionCompiler.java:97) at io.trino.sql.planner.LocalExecutionPlanner$Visitor.visitScanFilterAndProject(LocalExecutionPlanner.java:1978) ... 84 more Caused by: io.trino.spi.TrinoException: Query exceeded maximum columns. Please reduce the number of columns referenced and re-run the query. at io.trino.sql.gen.PageFunctionCompiler.compileProjectionInternal(PageFunctionCompiler.java:200) at io.trino.sql.gen.PageFunctionCompiler.lambda$new$0(PageFunctionCompiler.java:127) at com.google.common.cache.CacheLoader$FunctionToCacheLoader.load(CacheLoader.java:169) at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3533) at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2282) at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2159) at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2049) ... 101 more Caused by: io.airlift.bytecode.CompilationException: Error compiling class: io/trino/$gen/PageProjectionWork_20230103_162707_307 at io.airlift.bytecode.ClassGenerator.defineClasses(ClassGenerator.java:143) at io.airlift.bytecode.ClassGenerator.defineClass(ClassGenerator.java:117) at io.trino.util.CompilerUtils.defineClass(CompilerUtils.java:63) at io.trino.util.CompilerUtils.defineClass(CompilerUtils.java:57) at io.trino.sql.gen.PageFunctionCompiler.compileProjectionInternal(PageFunctionCompiler.java:196) ... 107 more Caused by: org.objectweb.asm.MethodTooLargeException: Method too large: io/trino/$gen/PageProjectionWork_20230103_162707_307.evaluate (Lio/trino/spi/connector/ConnectorSession;Lio/trino/spi/Page;I)V at org.objectweb.asm.MethodWriter.computeMethodInfoSize(MethodWriter.java:2088) at org.objectweb.asm.ClassWriter.toByteArray(ClassWriter.java:511) at io.airlift.bytecode.ClassGenerator.defineClasses(ClassGenerator.java:140) ... 111 more
Query merge into "iceberg"."dbt_robbert_snapshots"."big_snapshot_snapshot" as DBT_INTERNAL_DEST
using "iceberg"."dbt_robbert_snapshots"."big_snapshot_snapshot__dbt_tmp" as DBT_INTERNAL_SOURCE

on DBT_INTERNAL_SOURCE.dbt_scd_id = DBT_INTERNAL_DEST.dbt_scd_id


when matched

 and DBT_INTERNAL_DEST.dbt_valid_to is null

 and DBT_INTERNAL_SOURCE.dbt_change_type in ('update', 'delete')

    then update

    set dbt_valid_to = DBT_INTERNAL_SOURCE.dbt_valid_to


when not matched

 and DBT_INTERNAL_SOURCE.dbt_change_type = 'insert'

    then insert ("schj_cd", "laad_oprt_cd", "insc_fact_id", "inst_1_cd", "ondw_nive_cd", "ondw_sort_cd", "prgr_sort_cd", "ihs_volg_nr", "vest_intn_volg_nr", "inst_2_cd", "inrc_vphs_volg_nr", "adms_grop_cd", "taal_regm_cd", "iag_volg_nr", "ondw_bugw_type_cd", "volg_nr", "insc_begn_stud_bews_id", "schl_vord_id", "insc_eind_stud_bews_id", "insc_geld_type_id", "finc_sort_id", "tarf_mind_type_id", "lerl_besc_id", "zibl_id", "niwk_id", "lerp_id", "insc_zelf_inst_id", "schj_id", "left_id", "tell_dt", "insc_hv", "insc_geld_hv", "edw_erns_cd", "edw_corr_cd", "edw_corr_mt", "edw_corr_acct_cd", "edw_corr_gebr_cd", "edw_srid_cd", "edw_cret_mt", "edw_cret_acct_cd", "edw_cret_gebr_cd", "edw_wijz_mt", "edw_wijz_acct_cd", "edw_wijz_gebr_cd", "gon_lerl_id", "afwz_prbl_meld_id", "sm_sub_popl_id", "flo_id", "rk_thus_taal_hv", "rk_opld_moed_hv", "rk_buurt_hv", "rk_schl_toel_hv", "oki_hv", "okan_insc_id", "insc_mens_iact_modr_taal_id", "insc_mens_gezn_taal_andr_id", "insc_mens_gezn_taal_frns_id", "insc_mens_gezn_taal_nedl_id", "insc_mens_opld_modr_nive_id", "vest_setr_stts_id", "vest_clst_grad_ondw_vorm_id", "inst_clst_grad_ondw_vorm_id", "vest_sm_typo_id", "inst_sm_typo_id", "insc_mens_iact_vadr_taal_id", "insc_mens_iact_zbr_taal_id", "insc_mens_iact_vrin_taal_id", "sprd_les_prgr_id", "attt_bo_link_insc_id", "attt_bo_latt_dag_id", "attt_bo_latt_attt_eers_id", "attt_bo_latt_type_id", "gon_begl_vrzn_attt_id", "bevt_clb_bo_infr_cd", "attt_bo_latt_opld_vorm_id", "tapf_resl_id", "ion_lerl_id", "tuch_mtrg_id", "im_natl_id", "im_setr_stts_id", "im_gesl_id", "im_gebt_jaar_id", "im_insc_mens_id", "im_gegr_id", "vorg_okan_insc_id", "i_setr_stts_id", "vsab_inst_1_cd", "vsab_ondw_nive_cd", "vsab_ondw_sort_cd", "vsab_prgr_sort_cd", "vsab_ihs_volg_nr", "vsab_vest_intn_volg_nr", "vsab_inst_2_cd", "vsab_inrc_vphs_volg_nr", "vsab_adms_grop_cd", "vsab_taal_regm_cd", "vsab_volg_nr", "vsab_ondw_bugw_type_cd", "vsab_pedg_meth_id", "vsab_taal_id", "vsab_oprc_dag_id", "vsab_ophf_dag_id", "vorg_inst_1_cd", "vorg_ondw_nive_cd", "vorg_ondw_sort_cd", "vorg_prgr_sort_cd", "vorg_ihs_volg_nr", "vorg_vest_intn_volg_nr", "vorg_inst_2_cd", "vorg_inrc_vphs_volg_nr", "vorg_adms_grop_cd", "vorg_taal_regm_cd", "vorg_volg_nr", "vorg_ondw_bugw_type_cd", "vorg_pedg_meth_id", "vorg_taal_id", "vorg_oprc_dag_id", "vorg_ophf_dag_id", "inst_inst_cd", "inst_inst_id", "inst_ondw_zone_id", "inst_schl_gems_id", "inst_schl_grop_id", "inst_dolc_vesl_advs_id", "inst_clb_cotr_id", "inst_ondw_stls_id", "inst_volt_id", "inst_so_delt_id", "inst_dbso_id", "inst_inst_sort_id", "inst_ondw_sort_id", "inst_gon_schl_id", "inst_gok_schl_id", "inst_hers_id", "inst_kopl_id", "inst_dko_sort_id", "inst_bao_sort_id", "inst_mach_inrc_id", "inst_mach_inrc_sort_id", "inst_ondw_net_id", "inst_ondw_nive_set_id", "inst_pedg_meth_stts_id", "inst_host_clst_set_id", "inst_gegr_id", "stab_adms_grop_cd", "stab_ondw_bugw_type_link_cd", "stab_dko_grad_id", "stab_dko_opti_id", "stab_dko_sect_id", "stab_fase_id", "stab_lerj_id", "stab_ondw_bugw_type_id", "stab_ondw_nive_id", "stab_ondw_sort_id", "stab_ondw_vorm_id", "stab_opld_vorm_id", "stab_rubr_id", "stab_so_grad_id", "stab_stud_gebd_id", "stab_volt_id", "stab_lo_grad_id", "stab_ab_strm_id", "stab_adms_grop_id", "stab_berp_veld_id", "stab_host_id", "stab_okan_id", "stab_ondw_stls_id", "stab_opld_id", "stab_opti_bass_id", "stab_strc_ondd_id", "stab_stud_rich_id", "stab_dko_opti_ondr_id", "vorg_ondw_bugw_type_link_cd", "vorg_dko_grad_id", "vorg_dko_opti_id", "vorg_dko_sect_id", "vorg_fase_id", "vorg_lerj_id", "vorg_ondw_bugw_type_id", "vorg_ondw_nive_id", "vorg_ondw_sort_id", "vorg_ondw_vorm_id", "vorg_opld_vorm_id", "vorg_rubr_id", "vorg_so_grad_id", "vorg_stud_gebd_id", "vorg_volt_id", "vorg_lo_grad_id", "vorg_ab_strm_id", "vorg_adms_grop_id", "vorg_berp_veld_id", "vorg_host_id", "vorg_okan_id", "vorg_ondw_stls_id", "vorg_opld_id", "vorg_opti_bass_id", "vorg_strc_ondd_id", "vorg_stud_rich_id", "vorg_dko_opti_ondr_id", "vest_inst_cd", "vest_vest_id", "vest_oprc_stts_id", "vest_vest_echt_id", "vest_vest_type_id", "vest_gegr_id", "im_adr_bron_id", "im_gegr_off_id", "volg_ondw_vorm_id", "volg_adms_grop_id", "volg_host_id", "volg_inst_1_id", "volg_lerj_id", "volg_lo_grad_id", "volg_schj_id", "volg_so_grad_id", "vorg_inst_1_id", "vorg_schj_id", "lobn_vsv_nomr_insc_hv", "lobn_vsv_telr_insc_hv", "lobn_eers_so_insc_id", "lobn_laat_so_insc_id", "volg_okan_insc_id", "volg_ondw_bugw_type_id", "volg_ondw_nive_id", "volg_opld_vorm_id", "inst_prct_id", "vest_prct_id", "vsab_clst_ondw_aabd_id", "vsab_vglb_ondw_inst_prct_id", "vsab_vglb_ondw_vest_prct_id", "gok_lerl_id", "gk_bvlk_rotr_id", "gk_thos_id", "curc_angp_indv_id", "lerm_ondw_spec_id", "im_lsob_gwon_gewt_id", "im_ondw_bugw_insc_gewt_id", "abl_attt_hanc_gon_aard_id", "vest_ratn_norm_id", "vesl_sort_id", "creo_vesl_sort_id", "oah_type_id", "hash_stam_cd", "hash_im_insc_mens_cd", "abl_attt_eers_id", "abl_gon_begl_vrzn_attt_id", "abl_c_inst_id", "abl_ondw_bugw_type_spfc_id", "abl_opld_vorm_spcf_id", "im_gebt_mand_id", "onbd_hv", "uisc_hv", "aanw_2_hv", "aanw_3_hv", "aanw_4_hv", "aanw_5_hv", "aanw_totl_hv", "abl_attt_type_07_dtal_id", "abl_attt_vesl_sort_id", "vesl_sort_gewt_id", "gon_lerl_gewt_id", "ondw_bugw_type_opld_vorm_id", "abl_ondw_bugw_type_opld_vorm_id", "oki_gewt_id", "ion_lerl_gewt_id", "curc_angp_indv_gewt_id", "attt_b_grtt_catg_id", "schj_net_slag_grtt_catg_id", "aanw_schl_toel_gewt_id", "regs_pers_id", "vetg_schl_burt_15ja_hv", "burt_15ja_hv", "vetg_schl_burt_15ja_perc_hv", "lobn_vrsv_id", "vrst_godd_vak_id", "godd_vak_id", "sprt_id", "verb_sttt_id", "taal_vak_id", "trjc_bugw_hv", "mand_trjc_bugw_hv", "vera_schl_ko_hv", "vera_schl_lo_hv", "vera_schl_so_hv", "trjc_bugw_redn_niwe_id", "okan_insc_gewt_id", "vera_schl_gewt_id", "clst_pakt_id", "stab_clst_opti_bass_id", "insc_begn_stud_bews_host_id", "vorg_vesl_sort_id", "corr_vesl_sort_id", "vorg_corr_vesl_sort_id", "abl_buo_toeg_advs_ingn_datm_id", "stab_adms_grop_schj_id", "dbt_updated_at", "dbt_valid_from", "dbt_valid_to", "dbt_scd_id")

    values (DBT_INTERNAL_SOURCE."schj_cd", DBT_INTERNAL_SOURCE."laad_oprt_cd", DBT_INTERNAL_SOURCE."insc_fact_id", DBT_INTERNAL_SOURCE."inst_1_cd", DBT_INTERNAL_SOURCE."ondw_nive_cd", DBT_INTERNAL_SOURCE."ondw_sort_cd", DBT_INTERNAL_SOURCE."prgr_sort_cd", DBT_INTERNAL_SOURCE."ihs_volg_nr", DBT_INTERNAL_SOURCE."vest_intn_volg_nr", DBT_INTERNAL_SOURCE."inst_2_cd", DBT_INTERNAL_SOURCE."inrc_vphs_volg_nr", DBT_INTERNAL_SOURCE."adms_grop_cd", DBT_INTERNAL_SOURCE."taal_regm_cd", DBT_INTERNAL_SOURCE."iag_volg_nr", DBT_INTERNAL_SOURCE."ondw_bugw_type_cd", DBT_INTERNAL_SOURCE."volg_nr", DBT_INTERNAL_SOURCE."insc_begn_stud_bews_id", DBT_INTERNAL_SOURCE."schl_vord_id", DBT_INTERNAL_SOURCE."insc_eind_stud_bews_id", DBT_INTERNAL_SOURCE."insc_geld_type_id", DBT_INTERNAL_SOURCE."finc_sort_id", DBT_INTERNAL_SOURCE."tarf_mind_type_id", DBT_INTERNAL_SOURCE."lerl_besc_id", DBT_INTERNAL_SOURCE."zibl_id", DBT_INTERNAL_SOURCE."niwk_id", DBT_INTERNAL_SOURCE."lerp_id", DBT_INTERNAL_SOURCE."insc_zelf_inst_id", DBT_INTERNAL_SOURCE."schj_id", DBT_INTERNAL_SOURCE."left_id", DBT_INTERNAL_SOURCE."tell_dt", DBT_INTERNAL_SOURCE."insc_hv", DBT_INTERNAL_SOURCE."insc_geld_hv", DBT_INTERNAL_SOURCE."edw_erns_cd", DBT_INTERNAL_SOURCE."edw_corr_cd", DBT_INTERNAL_SOURCE."edw_corr_mt", DBT_INTERNAL_SOURCE."edw_corr_acct_cd", DBT_INTERNAL_SOURCE."edw_corr_gebr_cd", DBT_INTERNAL_SOURCE."edw_srid_cd", DBT_INTERNAL_SOURCE."edw_cret_mt", DBT_INTERNAL_SOURCE."edw_cret_acct_cd", DBT_INTERNAL_SOURCE."edw_cret_gebr_cd", DBT_INTERNAL_SOURCE."edw_wijz_mt", DBT_INTERNAL_SOURCE."edw_wijz_acct_cd", DBT_INTERNAL_SOURCE."edw_wijz_gebr_cd", DBT_INTERNAL_SOURCE."gon_lerl_id", DBT_INTERNAL_SOURCE."afwz_prbl_meld_id", DBT_INTERNAL_SOURCE."sm_sub_popl_id", DBT_INTERNAL_SOURCE."flo_id", DBT_INTERNAL_SOURCE."rk_thus_taal_hv", DBT_INTERNAL_SOURCE."rk_opld_moed_hv", DBT_INTERNAL_SOURCE."rk_buurt_hv", DBT_INTERNAL_SOURCE."rk_schl_toel_hv", DBT_INTERNAL_SOURCE."oki_hv", DBT_INTERNAL_SOURCE."okan_insc_id", DBT_INTERNAL_SOURCE."insc_mens_iact_modr_taal_id", DBT_INTERNAL_SOURCE."insc_mens_gezn_taal_andr_id", DBT_INTERNAL_SOURCE."insc_mens_gezn_taal_frns_id", DBT_INTERNAL_SOURCE."insc_mens_gezn_taal_nedl_id", DBT_INTERNAL_SOURCE."insc_mens_opld_modr_nive_id", DBT_INTERNAL_SOURCE."vest_setr_stts_id", DBT_INTERNAL_SOURCE."vest_clst_grad_ondw_vorm_id", DBT_INTERNAL_SOURCE."inst_clst_grad_ondw_vorm_id", DBT_INTERNAL_SOURCE."vest_sm_typo_id", DBT_INTERNAL_SOURCE."inst_sm_typo_id", DBT_INTERNAL_SOURCE."insc_mens_iact_vadr_taal_id", DBT_INTERNAL_SOURCE."insc_mens_iact_zbr_taal_id", DBT_INTERNAL_SOURCE."insc_mens_iact_vrin_taal_id", DBT_INTERNAL_SOURCE."sprd_les_prgr_id", DBT_INTERNAL_SOURCE."attt_bo_link_insc_id", DBT_INTERNAL_SOURCE."attt_bo_latt_dag_id", DBT_INTERNAL_SOURCE."attt_bo_latt_attt_eers_id", DBT_INTERNAL_SOURCE."attt_bo_latt_type_id", DBT_INTERNAL_SOURCE."gon_begl_vrzn_attt_id", DBT_INTERNAL_SOURCE."bevt_clb_bo_infr_cd", DBT_INTERNAL_SOURCE."attt_bo_latt_opld_vorm_id", DBT_INTERNAL_SOURCE."tapf_resl_id", DBT_INTERNAL_SOURCE."ion_lerl_id", DBT_INTERNAL_SOURCE."tuch_mtrg_id", DBT_INTERNAL_SOURCE."im_natl_id", DBT_INTERNAL_SOURCE."im_setr_stts_id", DBT_INTERNAL_SOURCE."im_gesl_id", DBT_INTERNAL_SOURCE."im_gebt_jaar_id", DBT_INTERNAL_SOURCE."im_insc_mens_id", DBT_INTERNAL_SOURCE."im_gegr_id", DBT_INTERNAL_SOURCE."vorg_okan_insc_id", DBT_INTERNAL_SOURCE."i_setr_stts_id", DBT_INTERNAL_SOURCE."vsab_inst_1_cd", DBT_INTERNAL_SOURCE."vsab_ondw_nive_cd", DBT_INTERNAL_SOURCE."vsab_ondw_sort_cd", DBT_INTERNAL_SOURCE."vsab_prgr_sort_cd", DBT_INTERNAL_SOURCE."vsab_ihs_volg_nr", DBT_INTERNAL_SOURCE."vsab_vest_intn_volg_nr", DBT_INTERNAL_SOURCE."vsab_inst_2_cd", DBT_INTERNAL_SOURCE."vsab_inrc_vphs_volg_nr", DBT_INTERNAL_SOURCE."vsab_adms_grop_cd", DBT_INTERNAL_SOURCE."vsab_taal_regm_cd", DBT_INTERNAL_SOURCE."vsab_volg_nr", DBT_INTERNAL_SOURCE."vsab_ondw_bugw_type_cd", DBT_INTERNAL_SOURCE."vsab_pedg_meth_id", DBT_INTERNAL_SOURCE."vsab_taal_id", DBT_INTERNAL_SOURCE."vsab_oprc_dag_id", DBT_INTERNAL_SOURCE."vsab_ophf_dag_id", DBT_INTERNAL_SOURCE."vorg_inst_1_cd", DBT_INTERNAL_SOURCE."vorg_ondw_nive_cd", DBT_INTERNAL_SOURCE."vorg_ondw_sort_cd", DBT_INTERNAL_SOURCE."vorg_prgr_sort_cd", DBT_INTERNAL_SOURCE."vorg_ihs_volg_nr", DBT_INTERNAL_SOURCE."vorg_vest_intn_volg_nr", DBT_INTERNAL_SOURCE."vorg_inst_2_cd", DBT_INTERNAL_SOURCE."vorg_inrc_vphs_volg_nr", DBT_INTERNAL_SOURCE."vorg_adms_grop_cd", DBT_INTERNAL_SOURCE."vorg_taal_regm_cd", DBT_INTERNAL_SOURCE."vorg_volg_nr", DBT_INTERNAL_SOURCE."vorg_ondw_bugw_type_cd", DBT_INTERNAL_SOURCE."vorg_pedg_meth_id", DBT_INTERNAL_SOURCE."vorg_taal_id", DBT_INTERNAL_SOURCE."vorg_oprc_dag_id", DBT_INTERNAL_SOURCE."vorg_ophf_dag_id", DBT_INTERNAL_SOURCE."inst_inst_cd", DBT_INTERNAL_SOURCE."inst_inst_id", DBT_INTERNAL_SOURCE."inst_ondw_zone_id", DBT_INTERNAL_SOURCE."inst_schl_gems_id", DBT_INTERNAL_SOURCE."inst_schl_grop_id", DBT_INTERNAL_SOURCE."inst_dolc_vesl_advs_id", DBT_INTERNAL_SOURCE."inst_clb_cotr_id", DBT_INTERNAL_SOURCE."inst_ondw_stls_id", DBT_INTERNAL_SOURCE."inst_volt_id", DBT_INTERNAL_SOURCE."inst_so_delt_id", DBT_INTERNAL_SOURCE."inst_dbso_id", DBT_INTERNAL_SOURCE."inst_inst_sort_id", DBT_INTERNAL_SOURCE."inst_ondw_sort_id", DBT_INTERNAL_SOURCE."inst_gon_schl_id", DBT_INTERNAL_SOURCE."inst_gok_schl_id", DBT_INTERNAL_SOURCE."inst_hers_id", DBT_INTERNAL_SOURCE."inst_kopl_id", DBT_INTERNAL_SOURCE."inst_dko_sort_id", DBT_INTERNAL_SOURCE."inst_bao_sort_id", DBT_INTERNAL_SOURCE."inst_mach_inrc_id", DBT_INTERNAL_SOURCE."inst_mach_inrc_sort_id", DBT_INTERNAL_SOURCE."inst_ondw_net_id", DBT_INTERNAL_SOURCE."inst_ondw_nive_set_id", DBT_INTERNAL_SOURCE."inst_pedg_meth_stts_id", DBT_INTERNAL_SOURCE."inst_host_clst_set_id", DBT_INTERNAL_SOURCE."inst_gegr_id", DBT_INTERNAL_SOURCE."stab_adms_grop_cd", DBT_INTERNAL_SOURCE."stab_ondw_bugw_type_link_cd", DBT_INTERNAL_SOURCE."stab_dko_grad_id", DBT_INTERNAL_SOURCE."stab_dko_opti_id", DBT_INTERNAL_SOURCE."stab_dko_sect_id", DBT_INTERNAL_SOURCE."stab_fase_id", DBT_INTERNAL_SOURCE."stab_lerj_id", DBT_INTERNAL_SOURCE."stab_ondw_bugw_type_id", DBT_INTERNAL_SOURCE."stab_ondw_nive_id", DBT_INTERNAL_SOURCE."stab_ondw_sort_id", DBT_INTERNAL_SOURCE."stab_ondw_vorm_id", DBT_INTERNAL_SOURCE."stab_opld_vorm_id", DBT_INTERNAL_SOURCE."stab_rubr_id", DBT_INTERNAL_SOURCE."stab_so_grad_id", DBT_INTERNAL_SOURCE."stab_stud_gebd_id", DBT_INTERNAL_SOURCE."stab_volt_id", DBT_INTERNAL_SOURCE."stab_lo_grad_id", DBT_INTERNAL_SOURCE."stab_ab_strm_id", DBT_INTERNAL_SOURCE."stab_adms_grop_id", DBT_INTERNAL_SOURCE."stab_berp_veld_id", DBT_INTERNAL_SOURCE."stab_host_id", DBT_INTERNAL_SOURCE."stab_okan_id", DBT_INTERNAL_SOURCE."stab_ondw_stls_id", DBT_INTERNAL_SOURCE."stab_opld_id", DBT_INTERNAL_SOURCE."stab_opti_bass_id", DBT_INTERNAL_SOURCE."stab_strc_ondd_id", DBT_INTERNAL_SOURCE."stab_stud_rich_id", DBT_INTERNAL_SOURCE."stab_dko_opti_ondr_id", DBT_INTERNAL_SOURCE."vorg_ondw_bugw_type_link_cd", DBT_INTERNAL_SOURCE."vorg_dko_grad_id", DBT_INTERNAL_SOURCE."vorg_dko_opti_id", DBT_INTERNAL_SOURCE."vorg_dko_sect_id", DBT_INTERNAL_SOURCE."vorg_fase_id", DBT_INTERNAL_SOURCE."vorg_lerj_id", DBT_INTERNAL_SOURCE."vorg_ondw_bugw_type_id", DBT_INTERNAL_SOURCE."vorg_ondw_nive_id", DBT_INTERNAL_SOURCE."vorg_ondw_sort_id", DBT_INTERNAL_SOURCE."vorg_ondw_vorm_id", DBT_INTERNAL_SOURCE."vorg_opld_vorm_id", DBT_INTERNAL_SOURCE."vorg_rubr_id", DBT_INTERNAL_SOURCE."vorg_so_grad_id", DBT_INTERNAL_SOURCE."vorg_stud_gebd_id", DBT_INTERNAL_SOURCE."vorg_volt_id", DBT_INTERNAL_SOURCE."vorg_lo_grad_id", DBT_INTERNAL_SOURCE."vorg_ab_strm_id", DBT_INTERNAL_SOURCE."vorg_adms_grop_id", DBT_INTERNAL_SOURCE."vorg_berp_veld_id", DBT_INTERNAL_SOURCE."vorg_host_id", DBT_INTERNAL_SOURCE."vorg_okan_id", DBT_INTERNAL_SOURCE."vorg_ondw_stls_id", DBT_INTERNAL_SOURCE."vorg_opld_id", DBT_INTERNAL_SOURCE."vorg_opti_bass_id", DBT_INTERNAL_SOURCE."vorg_strc_ondd_id", DBT_INTERNAL_SOURCE."vorg_stud_rich_id", DBT_INTERNAL_SOURCE."vorg_dko_opti_ondr_id", DBT_INTERNAL_SOURCE."vest_inst_cd", DBT_INTERNAL_SOURCE."vest_vest_id", DBT_INTERNAL_SOURCE."vest_oprc_stts_id", DBT_INTERNAL_SOURCE."vest_vest_echt_id", DBT_INTERNAL_SOURCE."vest_vest_type_id", DBT_INTERNAL_SOURCE."vest_gegr_id", DBT_INTERNAL_SOURCE."im_adr_bron_id", DBT_INTERNAL_SOURCE."im_gegr_off_id", DBT_INTERNAL_SOURCE."volg_ondw_vorm_id", DBT_INTERNAL_SOURCE."volg_adms_grop_id", DBT_INTERNAL_SOURCE."volg_host_id", DBT_INTERNAL_SOURCE."volg_inst_1_id", DBT_INTERNAL_SOURCE."volg_lerj_id", DBT_INTERNAL_SOURCE."volg_lo_grad_id", DBT_INTERNAL_SOURCE."volg_schj_id", DBT_INTERNAL_SOURCE."volg_so_grad_id", DBT_INTERNAL_SOURCE."vorg_inst_1_id", DBT_INTERNAL_SOURCE."vorg_schj_id", DBT_INTERNAL_SOURCE."lobn_vsv_nomr_insc_hv", DBT_INTERNAL_SOURCE."lobn_vsv_telr_insc_hv", DBT_INTERNAL_SOURCE."lobn_eers_so_insc_id", DBT_INTERNAL_SOURCE."lobn_laat_so_insc_id", DBT_INTERNAL_SOURCE."volg_okan_insc_id", DBT_INTERNAL_SOURCE."volg_ondw_bugw_type_id", DBT_INTERNAL_SOURCE."volg_ondw_nive_id", DBT_INTERNAL_SOURCE."volg_opld_vorm_id", DBT_INTERNAL_SOURCE."inst_prct_id", DBT_INTERNAL_SOURCE."vest_prct_id", DBT_INTERNAL_SOURCE."vsab_clst_ondw_aabd_id", DBT_INTERNAL_SOURCE."vsab_vglb_ondw_inst_prct_id", DBT_INTERNAL_SOURCE."vsab_vglb_ondw_vest_prct_id", DBT_INTERNAL_SOURCE."gok_lerl_id", DBT_INTERNAL_SOURCE."gk_bvlk_rotr_id", DBT_INTERNAL_SOURCE."gk_thos_id", DBT_INTERNAL_SOURCE."curc_angp_indv_id", DBT_INTERNAL_SOURCE."lerm_ondw_spec_id", DBT_INTERNAL_SOURCE."im_lsob_gwon_gewt_id", DBT_INTERNAL_SOURCE."im_ondw_bugw_insc_gewt_id", DBT_INTERNAL_SOURCE."abl_attt_hanc_gon_aard_id", DBT_INTERNAL_SOURCE."vest_ratn_norm_id", DBT_INTERNAL_SOURCE."vesl_sort_id", DBT_INTERNAL_SOURCE."creo_vesl_sort_id", DBT_INTERNAL_SOURCE."oah_type_id", DBT_INTERNAL_SOURCE."hash_stam_cd", DBT_INTERNAL_SOURCE."hash_im_insc_mens_cd", DBT_INTERNAL_SOURCE."abl_attt_eers_id", DBT_INTERNAL_SOURCE."abl_gon_begl_vrzn_attt_id", DBT_INTERNAL_SOURCE."abl_c_inst_id", DBT_INTERNAL_SOURCE."abl_ondw_bugw_type_spfc_id", DBT_INTERNAL_SOURCE."abl_opld_vorm_spcf_id", DBT_INTERNAL_SOURCE."im_gebt_mand_id", DBT_INTERNAL_SOURCE."onbd_hv", DBT_INTERNAL_SOURCE."uisc_hv", DBT_INTERNAL_SOURCE."aanw_2_hv", DBT_INTERNAL_SOURCE."aanw_3_hv", DBT_INTERNAL_SOURCE."aanw_4_hv", DBT_INTERNAL_SOURCE."aanw_5_hv", DBT_INTERNAL_SOURCE."aanw_totl_hv", DBT_INTERNAL_SOURCE."abl_attt_type_07_dtal_id", DBT_INTERNAL_SOURCE."abl_attt_vesl_sort_id", DBT_INTERNAL_SOURCE."vesl_sort_gewt_id", DBT_INTERNAL_SOURCE."gon_lerl_gewt_id", DBT_INTERNAL_SOURCE."ondw_bugw_type_opld_vorm_id", DBT_INTERNAL_SOURCE."abl_ondw_bugw_type_opld_vorm_id", DBT_INTERNAL_SOURCE."oki_gewt_id", DBT_INTERNAL_SOURCE."ion_lerl_gewt_id", DBT_INTERNAL_SOURCE."curc_angp_indv_gewt_id", DBT_INTERNAL_SOURCE."attt_b_grtt_catg_id", DBT_INTERNAL_SOURCE."schj_net_slag_grtt_catg_id", DBT_INTERNAL_SOURCE."aanw_schl_toel_gewt_id", DBT_INTERNAL_SOURCE."regs_pers_id", DBT_INTERNAL_SOURCE."vetg_schl_burt_15ja_hv", DBT_INTERNAL_SOURCE."burt_15ja_hv", DBT_INTERNAL_SOURCE."vetg_schl_burt_15ja_perc_hv", DBT_INTERNAL_SOURCE."lobn_vrsv_id", DBT_INTERNAL_SOURCE."vrst_godd_vak_id", DBT_INTERNAL_SOURCE."godd_vak_id", DBT_INTERNAL_SOURCE."sprt_id", DBT_INTERNAL_SOURCE."verb_sttt_id", DBT_INTERNAL_SOURCE."taal_vak_id", DBT_INTERNAL_SOURCE."trjc_bugw_hv", DBT_INTERNAL_SOURCE."mand_trjc_bugw_hv", DBT_INTERNAL_SOURCE."vera_schl_ko_hv", DBT_INTERNAL_SOURCE."vera_schl_lo_hv", DBT_INTERNAL_SOURCE."vera_schl_so_hv", DBT_INTERNAL_SOURCE."trjc_bugw_redn_niwe_id", DBT_INTERNAL_SOURCE."okan_insc_gewt_id", DBT_INTERNAL_SOURCE."vera_schl_gewt_id", DBT_INTERNAL_SOURCE."clst_pakt_id", DBT_INTERNAL_SOURCE."stab_clst_opti_bass_id", DBT_INTERNAL_SOURCE."insc_begn_stud_bews_host_id", DBT_INTERNAL_SOURCE."vorg_vesl_sort_id", DBT_INTERNAL_SOURCE."corr_vesl_sort_id", DBT_INTERNAL_SOURCE."vorg_corr_vesl_sort_id", DBT_INTERNAL_SOURCE."abl_buo_toeg_advs_ingn_datm_id", DBT_INTERNAL_SOURCE."stab_adms_grop_schj_id", DBT_INTERNAL_SOURCE."dbt_updated_at", DBT_INTERNAL_SOURCE."dbt_valid_from", DBT_INTERNAL_SOURCE."dbt_valid_to", DBT_INTERNAL_SOURCE."dbt_scd_id")

RobbertDM avatar Jan 25 '23 16:01 RobbertDM

I've also got a similar error for the amount of filters, also when using dbt snapshot, but on a different table with 143 columns.

Full error output ```com.google.common.util.concurrent.UncheckedExecutionException: io.airlift.bytecode.CompilationException: Error compiling class: io/trino/$gen/JoinFilterFunction_20230125_152529_3825 at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2055) at com.google.common.cache.LocalCache.get(LocalCache.java:3966) at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3989) at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4950) at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4956) at com.google.common.cache.ForwardingLoadingCache.getUnchecked(ForwardingLoadingCache.java:51) at io.trino.sql.gen.JoinFilterFunctionCompiler.compileJoinFilterFunction(JoinFilterFunctionCompiler.java:97) at io.trino.sql.planner.LocalExecutionPlanner$Visitor.compileJoinFilterFunction(LocalExecutionPlanner.java:3043) at io.trino.sql.planner.LocalExecutionPlanner$Visitor.lambda$createLookupJoin$30(LocalExecutionPlanner.java:2745) at java.base/java.util.Optional.map(Optional.java:260) at io.trino.sql.planner.LocalExecutionPlanner$Visitor.createLookupJoin(LocalExecutionPlanner.java:2745) at io.trino.sql.planner.LocalExecutionPlanner$Visitor.visitJoin(LocalExecutionPlanner.java:2391) at io.trino.sql.planner.LocalExecutionPlanner$Visitor.visitJoin(LocalExecutionPlanner.java:877) at io.trino.sql.planner.plan.JoinNode.accept(JoinNode.java:316) at io.trino.sql.planner.LocalExecutionPlanner$Visitor.visitScanFilterAndProject(LocalExecutionPlanner.java:1924) at io.trino.sql.planner.LocalExecutionPlanner$Visitor.visitProject(LocalExecutionPlanner.java:1875) at io.trino.sql.planner.LocalExecutionPlanner$Visitor.visitProject(LocalExecutionPlanner.java:877) at io.trino.sql.planner.plan.ProjectNode.accept(ProjectNode.java:82) at io.trino.sql.planner.LocalExecutionPlanner.plan(LocalExecutionPlanner.java:599) at io.trino.sql.planner.LocalExecutionPlanner.plan(LocalExecutionPlanner.java:522) at io.trino.execution.SqlTaskExecutionFactory.create(SqlTaskExecutionFactory.java:77) at io.trino.execution.SqlTask.updateTask(SqlTask.java:439) at io.trino.execution.SqlTaskManager.doUpdateTask(SqlTaskManager.java:498) at io.trino.execution.SqlTaskManager.lambda$updateTask$9(SqlTaskManager.java:453) at io.trino.$gen.Trino_402_e_0____20230117_022448_2.call(Unknown Source) at io.trino.execution.SqlTaskManager.updateTask(SqlTaskManager.java:453) at io.trino.server.TaskResource.createOrUpdateTask(TaskResource.java:151) at jdk.internal.reflect.GeneratedMethodAccessor605.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:76) at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:148) at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:191) at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$VoidOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:183) at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:103) at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:493) at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:415) at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:104) at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:277) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:272) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:268) at org.glassfish.jersey.internal.Errors.process(Errors.java:316) at org.glassfish.jersey.internal.Errors.process(Errors.java:298) at org.glassfish.jersey.internal.Errors.process(Errors.java:268) at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:289) at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:256) at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:703) at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:416) at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:370) at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:389) at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:342) at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:229) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799) at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1656) at io.airlift.http.server.TraceTokenFilter.doFilter(TraceTokenFilter.java:63) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626) at io.airlift.http.server.TimingFilter.doFilter(TimingFilter.java:51) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:552) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:722) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1440) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:505) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1355) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146) at org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:181) at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:59) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) at org.eclipse.jetty.server.Server.handle(Server.java:516) at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487) at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:732) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:479) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131) at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:409) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883) at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034) at java.base/java.lang.Thread.run(Thread.java:833) Caused by: io.airlift.bytecode.CompilationException: Error compiling class: io/trino/$gen/JoinFilterFunction_20230125_152529_3825 at io.airlift.bytecode.ClassGenerator.defineClasses(ClassGenerator.java:143) at io.airlift.bytecode.ClassGenerator.defineClass(ClassGenerator.java:117) at io.trino.util.CompilerUtils.defineClass(CompilerUtils.java:63) at io.trino.util.CompilerUtils.defineClass(CompilerUtils.java:57) at io.trino.sql.gen.JoinFilterFunctionCompiler.compileInternalJoinFilterFunction(JoinFilterFunctionCompiler.java:129) at io.trino.sql.gen.JoinFilterFunctionCompiler.internalCompileFilterFunctionFactory(JoinFilterFunctionCompiler.java:102) at io.trino.sql.gen.JoinFilterFunctionCompiler.lambda$new$0(JoinFilterFunctionCompiler.java:86) at com.google.common.cache.CacheLoader$FunctionToCacheLoader.load(CacheLoader.java:169) at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3533) at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2282) at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2159) at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2049) ... 90 more Caused by: org.objectweb.asm.MethodTooLargeException: Method too large: io/trino/$gen/JoinFilterFunction_20230125_152529_3825.filter (ILio/trino/spi/Page;ILio/trino/spi/Page;)Z at org.objectweb.asm.MethodWriter.computeMethodInfoSize(MethodWriter.java:2088) at org.objectweb.asm.ClassWriter.toByteArray(ClassWriter.java:511) at io.airlift.bytecode.ClassGenerator.defineClasses(ClassGenerator.java:140) ... 101 more```
Query ```create table "iceberg"."dbt_robbert_snapshots"."ab_admgr_snapshot__dbt_tmp"

as ( with snapshot_query as (

select * from iceberg.dbt_robbert.ab_admgr

),

snapshotted_data as (

    select *,
        ads_id as dbt_unique_key

    from "iceberg"."dbt_robbert_snapshots"."ab_admgr_snapshot"
    where dbt_valid_to is null

),

insertions_source_data as (

    select
        *,
        ads_id as dbt_unique_key,
        

current_timestamp(6) as dbt_updated_at,

current_timestamp(6) as dbt_valid_from, nullif( current_timestamp(6), current_timestamp(6)) as dbt_valid_to, lower(to_hex(md5(to_utf8(concat(coalesce(cast(ads_id as varchar), ''), '|',coalesce(cast( current_timestamp(6) as varchar), '')))))) as dbt_scd_id

    from snapshot_query
),

updates_source_data as (

    select
        *,
        ads_id as dbt_unique_key,
        

current_timestamp(6) as dbt_updated_at,

current_timestamp(6) as dbt_valid_from,

current_timestamp(6) as dbt_valid_to

    from snapshot_query
),

deletes_source_data as (

    select
        *,
        ads_id as dbt_unique_key
    from snapshot_query
),


insertions as (

    select
        'insert' as dbt_change_type,
        source_data.*

    from insertions_source_data as source_data
    left outer join snapshotted_data on snapshotted_data.dbt_unique_key = source_data.dbt_unique_key
    where snapshotted_data.dbt_unique_key is null
       or (
            snapshotted_data.dbt_unique_key is not null
        and (
            (snapshotted_data."ads_id" != source_data."ads_id"
    or
    (
        ((snapshotted_data."ads_id" is null) and not (source_data."ads_id" is null))
        or
        ((not snapshotted_data."ads_id" is null) and (source_data."ads_id" is null))
    ) or snapshotted_data."ads_perd_id" != source_data."ads_perd_id"
    or
    (
        ((snapshotted_data."ads_perd_id" is null) and not (source_data."ads_perd_id" is null))
        or
        ((not snapshotted_data."ads_perd_id" is null) and (source_data."ads_perd_id" is null))
    ) or snapshotted_data."ads_actu_cd" != source_data."ads_actu_cd"
    or
    (
        ((snapshotted_data."ads_actu_cd" is null) and not (source_data."ads_actu_cd" is null))
        or
        ((not snapshotted_data."ads_actu_cd" is null) and (source_data."ads_actu_cd" is null))
    ) or snapshotted_data."ads_geld_vl" != source_data."ads_geld_vl"
    or
    (
        ((snapshotted_data."ads_geld_vl" is null) and not (source_data."ads_geld_vl" is null))
        or
        ((not snapshotted_data."ads_geld_vl" is null) and (source_data."ads_geld_vl" is null))
    ) or snapshotted_data."ads_erns_cd" != source_data."ads_erns_cd"
    or
    (
        ((snapshotted_data."ads_erns_cd" is null) and not (source_data."ads_erns_cd" is null))
        or
        ((not snapshotted_data."ads_erns_cd" is null) and (source_data."ads_erns_cd" is null))
    ) or snapshotted_data."nummer" != source_data."nummer"
    or
    (
        ((snapshotted_data."nummer" is null) and not (source_data."nummer" is null))
        or
        ((not snapshotted_data."nummer" is null) and (source_data."nummer" is null))
    ) or snapshotted_data."naam" != source_data."naam"
    or
    (
        ((snapshotted_data."naam" is null) and not (source_data."naam" is null))
        or
        ((not snapshotted_data."naam" is null) and (source_data."naam" is null))
    ) or snapshotted_data."korte_naam" != source_data."korte_naam"
    or
    (
        ((snapshotted_data."korte_naam" is null) and not (source_data."korte_naam" is null))
        or
        ((not snapshotted_data."korte_naam" is null) and (source_data."korte_naam" is null))
    ) or snapshotted_data."indicatief" != source_data."indicatief"
    or
    (
        ((snapshotted_data."indicatief" is null) and not (source_data."indicatief" is null))
        or
        ((not snapshotted_data."indicatief" is null) and (source_data."indicatief" is null))
    ) or snapshotted_data."niveau" != source_data."niveau"
    or
    (
        ((snapshotted_data."niveau" is null) and not (source_data."niveau" is null))
        or
        ((not snapshotted_data."niveau" is null) and (source_data."niveau" is null))
    ) or snapshotted_data."soort_onderwijs" != source_data."soort_onderwijs"
    or
    (
        ((snapshotted_data."soort_onderwijs" is null) and not (source_data."soort_onderwijs" is null))
        or
        ((not snapshotted_data."soort_onderwijs" is null) and (source_data."soort_onderwijs" is null))
    ) or snapshotted_data."soort_programma" != source_data."soort_programma"
    or
    (
        ((snapshotted_data."soort_programma" is null) and not (source_data."soort_programma" is null))
        or
        ((not snapshotted_data."soort_programma" is null) and (source_data."soort_programma" is null))
    ) or snapshotted_data."leerjaar" != source_data."leerjaar"
    or
    (
        ((snapshotted_data."leerjaar" is null) and not (source_data."leerjaar" is null))
        or
        ((not snapshotted_data."leerjaar" is null) and (source_data."leerjaar" is null))
    ) or snapshotted_data."minimum_uren" != source_data."minimum_uren"
    or
    (
        ((snapshotted_data."minimum_uren" is null) and not (source_data."minimum_uren" is null))
        or
        ((not snapshotted_data."minimum_uren" is null) and (source_data."minimum_uren" is null))
    ) or snapshotted_data."maximum_uren" != source_data."maximum_uren"
    or
    (
        ((snapshotted_data."maximum_uren" is null) and not (source_data."maximum_uren" is null))
        or
        ((not snapshotted_data."maximum_uren" is null) and (source_data."maximum_uren" is null))
    ) or snapshotted_data."begindatum" != source_data."begindatum"
    or
    (
        ((snapshotted_data."begindatum" is null) and not (source_data."begindatum" is null))
        or
        ((not snapshotted_data."begindatum" is null) and (source_data."begindatum" is null))
    ) or snapshotted_data."einddatum" != source_data."einddatum"
    or
    (
        ((snapshotted_data."einddatum" is null) and not (source_data."einddatum" is null))
        or
        ((not snapshotted_data."einddatum" is null) and (source_data."einddatum" is null))
    ) or snapshotted_data."annulatie" != source_data."annulatie"
    or
    (
        ((snapshotted_data."annulatie" is null) and not (source_data."annulatie" is null))
        or
        ((not snapshotted_data."annulatie" is null) and (source_data."annulatie" is null))
    ) or snapshotted_data."datum_laatste_wijz" != source_data."datum_laatste_wijz"
    or
    (
        ((snapshotted_data."datum_laatste_wijz" is null) and not (source_data."datum_laatste_wijz" is null))
        or
        ((not snapshotted_data."datum_laatste_wijz" is null) and (source_data."datum_laatste_wijz" is null))
    ) or snapshotted_data."userid_laatste_wij" != source_data."userid_laatste_wij"
    or
    (
        ((snapshotted_data."userid_laatste_wij" is null) and not (source_data."userid_laatste_wij" is null))
        or
        ((not snapshotted_data."userid_laatste_wij" is null) and (source_data."userid_laatste_wij" is null))
    ) or snapshotted_data."datum_creatie" != source_data."datum_creatie"
    or
    (
        ((snapshotted_data."datum_creatie" is null) and not (source_data."datum_creatie" is null))
        or
        ((not snapshotted_data."datum_creatie" is null) and (source_data."datum_creatie" is null))
    ) or snapshotted_data."userid_creatie" != source_data."userid_creatie"
    or
    (
        ((snapshotted_data."userid_creatie" is null) and not (source_data."userid_creatie" is null))
        or
        ((not snapshotted_data."userid_creatie" is null) and (source_data."userid_creatie" is null))
    ) or snapshotted_data."type_so" != source_data."type_so"
    or
    (
        ((snapshotted_data."type_so" is null) and not (source_data."type_so" is null))
        or
        ((not snapshotted_data."type_so" is null) and (source_data."type_so" is null))
    ) or snapshotted_data."code_uitzondering" != source_data."code_uitzondering"
    or
    (
        ((snapshotted_data."code_uitzondering" is null) and not (source_data."code_uitzondering" is null))
        or
        ((not snapshotted_data."code_uitzondering" is null) and (source_data."code_uitzondering" is null))
    ) or snapshotted_data."aantal_jaren_ho" != source_data."aantal_jaren_ho"
    or
    (
        ((snapshotted_data."aantal_jaren_ho" is null) and not (source_data."aantal_jaren_ho" is null))
        or
        ((not snapshotted_data."aantal_jaren_ho" is null) and (source_data."aantal_jaren_ho" is null))
    ) or snapshotted_data."type_ho" != source_data."type_ho"
    or
    (
        ((snapshotted_data."type_ho" is null) and not (source_data."type_ho" is null))
        or
        ((not snapshotted_data."type_ho" is null) and (source_data."type_ho" is null))
    ) or snapshotted_data."fk_soort_onderwijs" != source_data."fk_soort_onderwijs"
    or
    (
        ((snapshotted_data."fk_soort_onderwijs" is null) and not (source_data."fk_soort_onderwijs" is null))
        or
        ((not snapshotted_data."fk_soort_onderwijs" is null) and (source_data."fk_soort_onderwijs" is null))
    ) or snapshotted_data."fk_soort_programma" != source_data."fk_soort_programma"
    or
    (
        ((snapshotted_data."fk_soort_programma" is null) and not (source_data."fk_soort_programma" is null))
        or
        ((not snapshotted_data."fk_soort_programma" is null) and (source_data."fk_soort_programma" is null))
    ) or snapshotted_data."fk_niveau" != source_data."fk_niveau"
    or
    (
        ((snapshotted_data."fk_niveau" is null) and not (source_data."fk_niveau" is null))
        or
        ((not snapshotted_data."fk_niveau" is null) and (source_data."fk_niveau" is null))
    ) or snapshotted_data."fk_graad_lo" != source_data."fk_graad_lo"
    or
    (
        ((snapshotted_data."fk_graad_lo" is null) and not (source_data."fk_graad_lo" is null))
        or
        ((not snapshotted_data."fk_graad_lo" is null) and (source_data."fk_graad_lo" is null))
    ) or snapshotted_data."fk_soort_leerjaar" != source_data."fk_soort_leerjaar"
    or
    (
        ((snapshotted_data."fk_soort_leerjaar" is null) and not (source_data."fk_soort_leerjaar" is null))
        or
        ((not snapshotted_data."fk_soort_leerjaar" is null) and (source_data."fk_soort_leerjaar" is null))
    ) or snapshotted_data."fk_onderw_vorm_so" != source_data."fk_onderw_vorm_so"
    or
    (
        ((snapshotted_data."fk_onderw_vorm_so" is null) and not (source_data."fk_onderw_vorm_so" is null))
        or
        ((not snapshotted_data."fk_onderw_vorm_so" is null) and (source_data."fk_onderw_vorm_so" is null))
    ) or snapshotted_data."fk_type_so" != source_data."fk_type_so"
    or
    (
        ((snapshotted_data."fk_type_so" is null) and not (source_data."fk_type_so" is null))
        or
        ((not snapshotted_data."fk_type_so" is null) and (source_data."fk_type_so" is null))
    ) or snapshotted_data."fk_stud_rich_vso" != source_data."fk_stud_rich_vso"
    or
    (
        ((snapshotted_data."fk_stud_rich_vso" is null) and not (source_data."fk_stud_rich_vso" is null))
        or
        ((not snapshotted_data."fk_stud_rich_vso" is null) and (source_data."fk_stud_rich_vso" is null))
    ) or snapshotted_data."fk_afd_vso" != source_data."fk_afd_vso"
    or
    (
        ((snapshotted_data."fk_afd_vso" is null) and not (source_data."fk_afd_vso" is null))
        or
        ((not snapshotted_data."fk_afd_vso" is null) and (source_data."fk_afd_vso" is null))
    ) or snapshotted_data."fk_graad_vso" != source_data."fk_graad_vso"
    or
    (
        ((snapshotted_data."fk_graad_vso" is null) and not (source_data."fk_graad_vso" is null))
        or
        ((not snapshotted_data."fk_graad_vso" is null) and (source_data."fk_graad_vso" is null))
    ) or snapshotted_data."fk_graad_etso" != source_data."fk_graad_etso"
    or
    (
        ((snapshotted_data."fk_graad_etso" is null) and not (source_data."fk_graad_etso" is null))
        or
        ((not snapshotted_data."fk_graad_etso" is null) and (source_data."fk_graad_etso" is null))
    ) or snapshotted_data."fk_stud_rich_etso" != source_data."fk_stud_rich_etso"
    or
    (
        ((snapshotted_data."fk_stud_rich_etso" is null) and not (source_data."fk_stud_rich_etso" is null))
        or
        ((not snapshotted_data."fk_stud_rich_etso" is null) and (source_data."fk_stud_rich_etso" is null))
    ) or snapshotted_data."fk_spec_trso" != source_data."fk_spec_trso"
    or
    (
        ((snapshotted_data."fk_spec_trso" is null) and not (source_data."fk_spec_trso" is null))
        or
        ((not snapshotted_data."fk_spec_trso" is null) and (source_data."fk_spec_trso" is null))
    ) or snapshotted_data."fk_cyclus_trso" != source_data."fk_cyclus_trso"
    or
    (
        ((snapshotted_data."fk_cyclus_trso" is null) and not (source_data."fk_cyclus_trso" is null))
        or
        ((not snapshotted_data."fk_cyclus_trso" is null) and (source_data."fk_cyclus_trso" is null))
    ) or snapshotted_data."fk_afd_trso" != source_data."fk_afd_trso"
    or
    (
        ((snapshotted_data."fk_afd_trso" is null) and not (source_data."fk_afd_trso" is null))
        or
        ((not snapshotted_data."fk_afd_trso" is null) and (source_data."fk_afd_trso" is null))
    ) or snapshotted_data."fk_cat_trso" != source_data."fk_cat_trso"
    or
    (
        ((snapshotted_data."fk_cat_trso" is null) and not (source_data."fk_cat_trso" is null))
        or
        ((not snapshotted_data."fk_cat_trso" is null) and (source_data."fk_cat_trso" is null))
    ) or snapshotted_data."fk_cyclus_tlso" != source_data."fk_cyclus_tlso"
    or
    (
        ((snapshotted_data."fk_cyclus_tlso" is null) and not (source_data."fk_cyclus_tlso" is null))
        or
        ((not snapshotted_data."fk_cyclus_tlso" is null) and (source_data."fk_cyclus_tlso" is null))
    ) or snapshotted_data."fk_spec_tlso" != source_data."fk_spec_tlso"
    or
    (
        ((snapshotted_data."fk_spec_tlso" is null) and not (source_data."fk_spec_tlso" is null))
        or
        ((not snapshotted_data."fk_spec_tlso" is null) and (source_data."fk_spec_tlso" is null))
    ) or snapshotted_data."fk_cat_tlso" != source_data."fk_cat_tlso"
    or
    (
        ((snapshotted_data."fk_cat_tlso" is null) and not (source_data."fk_cat_tlso" is null))
        or
        ((not snapshotted_data."fk_cat_tlso" is null) and (source_data."fk_cat_tlso" is null))
    ) or snapshotted_data."fk_type_ho" != source_data."fk_type_ho"
    or
    (
        ((snapshotted_data."fk_type_ho" is null) and not (source_data."fk_type_ho" is null))
        or
        ((not snapshotted_data."fk_type_ho" is null) and (source_data."fk_type_ho" is null))
    ) or snapshotted_data."fk_optie_ho" != source_data."fk_optie_ho"
    or
    (
        ((snapshotted_data."fk_optie_ho" is null) and not (source_data."fk_optie_ho" is null))
        or
        ((not snapshotted_data."fk_optie_ho" is null) and (source_data."fk_optie_ho" is null))
    ) or snapshotted_data."fk_cyclus_ngho" != source_data."fk_cyclus_ngho"
    or
    (
        ((snapshotted_data."fk_cyclus_ngho" is null) and not (source_data."fk_cyclus_ngho" is null))
        or
        ((not snapshotted_data."fk_cyclus_ngho" is null) and (source_data."fk_cyclus_ngho" is null))
    ) or snapshotted_data."fk_afd_ngho" != source_data."fk_afd_ngho"
    or
    (
        ((snapshotted_data."fk_afd_ngho" is null) and not (source_data."fk_afd_ngho" is null))
        or
        ((not snapshotted_data."fk_afd_ngho" is null) and (source_data."fk_afd_ngho" is null))
    ) or snapshotted_data."fk_cat_ngho" != source_data."fk_cat_ngho"
    or
    (
        ((snapshotted_data."fk_cat_ngho" is null) and not (source_data."fk_cat_ngho" is null))
        or
        ((not snapshotted_data."fk_cat_ngho" is null) and (source_data."fk_cat_ngho" is null))
    ) or snapshotted_data."fk_stud_hokt" != source_data."fk_stud_hokt"
    or
    (
        ((snapshotted_data."fk_stud_hokt" is null) and not (source_data."fk_stud_hokt" is null))
        or
        ((not snapshotted_data."fk_stud_hokt" is null) and (source_data."fk_stud_hokt" is null))
    ) or snapshotted_data."fk_srt_ped_no_hokt" != source_data."fk_srt_ped_no_hokt"
    or
    (
        ((snapshotted_data."fk_srt_ped_no_hokt" is null) and not (source_data."fk_srt_ped_no_hokt" is null))
        or
        ((not snapshotted_data."fk_srt_ped_no_hokt" is null) and (source_data."fk_srt_ped_no_hokt" is null))
    ) or snapshotted_data."fk_spec_hokt" != source_data."fk_spec_hokt"
    or
    (
        ((snapshotted_data."fk_spec_hokt" is null) and not (source_data."fk_spec_hokt" is null))
        or
        ((not snapshotted_data."fk_spec_hokt" is null) and (source_data."fk_spec_hokt" is null))
    ) or snapshotted_data."fk_afd_hokt" != source_data."fk_afd_hokt"
    or
    (
        ((snapshotted_data."fk_afd_hokt" is null) and not (source_data."fk_afd_hokt" is null))
        or
        ((not snapshotted_data."fk_afd_hokt" is null) and (source_data."fk_afd_hokt" is null))
    ) or snapshotted_data."fk_cat_hokt" != source_data."fk_cat_hokt"
    or
    (
        ((snapshotted_data."fk_cat_hokt" is null) and not (source_data."fk_cat_hokt" is null))
        or
        ((not snapshotted_data."fk_cat_hokt" is null) and (source_data."fk_cat_hokt" is null))
    ) or snapshotted_data."fk_cyclus_holt_o" != source_data."fk_cyclus_holt_o"
    or
    (
        ((snapshotted_data."fk_cyclus_holt_o" is null) and not (source_data."fk_cyclus_holt_o" is null))
        or
        ((not snapshotted_data."fk_cyclus_holt_o" is null) and (source_data."fk_cyclus_holt_o" is null))
    ) or snapshotted_data."fk_afd_holt_o" != source_data."fk_afd_holt_o"
    or
    (
        ((snapshotted_data."fk_afd_holt_o" is null) and not (source_data."fk_afd_holt_o" is null))
        or
        ((not snapshotted_data."fk_afd_holt_o" is null) and (source_data."fk_afd_holt_o" is null))
    ) or snapshotted_data."fk_cat_holt_o" != source_data."fk_cat_holt_o"
    or
    (
        ((snapshotted_data."fk_cat_holt_o" is null) and not (source_data."fk_cat_holt_o" is null))
        or
        ((not snapshotted_data."fk_cat_holt_o" is null) and (source_data."fk_cat_holt_o" is null))
    ) or snapshotted_data."fk_srt_opl_hobu" != source_data."fk_srt_opl_hobu"
    or
    (
        ((snapshotted_data."fk_srt_opl_hobu" is null) and not (source_data."fk_srt_opl_hobu" is null))
        or
        ((not snapshotted_data."fk_srt_opl_hobu" is null) and (source_data."fk_srt_opl_hobu" is null))
    ) or snapshotted_data."fk_cyclus_hobu_c" != source_data."fk_cyclus_hobu_c"
    or
    (
        ((snapshotted_data."fk_cyclus_hobu_c" is null) and not (source_data."fk_cyclus_hobu_c" is null))
        or
        ((not snapshotted_data."fk_cyclus_hobu_c" is null) and (source_data."fk_cyclus_hobu_c" is null))
    ) or snapshotted_data."fk_opleid_hobu" != source_data."fk_opleid_hobu"
    or
    (
        ((snapshotted_data."fk_opleid_hobu" is null) and not (source_data."fk_opleid_hobu" is null))
        or
        ((not snapshotted_data."fk_opleid_hobu" is null) and (source_data."fk_opleid_hobu" is null))
    ) or snapshotted_data."fk_stugebie_hobu" != source_data."fk_stugebie_hobu"
    or
    (
        ((snapshotted_data."fk_stugebie_hobu" is null) and not (source_data."fk_stugebie_hobu" is null))
        or
        ((not snapshotted_data."fk_stugebie_hobu" is null) and (source_data."fk_stugebie_hobu" is null))
    ) or snapshotted_data."fk_afd_buso" != source_data."fk_afd_buso"
    or
    (
        ((snapshotted_data."fk_afd_buso" is null) and not (source_data."fk_afd_buso" is null))
        or
        ((not snapshotted_data."fk_afd_buso" is null) and (source_data."fk_afd_buso" is null))
    ) or snapshotted_data."fk_oplv_buso" != source_data."fk_oplv_buso"
    or
    (
        ((snapshotted_data."fk_oplv_buso" is null) and not (source_data."fk_oplv_buso" is null))
        or
        ((not snapshotted_data."fk_oplv_buso" is null) and (source_data."fk_oplv_buso" is null))
    ) or snapshotted_data."fk_type_buso" != source_data."fk_type_buso"
    or
    (
        ((snapshotted_data."fk_type_buso" is null) and not (source_data."fk_type_buso" is null))
        or
        ((not snapshotted_data."fk_type_buso" is null) and (source_data."fk_type_buso" is null))
    ) or snapshotted_data."fk_fase_buso" != source_data."fk_fase_buso"
    or
    (
        ((snapshotted_data."fk_fase_buso" is null) and not (source_data."fk_fase_buso" is null))
        or
        ((not snapshotted_data."fk_fase_buso" is null) and (source_data."fk_fase_buso" is null))
    ) or snapshotted_data."fk_domein_dko" != source_data."fk_domein_dko"
    or
    (
        ((snapshotted_data."fk_domein_dko" is null) and not (source_data."fk_domein_dko" is null))
        or
        ((not snapshotted_data."fk_domein_dko" is null) and (source_data."fk_domein_dko" is null))
    ) or snapshotted_data."fk_t_graad_dko_cod" != source_data."fk_t_graad_dko_cod"
    or
    (
        ((snapshotted_data."fk_t_graad_dko_cod" is null) and not (source_data."fk_t_graad_dko_cod" is null))
        or
        ((not snapshotted_data."fk_t_graad_dko_cod" is null) and (source_data."fk_t_graad_dko_cod" is null))
    ) or snapshotted_data."fk_t_optie_dko_cod" != source_data."fk_t_optie_dko_cod"
    or
    (
        ((snapshotted_data."fk_t_optie_dko_cod" is null) and not (source_data."fk_t_optie_dko_cod" is null))
        or
        ((not snapshotted_data."fk_t_optie_dko_cod" is null) and (source_data."fk_t_optie_dko_cod" is null))
    ) or snapshotted_data."fk_t_ond_opt_dkcod" != source_data."fk_t_ond_opt_dkcod"
    or
    (
        ((snapshotted_data."fk_t_ond_opt_dkcod" is null) and not (source_data."fk_t_ond_opt_dkcod" is null))
        or
        ((not snapshotted_data."fk_t_ond_opt_dkcod" is null) and (source_data."fk_t_ond_opt_dkcod" is null))
    ) or snapshotted_data."fk_t_sectie_dkocod" != source_data."fk_t_sectie_dkocod"
    or
    (
        ((snapshotted_data."fk_t_sectie_dkocod" is null) and not (source_data."fk_t_sectie_dkocod" is null))
        or
        ((not snapshotted_data."fk_t_sectie_dkocod" is null) and (source_data."fk_t_sectie_dkocod" is null))
    ) or snapshotted_data."financierbaar" != source_data."financierbaar"
    or
    (
        ((snapshotted_data."financierbaar" is null) and not (source_data."financierbaar" is null))
        or
        ((not snapshotted_data."financierbaar" is null) and (source_data."financierbaar" is null))
    ) or snapshotted_data."fk_puntg_per_vol" != source_data."fk_puntg_per_vol"
    or
    (
        ((snapshotted_data."fk_puntg_per_vol" is null) and not (source_data."fk_puntg_per_vol" is null))
        or
        ((not snapshotted_data."fk_puntg_per_vol" is null) and (source_data."fk_puntg_per_vol" is null))
    ) or snapshotted_data."fk_srt_lj_hobu_c" != source_data."fk_srt_lj_hobu_c"
    or
    (
        ((snapshotted_data."fk_srt_lj_hobu_c" is null) and not (source_data."fk_srt_lj_hobu_c" is null))
        or
        ((not snapshotted_data."fk_srt_lj_hobu_c" is null) and (source_data."fk_srt_lj_hobu_c" is null))
    ) or snapshotted_data."studiebewijs" != source_data."studiebewijs"
    or
    (
        ((snapshotted_data."studiebewijs" is null) and not (source_data."studiebewijs" is null))
        or
        ((not snapshotted_data."studiebewijs" is null) and (source_data."studiebewijs" is null))
    ) or snapshotted_data."aant_taal" != source_data."aant_taal"
    or
    (
        ((snapshotted_data."aant_taal" is null) and not (source_data."aant_taal" is null))
        or
        ((not snapshotted_data."aant_taal" is null) and (source_data."aant_taal" is null))
    ) or snapshotted_data."fk_stelsel_osp" != source_data."fk_stelsel_osp"
    or
    (
        ((snapshotted_data."fk_stelsel_osp" is null) and not (source_data."fk_stelsel_osp" is null))
        or
        ((not snapshotted_data."fk_stelsel_osp" is null) and (source_data."fk_stelsel_osp" is null))
    ) or snapshotted_data."fk_afdeling_osp_so" != source_data."fk_afdeling_osp_so"
    or
    (
        ((snapshotted_data."fk_afdeling_osp_so" is null) and not (source_data."fk_afdeling_osp_so" is null))
        or
        ((not snapshotted_data."fk_afdeling_osp_so" is null) and (source_data."fk_afdeling_osp_so" is null))
    ) or snapshotted_data."fk_afdeling_osp_ho" != source_data."fk_afdeling_osp_ho"
    or
    (
        ((snapshotted_data."fk_afdeling_osp_ho" is null) and not (source_data."fk_afdeling_osp_ho" is null))
        or
        ((not snapshotted_data."fk_afdeling_osp_ho" is null) and (source_data."fk_afdeling_osp_ho" is null))
    ) or snapshotted_data."fk_categori_osp_so" != source_data."fk_categori_osp_so"
    or
    (
        ((snapshotted_data."fk_categori_osp_so" is null) and not (source_data."fk_categori_osp_so" is null))
        or
        ((not snapshotted_data."fk_categori_osp_so" is null) and (source_data."fk_categori_osp_so" is null))
    ) or snapshotted_data."fk_categori_osp_ho" != source_data."fk_categori_osp_ho"
    or
    (
        ((snapshotted_data."fk_categori_osp_ho" is null) and not (source_data."fk_categori_osp_ho" is null))
        or
        ((not snapshotted_data."fk_categori_osp_ho" is null) and (source_data."fk_categori_osp_ho" is null))
    ) or snapshotted_data."fk_cyclus_osp_so" != source_data."fk_cyclus_osp_so"
    or
    (
        ((snapshotted_data."fk_cyclus_osp_so" is null) and not (source_data."fk_cyclus_osp_so" is null))
        or
        ((not snapshotted_data."fk_cyclus_osp_so" is null) and (source_data."fk_cyclus_osp_so" is null))
    ) or snapshotted_data."fk_onderwvr_osp_so" != source_data."fk_onderwvr_osp_so"
    or
    (
        ((snapshotted_data."fk_onderwvr_osp_so" is null) and not (source_data."fk_onderwvr_osp_so" is null))
        or
        ((not snapshotted_data."fk_onderwvr_osp_so" is null) and (source_data."fk_onderwvr_osp_so" is null))
    ) or snapshotted_data."fk_srt_leerj_osp" != source_data."fk_srt_leerj_osp"
    or
    (
        ((snapshotted_data."fk_srt_leerj_osp" is null) and not (source_data."fk_srt_leerj_osp" is null))
        or
        ((not snapshotted_data."fk_srt_leerj_osp" is null) and (source_data."fk_srt_leerj_osp" is null))
    ) or snapshotted_data."fk_optie_osp_so" != source_data."fk_optie_osp_so"
    or
    (
        ((snapshotted_data."fk_optie_osp_so" is null) and not (source_data."fk_optie_osp_so" is null))
        or
        ((not snapshotted_data."fk_optie_osp_so" is null) and (source_data."fk_optie_osp_so" is null))
    ) or snapshotted_data."fk_optie_osp_ho" != source_data."fk_optie_osp_ho"
    or
    (
        ((snapshotted_data."fk_optie_osp_ho" is null) and not (source_data."fk_optie_osp_ho" is null))
        or
        ((not snapshotted_data."fk_optie_osp_ho" is null) and (source_data."fk_optie_osp_ho" is null))
    ) or snapshotted_data."fk_special_osp_so" != source_data."fk_special_osp_so"
    or
    (
        ((snapshotted_data."fk_special_osp_so" is null) and not (source_data."fk_special_osp_so" is null))
        or
        ((not snapshotted_data."fk_special_osp_so" is null) and (source_data."fk_special_osp_so" is null))
    ) or snapshotted_data."fk_special_osp_ho" != source_data."fk_special_osp_ho"
    or
    (
        ((snapshotted_data."fk_special_osp_ho" is null) and not (source_data."fk_special_osp_ho" is null))
        or
        ((not snapshotted_data."fk_special_osp_ho" is null) and (source_data."fk_special_osp_ho" is null))
    ) or snapshotted_data."max_duur_deelt_ho" != source_data."max_duur_deelt_ho"
    or
    (
        ((snapshotted_data."max_duur_deelt_ho" is null) and not (source_data."max_duur_deelt_ho" is null))
        or
        ((not snapshotted_data."max_duur_deelt_ho" is null) and (source_data."max_duur_deelt_ho" is null))
    ) or snapshotted_data."max_duur_volt_ho" != source_data."max_duur_volt_ho"
    or
    (
        ((snapshotted_data."max_duur_volt_ho" is null) and not (source_data."max_duur_volt_ho" is null))
        or
        ((not snapshotted_data."max_duur_volt_ho" is null) and (source_data."max_duur_volt_ho" is null))
    ) or snapshotted_data."diplomarichting_ho" != source_data."diplomarichting_ho"
    or
    (
        ((snapshotted_data."diplomarichting_ho" is null) and not (source_data."diplomarichting_ho" is null))
        or
        ((not snapshotted_data."diplomarichting_ho" is null) and (source_data."diplomarichting_ho" is null))
    ) or snapshotted_data."aantal_jaren_uo" != source_data."aantal_jaren_uo"
    or
    (
        ((snapshotted_data."aantal_jaren_uo" is null) and not (source_data."aantal_jaren_uo" is null))
        or
        ((not snapshotted_data."aantal_jaren_uo" is null) and (source_data."aantal_jaren_uo" is null))
    ) or snapshotted_data."max_duur_deelt_uo" != source_data."max_duur_deelt_uo"
    or
    (
        ((snapshotted_data."max_duur_deelt_uo" is null) and not (source_data."max_duur_deelt_uo" is null))
        or
        ((not snapshotted_data."max_duur_deelt_uo" is null) and (source_data."max_duur_deelt_uo" is null))
    ) or snapshotted_data."max_duur_volt_uo" != source_data."max_duur_volt_uo"
    or
    (
        ((snapshotted_data."max_duur_volt_uo" is null) and not (source_data."max_duur_volt_uo" is null))
        or
        ((not snapshotted_data."max_duur_volt_uo" is null) and (source_data."max_duur_volt_uo" is null))
    ) or snapshotted_data."diplomarichting_uo" != source_data."diplomarichting_uo"
    or
    (
        ((snapshotted_data."diplomarichting_uo" is null) and not (source_data."diplomarichting_uo" is null))
        or
        ((not snapshotted_data."diplomarichting_uo" is null) and (source_data."diplomarichting_uo" is null))
    ) or snapshotted_data."fk_studiegebied_uo" != source_data."fk_studiegebied_uo"
    or
    (
        ((snapshotted_data."fk_studiegebied_uo" is null) and not (source_data."fk_studiegebied_uo" is null))
        or
        ((not snapshotted_data."fk_studiegebied_uo" is null) and (source_data."fk_studiegebied_uo" is null))
    ) or snapshotted_data."fk_soort_opl_uo" != source_data."fk_soort_opl_uo"
    or
    (
        ((snapshotted_data."fk_soort_opl_uo" is null) and not (source_data."fk_soort_opl_uo" is null))
        or
        ((not snapshotted_data."fk_soort_opl_uo" is null) and (source_data."fk_soort_opl_uo" is null))
    ) or snapshotted_data."fk_opleiding_uo" != source_data."fk_opleiding_uo"
    or
    (
        ((snapshotted_data."fk_opleiding_uo" is null) and not (source_data."fk_opleiding_uo" is null))
        or
        ((not snapshotted_data."fk_opleiding_uo" is null) and (source_data."fk_opleiding_uo" is null))
    ) or snapshotted_data."fk_cyclus_uo" != source_data."fk_cyclus_uo"
    or
    (
        ((snapshotted_data."fk_cyclus_uo" is null) and not (source_data."fk_cyclus_uo" is null))
        or
        ((not snapshotted_data."fk_cyclus_uo" is null) and (source_data."fk_cyclus_uo" is null))
    ) or snapshotted_data."fk_srt_studiej_uo" != source_data."fk_srt_studiej_uo"
    or
    (
        ((snapshotted_data."fk_srt_studiej_uo" is null) and not (source_data."fk_srt_studiej_uo" is null))
        or
        ((not snapshotted_data."fk_srt_studiej_uo" is null) and (source_data."fk_srt_studiej_uo" is null))
    ) or snapshotted_data."fk_osp_studiegebie" != source_data."fk_osp_studiegebie"
    or
    (
        ((snapshotted_data."fk_osp_studiegebie" is null) and not (source_data."fk_osp_studiegebie" is null))
        or
        ((not snapshotted_data."fk_osp_studiegebie" is null) and (source_data."fk_osp_studiegebie" is null))
    ) or snapshotted_data."fk_osp_richtgraad" != source_data."fk_osp_richtgraad"
    or
    (
        ((snapshotted_data."fk_osp_richtgraad" is null) and not (source_data."fk_osp_richtgraad" is null))
        or
        ((not snapshotted_data."fk_osp_richtgraad" is null) and (source_data."fk_osp_richtgraad" is null))
    ) or snapshotted_data."fk_osp_graad" != source_data."fk_osp_graad"
    or
    (
        ((snapshotted_data."fk_osp_graad" is null) and not (source_data."fk_osp_graad" is null))
        or
        ((not snapshotted_data."fk_osp_graad" is null) and (source_data."fk_osp_graad" is null))
    ) or snapshotted_data."fk_osp_opleiding" != source_data."fk_osp_opleiding"
    or
    (
        ((snapshotted_data."fk_osp_opleiding" is null) and not (source_data."fk_osp_opleiding" is null))
        or
        ((not snapshotted_data."fk_osp_opleiding" is null) and (source_data."fk_osp_opleiding" is null))
    ) or snapshotted_data."fk_osp_optie" != source_data."fk_osp_optie"
    or
    (
        ((snapshotted_data."fk_osp_optie" is null) and not (source_data."fk_osp_optie" is null))
        or
        ((not snapshotted_data."fk_osp_optie" is null) and (source_data."fk_osp_optie" is null))
    ) or snapshotted_data."fk_osp_module" != source_data."fk_osp_module"
    or
    (
        ((snapshotted_data."fk_osp_module" is null) and not (source_data."fk_osp_module" is null))
        or
        ((not snapshotted_data."fk_osp_module" is null) and (source_data."fk_osp_module" is null))
    ) or snapshotted_data."fk_studiegebied_so" != source_data."fk_studiegebied_so"
    or
    (
        ((snapshotted_data."fk_studiegebied_so" is null) and not (source_data."fk_studiegebied_so" is null))
        or
        ((not snapshotted_data."fk_studiegebied_so" is null) and (source_data."fk_studiegebied_so" is null))
    ) or snapshotted_data."fk_dbso_subrubriek" != source_data."fk_dbso_subrubriek"
    or
    (
        ((snapshotted_data."fk_dbso_subrubriek" is null) and not (source_data."fk_dbso_subrubriek" is null))
        or
        ((not snapshotted_data."fk_dbso_subrubriek" is null) and (source_data."fk_dbso_subrubriek" is null))
    ) or snapshotted_data."fk_dbso_rubriek" != source_data."fk_dbso_rubriek"
    or
    (
        ((snapshotted_data."fk_dbso_rubriek" is null) and not (source_data."fk_dbso_rubriek" is null))
        or
        ((not snapshotted_data."fk_dbso_rubriek" is null) and (source_data."fk_dbso_rubriek" is null))
    ) or snapshotted_data."fk_vo_opleiding" != source_data."fk_vo_opleiding"
    or
    (
        ((snapshotted_data."fk_vo_opleiding" is null) and not (source_data."fk_vo_opleiding" is null))
        or
        ((not snapshotted_data."fk_vo_opleiding" is null) and (source_data."fk_vo_opleiding" is null))
    ) or snapshotted_data."fk_vo_cursusniv" != source_data."fk_vo_cursusniv"
    or
    (
        ((snapshotted_data."fk_vo_cursusniv" is null) and not (source_data."fk_vo_cursusniv" is null))
        or
        ((not snapshotted_data."fk_vo_cursusniv" is null) and (source_data."fk_vo_cursusniv" is null))
    ) or snapshotted_data."fk_vo_finaliteit" != source_data."fk_vo_finaliteit"
    or
    (
        ((snapshotted_data."fk_vo_finaliteit" is null) and not (source_data."fk_vo_finaliteit" is null))
        or
        ((not snapshotted_data."fk_vo_finaliteit" is null) and (source_data."fk_vo_finaliteit" is null))
    ) or snapshotted_data."fk_vo_optie" != source_data."fk_vo_optie"
    or
    (
        ((snapshotted_data."fk_vo_optie" is null) and not (source_data."fk_vo_optie" is null))
        or
        ((not snapshotted_data."fk_vo_optie" is null) and (source_data."fk_vo_optie" is null))
    ) or snapshotted_data."datum_goedk_struct" != source_data."datum_goedk_struct"
    or
    (
        ((snapshotted_data."datum_goedk_struct" is null) and not (source_data."datum_goedk_struct" is null))
        or
        ((not snapshotted_data."datum_goedk_struct" is null) and (source_data."datum_goedk_struct" is null))
    ) or snapshotted_data."studieptn_opl_ho_b" != source_data."studieptn_opl_ho_b"
    or
    (
        ((snapshotted_data."studieptn_opl_ho_b" is null) and not (source_data."studieptn_opl_ho_b" is null))
        or
        ((not snapshotted_data."studieptn_opl_ho_b" is null) and (source_data."studieptn_opl_ho_b" is null))
    ) or snapshotted_data."studieptn_opl_uo_b" != source_data."studieptn_opl_uo_b"
    or
    (
        ((snapshotted_data."studieptn_opl_uo_b" is null) and not (source_data."studieptn_opl_uo_b" is null))
        or
        ((not snapshotted_data."studieptn_opl_uo_b" is null) and (source_data."studieptn_opl_uo_b" is null))
    ) or snapshotted_data."jaarsys_ho_ba" != source_data."jaarsys_ho_ba"
    or
    (
        ((snapshotted_data."jaarsys_ho_ba" is null) and not (source_data."jaarsys_ho_ba" is null))
        or
        ((not snapshotted_data."jaarsys_ho_ba" is null) and (source_data."jaarsys_ho_ba" is null))
    ) or snapshotted_data."jaarsys_uo_ba" != source_data."jaarsys_uo_ba"
    or
    (
        ((snapshotted_data."jaarsys_uo_ba" is null) and not (source_data."jaarsys_uo_ba" is null))
        or
        ((not snapshotted_data."jaarsys_uo_ba" is null) and (source_data."jaarsys_uo_ba" is null))
    ) or snapshotted_data."aanduid_ho_ba" != source_data."aanduid_ho_ba"
    or
    (
        ((snapshotted_data."aanduid_ho_ba" is null) and not (source_data."aanduid_ho_ba" is null))
        or
        ((not snapshotted_data."aanduid_ho_ba" is null) and (source_data."aanduid_ho_ba" is null))
    ) or snapshotted_data."aanduid_uo_ba" != source_data."aanduid_uo_ba"
    or
    (
        ((snapshotted_data."aanduid_uo_ba" is null) and not (source_data."aanduid_uo_ba" is null))
        or
        ((not snapshotted_data."aanduid_uo_ba" is null) and (source_data."aanduid_uo_ba" is null))
    ) or snapshotted_data."fk_ba_ho_srt_opl" != source_data."fk_ba_ho_srt_opl"
    or
    (
        ((snapshotted_data."fk_ba_ho_srt_opl" is null) and not (source_data."fk_ba_ho_srt_opl" is null))
        or
        ((not snapshotted_data."fk_ba_ho_srt_opl" is null) and (source_data."fk_ba_ho_srt_opl" is null))
    ) or snapshotted_data."fk_ba_ho_opleid" != source_data."fk_ba_ho_opleid"
    or
    (
        ((snapshotted_data."fk_ba_ho_opleid" is null) and not (source_data."fk_ba_ho_opleid" is null))
        or
        ((not snapshotted_data."fk_ba_ho_opleid" is null) and (source_data."fk_ba_ho_opleid" is null))
    ) or snapshotted_data."fk_ba_ho_afsturi" != source_data."fk_ba_ho_afsturi"
    or
    (
        ((snapshotted_data."fk_ba_ho_afsturi" is null) and not (source_data."fk_ba_ho_afsturi" is null))
        or
        ((not snapshotted_data."fk_ba_ho_afsturi" is null) and (source_data."fk_ba_ho_afsturi" is null))
    ) or snapshotted_data."fk_ba_uo_srt_opl" != source_data."fk_ba_uo_srt_opl"
    or
    (
        ((snapshotted_data."fk_ba_uo_srt_opl" is null) and not (source_data."fk_ba_uo_srt_opl" is null))
        or
        ((not snapshotted_data."fk_ba_uo_srt_opl" is null) and (source_data."fk_ba_uo_srt_opl" is null))
    ) or snapshotted_data."fk_ba_uo_opleid" != source_data."fk_ba_uo_opleid"
    or
    (
        ((snapshotted_data."fk_ba_uo_opleid" is null) and not (source_data."fk_ba_uo_opleid" is null))
        or
        ((not snapshotted_data."fk_ba_uo_opleid" is null) and (source_data."fk_ba_uo_opleid" is null))
    ) or snapshotted_data."fk_ba_uo_afsturi" != source_data."fk_ba_uo_afsturi"
    or
    (
        ((snapshotted_data."fk_ba_uo_afsturi" is null) and not (source_data."fk_ba_uo_afsturi" is null))
        or
        ((not snapshotted_data."fk_ba_uo_afsturi" is null) and (source_data."fk_ba_uo_afsturi" is null))
    ) or snapshotted_data."curriculum_code" != source_data."curriculum_code"
    or
    (
        ((snapshotted_data."curriculum_code" is null) and not (source_data."curriculum_code" is null))
        or
        ((not snapshotted_data."curriculum_code" is null) and (source_data."curriculum_code" is null))
    ) or snapshotted_data."fk_ba_ho_ger_opl" != source_data."fk_ba_ho_ger_opl"
    or
    (
        ((snapshotted_data."fk_ba_ho_ger_opl" is null) and not (source_data."fk_ba_ho_ger_opl" is null))
        or
        ((not snapshotted_data."fk_ba_ho_ger_opl" is null) and (source_data."fk_ba_ho_ger_opl" is null))
    ) or snapshotted_data."fk_ba_uo_ger_opl" != source_data."fk_ba_uo_ger_opl"
    or
    (
        ((snapshotted_data."fk_ba_uo_ger_opl" is null) and not (source_data."fk_ba_uo_ger_opl" is null))
        or
        ((not snapshotted_data."fk_ba_uo_ger_opl" is null) and (source_data."fk_ba_uo_ger_opl" is null))
    ) or snapshotted_data."fk_t_opl_dho_cd_ho" != source_data."fk_t_opl_dho_cd_ho"
    or
    (
        ((snapshotted_data."fk_t_opl_dho_cd_ho" is null) and not (source_data."fk_t_opl_dho_cd_ho" is null))
        or
        ((not snapshotted_data."fk_t_opl_dho_cd_ho" is null) and (source_data."fk_t_opl_dho_cd_ho" is null))
    ) or snapshotted_data."fk_t_opl_dho_cd_uo" != source_data."fk_t_opl_dho_cd_uo"
    or
    (
        ((snapshotted_data."fk_t_opl_dho_cd_uo" is null) and not (source_data."fk_t_opl_dho_cd_uo" is null))
        or
        ((not snapshotted_data."fk_t_opl_dho_cd_uo" is null) and (source_data."fk_t_opl_dho_cd_uo" is null))
    ) or snapshotted_data."fk_t_type_opl_ho_c" != source_data."fk_t_type_opl_ho_c"
    or
    (
        ((snapshotted_data."fk_t_type_opl_ho_c" is null) and not (source_data."fk_t_type_opl_ho_c" is null))
        or
        ((not snapshotted_data."fk_t_type_opl_ho_c" is null) and (source_data."fk_t_type_opl_ho_c" is null))
    ) or snapshotted_data."aom" != source_data."aom"
    or
    (
        ((snapshotted_data."aom" is null) and not (source_data."aom" is null))
        or
        ((not snapshotted_data."aom" is null) and (source_data."aom" is null))
    ) or snapshotted_data."led_omschr" != source_data."led_omschr"
    or
    (
        ((snapshotted_data."led_omschr" is null) and not (source_data."led_omschr" is null))
        or
        ((not snapshotted_data."led_omschr" is null) and (source_data."led_omschr" is null))
    ) or snapshotted_data."fk_t_led_ond_c" != source_data."fk_t_led_ond_c"
    or
    (
        ((snapshotted_data."fk_t_led_ond_c" is null) and not (source_data."fk_t_led_ond_c" is null))
        or
        ((not snapshotted_data."fk_t_led_ond_c" is null) and (source_data."fk_t_led_ond_c" is null))
    ) or snapshotted_data."led_uitz_gr" != source_data."led_uitz_gr"
    or
    (
        ((snapshotted_data."led_uitz_gr" is null) and not (source_data."led_uitz_gr" is null))
        or
        ((not snapshotted_data."led_uitz_gr" is null) and (source_data."led_uitz_gr" is null))
    ) or snapshotted_data."fk_type_dko" != source_data."fk_type_dko"
    or
    (
        ((snapshotted_data."fk_type_dko" is null) and not (source_data."fk_type_dko" is null))
        or
        ((not snapshotted_data."fk_type_dko" is null) and (source_data."fk_type_dko" is null))
    ) or snapshotted_data."fk_traject_dko" != source_data."fk_traject_dko"
    or
    (
        ((snapshotted_data."fk_traject_dko" is null) and not (source_data."fk_traject_dko" is null))
        or
        ((not snapshotted_data."fk_traject_dko" is null) and (source_data."fk_traject_dko" is null))
    ) or snapshotted_data."fk_sturi_dko_2018" != source_data."fk_sturi_dko_2018"
    or
    (
        ((snapshotted_data."fk_sturi_dko_2018" is null) and not (source_data."fk_sturi_dko_2018" is null))
        or
        ((not snapshotted_data."fk_sturi_dko_2018" is null) and (source_data."fk_sturi_dko_2018" is null))
    ) or snapshotted_data."fk_leerweg" != source_data."fk_leerweg"
    or
    (
        ((snapshotted_data."fk_leerweg" is null) and not (source_data."fk_leerweg" is null))
        or
        ((not snapshotted_data."fk_leerweg" is null) and (source_data."fk_leerweg" is null))
    ) or snapshotted_data."fk_t_sturich_dkcod" != source_data."fk_t_sturich_dkcod"
    or
    (
        ((snapshotted_data."fk_t_sturich_dkcod" is null) and not (source_data."fk_t_sturich_dkcod" is null))
        or
        ((not snapshotted_data."fk_t_sturich_dkcod" is null) and (source_data."fk_t_sturich_dkcod" is null))
    ) or snapshotted_data."fk_onderwijsstelsel" != source_data."fk_onderwijsstelsel"
    or
    (
        ((snapshotted_data."fk_onderwijsstelsel" is null) and not (source_data."fk_onderwijsstelsel" is null))
        or
        ((not snapshotted_data."fk_onderwijsstelsel" is null) and (source_data."fk_onderwijsstelsel" is null))
    ) or snapshotted_data."fk_standaardtrajct" != source_data."fk_standaardtrajct"
    or
    (
        ((snapshotted_data."fk_standaardtrajct" is null) and not (source_data."fk_standaardtrajct" is null))
        or
        ((not snapshotted_data."fk_standaardtrajct" is null) and (source_data."fk_standaardtrajct" is null))
    ))
        )
    )

),

updates as (

    select
        'update' as dbt_change_type,
        source_data.*,
        snapshotted_data.dbt_scd_id

    from updates_source_data as source_data
    join snapshotted_data on snapshotted_data.dbt_unique_key = source_data.dbt_unique_key
    where (
        (snapshotted_data."ads_id" != source_data."ads_id"
    or
    (
        ((snapshotted_data."ads_id" is null) and not (source_data."ads_id" is null))
        or
        ((not snapshotted_data."ads_id" is null) and (source_data."ads_id" is null))
    ) or snapshotted_data."ads_perd_id" != source_data."ads_perd_id"
    or
    (
        ((snapshotted_data."ads_perd_id" is null) and not (source_data."ads_perd_id" is null))
        or
        ((not snapshotted_data."ads_perd_id" is null) and (source_data."ads_perd_id" is null))
    ) or snapshotted_data."ads_actu_cd" != source_data."ads_actu_cd"
    or
    (
        ((snapshotted_data."ads_actu_cd" is null) and not (source_data."ads_actu_cd" is null))
        or
        ((not snapshotted_data."ads_actu_cd" is null) and (source_data."ads_actu_cd" is null))
    ) or snapshotted_data."ads_geld_vl" != source_data."ads_geld_vl"
    or
    (
        ((snapshotted_data."ads_geld_vl" is null) and not (source_data."ads_geld_vl" is null))
        or
        ((not snapshotted_data."ads_geld_vl" is null) and (source_data."ads_geld_vl" is null))
    ) or snapshotted_data."ads_erns_cd" != source_data."ads_erns_cd"
    or
    (
        ((snapshotted_data."ads_erns_cd" is null) and not (source_data."ads_erns_cd" is null))
        or
        ((not snapshotted_data."ads_erns_cd" is null) and (source_data."ads_erns_cd" is null))
    ) or snapshotted_data."nummer" != source_data."nummer"
    or
    (
        ((snapshotted_data."nummer" is null) and not (source_data."nummer" is null))
        or
        ((not snapshotted_data."nummer" is null) and (source_data."nummer" is null))
    ) or snapshotted_data."naam" != source_data."naam"
    or
    (
        ((snapshotted_data."naam" is null) and not (source_data."naam" is null))
        or
        ((not snapshotted_data."naam" is null) and (source_data."naam" is null))
    ) or snapshotted_data."korte_naam" != source_data."korte_naam"
    or
    (
        ((snapshotted_data."korte_naam" is null) and not (source_data."korte_naam" is null))
        or
        ((not snapshotted_data."korte_naam" is null) and (source_data."korte_naam" is null))
    ) or snapshotted_data."indicatief" != source_data."indicatief"
    or
    (
        ((snapshotted_data."indicatief" is null) and not (source_data."indicatief" is null))
        or
        ((not snapshotted_data."indicatief" is null) and (source_data."indicatief" is null))
    ) or snapshotted_data."niveau" != source_data."niveau"
    or
    (
        ((snapshotted_data."niveau" is null) and not (source_data."niveau" is null))
        or
        ((not snapshotted_data."niveau" is null) and (source_data."niveau" is null))
    ) or snapshotted_data."soort_onderwijs" != source_data."soort_onderwijs"
    or
    (
        ((snapshotted_data."soort_onderwijs" is null) and not (source_data."soort_onderwijs" is null))
        or
        ((not snapshotted_data."soort_onderwijs" is null) and (source_data."soort_onderwijs" is null))
    ) or snapshotted_data."soort_programma" != source_data."soort_programma"
    or
    (
        ((snapshotted_data."soort_programma" is null) and not (source_data."soort_programma" is null))
        or
        ((not snapshotted_data."soort_programma" is null) and (source_data."soort_programma" is null))
    ) or snapshotted_data."leerjaar" != source_data."leerjaar"
    or
    (
        ((snapshotted_data."leerjaar" is null) and not (source_data."leerjaar" is null))
        or
        ((not snapshotted_data."leerjaar" is null) and (source_data."leerjaar" is null))
    ) or snapshotted_data."minimum_uren" != source_data."minimum_uren"
    or
    (
        ((snapshotted_data."minimum_uren" is null) and not (source_data."minimum_uren" is null))
        or
        ((not snapshotted_data."minimum_uren" is null) and (source_data."minimum_uren" is null))
    ) or snapshotted_data."maximum_uren" != source_data."maximum_uren"
    or
    (
        ((snapshotted_data."maximum_uren" is null) and not (source_data."maximum_uren" is null))
        or
        ((not snapshotted_data."maximum_uren" is null) and (source_data."maximum_uren" is null))
    ) or snapshotted_data."begindatum" != source_data."begindatum"
    or
    (
        ((snapshotted_data."begindatum" is null) and not (source_data."begindatum" is null))
        or
        ((not snapshotted_data."begindatum" is null) and (source_data."begindatum" is null))
    ) or snapshotted_data."einddatum" != source_data."einddatum"
    or
    (
        ((snapshotted_data."einddatum" is null) and not (source_data."einddatum" is null))
        or
        ((not snapshotted_data."einddatum" is null) and (source_data."einddatum" is null))
    ) or snapshotted_data."annulatie" != source_data."annulatie"
    or
    (
        ((snapshotted_data."annulatie" is null) and not (source_data."annulatie" is null))
        or
        ((not snapshotted_data."annulatie" is null) and (source_data."annulatie" is null))
    ) or snapshotted_data."datum_laatste_wijz" != source_data."datum_laatste_wijz"
    or
    (
        ((snapshotted_data."datum_laatste_wijz" is null) and not (source_data."datum_laatste_wijz" is null))
        or
        ((not snapshotted_data."datum_laatste_wijz" is null) and (source_data."datum_laatste_wijz" is null))
    ) or snapshotted_data."userid_laatste_wij" != source_data."userid_laatste_wij"
    or
    (
        ((snapshotted_data."userid_laatste_wij" is null) and not (source_data."userid_laatste_wij" is null))
        or
        ((not snapshotted_data."userid_laatste_wij" is null) and (source_data."userid_laatste_wij" is null))
    ) or snapshotted_data."datum_creatie" != source_data."datum_creatie"
    or
    (
        ((snapshotted_data."datum_creatie" is null) and not (source_data."datum_creatie" is null))
        or
        ((not snapshotted_data."datum_creatie" is null) and (source_data."datum_creatie" is null))
    ) or snapshotted_data."userid_creatie" != source_data."userid_creatie"
    or
    (
        ((snapshotted_data."userid_creatie" is null) and not (source_data."userid_creatie" is null))
        or
        ((not snapshotted_data."userid_creatie" is null) and (source_data."userid_creatie" is null))
    ) or snapshotted_data."type_so" != source_data."type_so"
    or
    (
        ((snapshotted_data."type_so" is null) and not (source_data."type_so" is null))
        or
        ((not snapshotted_data."type_so" is null) and (source_data."type_so" is null))
    ) or snapshotted_data."code_uitzondering" != source_data."code_uitzondering"
    or
    (
        ((snapshotted_data."code_uitzondering" is null) and not (source_data."code_uitzondering" is null))
        or
        ((not snapshotted_data."code_uitzondering" is null) and (source_data."code_uitzondering" is null))
    ) or snapshotted_data."aantal_jaren_ho" != source_data."aantal_jaren_ho"
    or
    (
        ((snapshotted_data."aantal_jaren_ho" is null) and not (source_data."aantal_jaren_ho" is null))
        or
        ((not snapshotted_data."aantal_jaren_ho" is null) and (source_data."aantal_jaren_ho" is null))
    ) or snapshotted_data."type_ho" != source_data."type_ho"
    or
    (
        ((snapshotted_data."type_ho" is null) and not (source_data."type_ho" is null))
        or
        ((not snapshotted_data."type_ho" is null) and (source_data."type_ho" is null))
    ) or snapshotted_data."fk_soort_onderwijs" != source_data."fk_soort_onderwijs"
    or
    (
        ((snapshotted_data."fk_soort_onderwijs" is null) and not (source_data."fk_soort_onderwijs" is null))
        or
        ((not snapshotted_data."fk_soort_onderwijs" is null) and (source_data."fk_soort_onderwijs" is null))
    ) or snapshotted_data."fk_soort_programma" != source_data."fk_soort_programma"
    or
    (
        ((snapshotted_data."fk_soort_programma" is null) and not (source_data."fk_soort_programma" is null))
        or
        ((not snapshotted_data."fk_soort_programma" is null) and (source_data."fk_soort_programma" is null))
    ) or snapshotted_data."fk_niveau" != source_data."fk_niveau"
    or
    (
        ((snapshotted_data."fk_niveau" is null) and not (source_data."fk_niveau" is null))
        or
        ((not snapshotted_data."fk_niveau" is null) and (source_data."fk_niveau" is null))
    ) or snapshotted_data."fk_graad_lo" != source_data."fk_graad_lo"
    or
    (
        ((snapshotted_data."fk_graad_lo" is null) and not (source_data."fk_graad_lo" is null))
        or
        ((not snapshotted_data."fk_graad_lo" is null) and (source_data."fk_graad_lo" is null))
    ) or snapshotted_data."fk_soort_leerjaar" != source_data."fk_soort_leerjaar"
    or
    (
        ((snapshotted_data."fk_soort_leerjaar" is null) and not (source_data."fk_soort_leerjaar" is null))
        or
        ((not snapshotted_data."fk_soort_leerjaar" is null) and (source_data."fk_soort_leerjaar" is null))
    ) or snapshotted_data."fk_onderw_vorm_so" != source_data."fk_onderw_vorm_so"
    or
    (
        ((snapshotted_data."fk_onderw_vorm_so" is null) and not (source_data."fk_onderw_vorm_so" is null))
        or
        ((not snapshotted_data."fk_onderw_vorm_so" is null) and (source_data."fk_onderw_vorm_so" is null))
    ) or snapshotted_data."fk_type_so" != source_data."fk_type_so"
    or
    (
        ((snapshotted_data."fk_type_so" is null) and not (source_data."fk_type_so" is null))
        or
        ((not snapshotted_data."fk_type_so" is null) and (source_data."fk_type_so" is null))
    ) or snapshotted_data."fk_stud_rich_vso" != source_data."fk_stud_rich_vso"
    or
    (
        ((snapshotted_data."fk_stud_rich_vso" is null) and not (source_data."fk_stud_rich_vso" is null))
        or
        ((not snapshotted_data."fk_stud_rich_vso" is null) and (source_data."fk_stud_rich_vso" is null))
    ) or snapshotted_data."fk_afd_vso" != source_data."fk_afd_vso"
    or
    (
        ((snapshotted_data."fk_afd_vso" is null) and not (source_data."fk_afd_vso" is null))
        or
        ((not snapshotted_data."fk_afd_vso" is null) and (source_data."fk_afd_vso" is null))
    ) or snapshotted_data."fk_graad_vso" != source_data."fk_graad_vso"
    or
    (
        ((snapshotted_data."fk_graad_vso" is null) and not (source_data."fk_graad_vso" is null))
        or
        ((not snapshotted_data."fk_graad_vso" is null) and (source_data."fk_graad_vso" is null))
    ) or snapshotted_data."fk_graad_etso" != source_data."fk_graad_etso"
    or
    (
        ((snapshotted_data."fk_graad_etso" is null) and not (source_data."fk_graad_etso" is null))
        or
        ((not snapshotted_data."fk_graad_etso" is null) and (source_data."fk_graad_etso" is null))
    ) or snapshotted_data."fk_stud_rich_etso" != source_data."fk_stud_rich_etso"
    or
    (
        ((snapshotted_data."fk_stud_rich_etso" is null) and not (source_data."fk_stud_rich_etso" is null))
        or
        ((not snapshotted_data."fk_stud_rich_etso" is null) and (source_data."fk_stud_rich_etso" is null))
    ) or snapshotted_data."fk_spec_trso" != source_data."fk_spec_trso"
    or
    (
        ((snapshotted_data."fk_spec_trso" is null) and not (source_data."fk_spec_trso" is null))
        or
        ((not snapshotted_data."fk_spec_trso" is null) and (source_data."fk_spec_trso" is null))
    ) or snapshotted_data."fk_cyclus_trso" != source_data."fk_cyclus_trso"
    or
    (
        ((snapshotted_data."fk_cyclus_trso" is null) and not (source_data."fk_cyclus_trso" is null))
        or
        ((not snapshotted_data."fk_cyclus_trso" is null) and (source_data."fk_cyclus_trso" is null))
    ) or snapshotted_data."fk_afd_trso" != source_data."fk_afd_trso"
    or
    (
        ((snapshotted_data."fk_afd_trso" is null) and not (source_data."fk_afd_trso" is null))
        or
        ((not snapshotted_data."fk_afd_trso" is null) and (source_data."fk_afd_trso" is null))
    ) or snapshotted_data."fk_cat_trso" != source_data."fk_cat_trso"
    or
    (
        ((snapshotted_data."fk_cat_trso" is null) and not (source_data."fk_cat_trso" is null))
        or
        ((not snapshotted_data."fk_cat_trso" is null) and (source_data."fk_cat_trso" is null))
    ) or snapshotted_data."fk_cyclus_tlso" != source_data."fk_cyclus_tlso"
    or
    (
        ((snapshotted_data."fk_cyclus_tlso" is null) and not (source_data."fk_cyclus_tlso" is null))
        or
        ((not snapshotted_data."fk_cyclus_tlso" is null) and (source_data."fk_cyclus_tlso" is null))
    ) or snapshotted_data."fk_spec_tlso" != source_data."fk_spec_tlso"
    or
    (
        ((snapshotted_data."fk_spec_tlso" is null) and not (source_data."fk_spec_tlso" is null))
        or
        ((not snapshotted_data."fk_spec_tlso" is null) and (source_data."fk_spec_tlso" is null))
    ) or snapshotted_data."fk_cat_tlso" != source_data."fk_cat_tlso"
    or
    (
        ((snapshotted_data."fk_cat_tlso" is null) and not (source_data."fk_cat_tlso" is null))
        or
        ((not snapshotted_data."fk_cat_tlso" is null) and (source_data."fk_cat_tlso" is null))
    ) or snapshotted_data."fk_type_ho" != source_data."fk_type_ho"
    or
    (
        ((snapshotted_data."fk_type_ho" is null) and not (source_data."fk_type_ho" is null))
        or
        ((not snapshotted_data."fk_type_ho" is null) and (source_data."fk_type_ho" is null))
    ) or snapshotted_data."fk_optie_ho" != source_data."fk_optie_ho"
    or
    (
        ((snapshotted_data."fk_optie_ho" is null) and not (source_data."fk_optie_ho" is null))
        or
        ((not snapshotted_data."fk_optie_ho" is null) and (source_data."fk_optie_ho" is null))
    ) or snapshotted_data."fk_cyclus_ngho" != source_data."fk_cyclus_ngho"
    or
    (
        ((snapshotted_data."fk_cyclus_ngho" is null) and not (source_data."fk_cyclus_ngho" is null))
        or
        ((not snapshotted_data."fk_cyclus_ngho" is null) and (source_data."fk_cyclus_ngho" is null))
    ) or snapshotted_data."fk_afd_ngho" != source_data."fk_afd_ngho"
    or
    (
        ((snapshotted_data."fk_afd_ngho" is null) and not (source_data."fk_afd_ngho" is null))
        or
        ((not snapshotted_data."fk_afd_ngho" is null) and (source_data."fk_afd_ngho" is null))
    ) or snapshotted_data."fk_cat_ngho" != source_data."fk_cat_ngho"
    or
    (
        ((snapshotted_data."fk_cat_ngho" is null) and not (source_data."fk_cat_ngho" is null))
        or
        ((not snapshotted_data."fk_cat_ngho" is null) and (source_data."fk_cat_ngho" is null))
    ) or snapshotted_data."fk_stud_hokt" != source_data."fk_stud_hokt"
    or
    (
        ((snapshotted_data."fk_stud_hokt" is null) and not (source_data."fk_stud_hokt" is null))
        or
        ((not snapshotted_data."fk_stud_hokt" is null) and (source_data."fk_stud_hokt" is null))
    ) or snapshotted_data."fk_srt_ped_no_hokt" != source_data."fk_srt_ped_no_hokt"
    or
    (
        ((snapshotted_data."fk_srt_ped_no_hokt" is null) and not (source_data."fk_srt_ped_no_hokt" is null))
        or
        ((not snapshotted_data."fk_srt_ped_no_hokt" is null) and (source_data."fk_srt_ped_no_hokt" is null))
    ) or snapshotted_data."fk_spec_hokt" != source_data."fk_spec_hokt"
    or
    (
        ((snapshotted_data."fk_spec_hokt" is null) and not (source_data."fk_spec_hokt" is null))
        or
        ((not snapshotted_data."fk_spec_hokt" is null) and (source_data."fk_spec_hokt" is null))
    ) or snapshotted_data."fk_afd_hokt" != source_data."fk_afd_hokt"
    or
    (
        ((snapshotted_data."fk_afd_hokt" is null) and not (source_data."fk_afd_hokt" is null))
        or
        ((not snapshotted_data."fk_afd_hokt" is null) and (source_data."fk_afd_hokt" is null))
    ) or snapshotted_data."fk_cat_hokt" != source_data."fk_cat_hokt"
    or
    (
        ((snapshotted_data."fk_cat_hokt" is null) and not (source_data."fk_cat_hokt" is null))
        or
        ((not snapshotted_data."fk_cat_hokt" is null) and (source_data."fk_cat_hokt" is null))
    ) or snapshotted_data."fk_cyclus_holt_o" != source_data."fk_cyclus_holt_o"
    or
    (
        ((snapshotted_data."fk_cyclus_holt_o" is null) and not (source_data."fk_cyclus_holt_o" is null))
        or
        ((not snapshotted_data."fk_cyclus_holt_o" is null) and (source_data."fk_cyclus_holt_o" is null))
    ) or snapshotted_data."fk_afd_holt_o" != source_data."fk_afd_holt_o"
    or
    (
        ((snapshotted_data."fk_afd_holt_o" is null) and not (source_data."fk_afd_holt_o" is null))
        or
        ((not snapshotted_data."fk_afd_holt_o" is null) and (source_data."fk_afd_holt_o" is null))
    ) or snapshotted_data."fk_cat_holt_o" != source_data."fk_cat_holt_o"
    or
    (
        ((snapshotted_data."fk_cat_holt_o" is null) and not (source_data."fk_cat_holt_o" is null))
        or
        ((not snapshotted_data."fk_cat_holt_o" is null) and (source_data."fk_cat_holt_o" is null))
    ) or snapshotted_data."fk_srt_opl_hobu" != source_data."fk_srt_opl_hobu"
    or
    (
        ((snapshotted_data."fk_srt_opl_hobu" is null) and not (source_data."fk_srt_opl_hobu" is null))
        or
        ((not snapshotted_data."fk_srt_opl_hobu" is null) and (source_data."fk_srt_opl_hobu" is null))
    ) or snapshotted_data."fk_cyclus_hobu_c" != source_data."fk_cyclus_hobu_c"
    or
    (
        ((snapshotted_data."fk_cyclus_hobu_c" is null) and not (source_data."fk_cyclus_hobu_c" is null))
        or
        ((not snapshotted_data."fk_cyclus_hobu_c" is null) and (source_data."fk_cyclus_hobu_c" is null))
    ) or snapshotted_data."fk_opleid_hobu" != source_data."fk_opleid_hobu"
    or
    (
        ((snapshotted_data."fk_opleid_hobu" is null) and not (source_data."fk_opleid_hobu" is null))
        or
        ((not snapshotted_data."fk_opleid_hobu" is null) and (source_data."fk_opleid_hobu" is null))
    ) or snapshotted_data."fk_stugebie_hobu" != source_data."fk_stugebie_hobu"
    or
    (
        ((snapshotted_data."fk_stugebie_hobu" is null) and not (source_data."fk_stugebie_hobu" is null))
        or
        ((not snapshotted_data."fk_stugebie_hobu" is null) and (source_data."fk_stugebie_hobu" is null))
    ) or snapshotted_data."fk_afd_buso" != source_data."fk_afd_buso"
    or
    (
        ((snapshotted_data."fk_afd_buso" is null) and not (source_data."fk_afd_buso" is null))
        or
        ((not snapshotted_data."fk_afd_buso" is null) and (source_data."fk_afd_buso" is null))
    ) or snapshotted_data."fk_oplv_buso" != source_data."fk_oplv_buso"
    or
    (
        ((snapshotted_data."fk_oplv_buso" is null) and not (source_data."fk_oplv_buso" is null))
        or
        ((not snapshotted_data."fk_oplv_buso" is null) and (source_data."fk_oplv_buso" is null))
    ) or snapshotted_data."fk_type_buso" != source_data."fk_type_buso"
    or
    (
        ((snapshotted_data."fk_type_buso" is null) and not (source_data."fk_type_buso" is null))
        or
        ((not snapshotted_data."fk_type_buso" is null) and (source_data."fk_type_buso" is null))
    ) or snapshotted_data."fk_fase_buso" != source_data."fk_fase_buso"
    or
    (
        ((snapshotted_data."fk_fase_buso" is null) and not (source_data."fk_fase_buso" is null))
        or
        ((not snapshotted_data."fk_fase_buso" is null) and (source_data."fk_fase_buso" is null))
    ) or snapshotted_data."fk_domein_dko" != source_data."fk_domein_dko"
    or
    (
        ((snapshotted_data."fk_domein_dko" is null) and not (source_data."fk_domein_dko" is null))
        or
        ((not snapshotted_data."fk_domein_dko" is null) and (source_data."fk_domein_dko" is null))
    ) or snapshotted_data."fk_t_graad_dko_cod" != source_data."fk_t_graad_dko_cod"
    or
    (
        ((snapshotted_data."fk_t_graad_dko_cod" is null) and not (source_data."fk_t_graad_dko_cod" is null))
        or
        ((not snapshotted_data."fk_t_graad_dko_cod" is null) and (source_data."fk_t_graad_dko_cod" is null))
    ) or snapshotted_data."fk_t_optie_dko_cod" != source_data."fk_t_optie_dko_cod"
    or
    (
        ((snapshotted_data."fk_t_optie_dko_cod" is null) and not (source_data."fk_t_optie_dko_cod" is null))
        or
        ((not snapshotted_data."fk_t_optie_dko_cod" is null) and (source_data."fk_t_optie_dko_cod" is null))
    ) or snapshotted_data."fk_t_ond_opt_dkcod" != source_data."fk_t_ond_opt_dkcod"
    or
    (
        ((snapshotted_data."fk_t_ond_opt_dkcod" is null) and not (source_data."fk_t_ond_opt_dkcod" is null))
        or
        ((not snapshotted_data."fk_t_ond_opt_dkcod" is null) and (source_data."fk_t_ond_opt_dkcod" is null))
    ) or snapshotted_data."fk_t_sectie_dkocod" != source_data."fk_t_sectie_dkocod"
    or
    (
        ((snapshotted_data."fk_t_sectie_dkocod" is null) and not (source_data."fk_t_sectie_dkocod" is null))
        or
        ((not snapshotted_data."fk_t_sectie_dkocod" is null) and (source_data."fk_t_sectie_dkocod" is null))
    ) or snapshotted_data."financierbaar" != source_data."financierbaar"
    or
    (
        ((snapshotted_data."financierbaar" is null) and not (source_data."financierbaar" is null))
        or
        ((not snapshotted_data."financierbaar" is null) and (source_data."financierbaar" is null))
    ) or snapshotted_data."fk_puntg_per_vol" != source_data."fk_puntg_per_vol"
    or
    (
        ((snapshotted_data."fk_puntg_per_vol" is null) and not (source_data."fk_puntg_per_vol" is null))
        or
        ((not snapshotted_data."fk_puntg_per_vol" is null) and (source_data."fk_puntg_per_vol" is null))
    ) or snapshotted_data."fk_srt_lj_hobu_c" != source_data."fk_srt_lj_hobu_c"
    or
    (
        ((snapshotted_data."fk_srt_lj_hobu_c" is null) and not (source_data."fk_srt_lj_hobu_c" is null))
        or
        ((not snapshotted_data."fk_srt_lj_hobu_c" is null) and (source_data."fk_srt_lj_hobu_c" is null))
    ) or snapshotted_data."studiebewijs" != source_data."studiebewijs"
    or
    (
        ((snapshotted_data."studiebewijs" is null) and not (source_data."studiebewijs" is null))
        or
        ((not snapshotted_data."studiebewijs" is null) and (source_data."studiebewijs" is null))
    ) or snapshotted_data."aant_taal" != source_data."aant_taal"
    or
    (
        ((snapshotted_data."aant_taal" is null) and not (source_data."aant_taal" is null))
        or
        ((not snapshotted_data."aant_taal" is null) and (source_data."aant_taal" is null))
    ) or snapshotted_data."fk_stelsel_osp" != source_data."fk_stelsel_osp"
    or
    (
        ((snapshotted_data."fk_stelsel_osp" is null) and not (source_data."fk_stelsel_osp" is null))
        or
        ((not snapshotted_data."fk_stelsel_osp" is null) and (source_data."fk_stelsel_osp" is null))
    ) or snapshotted_data."fk_afdeling_osp_so" != source_data."fk_afdeling_osp_so"
    or
    (
        ((snapshotted_data."fk_afdeling_osp_so" is null) and not (source_data."fk_afdeling_osp_so" is null))
        or
        ((not snapshotted_data."fk_afdeling_osp_so" is null) and (source_data."fk_afdeling_osp_so" is null))
    ) or snapshotted_data."fk_afdeling_osp_ho" != source_data."fk_afdeling_osp_ho"
    or
    (
        ((snapshotted_data."fk_afdeling_osp_ho" is null) and not (source_data."fk_afdeling_osp_ho" is null))
        or
        ((not snapshotted_data."fk_afdeling_osp_ho" is null) and (source_data."fk_afdeling_osp_ho" is null))
    ) or snapshotted_data."fk_categori_osp_so" != source_data."fk_categori_osp_so"
    or
    (
        ((snapshotted_data."fk_categori_osp_so" is null) and not (source_data."fk_categori_osp_so" is null))
        or
        ((not snapshotted_data."fk_categori_osp_so" is null) and (source_data."fk_categori_osp_so" is null))
    ) or snapshotted_data."fk_categori_osp_ho" != source_data."fk_categori_osp_ho"
    or
    (
        ((snapshotted_data."fk_categori_osp_ho" is null) and not (source_data."fk_categori_osp_ho" is null))
        or
        ((not snapshotted_data."fk_categori_osp_ho" is null) and (source_data."fk_categori_osp_ho" is null))
    ) or snapshotted_data."fk_cyclus_osp_so" != source_data."fk_cyclus_osp_so"
    or
    (
        ((snapshotted_data."fk_cyclus_osp_so" is null) and not (source_data."fk_cyclus_osp_so" is null))
        or
        ((not snapshotted_data."fk_cyclus_osp_so" is null) and (source_data."fk_cyclus_osp_so" is null))
    ) or snapshotted_data."fk_onderwvr_osp_so" != source_data."fk_onderwvr_osp_so"
    or
    (
        ((snapshotted_data."fk_onderwvr_osp_so" is null) and not (source_data."fk_onderwvr_osp_so" is null))
        or
        ((not snapshotted_data."fk_onderwvr_osp_so" is null) and (source_data."fk_onderwvr_osp_so" is null))
    ) or snapshotted_data."fk_srt_leerj_osp" != source_data."fk_srt_leerj_osp"
    or
    (
        ((snapshotted_data."fk_srt_leerj_osp" is null) and not (source_data."fk_srt_leerj_osp" is null))
        or
        ((not snapshotted_data."fk_srt_leerj_osp" is null) and (source_data."fk_srt_leerj_osp" is null))
    ) or snapshotted_data."fk_optie_osp_so" != source_data."fk_optie_osp_so"
    or
    (
        ((snapshotted_data."fk_optie_osp_so" is null) and not (source_data."fk_optie_osp_so" is null))
        or
        ((not snapshotted_data."fk_optie_osp_so" is null) and (source_data."fk_optie_osp_so" is null))
    ) or snapshotted_data."fk_optie_osp_ho" != source_data."fk_optie_osp_ho"
    or
    (
        ((snapshotted_data."fk_optie_osp_ho" is null) and not (source_data."fk_optie_osp_ho" is null))
        or
        ((not snapshotted_data."fk_optie_osp_ho" is null) and (source_data."fk_optie_osp_ho" is null))
    ) or snapshotted_data."fk_special_osp_so" != source_data."fk_special_osp_so"
    or
    (
        ((snapshotted_data."fk_special_osp_so" is null) and not (source_data."fk_special_osp_so" is null))
        or
        ((not snapshotted_data."fk_special_osp_so" is null) and (source_data."fk_special_osp_so" is null))
    ) or snapshotted_data."fk_special_osp_ho" != source_data."fk_special_osp_ho"
    or
    (
        ((snapshotted_data."fk_special_osp_ho" is null) and not (source_data."fk_special_osp_ho" is null))
        or
        ((not snapshotted_data."fk_special_osp_ho" is null) and (source_data."fk_special_osp_ho" is null))
    ) or snapshotted_data."max_duur_deelt_ho" != source_data."max_duur_deelt_ho"
    or
    (
        ((snapshotted_data."max_duur_deelt_ho" is null) and not (source_data."max_duur_deelt_ho" is null))
        or
        ((not snapshotted_data."max_duur_deelt_ho" is null) and (source_data."max_duur_deelt_ho" is null))
    ) or snapshotted_data."max_duur_volt_ho" != source_data."max_duur_volt_ho"
    or
    (
        ((snapshotted_data."max_duur_volt_ho" is null) and not (source_data."max_duur_volt_ho" is null))
        or
        ((not snapshotted_data."max_duur_volt_ho" is null) and (source_data."max_duur_volt_ho" is null))
    ) or snapshotted_data."diplomarichting_ho" != source_data."diplomarichting_ho"
    or
    (
        ((snapshotted_data."diplomarichting_ho" is null) and not (source_data."diplomarichting_ho" is null))
        or
        ((not snapshotted_data."diplomarichting_ho" is null) and (source_data."diplomarichting_ho" is null))
    ) or snapshotted_data."aantal_jaren_uo" != source_data."aantal_jaren_uo"
    or
    (
        ((snapshotted_data."aantal_jaren_uo" is null) and not (source_data."aantal_jaren_uo" is null))
        or
        ((not snapshotted_data."aantal_jaren_uo" is null) and (source_data."aantal_jaren_uo" is null))
    ) or snapshotted_data."max_duur_deelt_uo" != source_data."max_duur_deelt_uo"
    or
    (
        ((snapshotted_data."max_duur_deelt_uo" is null) and not (source_data."max_duur_deelt_uo" is null))
        or
        ((not snapshotted_data."max_duur_deelt_uo" is null) and (source_data."max_duur_deelt_uo" is null))
    ) or snapshotted_data."max_duur_volt_uo" != source_data."max_duur_volt_uo"
    or
    (
        ((snapshotted_data."max_duur_volt_uo" is null) and not (source_data."max_duur_volt_uo" is null))
        or
        ((not snapshotted_data."max_duur_volt_uo" is null) and (source_data."max_duur_volt_uo" is null))
    ) or snapshotted_data."diplomarichting_uo" != source_data."diplomarichting_uo"
    or
    (
        ((snapshotted_data."diplomarichting_uo" is null) and not (source_data."diplomarichting_uo" is null))
        or
        ((not snapshotted_data."diplomarichting_uo" is null) and (source_data."diplomarichting_uo" is null))
    ) or snapshotted_data."fk_studiegebied_uo" != source_data."fk_studiegebied_uo"
    or
    (
        ((snapshotted_data."fk_studiegebied_uo" is null) and not (source_data."fk_studiegebied_uo" is null))
        or
        ((not snapshotted_data."fk_studiegebied_uo" is null) and (source_data."fk_studiegebied_uo" is null))
    ) or snapshotted_data."fk_soort_opl_uo" != source_data."fk_soort_opl_uo"
    or
    (
        ((snapshotted_data."fk_soort_opl_uo" is null) and not (source_data."fk_soort_opl_uo" is null))
        or
        ((not snapshotted_data."fk_soort_opl_uo" is null) and (source_data."fk_soort_opl_uo" is null))
    ) or snapshotted_data."fk_opleiding_uo" != source_data."fk_opleiding_uo"
    or
    (
        ((snapshotted_data."fk_opleiding_uo" is null) and not (source_data."fk_opleiding_uo" is null))
        or
        ((not snapshotted_data."fk_opleiding_uo" is null) and (source_data."fk_opleiding_uo" is null))
    ) or snapshotted_data."fk_cyclus_uo" != source_data."fk_cyclus_uo"
    or
    (
        ((snapshotted_data."fk_cyclus_uo" is null) and not (source_data."fk_cyclus_uo" is null))
        or
        ((not snapshotted_data."fk_cyclus_uo" is null) and (source_data."fk_cyclus_uo" is null))
    ) or snapshotted_data."fk_srt_studiej_uo" != source_data."fk_srt_studiej_uo"
    or
    (
        ((snapshotted_data."fk_srt_studiej_uo" is null) and not (source_data."fk_srt_studiej_uo" is null))
        or
        ((not snapshotted_data."fk_srt_studiej_uo" is null) and (source_data."fk_srt_studiej_uo" is null))
    ) or snapshotted_data."fk_osp_studiegebie" != source_data."fk_osp_studiegebie"
    or
    (
        ((snapshotted_data."fk_osp_studiegebie" is null) and not (source_data."fk_osp_studiegebie" is null))
        or
        ((not snapshotted_data."fk_osp_studiegebie" is null) and (source_data."fk_osp_studiegebie" is null))
    ) or snapshotted_data."fk_osp_richtgraad" != source_data."fk_osp_richtgraad"
    or
    (
        ((snapshotted_data."fk_osp_richtgraad" is null) and not (source_data."fk_osp_richtgraad" is null))
        or
        ((not snapshotted_data."fk_osp_richtgraad" is null) and (source_data."fk_osp_richtgraad" is null))
    ) or snapshotted_data."fk_osp_graad" != source_data."fk_osp_graad"
    or
    (
        ((snapshotted_data."fk_osp_graad" is null) and not (source_data."fk_osp_graad" is null))
        or
        ((not snapshotted_data."fk_osp_graad" is null) and (source_data."fk_osp_graad" is null))
    ) or snapshotted_data."fk_osp_opleiding" != source_data."fk_osp_opleiding"
    or
    (
        ((snapshotted_data."fk_osp_opleiding" is null) and not (source_data."fk_osp_opleiding" is null))
        or
        ((not snapshotted_data."fk_osp_opleiding" is null) and (source_data."fk_osp_opleiding" is null))
    ) or snapshotted_data."fk_osp_optie" != source_data."fk_osp_optie"
    or
    (
        ((snapshotted_data."fk_osp_optie" is null) and not (source_data."fk_osp_optie" is null))
        or
        ((not snapshotted_data."fk_osp_optie" is null) and (source_data."fk_osp_optie" is null))
    ) or snapshotted_data."fk_osp_module" != source_data."fk_osp_module"
    or
    (
        ((snapshotted_data."fk_osp_module" is null) and not (source_data."fk_osp_module" is null))
        or
        ((not snapshotted_data."fk_osp_module" is null) and (source_data."fk_osp_module" is null))
    ) or snapshotted_data."fk_studiegebied_so" != source_data."fk_studiegebied_so"
    or
    (
        ((snapshotted_data."fk_studiegebied_so" is null) and not (source_data."fk_studiegebied_so" is null))
        or
        ((not snapshotted_data."fk_studiegebied_so" is null) and (source_data."fk_studiegebied_so" is null))
    ) or snapshotted_data."fk_dbso_subrubriek" != source_data."fk_dbso_subrubriek"
    or
    (
        ((snapshotted_data."fk_dbso_subrubriek" is null) and not (source_data."fk_dbso_subrubriek" is null))
        or
        ((not snapshotted_data."fk_dbso_subrubriek" is null) and (source_data."fk_dbso_subrubriek" is null))
    ) or snapshotted_data."fk_dbso_rubriek" != source_data."fk_dbso_rubriek"
    or
    (
        ((snapshotted_data."fk_dbso_rubriek" is null) and not (source_data."fk_dbso_rubriek" is null))
        or
        ((not snapshotted_data."fk_dbso_rubriek" is null) and (source_data."fk_dbso_rubriek" is null))
    ) or snapshotted_data."fk_vo_opleiding" != source_data."fk_vo_opleiding"
    or
    (
        ((snapshotted_data."fk_vo_opleiding" is null) and not (source_data."fk_vo_opleiding" is null))
        or
        ((not snapshotted_data."fk_vo_opleiding" is null) and (source_data."fk_vo_opleiding" is null))
    ) or snapshotted_data."fk_vo_cursusniv" != source_data."fk_vo_cursusniv"
    or
    (
        ((snapshotted_data."fk_vo_cursusniv" is null) and not (source_data."fk_vo_cursusniv" is null))
        or
        ((not snapshotted_data."fk_vo_cursusniv" is null) and (source_data."fk_vo_cursusniv" is null))
    ) or snapshotted_data."fk_vo_finaliteit" != source_data."fk_vo_finaliteit"
    or
    (
        ((snapshotted_data."fk_vo_finaliteit" is null) and not (source_data."fk_vo_finaliteit" is null))
        or
        ((not snapshotted_data."fk_vo_finaliteit" is null) and (source_data."fk_vo_finaliteit" is null))
    ) or snapshotted_data."fk_vo_optie" != source_data."fk_vo_optie"
    or
    (
        ((snapshotted_data."fk_vo_optie" is null) and not (source_data."fk_vo_optie" is null))
        or
        ((not snapshotted_data."fk_vo_optie" is null) and (source_data."fk_vo_optie" is null))
    ) or snapshotted_data."datum_goedk_struct" != source_data."datum_goedk_struct"
    or
    (
        ((snapshotted_data."datum_goedk_struct" is null) and not (source_data."datum_goedk_struct" is null))
        or
        ((not snapshotted_data."datum_goedk_struct" is null) and (source_data."datum_goedk_struct" is null))
    ) or snapshotted_data."studieptn_opl_ho_b" != source_data."studieptn_opl_ho_b"
    or
    (
        ((snapshotted_data."studieptn_opl_ho_b" is null) and not (source_data."studieptn_opl_ho_b" is null))
        or
        ((not snapshotted_data."studieptn_opl_ho_b" is null) and (source_data."studieptn_opl_ho_b" is null))
    ) or snapshotted_data."studieptn_opl_uo_b" != source_data."studieptn_opl_uo_b"
    or
    (
        ((snapshotted_data."studieptn_opl_uo_b" is null) and not (source_data."studieptn_opl_uo_b" is null))
        or
        ((not snapshotted_data."studieptn_opl_uo_b" is null) and (source_data."studieptn_opl_uo_b" is null))
    ) or snapshotted_data."jaarsys_ho_ba" != source_data."jaarsys_ho_ba"
    or
    (
        ((snapshotted_data."jaarsys_ho_ba" is null) and not (source_data."jaarsys_ho_ba" is null))
        or
        ((not snapshotted_data."jaarsys_ho_ba" is null) and (source_data."jaarsys_ho_ba" is null))
    ) or snapshotted_data."jaarsys_uo_ba" != source_data."jaarsys_uo_ba"
    or
    (
        ((snapshotted_data."jaarsys_uo_ba" is null) and not (source_data."jaarsys_uo_ba" is null))
        or
        ((not snapshotted_data."jaarsys_uo_ba" is null) and (source_data."jaarsys_uo_ba" is null))
    ) or snapshotted_data."aanduid_ho_ba" != source_data."aanduid_ho_ba"
    or
    (
        ((snapshotted_data."aanduid_ho_ba" is null) and not (source_data."aanduid_ho_ba" is null))
        or
        ((not snapshotted_data."aanduid_ho_ba" is null) and (source_data."aanduid_ho_ba" is null))
    ) or snapshotted_data."aanduid_uo_ba" != source_data."aanduid_uo_ba"
    or
    (
        ((snapshotted_data."aanduid_uo_ba" is null) and not (source_data."aanduid_uo_ba" is null))
        or
        ((not snapshotted_data."aanduid_uo_ba" is null) and (source_data."aanduid_uo_ba" is null))
    ) or snapshotted_data."fk_ba_ho_srt_opl" != source_data."fk_ba_ho_srt_opl"
    or
    (
        ((snapshotted_data."fk_ba_ho_srt_opl" is null) and not (source_data."fk_ba_ho_srt_opl" is null))
        or
        ((not snapshotted_data."fk_ba_ho_srt_opl" is null) and (source_data."fk_ba_ho_srt_opl" is null))
    ) or snapshotted_data."fk_ba_ho_opleid" != source_data."fk_ba_ho_opleid"
    or
    (
        ((snapshotted_data."fk_ba_ho_opleid" is null) and not (source_data."fk_ba_ho_opleid" is null))
        or
        ((not snapshotted_data."fk_ba_ho_opleid" is null) and (source_data."fk_ba_ho_opleid" is null))
    ) or snapshotted_data."fk_ba_ho_afsturi" != source_data."fk_ba_ho_afsturi"
    or
    (
        ((snapshotted_data."fk_ba_ho_afsturi" is null) and not (source_data."fk_ba_ho_afsturi" is null))
        or
        ((not snapshotted_data."fk_ba_ho_afsturi" is null) and (source_data."fk_ba_ho_afsturi" is null))
    ) or snapshotted_data."fk_ba_uo_srt_opl" != source_data."fk_ba_uo_srt_opl"
    or
    (
        ((snapshotted_data."fk_ba_uo_srt_opl" is null) and not (source_data."fk_ba_uo_srt_opl" is null))
        or
        ((not snapshotted_data."fk_ba_uo_srt_opl" is null) and (source_data."fk_ba_uo_srt_opl" is null))
    ) or snapshotted_data."fk_ba_uo_opleid" != source_data."fk_ba_uo_opleid"
    or
    (
        ((snapshotted_data."fk_ba_uo_opleid" is null) and not (source_data."fk_ba_uo_opleid" is null))
        or
        ((not snapshotted_data."fk_ba_uo_opleid" is null) and (source_data."fk_ba_uo_opleid" is null))
    ) or snapshotted_data."fk_ba_uo_afsturi" != source_data."fk_ba_uo_afsturi"
    or
    (
        ((snapshotted_data."fk_ba_uo_afsturi" is null) and not (source_data."fk_ba_uo_afsturi" is null))
        or
        ((not snapshotted_data."fk_ba_uo_afsturi" is null) and (source_data."fk_ba_uo_afsturi" is null))
    ) or snapshotted_data."curriculum_code" != source_data."curriculum_code"
    or
    (
        ((snapshotted_data."curriculum_code" is null) and not (source_data."curriculum_code" is null))
        or
        ((not snapshotted_data."curriculum_code" is null) and (source_data."curriculum_code" is null))
    ) or snapshotted_data."fk_ba_ho_ger_opl" != source_data."fk_ba_ho_ger_opl"
    or
    (
        ((snapshotted_data."fk_ba_ho_ger_opl" is null) and not (source_data."fk_ba_ho_ger_opl" is null))
        or
        ((not snapshotted_data."fk_ba_ho_ger_opl" is null) and (source_data."fk_ba_ho_ger_opl" is null))
    ) or snapshotted_data."fk_ba_uo_ger_opl" != source_data."fk_ba_uo_ger_opl"
    or
    (
        ((snapshotted_data."fk_ba_uo_ger_opl" is null) and not (source_data."fk_ba_uo_ger_opl" is null))
        or
        ((not snapshotted_data."fk_ba_uo_ger_opl" is null) and (source_data."fk_ba_uo_ger_opl" is null))
    ) or snapshotted_data."fk_t_opl_dho_cd_ho" != source_data."fk_t_opl_dho_cd_ho"
    or
    (
        ((snapshotted_data."fk_t_opl_dho_cd_ho" is null) and not (source_data."fk_t_opl_dho_cd_ho" is null))
        or
        ((not snapshotted_data."fk_t_opl_dho_cd_ho" is null) and (source_data."fk_t_opl_dho_cd_ho" is null))
    ) or snapshotted_data."fk_t_opl_dho_cd_uo" != source_data."fk_t_opl_dho_cd_uo"
    or
    (
        ((snapshotted_data."fk_t_opl_dho_cd_uo" is null) and not (source_data."fk_t_opl_dho_cd_uo" is null))
        or
        ((not snapshotted_data."fk_t_opl_dho_cd_uo" is null) and (source_data."fk_t_opl_dho_cd_uo" is null))
    ) or snapshotted_data."fk_t_type_opl_ho_c" != source_data."fk_t_type_opl_ho_c"
    or
    (
        ((snapshotted_data."fk_t_type_opl_ho_c" is null) and not (source_data."fk_t_type_opl_ho_c" is null))
        or
        ((not snapshotted_data."fk_t_type_opl_ho_c" is null) and (source_data."fk_t_type_opl_ho_c" is null))
    ) or snapshotted_data."aom" != source_data."aom"
    or
    (
        ((snapshotted_data."aom" is null) and not (source_data."aom" is null))
        or
        ((not snapshotted_data."aom" is null) and (source_data."aom" is null))
    ) or snapshotted_data."led_omschr" != source_data."led_omschr"
    or
    (
        ((snapshotted_data."led_omschr" is null) and not (source_data."led_omschr" is null))
        or
        ((not snapshotted_data."led_omschr" is null) and (source_data."led_omschr" is null))
    ) or snapshotted_data."fk_t_led_ond_c" != source_data."fk_t_led_ond_c"
    or
    (
        ((snapshotted_data."fk_t_led_ond_c" is null) and not (source_data."fk_t_led_ond_c" is null))
        or
        ((not snapshotted_data."fk_t_led_ond_c" is null) and (source_data."fk_t_led_ond_c" is null))
    ) or snapshotted_data."led_uitz_gr" != source_data."led_uitz_gr"
    or
    (
        ((snapshotted_data."led_uitz_gr" is null) and not (source_data."led_uitz_gr" is null))
        or
        ((not snapshotted_data."led_uitz_gr" is null) and (source_data."led_uitz_gr" is null))
    ) or snapshotted_data."fk_type_dko" != source_data."fk_type_dko"
    or
    (
        ((snapshotted_data."fk_type_dko" is null) and not (source_data."fk_type_dko" is null))
        or
        ((not snapshotted_data."fk_type_dko" is null) and (source_data."fk_type_dko" is null))
    ) or snapshotted_data."fk_traject_dko" != source_data."fk_traject_dko"
    or
    (
        ((snapshotted_data."fk_traject_dko" is null) and not (source_data."fk_traject_dko" is null))
        or
        ((not snapshotted_data."fk_traject_dko" is null) and (source_data."fk_traject_dko" is null))
    ) or snapshotted_data."fk_sturi_dko_2018" != source_data."fk_sturi_dko_2018"
    or
    (
        ((snapshotted_data."fk_sturi_dko_2018" is null) and not (source_data."fk_sturi_dko_2018" is null))
        or
        ((not snapshotted_data."fk_sturi_dko_2018" is null) and (source_data."fk_sturi_dko_2018" is null))
    ) or snapshotted_data."fk_leerweg" != source_data."fk_leerweg"
    or
    (
        ((snapshotted_data."fk_leerweg" is null) and not (source_data."fk_leerweg" is null))
        or
        ((not snapshotted_data."fk_leerweg" is null) and (source_data."fk_leerweg" is null))
    ) or snapshotted_data."fk_t_sturich_dkcod" != source_data."fk_t_sturich_dkcod"
    or
    (
        ((snapshotted_data."fk_t_sturich_dkcod" is null) and not (source_data."fk_t_sturich_dkcod" is null))
        or
        ((not snapshotted_data."fk_t_sturich_dkcod" is null) and (source_data."fk_t_sturich_dkcod" is null))
    ) or snapshotted_data."fk_onderwijsstelsel" != source_data."fk_onderwijsstelsel"
    or
    (
        ((snapshotted_data."fk_onderwijsstelsel" is null) and not (source_data."fk_onderwijsstelsel" is null))
        or
        ((not snapshotted_data."fk_onderwijsstelsel" is null) and (source_data."fk_onderwijsstelsel" is null))
    ) or snapshotted_data."fk_standaardtrajct" != source_data."fk_standaardtrajct"
    or
    (
        ((snapshotted_data."fk_standaardtrajct" is null) and not (source_data."fk_standaardtrajct" is null))
        or
        ((not snapshotted_data."fk_standaardtrajct" is null) and (source_data."fk_standaardtrajct" is null))
    ))
    )
),

deletes as (

    select
        'delete' as dbt_change_type,
        source_data.*,
        

current_timestamp(6) as dbt_valid_from,

current_timestamp(6) as dbt_updated_at,

current_timestamp(6) as dbt_valid_to, snapshotted_data.dbt_scd_id

    from snapshotted_data
    left join deletes_source_data as source_data on snapshotted_data.dbt_unique_key = source_data.dbt_unique_key
    where source_data.dbt_unique_key is null
)

select * from insertions
union all
select * from updates
union all
select * from deletes

)```

RobbertDM avatar Jan 25 '23 16:01 RobbertDM

The max value for code_length of the class generated for running the query is being exceeded in your case

io.airlift.bytecode.CompilationException: Error compiling class: io/trino/$gen/PageProjectionWork_20230103_162707_307 at io.airlift.bytecode.ClassGenerator.defineClasses(ClassGenerator.java:143) at io.airlift.bytecode.ClassGenerator.defineClass(ClassGenerator.java:117) at io.trino.util.CompilerUtils.defineClass(CompilerUtils.java:63) at io.trino.util.CompilerUtils.defineClass(CompilerUtils.java:57) at io.trino.sql.gen.PageFunctionCompiler.compileProjectionInternal(PageFunctionCompiler.java:196) ... 107 more Caused by: org.objectweb.asm.MethodTooLargeException: Method too large:

https://docs.oracle.com/javase/specs/jvms/se17/html/jvms-4.html#jvms-4.7.3

The value of code_length must be greater than zero (as the code array must not be empty) and less than 65536.

findinpath avatar Jan 26 '23 09:01 findinpath

Is there any way to increase this limit? It's not uncommon for dbt to generate larger queries than that, especially for wide tables.

RobbertDM avatar Jan 27 '23 14:01 RobbertDM

A simple reproduction can be made using

-- wide_table.sql
select
    {% for i in range(300) %}
        1 as column_{{i}},
    {% endfor %}
    2 as column_last

As a source table: dbt run -s wide_table

And taking a dbt snapshot -s wide_table_snapshot twice (first time creates the snapshot, second time it needs to actually compare the snapshot table with the source table).

{% snapshot wide_table_snapshot %}

{{
    config(
      target_database='target_database',
      target_schema='dbt_snapshots',
      unique_key='column_last',
      strategy='check',
      check_cols='all',
      invalidate_hard_deletes=True,
    )
}}

select * from {{ ref('wide_table') }}

{% endsnapshot %}

RobbertDM avatar Jan 27 '23 14:01 RobbertDM

By the way, it's not simply the query that's too long, it's really the execution of the query on the underlying tables.

If you carry out the above reproduction with 300 columns, build a snapshot from that, then decrease to 5 columns, and run the snapshot again, it will still fail although the query produced is small.

RobbertDM avatar Jan 31 '23 12:01 RobbertDM

Btw, related issue at the presto repo: https://github.com/prestodb/presto/issues/12983

RobbertDM avatar Feb 01 '23 14:02 RobbertDM

The above reproduction requires dbt, here's one that can be thrown directly at trino:

create table iceberg.test_schema.wide_table(custkey,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,c30,c31,c32,c33,c34,c35,c36,c37,c38,c39,c40,c41,c42,c43,c44,c45,c46,c47,c48,c49,c50,c51,c52,c53,c54,c55,c56,c57,c58,c59,c60,c61,c62,c63,c64,c65,c66,c67,c68,c69,c70,c71,c72,c73,c74,c75,c76,c77,c78,c79,c80,c81,c82,c83,c84,c85,c86,c87,c88,c89,c90,c91,c92,c93,c94,c95,c96,c97,c98,c99,c100,c101,c102,c103,c104,c105,c106,c107,c108,c109,c110,c111,c112,c113,c114,c115,c116,c117,c118,c119,c120,c121,c122,c123,c124,c125,c126,c127,c128,c129,c130,c131,c132,c133,c134,c135,c136,c137,c138,c139,c140,c141,c142,c143,c144,c145,c146,c147,c148,c149,c150,c151,c152,c153,c154,c155,c156,c157,c158,c159,c160,c161,c162,c163,c164,c165,c166,c167,c168,c169,c170,c171,c172,c173,c174,c175,c176,c177,c178,c179,c180,c181,c182,c183,c184,c185,c186,c187,c188,c189,c190,c191,c192,c193,c194,c195,c196,c197,c198,c199,c200,c201,c202,c203,c204,c205,c206,c207,c208,c209,c210,c211,c212,c213,c214,c215,c216,c217,c218,c219,c220,c221,c222,c223,c224,c225,c226,c227,c228,c229,c230,c231,c232,c233,c234,c235,c236,c237,c238,c239,c240,c241,c242,c243,c244,c245,c246,c247,c248,c249,c250,c251,c252,c253,c254,c255,c256,c257,c258,c259,c260,c261,c262,c263,c264,c265,c266,c267,c268,c269,c270,c271,c272,c273,c274,c275,c276,c277,c278,c279,c280,c281,c282,c283,c284,c285,c286,c287,c288,c289,c290,c291,c292,c293,c294,c295,c296,c297,c298,c299,c300,c301,c302,c303,c304,c305,c306,c307,c308,c309,c310,c311,c312,c313,c314,c315,c316,c317,c318,c319,c320,c321,c322,c323,c324,c325,c326,c327,c328,c329,c330,c331,c332,c333,c334,c335,c336,c337,c338,c339,c340,c341,c342,c343,c344,c345,c346,c347,c348,c349,c350,c351,c352,c353,c354,c355,c356,c357,c358,c359,c360,c361,c362,c363,c364,c365,c366,c367,c368,c369,c370,c371,c372,c373,c374,c375,c376,c377,c378,c379,c380,c381,c382,c383,c384,c385,c386,c387,c388,c389,c390,c391,c392,c393,c394,c395,c396,c397,c398,c399,c400,c401,c402,c403,c404,c405,c406,c407,c408,c409,c410,c411,c412,c413,c414,c415,c416,c417,c418,c419,c420,c421,c422,c423,c424,c425,c426,c427,c428,c429,c430,c431,c432,c433,c434,c435,c436,c437,c438,c439,c440,c441,c442,c443,c444,c445,c446,c447,c448,c449,c450,c451,c452,c453,c454,c455,c456,c457,c458,c459,c460,c461,c462,c463,c464,c465,c466,c467,c468,c469,c470,c471,c472,c473,c474,c475,c476,c477,c478,c479,c480,c481,c482,c483,c484,c485,c486,c487,c488,c489,c490,c491,c492,c493,c494,c495,c496,c497,c498,c499,c500,c501,c502,c503,c504,c505,c506,c507,c508,c509,c510,c511,c512,c513,c514,c515,c516,c517,c518,c519,c520,c521,c522,c523,c524,c525,c526,c527,c528,c529,c530,c531,c532,c533,c534,c535,c536,c537,c538,c539,c540,c541,c542,c543,c544,c545,c546,c547,c548,c549,c550,c551,c552,c553,c554,c555,c556,c557,c558,c559,c560,c561,c562,c563,c564,c565,c566,c567,c568,c569,c570,c571,c572,c573,c574,c575,c576,c577,c578,c579,c580,c581,c582,c583,c584,c585,c586,c587,c588,c589,c590,c591,c592,c593,c594,c595,c596,c597,c598,c599,c600,c601,c602,c603,c604,c605,c606,c607,c608,c609,c610,c611,c612,c613,c614,c615,c616,c617,c618,c619,c620,c621,c622,c623,c624,c625,c626,c627,c628,c629,c630,c631,c632,c633,c634,c635,c636,c637,c638,c639,c640,c641,c642,c643,c644,c645,c646,c647,c648,c649,c650,c651,c652,c653,c654,c655,c656,c657,c658,c659,c660,c661,c662,c663,c664,c665,c666,c667,c668,c669,c670,c671,c672,c673,c674,c675,c676,c677,c678,c679,c680,c681,c682,c683,c684,c685,c686,c687,c688,c689,c690,c691,c692,c693,c694,c695,c696,c697,c698,c699,c700,c701,c702,c703,c704,c705,c706,c707,c708,c709,c710,c711,c712,c713,c714,c715,c716,c717,c718,c719,c720,c721,c722,c723,c724,c725,c726,c727,c728,c729,c730,c731,c732,c733,c734,c735,c736,c737,c738,c739,c740,c741,c742,c743,c744,c745,c746,c747,c748,c749,c750,c751,c752,c753,c754,c755,c756,c757,c758,c759,c760,c761,c762,c763,c764,c765,c766,c767,c768,c769,c770,c771,c772,c773,c774,c775,c776,c777,c778,c779,c780,c781,c782,c783,c784,c785,c786,c787,c788,c789,c790,c791,c792,c793,c794,c795,c796,c797,c798,c799,c800,c801,c802,c803,c804,c805,c806,c807,c808,c809,c810,c811,c812,c813,c814,c815,c816,c817,c818,c819,c820,c821,c822,c823,c824,c825,c826,c827,c828,c829,c830,c831,c832,c833,c834,c835,c836,c837,c838,c839,c840,c841,c842,c843,c844,c845,c846,c847,c848,c849,c850,c851,c852,c853,c854,c855,c856,c857,c858,c859,c860,c861,c862,c863,c864,c865,c866,c867,c868,c869,c870,c871,c872,c873,c874,c875,c876,c877,c878,c879,c880,c881,c882,c883,c884,c885,c886,c887,c888,c889,c890,c891,c892,c893,c894,c895,c896,c897,c898,c899,c900,c901,c902,c903,c904,c905,c906,c907,c908,c909,c910,c911,c912,c913,c914,c915,c916,c917,c918,c919,c920,c921,c922,c923,c924,c925,c926,c927,c928,c929,c930,c931,c932,c933,c934,c935,c936,c937,c938,c939,c940,c941,c942,c943,c944,c945,c946,c947,c948,c949,c950,c951,c952,c953,c954,c955,c956,c957,c958,c959,c960,c961,c962,c963,c964,c965,c966,c967,c968,c969,c970,c971,c972,c973,c974,c975,c976,c977,c978,c979,c980,c981,c982,c983,c984,c985,c986,c987,c988,c989,c990,c991,c992,c993,c994,c995,c996,c997,c998,c999,c1000) as (
values (1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1)
);

The following query will produce io.airlift.bytecode.CompilationException

select i.*
from iceberg.test_schema.wide_table i
join tpch.sf1.customer c on i.custkey = c.custkey;

RobbertDM avatar Mar 21 '23 13:03 RobbertDM

Hey folks, any updates on this?

Had a similar problem when running a merge statement on a large table (400 columns): image

cesar-loadsmart avatar Apr 19 '23 20:04 cesar-loadsmart

We were trying to update presto/trino from 341 to 389 and start experiencing this issue. So there must be some changes between these versions. BTW, we have a table with nearly 2000 columns.

chenli868 avatar Apr 20 '23 23:04 chenli868

Any update on this? We are using spark to load a prejoined table with 1500 columns. The process is expensive and was hoping that Iceberg with the merge statement would simplify the process.

flowclark avatar Jun 12 '23 18:06 flowclark

FYI. https://github.com/trinodb/trino/pull/17342/commits/0a6a10302f436105b2d39cd41eff0a23e9271225 will reduce the limit of columns in merge query in Iceberg.

cshao239 avatar Mar 20 '24 20:03 cshao239

I've seen this issue with just a DELETE on a 4000+ column table (e.g. DELETE FROM table WHERE timestamp < :timestamp). I don't see it with INSERT/SELECT though.

Is there some way to mitigate this, particularly for DELETE statements?

brianv0 avatar Apr 26 '24 16:04 brianv0

I am also facing the problem. Any fix planned? This is not related to Iceberg, we are suing Pinot and Postgres catalogs and getting the same error.

namanrippling avatar May 13 '24 15:05 namanrippling

cc: @djsstarburst

hashhar avatar May 14 '24 17:05 hashhar

Hello, any updates? , facing the same problem with wide tables. in my case, the exception happens using DBT models, As a workaround, I'm using incremental_strategy='delete+insert', instead of merge and is finishing ok

eedduuar avatar May 30 '24 14:05 eedduuar

449 should have some improvements in this area - https://github.com/trinodb/trino/pull/22011, https://github.com/trinodb/trino/pull/22004 and https://github.com/trinodb/trino/pull/22003 should help a bit.

hashhar avatar May 31 '24 07:05 hashhar

+1 looking forward to solving problems with wide tables and dbt merge

YuriyGavrilov avatar Sep 18 '24 15:09 YuriyGavrilov