Revision
1167 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Jun 13 23:35:54 2003 UTC (9 years, 11 months ago) by
sh002i
File length: 653 byte(s)
Diff to
previous 874
,
to
selected 806
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
Revision
806 -
(
view)
(
download)
(
as text)
(
annotate)
-
[selected]
Added
Wed Apr 16 04:43:40 2003 UTC (10 years, 1 month ago) by
sh002i
File length: 1209 byte(s)
added a dummy driver and schema.
-sam