| 1524 | // |
| 1525 | |
| 1526 | static void cmp_set_generator( gpre_req* request) |
| 1527 | { |
| 1528 | act* action = request->req_actions; |
| 1529 | |
| 1530 | request->add_byte(blr_set_generator); |
| 1531 | const set_gen* setgen = (set_gen*) action->act_object; |
| 1532 | const TEXT* string = setgen->sgen_name; |
| 1533 | const SLONG value = setgen->sgen_value; |
| 1534 | const SINT64 int64value = setgen->sgen_int64value; |
| 1535 | request->add_byte(static_cast<int>(strlen(string))); |
| 1536 | while (*string) |
| 1537 | request->add_byte(*string++); |
| 1538 | request->add_byte(blr_literal); |
| 1539 | if (setgen->sgen_dialect == SQL_DIALECT_V5) |
| 1540 | { |
| 1541 | request->add_byte(blr_long); |
| 1542 | request->add_byte(0); |
| 1543 | request->add_word(value); |
| 1544 | request->add_word(value >> 16); |
| 1545 | } |
| 1546 | else |
| 1547 | { |
| 1548 | request->add_byte(blr_int64); |
| 1549 | request->add_byte(0); |
| 1550 | request->add_word(int64value); |
| 1551 | request->add_word(int64value >> 16); |
| 1552 | request->add_word(int64value >> 32); |
| 1553 | request->add_word(int64value >> 48); |
| 1554 | } |
| 1555 | } |
| 1556 | |
| 1557 | |
| 1558 | //____________________________________________________________ |