00001
00002
00003
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,
00664
00665
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
00692 #include <qry/iman_qry.h>
00693
00694 #include <qry/libqry_undef.h>
00695 #endif