MEMORY ENGINE - New features - ala cache engines

Description

Hi, new features for memory engine... this could be used with memcache plugin and handlersocket plugin (maybe for normal SQL use too)

1) No memory
in a memcached server, for example, when we get no memory we can return 'no memory' or remove some itens and get space to add new key-value entry

the (1) feature for memory is:
add a no_memory algorithm to memory engine
ALTER TABLE memory_table ENGINE=MEMORY NO_MEMORY_ALGORITHM=NO_MEMORY/LRU
LRU should add a internal "last_update" column that represent the last changed date or index (0,1,2,3,4,5), lowers values are deleted first to get space

2) Row/Page level lock
i don't know if it's a nice feature or not, or maybe i'm talking about something that exists, or couldn't exists...
With high intensive memcache server we need (?) to lock, write, unlock return the variable in memcache (i think that in mem cache it's done per "page" aka slab)
when using memory engine this can be a problem if we only have a 'table' lock, instead a more granulary (row locks or a page lock), and very intensive writes

the (2) feature is:
implement row level or page level lock in memory engine
maybe something like:
ALTER TABLE memory ENGINE=MEMORY LOCK_LEVEL=TABLE/PAGE/ROW

Assignee

Unassigned

Reporter

Roberto Spadim

Labels

None

Priority

Minor
Configure