This is just a consolidation of information. courtosy to original authors : Brian Aker, Eric Day PARSER Drizzle's parser no longer knows or confirms engines. It simply parses the statement and lets the execution system validate the state or existence of the engine. Each of the query types, SELECT, INSERT, etc,... are now assigned to a Statement object which are assigned in the parser on the top level. The statement object encapsulates all logic of a statement. The statement objects are not way limited to SQL.for example Eric Day is working on a parser for REST (http). EXECUTION ENGINE execution system no longer exists as a giant switch/case system. Instead parser just generate an object and pass that along for execution. A big advantage we were able to realize because of this was that all of our DDL structures are no longer included in the global Lex structure. Anyone who wants to write a new execution path can focus on just a single class. New Join Exectioner will be extendable by just adding in new plugins. OPTIMIZER New optimizer is no longer depends on switch/case system. CREATE TABLE LIKE... this is very handy to move the tables around storage engine. and long awaited feature. but in MySQL it is bit difficult to achive this. because table information is stored in frm files. looks easy but not easy to manipulate. In Drizzle, we just ask the StorageEngine factory "find the engine with this definition and had it back to me as a proto". Once we have the proto we just make any changes we want to it, and then tell the StorageEngine factory "go create this". After that? It gets sent to whatever engine is supposed to create the table and the table gets created. How the data is stored is up to the engine. The advantage of the federated data dictionary is that engines own their own table information. DRIZZLE REPLICATION - Jay Pipes Print the content using following UDF. > SELECT PRINT_TRANSACTION_MESSAGE("transaction.log", 0) as msg_text; views blue print is available at https://blueprints.launchpad.net/drizzle/+spec/transaction-log-info-schema-views Storage API: http://drizzle.org/wiki/StorageEngineAPI_ProposedRefactoring |