SQL_LIST datatype should die a slow and violent death

Registered by Monty Taylor on 2009-12-24

It's not bad enough that we have List<> and DYNAMIC_ARRAY and the recently killed Array<> and the recently killed I_List<>... we need SQL_LIST, too. Well, no we don't. For the love of all that is good and holy, please, someone, anyone, replace SQL_LIST (found in sql_list.h, which is also where List<> is found) with std::vector<> - or std::list<> or std::deque if it really needs both push_front and push_back. But try vector first... I'll betcha it'll work.

Blueprint information

Status:
Started
Approver:
Jay Pipes
Priority:
Medium
Drafter:
Monty Taylor
Direction:
Approved
Assignee:
None
Definition:
Approved
Series goal:
Accepted for trunk
Implementation:
Started
Milestone target:
None
Started by
Dennis Schön on 2010-02-04

Whiteboard

ack-grep SQL_LIST:

drizzled/sql_lex.cc
39:static bool add_to_list(Session *session, SQL_LIST &list, Item *item, bool asc)

drizzled/item/sum.h
1012: SQL_LIST *is_order, String *is_separator);

drizzled/item/sum.cc
2966: SQL_LIST *order_list, String *separator_arg)

drizzled/sql_list.h
20:#ifndef DRIZZLED_SQL_LIST_H
21:#define DRIZZLED_SQL_LIST_H
70:} SQL_LIST;
475:#endif /* DRIZZLED_SQL_LIST_H */

drizzled/table_list.h
128: * List of tables local to a subquery (used by SQL_LIST). Considers

drizzled/sql_delete.cc
45: SQL_LIST *order, ha_rows limit, uint64_t,
392: error= mysql_delete(&session, table_list, (COND*) 0, (SQL_LIST*) 0,

drizzled/cursor.h
766: SQL_LIST *order, ha_rows rows, uint64_t options,

drizzled/sql_lex.h
412: SQL_LIST table_list;
413: SQL_LIST group_list; /* GROUP BY clause. */
430: SQL_LIST order_list; /* ORDER clause */
431: SQL_LIST *gorder_list;
800: SQL_LIST auxiliary_table_list;
801: SQL_LIST save_list;

2010-08-02 Dennis Schön:
sorry I haven't had time to work on this one for quite some time. I'll change the assignee to open. This is the branch with the progress I made: lp:~roccoblues/drizzle/code-cleanup-remove-sql-list Sorry it hasn't been merged in a while.

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.