| 4321 | |
| 4322 | |
| 4323 | Statement* Attachment::createStatement(CheckStatusWrapper* status, unsigned dialect) |
| 4324 | { |
| 4325 | reset(status); |
| 4326 | |
| 4327 | Rsr* statement = NULL; |
| 4328 | if (rdb->rdb_port->port_flags & PORT_lazy) |
| 4329 | { |
| 4330 | statement = FB_NEW Rsr; |
| 4331 | statement->rsr_rdb = rdb; |
| 4332 | statement->rsr_id = INVALID_OBJECT; |
| 4333 | statement->rsr_flags.set(Rsr::LAZY); |
| 4334 | } |
| 4335 | else |
| 4336 | { |
| 4337 | PACKET* packet = &rdb->rdb_packet; |
| 4338 | packet->p_operation = op_allocate_statement; |
| 4339 | packet->p_rlse.p_rlse_object = rdb->rdb_id; |
| 4340 | |
| 4341 | send_and_receive(status, rdb, packet); |
| 4342 | |
| 4343 | // Allocate SQL request block |
| 4344 | |
| 4345 | statement = FB_NEW Rsr; |
| 4346 | statement->rsr_rdb = rdb; |
| 4347 | statement->rsr_id = packet->p_resp.p_resp_object; |
| 4348 | |
| 4349 | // register the object |
| 4350 | |
| 4351 | SET_OBJECT(rdb, statement, statement->rsr_id); |
| 4352 | } |
| 4353 | |
| 4354 | statement->rsr_next = rdb->rdb_sql_requests; |
| 4355 | rdb->rdb_sql_requests = statement; |
| 4356 | statement->rsr_inline_blob_size = rdb->rdb_inline_blob_size; |
| 4357 | |
| 4358 | Statement* s = FB_NEW Statement(statement, this, dialect); |
| 4359 | s->addRef(); |
| 4360 | return s; |
| 4361 | } |
| 4362 | |
| 4363 | |
| 4364 | Statement* Attachment::prepare(CheckStatusWrapper* status, ITransaction* apiTra, |
nothing calls this directly
no test coverage detected