Changeset 18396 for ext

Show
Ignore:
Timestamp:
10/11/07 11:26:51 (15 months ago)
Author:
Darren_Duncan
Message:

ext/Muldis-DB/ : the README file no longer mentions Rosetta,QDRDBMS ; fleshed out the Changes file to summarize 2002-2007

Location:
ext/Muldis-DB
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • ext/Muldis-DB/Changes

    r18252 r18396  
    2828    exp_ast_lang, which will be maintained in future releases at the latest 
    2929    official Muldis D version number known to work at the time. 
     30 
     31    * Fleshed out the tail of this Changes file with a summary pre-release 
     32    (rel. 2007 June) history of Muldis DB; going from mid-2002 to mid-2007. 
    3033 
    31342007-09-22   Darren Duncan <perl@DarrenDuncan.net> 
     
    422425    Muldis:: 
    423426    ::DB         cmpOg Full-featured truly relational DBMS in Perl  DUNCAND 
     427 
     4282006-09-15 thru 2007-06-02 
     429 
     430    * Started rewriting Rosetta again, but with a name change, since 
     431    "Rosetta" was no longer appropriate for various reasons.  This rewrite 
     432    took the intentionally bad and temporary name QDRDBMS, to be renamed 
     433    again (to Muldis DB) later on.  With the name change allowed for the 
     434    previous version numbering of Rosetta to be dropped, and this rewrite 
     435    would eventually be first released as version zero. 
     436 
     437    * Unlike both Rosetta incarnations, QDRDBMS started off explicitly 
     438    having no external dependencies at all save Perl 5 or Perl 6 itself 
     439    (and what they bundle), so this made it simpler yet in design, and in 
     440    particular made it very easy to install (no dependency tree). 
     441 
     442    * QDRDBMS was started in the wake of having had a lot more experience 
     443    in reading up on the truly relational model of data, and was now 
     444    designed fundamentally to be the design and implementation of a new 
     445    turing complete programming language for working with relational 
     446    databases, now called "QDRDBMS D". 
     447 
     448    * QDRDBMS actually had a lot of code written for it this time, with the 
     449    focus initially being to code first and document later, to experiment 
     450    with what might work out. 
     451 
     452    * Made an experimental CPAN release of QDRDBMS version 0.0.0 on 
     453    2007-05-31, which specifically was a quick branch that stripped out all 
     454    the code and just contained the documentation.  This was the only CPAN 
     455    release of the (partial) project under the QDRDBMS name. 
     456 
     457    * Shortly after this, QDRDBMS was renamed to its presumably final name 
     458    of "Muldis DB", and its command language to "Muldis D". 
     459 
     4602006-04-14 thru 2006-11-22 
     461 
     462    * Started a complementary Perl 6 project named "Relation" which was 
     463    intended to provide native tuple and relation data types for ordinary 
     464    use in Perl 6 programs like other built-in collection types.  The first 
     465    commit was Pugs SVN rev 9938, on 2006-04-14, and Pugs 6.2.12 
     466    (2006-06-26) included it. 
     467 
     468    * On 2006-07-04, renamed this project to "Set-Relation", which it 
     469    remains to this day.  Pugs 6.2.13 and later included this. 
     470 
     471    * Set-Relation received various small updates thru 2007-02-03, but is 
     472    now stagnant; it will likely get un-stuck after Muldis DB sets an 
     473    example for it. 
     474 
     4752006-02-01 thru 2006-04-13 
     476 
     477    * The first simultaneous releases of the Perl 5 and 6 versions of 
     478    Rosetta's rewrite occurred on 2006-02-01; they were also the first CPAN 
     479    releases of either version.  The Perl 6 one was Pugs release 6.2.11 
     480    (SVN rev 8934). 
     481 
     482    * On 2006-02-23 was the first (Perl 5) CPAN release of Rosetta where 
     483    the project was then officially an implementation of "The Third 
     484    Manifesto", the central work of Darwen and Date's DBMS proposal; 
     485    moreover, Rosetta's command language was named "Rosetta D", to be a "D" 
     486    language by the terms of said proposal. 
     487 
     488    * On 2006-03-20 was the (Perl 5) release that declared Rosetta was to 
     489    be fundamentally a self-contained relational DBMS (and the core 
     490    distribution would bundle such an implementation of its API) rather 
     491    than "just" a DBMS wrapper; though extensions could still chose to 
     492    operate as wrappers over other DBMSs. 
     493 
     494    * On 2006-04-13 was the last CPAN release of the Perl 5 Rosetta, and 
     495    Pugs 6.2.12 (SVN rev 10930), on 2006-06-26, had the corresponding Perl 
     496    6 version; Pugs 6.2.13 (SVN rev 11402), on 2006-10-27, had the last 
     497    CPAN release of Perl 6 Rosetta, with trivial Perl 6 only updates. 
     498    After this, Pugs would have a Muldis DB instead. 
     499 
     500    * This time period also saw very little code, and almost entirely 
     501    documentation updates. 
     502 
     503    * However, the code that did exist at this time was trying so hard to 
     504    be alike between Perl 5 and Perl 6 that the Perl 5 version had external 
     505    dependencies on a half-dozen CPAN distros that provided features like 
     506    Perl 6 builtins, but said features were largely trivial.  Both versions 
     507    also went to trouble to make their user text (support) multi-lingual. 
     508 
     5092005-12-06 thru 2006-01-31 
     510 
     511    * Rosetta started to evolve so that its API and design was based on 
     512    relational algebra, which is a lot of smaller generic constructs that 
     513    can easily be arranged into queries; this is in contrast to the 
     514    previous design based around monolithic and unwieldy SQL "select" 
     515    queries.  Generally speaking, there was increasing influence on the 
     516    design by Hugh Darwen's and Chris Date's proposals on how a truly 
     517    relational DBMS should work.  This time period also saw very little 
     518    code, and almost entirely documentation updates. 
     519 
     5202005-12-05 
     521 
     522    * Darren Duncan is introduced by David Wheeler to the truly relational 
     523    model of data, in a posting on the Bricolage development list in the 
     524    "Re: [6977] New branch for maintenance of Bricolage 1.10.x." thread. 
     525 
     526    * David said that Darren's expressed thought, that compound data types 
     527    in table fields was a violation of first normal form, was in fact a 
     528    misconception about the relational model.  David then referenced a 
     529    recent interview with C. J. Date. 
     530 
     531    * This set off a chain of events which was the largest paradigm shift 
     532    to ever affect the Rosetta project.  While the continuing goal of 
     533    Rosetta remained largely the same, the way this was to be accomplished 
     534    would become quite different, and the project would gain a new goal, to 
     535    help improve the design of relational DBMSs themselves. 
     536 
     5372005-09-30 thru 2005-12-04 
     538 
     539    * Started a full rewrite of Rosetta, with the intent of avoiding being 
     540    over-engineered, and cutting corners in the short term so to get 
     541    something useable at all sooner.  The idea was to focus on vertical 
     542    development first, so that at least a subset of features work earlier, 
     543    taking the development strategy of Perl6-Pugs itself as an example; 
     544    this is in contrast to the more horizontal development strategy of the 
     545    first Rosetta implementation. 
     546 
     547    * Moreover, this rewrite was being done simultaneously in both Perl 5 
     548    and Perl 6; each language had its own independent but synchronized 
     549    version, with the Perl 6 one intended to be the main future one that 
     550    guided design decisions, and the Perl 5 one intended to be the one 
     551    production-ready first, to be used until Perl 6 itself was production 
     552    ready.  That co-development was maintained afterwards, and happens with 
     553    the Muldis DB core. 
     554 
     555    * There was practically no code produced at this time, mainly just 
     556    design documentation. 
     557 
     558    * This Rosetta rewrite retained the version numbering of the previous 
     559    line, and its numbers were a bit awkward as a result. 
     560 
     5612002-11-12 thru 2005-09-28, plus 2006-01-13 
     562 
     563    * Developed and released on CPAN the Rosetta DBMS framework, whose 
     564    intended purpose was to provide rigorous portability of database 
     565    schemas and database-using applications between different SQL DBMS 
     566    products.  A lot of design documentation was produced, as well as some 
     567    code and tests, but while a significant amount of executing code was 
     568    produced, no solution emerged that was actually useable for real work; 
     569    what did get produced was also unnecessarily complicated. 
     570 
     571    * Throughout the life of that project, these various module namespaces 
     572    were used for CPAN distributions of parts of the framework: 
     573 
     574        - DBIx-Portable (2003-01-05) 
     575        - Rosetta (2003-01-21 thru 2005-09-28, plus 2006-01-13) 
     576        - SQL::ObjectModel (2003-06-11 thru 2003-09-16) 
     577        - SQL::SyntaxModel (2003-09-26 thru 2004-09-13) 
     578        - SQL::Routine (2004-10-04 thru 2005-09-28) 
     579 
     580    * The "Rosetta" and "SQL-Routine" names were also registered with "The 
     581    Perl 5 Module List", on 2003-01-21 and 2004-10-04, respectively.  Later 
     582    on, the "SQL-Routine" registration was deleted on 2006-01-07, and the 
     583    "Rosetta" registration on 2007-04-24. 
     584 
     585    * A translation of some parts of Rosetta into Perl 6 was made, under 
     586    the auspices of the Perl6-Pugs project, between 2005-03-25 (Pugs SVN 
     587    rev 1194) and 2005-04-02 (Pugs SVN rev 1463); Pugs release 6.0.13 
     588    (2005-03-26) included a version, but Pugs 6.0.14 (2005-04-04) did not; 
     589    the Perl 6 versions didn't work, however, which is why they were soon 
     590    excised from the Pugs VC (to P6PAN, which didn't go anywhere). 
     591 
     592    * A Lightning Talk was also given introducing Rosetta at OSCON 2005; 
     593    but it is Muldis DB instead that will fulfill the promises made in it. 
     594 
     5952002-06-07 
     596 
     597    * Started writing self-contained code components that were explicitly 
     598    designed to enable external code that used them to work seamlessly on 
     599    multiple database products.  Some of this work was reused later in the 
     600    Rosetta DBMS framework et al, and hence 2002 is the start of the 
     601    declared copyright date range for Muldis DB. 
  • ext/Muldis-DB/README

    r17897 r18396  
    99README file you are reading) module named "Muldis::DB" (Full-featured truly 
    1010relational DBMS in Perl) and its support structure. 
    11  
    12 Muldis DB is the successor of the now-defunct Rosetta DBMS framework, 
    13 which it is heavily based on and has learned from, though for all practical 
    14 purposes, Muldis DB is a complete rewrite with significant changes.  (Note 
    15 that Muldis DB was temporarily named QDRDBMS during its pre-release 
    16 development phase.)  Given the magnitude of the differences, the actual 
    17 change history of Rosetta itself is not relevant, and so Muldis DB does 
    18 not continue its version numbering or maintain the older change log.  The 
    19 first Muldis DB release on CPAN was version 0.0.0, and that was released 
    20 2007.06.20.  But Muldis DB does still declare copyright of 2002-present, 
    21 incorporating the Rosetta development/release time-period. 
    2211 
    2312Muldis DB has 2 co-developed versions, which are written in native Perl 5 
     
    7059information url is at "http://utsl.gen.nz/gitweb/?p=Muldis-DB".  The Perl 6 
    7160Muldis DB project is in a Subversion repository at 
    72 "http://svn.pugscode.org/pugs/ext/Muldis-DB/".  The last version of Rosetta 
    73 which was the closest to being functional, created between late 2002 and 
    74 late 2005, is in a Subversion repository at 
    75 "http://svn.utsl.gen.nz/trunk/Rosetta-old/". 
     61"http://svn.pugscode.org/pugs/ext/Muldis-DB/". 
    7662 
    7763You can download slightly older versions of all of my modules from the