|Links to HEAD:||(view) (download) (as text) (annotate)|
Several changes to the DB system: Made all schemas subclasses of WeBWorK::DB::Schema, factored common constructor code out into Schema.pm. Made all drivers subclasses of WeBWorK::DB::Schema, factored common constructor code out into Driver.pm. Removed superfluous style() and tables() functions from schemas and drivers. (You can treat the constants in which these are defined as functions, and call them like $object->STYLE or $object->STYLE().) WeBWorK::DB now tries to build all tables defined in %dbLayout, instead of using its own internal list. (TODO: add warnings if known tables are not built or unknown tables are built.) Made the error messages given during DB instantiation a little more intelligent. Changed the behavior of the exists() and delete() schema methods in all schemas (and updated the docs) s.t. not all elements of @keyparts have to be defined. Changed WeBWorK::DB to allow undefined values to be passed instead of IDs in delete* method calls, but only if the call was made from WeBWorK::DB itself (to protect you from accidentally passing an undefined value and clobbering your whole database). Changed delete functions to be more efficient. For example, deleteGlobalSet no longer has to say: $self->deleteUserSet($_, $setID) foreach $self->listSetUsers($setID); $self->deleteGlobalProblem($setID, $_) foreach $self->listGlobalProblems($setID); Instead it says: $self->deleteUserSet(undef, $setID); $self->deleteGlobalProblem($setID, undef); This is somewhat more efficient with hash-style schemas, and MUCH more efficient with the SQL schema. As usual, be wary of lingering bugs. w00t! -sam
initial work on SQL backend. untested. -sam
added a dummy driver and schema. -sam
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.
|aubreyja at gmail dot com||ViewVC Help|
|Powered by ViewVC 1.0.9|