| 633 | |
| 634 | static str _query_id = {NULL,0}; |
| 635 | static inline str* _query_id_start( str *table, str *order) |
| 636 | { |
| 637 | if (_query_id.s==NULL) { |
| 638 | if ( !query_id_max_len || |
| 639 | (_query_id.s=pkg_malloc(query_id_max_len ))==NULL ) |
| 640 | return NULL; |
| 641 | } |
| 642 | _query_id.len = 0; |
| 643 | |
| 644 | memcpy( _query_id.s + _query_id.len, table->s, table->len); |
| 645 | _query_id.len += table->len; |
| 646 | |
| 647 | if (order) { |
| 648 | *(_query_id.s + _query_id.len++) = '|'; |
| 649 | memcpy( _query_id.s + _query_id.len, order->s, order->len); |
| 650 | _query_id.len += order->len; |
| 651 | } |
| 652 | |
| 653 | *(_query_id.s + _query_id.len++) = '^'; |
| 654 | |
| 655 | return &_query_id; |
| 656 | } |
| 657 | |
| 658 | static inline str* _query_id_add_cols( db_key_t *_c, int _nc) |
| 659 | { |
no outgoing calls
no test coverage detected