lightdb23.3 调整orafce插件中函数的并发属性

lightdb23.3 调整orafce插件中函数的并发属性

之前版本的orafce插件中的有些函数并发属性为unsafe(包括常用的length, ltrim,lpad 等函数), 导致在执行使用这些函数的SQL时,SQL不能并行执行。
在23.3版本,我们对orafce 插件中的函数进行了梳理,对可以设置为safe 的函数进行了设置。

可以通过下面的函数查看插件相关函数的并发属性:

select nsp.nspname||'.'||pc.proname|| '('||pg_get_function_arguments(pc.oid)||')' fname, pc.proisstrict, pc.provolatile, pc.proparallel from
    pg_depend a join pg_extension e on a.refobjid = e.oid
    join pg_proc pc on pc.oid = a.objid
    join pg_namespace nsp on pc.pronamespace=nsp.oid
    where e.extname='orafce'  and pc.prokind != 'p' order by fname;

下面列出orafce插件中当前不支持并行的函数(所有聚集函数都不支持):

dbms_alert._signal                 
dbms_alert.defered_signal          
dbms_alert.register                
dbms_alert.remove                  
dbms_alert.removeall               
dbms_alert.set_defaults            
dbms_alert.signal                  
dbms_alert.waitany                 
dbms_alert.waitone                 
dbms_assert.enquote_literal        
dbms_assert.enquote_name           
dbms_assert.noop                   
dbms_assert.object_name            
dbms_assert.qualified_sql_name     
dbms_assert.schema_name            
dbms_assert.simple_sql_name        
dbms_output.disable                
dbms_output.enable                 
dbms_output.get_line               
dbms_output.get_lines              
dbms_output.new_line               
dbms_output.put                    
dbms_output.put_line               
dbms_output.serveroutput           
dbms_pipe.__list_pipes             
dbms_pipe.create_pipe              
dbms_pipe.next_item_type           
dbms_pipe.pack_message             
dbms_pipe.purge                    
dbms_pipe.receive_message          
dbms_pipe.remove_pipe              
dbms_pipe.reset_buffer             
dbms_pipe.send_message             
dbms_pipe.unique_session_name      
dbms_pipe.unpack_message_bytea     
dbms_pipe.unpack_message_date      
dbms_pipe.unpack_message_number    
dbms_pipe.unpack_message_record    
dbms_pipe.unpack_message_text      
dbms_pipe.unpack_message_timestamp 
dbms_random.initialize             
dbms_utility.format_call_stack     
dbms_utility.format_error_backtrace
lt_catalog.deps_restore_dependencie
lt_catalog.deps_save_and_drop_depen
oracle.any_value                   
oracle.bit_and_agg                 
oracle.bit_or_agg                  
oracle.bit_xor_agg                 
oracle.get_dba_jobs                
oracle.get_dba_jobs_running        
oracle.get_full_version_num        
oracle.get_major_version           
oracle.get_major_version_num       
oracle.get_platform                
oracle.get_status                  
oracle.kurtosis_pop                
oracle.kurtosis_pop_final_func     
oracle.kurtosis_samp               
oracle.kurtosis_samp_final_func    
oracle.listagg                     
oracle.listagg1_transfn            
oracle.listagg2_transfn            
oracle.listagg_finalfn             
oracle.median                      
oracle.median4_finalfn             
oracle.median4_transfn             
oracle.median8_finalfn             
oracle.median8_transfn             
oracle.mg_sequence                 
oracle.pg_get_tabledef             
oracle.replace_empty_strings       
oracle.replace_null_strings        
oracle.set_nls_sort                
oracle.skewness_pop                
oracle.skewness_pop_final_func     
oracle.skewness_samp               
oracle.skewness_samp_final_func    
oracle.wm_concat                   
oracle.wm_concat_transfn           
plunit.assert_equals               
plunit.assert_false                
plunit.assert_not_equals           
plunit.assert_not_null             
plunit.assert_null                 
plunit.assert_true                 
plunit.fail                        
plvdate.default_holidays           
plvdate.include_start              
plvdate.including_start            
plvdate.noinclude_start            
plvdate.set_nonbizday              
plvdate.unset_nonbizday            
plvdate.unuse_easter               
plvdate.unuse_great_friday         
plvdate.use_easter                 
plvdate.use_great_friday           
plvdate.using_easter               
plvdate.using_great_friday         
plvlex.tokens                      
utl_file.fclose                    
utl_file.fclose_all                
utl_file.fcopy                     
utl_file.fflush                    
utl_file.fgetattr                  
utl_file.fopen                     
utl_file.fremove                   
utl_file.frename                   
utl_file.get_line                  
utl_file.get_nextline              
utl_file.is_open                   
utl_file.new_line                  
utl_file.put                       
utl_file.put_line                  
utl_file.putf                      
utl_file.tmpdir                    
wmsys.wm_concat                    
xmltype.getclobval                 

你可能感兴趣的:(lightdb,lightdb,orafce)