Main Page | Modules | Files | Functions | Code Elements | Data Structures | Deprecated

qry/qry.h

Go to the documentation of this file.
00001 /*==============================================================================
00002                 Copyright (c) 2003-2005 UGS Corporation
00003                    Unpublished - All Rights Reserved
00004  ==============================================================================*/
00005 
00012 /*  */
00013 
00014 #ifndef QRY_H
00015 #define QRY_H
00016 
00017 #include <unidefs.h>
00018 #include <qry/libqry_exports.h>
00019 
00039 typedef enum QRY_domain_e {
00040     QRY_DOMAIN_LOCAL,
00041     QRY_DOMAIN_REMOTE
00045 } QRY_domain_t;
00046 
00047 typedef enum QRY_where_run_e {
00048     QRY_RUN_BY_TC,              
00049     QRY_RUN_BY_USER_EXIT,       
00050     QRY_RUN_BY_USER_QUERY,      
00051     QRY_RUN_BY_KEYWORD_SEARCH,  
00052     QRY_RUN_BY_EINT_EXIT,       
00053     QRY_RUN_BY_BOM_REP,         
00054     QRY_RUN_BY_USAGEWC,         
00055     QRY_RUN_BY_TC_PLUS_PROCESS, 
00056     QRY_RUN_BY_USER_EXIT_BO     
00057 } QRY_where_run_t;
00058 
00059 
00063 typedef struct QRY_user_query_row_s {
00064     struct QRY_user_query_row_s*    next;               
00065     char*                           object_string;
00066     logical                         might_map_to_tc;  
00067     char*                           values[1];
00068 } QRY_user_query_row_t;
00069 
00074 #define QRY_name_size_c     128
00075 #define QRY_desc_size_c     512
00076 #define QRY_class_size_c    32
00077 #define QRY_clause_size_c   240
00078 #define QRY_uid_name_size_c 32
00079 
00085 #define OrderAscending      1
00086 #define OrderDescending     2
00087 
00089 #ifdef __cplusplus
00090 extern "C"{
00091 #endif
00092 
00099 extern QRY_API int QRY_ask_name(
00100     tag_t          query_tag,                   
00101     char           qname[QRY_name_size_c + 1]   
00102     );
00103 
00104 
00108 extern QRY_API int QRY_ask_name2(
00109     tag_t          query_tag,                   
00110     char           **qname                      
00111     );
00112 
00122 extern QRY_API int QRY_set_name(
00123     tag_t          query_tag,                   
00124     const char     qname[QRY_name_size_c + 1]   
00125     );
00126 
00127 
00134 extern QRY_API int QRY_set_name2(
00135     tag_t          query_tag,                   
00136     const char     *qname                       
00137     );
00138 
00145 extern QRY_API int QRY_ask_description(
00146     tag_t          query_tag,                   
00147     char           qdesc[QRY_desc_size_c + 1]   
00148     );
00149 
00150 
00154 extern QRY_API int QRY_ask_description2(
00155     tag_t          query_tag,                   
00156     char           **qdesc                      
00157     );
00158 
00168 extern QRY_API int QRY_set_description(
00169     tag_t          query_tag,                   
00170     const char     qdesc[QRY_desc_size_c + 1]   
00171     );
00172 
00173 
00180 extern QRY_API int QRY_set_description2(
00181     tag_t          query_tag,                   
00182     const char     *qdesc                       
00183     );
00184 
00191 extern QRY_API int QRY_ask_class(
00192     tag_t          query_tag,                   
00193     char           qclass[QRY_class_size_c + 1] 
00194     );
00195 
00196 
00200 extern QRY_API int QRY_ask_class2(
00201     tag_t          query_tag,                   
00202     char           **qclass                     
00203     );
00204 
00215 extern QRY_API int QRY_set_class(
00216     tag_t          query_tag,                   
00217     const char     qclass[QRY_class_size_c + 1] 
00218     );
00219 
00220 
00228 extern QRY_API int QRY_set_class2(
00229     tag_t          query_tag,                   
00230     const char     *qclass                      
00231     );
00232 
00239 extern QRY_API int QRY_find(
00240     const char     name[QRY_name_size_c + 1],   
00241     tag_t*         query_tag                    
00242     );
00243 
00244 
00248 extern QRY_API int QRY_find2(
00249     const char     *name,                       
00250     tag_t*         query_tag                    
00251     );
00252 
00257 extern QRY_API int QRY_extent(
00258     int*           query_count,     
00259     tag_t**        query_tags       
00260     );
00261 
00265 extern QRY_API int QRY_find_user_entries(
00266     tag_t          query_tag,       
00267     int*           entry_count,     
00268     char***        entries,         
00269     char***        values           
00272     );
00273 
00274 
00283 extern QRY_API int QRY_execute(
00284     tag_t          query_tag,       
00285     int            entry_count,     
00286     char**         entries,         
00287     char**         values,          
00289     int*           num_found,       
00290     tag_t**        results          
00291     );
00292 
00308 extern QRY_API int QRY_execute_on_list(
00309     tag_t          query_tag,           
00310     int            entry_count,         
00311     char**         entries,             
00312     char**         values,              
00314     int            limit_list_count,    
00315     tag_t*         limit_list,          
00316     int*           num_found,           
00317     tag_t**        results              
00319     );
00320 
00321 extern QRY_API int QRY_execute_user_exit_query(
00322     tag_t                   query_tag,      
00323     int                     entry_count,    
00324     char**                  entries,        
00325     char**                  values,         
00326     int*                    num_columns,    
00327     char***                 results,        
00328     QRY_user_query_row_t**  rows            
00329     );
00330 
00338 extern QRY_API int QRY_execute_at_site(
00339     int            site_id,         
00341     tag_t          query_tag,       
00342     int            entry_count,     
00343     char**         entries,         
00344     char**         values,          
00346     int*           num_found,       
00347     tag_t**        results          
00348     );
00349 
00359 extern QRY_API int QRY_execute_with_sort(
00360     tag_t          query_tag,       
00361     int            entry_count,     
00362     char**         entries,         
00363     char**         values,          
00365     int            num_to_sort,     
00366     char**         keys,            
00368     int*           orders,          
00372     int*           num_found,       
00373     tag_t**        results          
00374     );
00375 
00382 extern QRY_API int QRY_execute_on_list_with_sort(
00383     tag_t          query_tag,           
00384     int            entry_count,         
00385     char**         entries,             
00386     char**         values,              
00388     int            limit_list_count,    
00389     tag_t*         limit_list,          
00390     int            num_to_sort,         
00391     char**         keys,                
00393     int*           orders,              
00397     int*           num_found,           
00398     tag_t**        results              
00399     );
00400 
00411 extern QRY_API int QRY_execute_at_site_with_sort(
00412     int            site_id,         
00413     tag_t          query_tag,       
00414     int            entry_count,     
00415     char**         entries,         
00416     char**         values,          
00418     int            num_to_sort,     
00419     char**         keys,            
00421     int*           orders,          
00425     int*           num_found,       
00426     tag_t**        results          
00427     );
00428 
00434 extern QRY_API int QRY_set_name_mode(
00435     tag_t          query_tag,   
00436     logical        name_mode    
00437     );
00438 
00439 
00451 extern QRY_API int QRY_set_search_domain(
00452     tag_t          query_tag,       
00453     QRY_domain_t   search_domain    
00454     );
00455 
00467 extern QRY_API int QRY_ask_search_domain(
00468     tag_t          query_tag,       
00469     QRY_domain_t*  search_domain    
00470     );
00471 
00472 extern QRY_API int QRY_set_where_run(
00473     tag_t           query_tag,  
00474     QRY_where_run_t where_run   
00475     );
00476 
00477 extern QRY_API int QRY_ask_where_run(
00478     tag_t               query_tag,  
00479     QRY_where_run_t*    where_run   
00480     );
00481 
00486 extern QRY_API int QRY_describe_query(
00487     tag_t          query_tag,       
00488     int*           num_clauses,     
00489     char***        attr_names,      
00491     char***        entry_names,     
00494     char***        logical_ops,     
00495     char***        math_ops,        
00496     char***        values,          
00500     tag_t**        lov_tags,        
00503     int**          attr_types       
00504     );
00505 
00513 extern QRY_API int QRY_ignore_case_on_search(
00514     logical        ignore_case      
00515     );
00516 
00517 extern QRY_API int QRY_compute_sort_preference_names(
00518     tag_t          query_tag,   
00519     char**         keyname,     
00520     char**         ordername,   
00521     char**         pkeyname,    
00522     char**         pordername   
00523     );
00524 
00563 extern QRY_API int QRY_execute_tuples(
00564     tag_t          query_tag,           
00565     int            entry_count,         
00566     char**         entries,             
00567     char**         values,              
00569     int            limit_list_count,    
00570     tag_t*         limit_list,          
00571     int*           num_rows,            
00572     int*           num_cols,            
00573     tag_t**        results              
00575     );
00576 
00582 extern QRY_API int QRY_execute_query(
00583     tag_t          queryTag,            
00584     int            entryCount,          
00585     char**         entryNames,          
00586     char**         entryValues,         
00588     int            limitCount,          
00589     tag_t*         limitList,           
00590     int            resultsType,         
00593     int*           componentCount,      
00594     int**          hierarchicalMap,     
00597     tag_t**        componentTags        
00598     );
00599 
00600 extern QRY_API int QRY_writeToFile(
00601     tag_t          query_tag,   
00602     char*          fileName     
00603     );
00604 
00605 extern QRY_API  int QRY_readFromFile(
00606     char*           fileName,   
00607     char**          queryName   
00608     );
00609 
00614 extern QRY_API int QRY_update_fts_index(
00615     tag_t           object_tag,     
00616     logical         delete_index    
00617     );
00618 
00619 
00620 extern QRY_API int QRY_execute_query_with_cancel_option(
00621     char*          queryrequestId,      
00622     tag_t          queryTag,            
00623     int            entryCount,          
00624     char**         entryNames,          
00625     char**         entryValues,         
00627     int            limitCount,          
00628     tag_t*         limitList,           
00629     int            resultsType,         
00632     int*           componentCount,      
00633     int**          hierarchicalMap,     
00636     tag_t**        componentTags        
00637     );
00638 
00654 extern QRY_API int QRY_find_objects_based_on_attributes_and_values(
00655     char*          class_name,             
00657     int            attribute_count,        
00658     char**         names,                  
00659     char**         operations,             
00660     char**         values,                 
00663     char**         clauses_rules,          /***<(I) Array of values to club different clauses.
00664                                                     For example AND,OR etc. At present AND is assumed.
00665                                                     For future use only. Right now pass NULL */
00666     int*           num_rows,               
00667     tag_t**        results                 
00669     );
00670 
00671 
00672 extern QRY_API int QRY_execute_bus_obj_query(
00673     char*         requestId,              
00674     tag_t         typeTag,                
00675     int           entryCount,             
00676     char**        entryNames,             
00677     char**        entryValues,            
00678     char**        entryMathOp,            
00679     char**        entryLogicOp,           
00680     int*          componentCount,         
00681     tag_t**       componentTags           
00682     );
00683 
00684 
00685 #ifdef __cplusplus
00686 }
00687 #endif
00688 
00691 //For deImanization
00692 #include <qry/iman_qry.h>
00693 
00694 #include <qry/libqry_undef.h>
00695 #endif