Hi!

On Nov 2, 2009, at 6:37 AM, Jay Pipes wrote:

InnoDB is not the only engine other than MyISAM, of course :) Paul, would this apply to PBXT? Toru, could you comment on BlitzDb?

The question is "does the engine have its own format". If the engine has its own types then it will store the data in whatever type most fits. If the engine just writes out the row format then it matters how it calls pack (though possibly not with decimal). Writing out the raw format is a bit dangerous though since any changes to the memory format will leave you with junk.

Once we have pluggable types it will go one of a few ways for any engine writer: 1) They add the ability to store the type in a native format (aka... they extend their engine).
2) They reject the creation of a table with a type they do not handle.
3) They force a save (probably in a blog). This BTW is how NDB handles GEOMETRY types in MySQL.

All of the "saves space on disk" is about MyISAM. AKA... MyISAM has no native formats so the upper end of the server is slave to whatever changes are done for MyISAM. The BIT field type was a perfect example of this (and it caused the in-memory to behave differently for different engine).

Any engine should be abstracting the Field format in the future to some native type.

Brian, could you expand/elaborate on what you mean by "putting a priority on the static field array in field.cc"?

Look at field_types_merge_rules in field.cc. That fixed array forces us into: 1) Any new type must have an update to this (making pluggable impossible/a hack). 2) Defeats our ability to toss an error when a merge of a type really should just toss an error. AKA.. GEOM to a String. What would that mean?

Cheers,
        -Brian


Cheers,
        -Brian


_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help   : https://help.launchpad.net/ListHelp

Reply via email to