init @brief Initialize dynamic SQL. This is called only once. @param db_handle **/
| 422 | |
| 423 | **/ |
| 424 | static dsql_dbb* init(thread_db* tdbb, Jrd::Attachment* attachment) |
| 425 | { |
| 426 | SET_TDBB(tdbb); |
| 427 | |
| 428 | if (attachment->att_dsql_instance) |
| 429 | return attachment->att_dsql_instance; |
| 430 | |
| 431 | MemoryPool& pool = *attachment->createPool(); |
| 432 | dsql_dbb* const database = FB_NEW_POOL(pool) dsql_dbb(pool, attachment); |
| 433 | attachment->att_dsql_instance = database; |
| 434 | |
| 435 | INI_init_dsql(tdbb, database); |
| 436 | |
| 437 | #ifdef DSQL_DEBUG |
| 438 | DSQL_debug = Config::getTraceDSQL(); |
| 439 | #endif |
| 440 | |
| 441 | return attachment->att_dsql_instance; |
| 442 | } |
| 443 | |
| 444 | // Use SEH frame when preparing user requests to catch possible stack overflows |
| 445 | static DsqlRequest* safePrepareRequest(thread_db* tdbb, dsql_dbb* database, jrd_tra* transaction, |
no test coverage detected