Details
-
Task
-
Status: Stalled (View Workflow)
-
Major
-
Resolution: Unresolved
-
None
Description
Remove the following pattern that can be seen anywhere in the Spider codebase.
if (str->reserve(SPIDER_SQL_WHERE_LEN)) |
DBUG_RETURN(HA_ERR_OUT_OF_MEM);
|
str->q_append(SPIDER_SQL_WHERE_STR, SPIDER_SQL_WHERE_LEN);
|
This makes the code less readable and is error-prone (e.g., MDEV-27184).
Attachments
Issue Links
- relates to
-
MDEV-27184 Assertion `(old_top == initial_top (av) && old_size == 0) || ((unsigned long) (old_size) >= MINSIZE && prev_inuse (old_top) && ((unsigned long) old_end & (pagesize - 1)) == 0)' failed, Assertion `str.alloced_length() >= str.length() + data_len' failed
-
- Closed
-
-
MDEV-26384 Spider: add new query building helper function
-
- Closed
-
that'd be str->append(). q_append() means "quick append" that doesn't check if there's enough space and assumes the caller knows what he's doing. Invoking reserve() explicitly every time before q_append() makes little sense, one can just as well use append().