root/ext/Muldis-Rosetta/Changes

Revision 20277, 37.9 kB (checked in by Darren_Duncan, 9 months ago)

ext/Muldis-Rosetta/ : this is the Perl 6 equivalent of what will end up on CPAN as Muldis::Rosetta version 0.7.0 for Perl 5

  • Property svn:mime-type set to text/plain; charset=UTF-8
  • Property svn:eol-style set to native
Line 
1                              Muldis::Rosetta
2---------------------------------------------------------------------------
3
42008-04-12   Darren Duncan <perl@DarrenDuncan.net>
5
6    * Muldis Rosetta version 0.7.0 for Perl 5 is released on CPAN as
7    Muldis-Rosetta-0.7.0.tar.gz.  Muldis Rosetta version 0.7.0 for Perl 6
8    is not released at all.  The rest of this Changes entry refers only to
9    the Perl 5 version, but it also happens that the Perl 6 version was
10    also brought fully up to date along with it.
11
12    * What was Muldis-DB at version 0.6.2 has been renamed to
13    Muldis-Rosetta.  This is the first release of the Muldis-Rosetta
14    distribution, and the first release of any distribution to contain Perl
15    5 package names like Muldis::Rosetta(|::\w+).  All of the files in this
16    distribution are as identical as possible to how they were when last
17    released under the names Muldis::DB(|::\w+) but for the name changes.
18    All lib/ files were renamed appropriately, and also the 2
19    t/Muldis_DB_\w+ were renamed to t/Muldis_Rosetta_\w+.
20
21    * All versioned files had their version numbers incremented to the
22    first higher 0.N.0.  New file versions are: Rosetta.pm and Interface.pm
23    and Validator.pm and Example.pm 0.7.0 and SeeAlso.pod 0.5.0.
24
25    * (Rosetta.pm)  The TRADEMARK POLICY section was severely edited to
26    excise most legalese, and is now just half its previous size; the old
27    longer version was shunted off to the Muldis Data Systems' website.
28
29    * (Interface.pm, Validator.pm)  Update to retain compatibility with the
30    official Muldis D version 0.25.0, where the second (authority) part of
31    a fully-qualified Muldis D language name has changed from
32    'cpan:DUNCAND' to 'http://muldis.com'.
33
34    * (SeeAlso.pod)  A few minor updates.
35
36    * Minor update to the file archives/OSCON2008SessionProposal.txt which
37    reflects that the proposal was accepted; the talk will be given Jul 23.
38    Also retconned the file to use current names, urls of Muldis D|Rosetta;
39    the copy on the OSCON website will likewise be updated if possible.
40
41    * This is the Muldis-Rosetta-0.7.0 file manifest:
42
43        archives/OSCON2005LightningTalk.txt
44        archives/OSCON2006SessionProposal.txt
45        archives/OSCON2008SessionProposal.txt
46        Changes
47        INSTALL
48        lib/Muldis/Rosetta.pm
49        lib/Muldis/Rosetta/Engine/Example.pm
50        lib/Muldis/Rosetta/Interface.pm
51        lib/Muldis/Rosetta/SeeAlso.pod
52        lib/Muldis/Rosetta/Validator.pm
53        LICENSE/GPL
54        LICENSE/LGPL
55        Makefile.PL
56        MANIFEST
57        MANIFEST.SKIP
58        META.yml
59        README
60        t/Muldis_Rosetta_00_Compile.t
61        t/Muldis_Rosetta_50_Validate_Example.t
62        TODO
63
642008-04-11   Darren Duncan <perl@DarrenDuncan.net>
65
66    The next version of the Module List will list the following module:
67
68      modid:       Muldis::Rosetta
69      DSLIP:       cmpOl
70      description: Full-featured truly relational DBMS in Perl
71      userid:      DUNCAND (Darren Duncan)
72      chapterid:   7 (Database_Interfaces)
73      enteredby:   SMUELLER (Steffen Müller)
74      enteredon:   Fri Apr 11 07:37:39 2008 GMT
75
76    The resulting entry will be:
77
78    Muldis::
79    ::Rosetta    cmpOl Full-featured truly relational DBMS in Perl  DUNCAND
80
812008-04-10   Darren Duncan <perl@DarrenDuncan.net>
82
83    Record update in the PAUSE modules database:
84
85           modid: [Muldis::DB]
86           statd: [c]
87           stats: [m]
88           statl: [p]
89           stati: [O]
90           statp: [l]
91     description: [Full-featured truly relational DBMS in Perl]
92          userid: [DUNCAND]
93       chapterid: [7]
94        mlstatus: [delete] was [list]
95
962008-03-23   Darren Duncan <perl@DarrenDuncan.net>
97
98    * Muldis DB version 0.6.2 for Perl 5 is released on CPAN as
99    Muldis-DB-0.6.2.tar.gz.  Muldis DB version 0.6.2 for Perl 6 is not
100    released at all.  The rest of this Changes entry refers only to the
101    Perl 5 version, and it should not be assumed that the Perl 6 version
102    incorporates all of said updates, though it may have some of them.
103
104    * Renamed the 2 t/MDB_\w+ test files to t/Muldis_DB_\w+.
105
106    * New file versions are: DB.pm and Interface.pm and Validator.pm and
107    Example.pm 0.6.2 and SeeAlso.pod 0.4.4.
108
109    * Updated DB.pm and the README file to clarify that commercial support
110    is available from the author specifically by way of Muldis Data
111    Systems.
112
113    * Updated all .pm and .pod files to add a new TRADEMARK POLICY section
114    near the end of each; it serves for trademarks what the LICENSE AND
115    COPYRIGHT did for copyrights.  The DB.pm file had the actual text, and
116    the other files simply say to look at DB.pm.  To summarize, the word
117    MULDIS is a trademark and how you may use it has limitations.
118
119    * (DB.pm, Interface.pm, Validator.pm, SeeAlso.pod)  A few minor updates
120    to reflect the fact that, for one thing, the Muldis D official spec is
121    now released under the Perl main package namespace Muldis::D rather
122    than Language::MuldisD, and for another thing, some small aspects of
123    Muldis DB's reflection of the Muldis D language were out of date, but
124    now they were updated to resync.
125
1262008-03-10   Darren Duncan <perl@DarrenDuncan.net>
127
128    * Muldis DB version 0.6.1 for Perl 5 is released on CPAN as
129    Muldis-DB-0.6.1.tar.gz.  Muldis DB version 0.6.1 for Perl 6 is not
130    released at all.  The rest of this Changes entry refers only to the
131    Perl 5 version, and it should not be assumed that the Perl 6 version
132    incorporates all of said updates, though it may have some of them.
133
134    * New file versions are: DB.pm and Interface.pm and Validator.pm and
135    Example.pm 0.6.1 and SeeAlso.pod 0.4.3.
136
137    * Updated the README file to emphasize the Perl 5 version for now.
138
139    * (SeeAlso.pod)  A few minor updates.
140
141    * Incremented all copyright year range-ends to 2008.
142
143    * Added new file archives/OSCON2008SessionProposal.txt which is a copy
144    of a proposal to give a talk on Muldis D + DB at OSCON 2008 (it can
145    also be given elsewhere); this is likely the most succinct description
146    yet of what the projects are and why one would want to use them.
147
1482008-03-10   Darren Duncan <perl@DarrenDuncan.net>
149
150    * Muldis DB for Perl 6 has suspended development temporarily while
151    resources are focused on just Muldis DB for Perl 5 in the short term;
152    later on, when the Perl 5 version is sufficiently advanced, it will be
153    translated to Perl 6, so to restart parallel development, or at least
154    to provide a snapshot.  In the meantime, some updates to the Perl 6
155    version may still be made, but it should not be interpreted that these
156    are keeping the whole project in feature parity with the Perl 5 one.
157
1582007-12-09   Darren Duncan <perl@DarrenDuncan.net>
159
160    * Muldis DB version 0.6.0 for Perl 5 is released on CPAN as
161    Muldis-DB-0.6.0.tar.gz.  Muldis DB version 0.6.0 for Perl 6 is not
162    released at all.  The rest of this Changes entry refers only to the
163    Perl 5 version.
164
165    * As of this release, the in-code $VERSION declarations of all Perl 5
166    packages in this distribution are changed to match the X.Y.Z format
167    that the same packages' own VERSION POD had all along (the old in-code
168    format was X.00Y00Z).  A consequence of this change is that this
169    distribution has gained an external dependency on the Perl 5 module
170    'version', which is not bundled with Perl 5.8.x; however, it *is*
171    bundled with Perl 5.10.x, so if you are using that newer Perl, you
172    won't have to install 'version' separately from CPAN.
173
174    * New file versions are: DB.pm and Interface.pm and Validator.pm and
175    Example.pm 0.6.0 and SeeAlso.pm 0.4.2.
176
177    * (Interface.pm, Example.pm, Validator.pm, DB.pm, SeeAlso.pod,
178    MDB_50_Validate_Example.t)  Renamed all Perl packages named ::DBMS to
179    ::Machine (that is, under Interface:: and Example::Public::), and
180    similarly renamed all routines, attributes, parameters, variables,
181    config keys, and so on, to use 'machine' rather than 'dbms'.
182
183    * (Interface.pm, Example.pm, Validator.pm)  Split the Machine
184    role|class into itself and the new Process role|class; a Machine now
185    has 0..N Process, and a Process now has 0..N
186    Var|FuncBinding|ProcBinding.  The Machine constructor retained all of
187    its parameters, and the Process constructor has no configuration
188    parameters; nearly all of the Machine methods went to Process.  As part
189    of the split, 2 methods were added to Machine, and 1 to Process.
190
1912007-10-20   Darren Duncan <perl@DarrenDuncan.net>
192
193    * Muldis DB version 0.5.0 for Perl 5 is released on CPAN as
194    Muldis-DB-0.5.0.tar.gz.  Muldis DB version 0.5.0 for Perl 6 is not
195    released at all.  The rest of this Changes entry refers only to the
196    Perl 5 version.
197
198    * Removed the files PhysType.pm and Operators.pm; these files were very
199    out of date and will be replaced later (possibly under the same names).
200
201    * New file versions are: DB.pm and Interface.pm and Validator.pm and
202    Example.pm 0.5.0 and SeeAlso.pm 0.4.1.
203
204    * (Interface.pm, Example.pm, Validator.pm)  Added a new attribute to
205    the DBMS role (and Example's doing class), "expected AST language",
206    with which Muldis DB users explicitly declare what Muldis DB (or
207    alternative) language version they expect to use for further
208    interaction with that DBMS.  The new_dbms constructor function gains a
209    parameter ('exp_ast_lang') for setting its default value, and the DBMS
210    role gains 2 methods for fetching/updating that attribute.  Note that,
211    unlike the engine_name and dbms_config parameters, exp_ast_lang is
212    generally not suited to read from a config file, as it is meant to
213    correspond to program code rather than a user's runtime setting.  The
214    &main of Validator.pm was updated to provide a hard-coded argument for
215    exp_ast_lang, which will be maintained in future releases at the latest
216    official Muldis D version number known to work at the time.
217
218    * (DB.pm)  Some small DESCRIPTION pod updates.
219
220    * (SeeAlso.pod)  Added more prospective extension modules.
221
222    * Fleshed out the tail of this Changes file with a summary pre-release
223    (rel. 2007 June) history of Muldis DB; going from mid-2002 to mid-2007.
224
2252007-09-22   Darren Duncan <perl@DarrenDuncan.net>
226
227    * Muldis DB version 0.4.0 for Perl 5 is released on CPAN as
228    Muldis-DB-0.4.0.tar.gz.  Muldis DB version 0.4.0 for Perl 6 is not
229    released at all.  The rest of this Changes entry refers only to the
230    Perl 5 version.
231
232    * This release is a snapshot to show a particular mid-way point in a
233    large sequence of changes.  To summarize, the public API of Muldis DB
234    has been rewritten, documentation for that API was added (including an
235    example), and both the Example Engine and the Validator suite were
236    (substantially) updated to conform to the new API.  However, the
237    Example Engine is still incapable of executing any tasks, so that
238    aspect is unchanged from before.  The next release should flesh out
239    Example so that it executes some tasks.
240
241    * Removed the file Literal.pm; Muldis DB now uses Perl Hosted Abstract
242    Muldis D (composed of Perl array refs, hash refs, scalars), as
243    described in Language::MuldisD::PerlHosted, rather than Literal
244    objects, as its data|code interchange format.  This makes things a lot
245    simpler, easier to use, and better performing.  All of the other .pm
246    files in this distribution, which used Literal.pm, were updated
247    accordingly, which is further described below.  Also removed the
248    t/MDB_10_Literal_Simple.t test file.
249
250    * All versioned files had their version numbers brought up to 0.4.0.
251
252    * Minor updates to all versioned files such that most references to the
253    project name were changed to "Muldis DB" from "Muldis::DB".
254
255    * (DB.pm, Interface.pm, Example.pm)  Updates to various
256    main/introductory documentation.  Half rewrote/prepended the
257    DESCRIPTION of DB.pm.  Added a small initial DESCRIPTION to each of
258    Interface.pm, Example.pm.  Further minor edits to other sections.
259
260    * (Interface.pm)  Rewrote 90% of the code to provide a substantially
261    different, though similar, API.  The new_dbms function of the
262    Muldis::DB::Interface module now has a modified version of what code
263    used to be in the constructor submethod of ::DBMS (it is the code that
264    loads an Engine and invokes it to make a ::DBMS object), rather than
265    the former being an optional wrapper for the latter.  All remaining
266    ::Interface::\w+ named packages of Interface.pm are now just roles that
267    declare method interfaces but don't implement any, and the
268    correspondingly named Engine classes must inherit said roles and
269    implement the methods; they are no longer wrapper classes that do
270    validation on behalf of, and then invoke, the Engines, but rather the
271    Engines must do their own input validation now, and user applications
272    are now invoking the public Engine classes directly.  The
273    ::Engine::Role(|::\w+) roles that used to be in Interface.pm are now
274    gone, as they are now redundant; the new ::Interface::\w+ are like what
275    they used to be.  The new Interface.pm do not declare constructor
276    interfaces, since users should now only be making objects indirectly by
277    way of methods of another class.  The ::HostGateVar class/role was
278    renamed to ::Var, the ::HostGateRtn was renamed to ::ProcBinding, and a
279    similar ::FuncBinding was added.  The ::(DBMS|Var|(Func|Proc)Binding)
280    roles were further substantially altered, with some methods renamed and
281    others added.  Perhaps the most substantial difference of the new API
282    for actual functionality is that there is no distinct "prepare" method
283    any more, rather all action methods are of the "execute" (now called
284    "call") variety.  How this works is you first call() a DDL routine, its
285    argument being the definition of the (now always named) user-defined
286    routine you want to compile; then you call() that newly created
287    routine.  In a related fashion, if you just want to invoke existing
288    system or (already loaded / in-mounted-database) user-defined routines,
289    you can just call() them like they were Perl routines, with no separate
290    DDL/prepare step.  The (Func|Proc)Binding roles aren't actually needed
291    for anything, as the DBMS role provides call_(func|proc) methods, which
292    in either case just alias to an already compiled routine, but the 2
293    Binding roles are provided for now in case they may add some efficiency
294    due to less repeated input validation or such.
295
296    * (Interface.pm)  Rewrote and/or added 90% of the INTERFACE pod; unlike
297    the old API which had practically no documentation, the new API is
298    fully documented.  Also added an initial SYNOPSIS documentation block,
299    which illustrates invoking the system-defined relational join operator,
300    where the arguments and result are Perl-lexical variables; this is the
301    first actual example code for using Muldis DB, however contrived.
302
303    * (Example.pm)  Rewrote the Example.pm code to conform to the changed
304    API declared by Interface.pm.  The new version implements the root
305    module, the ::DBMS and ::Var classes, but not the ::(Func|Proc)Binding
306    classes.  Also, the interface-role implementing classes were all
307    renamed aside from interface-conformity, specifically "::Public" was
308    added to all their names, that signifying that these are the only
309    classes that applications would directly invoke.  This file stands to
310    be substantially updated in the next releases, but for the most part
311    most Example code will be put in other files, with Example.pm limited
312    to providing just the public interface.
313
314    * (PhysType.pm, Operators.pm)  Made a minimal set of updates to these
315    files to bring them up to date with the current Muldis D type or
316    routine names for what they implement, and to remove any references to
317    Literal.pm.  These files stand to be substantially updated, or even
318    replaced in the next releases.
319
320    * (Validator.pm)  Rewrote the foods/suppliers/shipments scenario, which
321    is basically all the code, so it uses the new API in Interface.pm; this
322    version is barely half the code size of the old one, but it doesn't
323    create a user-defined routine to combine the tasks to be done; an
324    additional version will be provided in a subsequent release that does.
325    The SYNOPSIS, plus the MDB_50_Validate_Example.t, were minor updated.
326
327    * (Validator.pm)  Added a &does_ok to Validator.pm, which in the Perl 6
328    Validator.pm is a modified copy of the &isa_ok of Test.pm but it tests
329    with .does rather than .isa; in the Perl 5 Validator.pm, the new
330    &does_ok is just a symbolic alias for the Test::More &isa_ok; in any
331    event, the rest of both versions of Validator.pm now invokes &does_ok
332    rather than &isa_ok, to keep their code bases more similar.
333
334    * (SeeAlso.pod)  Updated the PROSPECTIVE MULDIS DB EXTENSIONS section
335    mainly to bring various names, terminology, and references up to date
336    with design changes.  Any package names containing "Literal" now have
337    "PHMD" instead, and any docs refering to "Muldis DB AST nodes" now
338    refer to "Perl Hosted Muldis D".  Re-added the
339    Muldis::DB::AST::StringRepr module that was removed in release 0.1.0
340    under the new name Muldis::DB::PHMD::Translate::ConcreteMuldisD (it's
341    not part of Literal.pm anymore).  Other small renames and changes.
342
343    * Updated the TODO file.
344
3452007-09-14   Darren Duncan <perl@DarrenDuncan.net>
346
347    * Muldis DB version 0.3.2 for Perl 5 is released on CPAN as
348    Muldis-DB-0.3.2.tar.gz.  Muldis DB version 0.3.2 for Perl 6 is not
349    released at all.  The rest of this Changes entry refers only to the
350    Perl 5 version.
351
352    * Removed the file Copying.pod; it isn't particularly useful anymore.
353
354    * New file versions are: DB.pm 0.3.2.  The other pre-existing versioned
355    files are unchanged.
356
357    * (DB.pm)  The whole Muldis DB core, that is, all code in this
358    distribution, has been re-licensed under the GNU Lesser General Public
359    License version 3 or later (LGPLv3+).  Also, the current plan is that
360    the LGPLv3+ will be used as the license of many separately distributed
361    Muldis DB extensions started by the same author, such as some
362    implementations over SQL databases, or such as example code in
363    tutorials/cookbooks; or some extensions would be under other
364    GPLv3-compatible licenses.
365
3662007-08-18   Darren Duncan <perl@DarrenDuncan.net>
367
368    Record update in the PAUSE modules database:
369
370           modid: [Muldis::DB]
371           statd: [c]
372           stats: [m]
373           statl: [p]
374           stati: [O]
375           statp: [l] was [g]
376     description: [Full-featured truly relational DBMS in Perl]
377          userid: [DUNCAND]
378       chapterid: [7]
379        mlstatus: [list]
380
3812007-08-18   Darren Duncan <perl@DarrenDuncan.net>
382
383    * Muldis DB version 0.3.1 for Perl 5 is released on CPAN as
384    Muldis-DB-0.3.1.tar.gz.  Muldis DB version 0.3.1 for Perl 6 is not
385    released at all.  The rest of this Changes entry refers only to the
386    Perl 5 version.
387
388    * Renamed DB.pod to DB.pm, and added an empty dummy package declaration
389    of Muldis::DB to it, all for the sole purpose of helping the CPAN
390    indexer link to this distribution properly; it doesn't work when the
391    namespace file is plain pod.  For similar reasons, the version number
392    of DB.pm will now always be kept in sync with the whole-distribution
393    version number declared in the Makefile.PL.
394
395    * New file versions are: DB.pm and Copying.pod 0.3.1.  The other
396    pre-existing versioned files are unchanged.
397
398    * (DB.pm, Copying.pod)  The license of Muldis DB has been simplified
399    to no longer be the duality of the GPL and Affero GPL, as the Affero
400    GPL option is dropped; this is because the Affero option didn't seem to
401    provide any clear benefit, and the GPL is regardless compatible with
402    the Affero GPL with respect to combining works into larger works, which
403    is all that is truly important.
404
405    * (DB.pm, Copying.pod)  The file DB.pm has been re-licensed under the
406    Lesser GPL, while the rest of this distribution remains under the GPL.
407    While not immediately the case (due to technicalities), in the near
408    future, that will mean that the LGPL will cover all mandatory
409    components (a minority), and the GPL all or most optional components of
410    the Muldis DB framework.  Accordingly, the file LICENSE/LGPL was added
411    to this distro, which contains the text of the LGPL version 3.0.
412
4132007-07-24   Darren Duncan <perl@DarrenDuncan.net>
414
415    * Muldis::DB version 0.3.0 for Perl 5 is released on CPAN as
416    Muldis-DB-0.3.0.tar.gz.  Muldis::DB version 0.3.0 for Perl 6 is not
417    released at all.  The rest of this Changes entry refers only to the
418    Perl 5 version.
419
420    * What was Muldis-DB at version 0.2.0 and earlier, has been split in 2,
421    with the parts to be Language-MuldisD and Muldis-DB, each at version
422    0.3.0 and later.  Prior to the split, both the Perl 5 and Perl 6
423    versions of Muldis-DB contained identical copies of what became
424    Language-MuldisD; after the split, neither Muldis-D had a copy.
425
426    * All versioned files had their version numbers brought up to 0.3.0.
427
428    * This release saw no code changes at all.  About half of SeeAlso.pod
429    was stripped out, since that stayed only with Language-MuldisD.
430
431    * This is the Muldis-DB-0.3.0 file manifest:
432
433        archives/OSCON2005LightningTalk.txt
434        archives/OSCON2006SessionProposal.txt
435        Changes
436        INSTALL
437        lib/Muldis/DB.pod
438        lib/Muldis/DB/Copying.pod
439        lib/Muldis/DB/Engine/Example.pm
440        lib/Muldis/DB/Engine/Example/Operators.pm
441        lib/Muldis/DB/Engine/Example/PhysType.pm
442        lib/Muldis/DB/Interface.pm
443        lib/Muldis/DB/Literal.pm
444        lib/Muldis/DB/SeeAlso.pod
445        lib/Muldis/DB/Validator.pm
446        LICENSE/GPL
447        Makefile.PL
448        MANIFEST
449        MANIFEST.SKIP
450        META.yml
451        README
452        t/MDB_00_Compile.t
453        t/MDB_10_Literal_Simple.t
454        t/MDB_50_Validate_Example.t
455        TODO
456
4572007-07-20   Darren Duncan <perl@DarrenDuncan.net>
458
459    * Muldis::DB version 0.2.0 for Perl 5 is released on CPAN as
460    Muldis-DB-0.2.0.tar.gz.  Muldis::DB version 0.2.0 for Perl 6 is not
461    released at all.  The rest of this Changes entry refers only to the
462    Perl 5 version, specifically the portions that were not split-off into
463    Language-MuldisD following release 0.2.0.
464
465    * Renamed AST.pm to Literal.pm, and split up DB.pm into DB.pod and
466    Interface.pm.  Any code that used to be spelled Muldis::DB::AST or
467    Muldis::DB is now spelled Muldis::DB::Literal and
468    Muldis::DB::Interface.  Following these changes, lib/Muldis/DB.pod is
469    still the "main" file for documentation purposes, but for code
470    purposes, both Literal.pm and Interface.pm are now used directly.
471
472    * New file versions are: DB.pod and Literal.pm and Interface.pm and
473    Language.pod and Validator.pm and Example.pm 0.2.0.
474
475    * Updated Literal.pm to remove all exported functions that trivially
476    wrap an object constructor, updated any uses in other files to call
477    constructors directly.  Also renamed ::(Bool|Order|Int|Blob|Text)Lit to
478    remove the "Lit", and ::(|Quasi)(Tuple|Relation)Sel to remove the
479    "Sel", and likewise updated any refs to said.
480
481    * In both Literal.pm and PhysType.pm, renamed any classes named
482    (TypeInvo|TypeDict|ExprDict|ValueDict)(|NQ|AQ) to (_\1|\1|Quasi\1)
483    respectively, and refs to said.
484
4852007-07-11   Darren Duncan <perl@DarrenDuncan.net>
486
487    * Muldis::DB version 0.1.0 for Perl 5 is released on CPAN as
488    Muldis-DB-0.1.0.tar.gz.  Muldis::DB version 0.1.0 for Perl 6 is not
489    released at all.  The rest of this Changes entry refers only to the
490    Perl 5 version, specifically the portions that were not split-off into
491    Language-MuldisD following release 0.2.0.
492
493    * This is a major release that focuses on overhauling or defining part
494    of the Muldis D meta-model / system catalog, which is essential for
495    supporting any user-defined DBMS entities, that is, for doing anything
496    remotely useful.  Said overhaul is expected to be staged over 3-4
497    consecutive releases, of which the current one is essentially just
498    updating documentation; not much code was changed by this release.
499
500    * New code file versions are: DB.pm and AST.pm and Validator.pm and
501    Example.pm 0.1.0.
502
503    * As of this release, all pod-only files now also have version numbers,
504    shown in the VERSION docs by NAME, like code-containing modules do; the
505    initial version numbers are all 0.1.0.
506
507    * Muldis D now has 2 representation formats (Concrete Muldis D,
508    Abstract Muldis D) rather than 3 (relations, ASTs, strings).
509
510    * Updated SeeAlso.pod to remove the proposal for a separately
511    distributed Muldis::DB::AST::StringRepr module; instead,
512    Muldis::DB::AST will parse and generate Concrete Muldis D by itself.
513
514    * Rearranged any relevant docs and code so that the most important core
515    scalar types are now in the order [Bool, Int, Blob, Text] and the
516    relation type factory Maybe now appears after Set.
517
518    * Muldis D now has a new scalar data type, "Order", which is an
519    enumeration (like "Bool" is) of 3 values: [Increase, Same, Decrease];
520    it is the result type of any binary comparison operator that underlies
521    the likes of less|greater-than or min|max or sorting operations.  Both
522    AST.pm and PhysType.pm were updated to include this type.
523
5242007-06-29   Darren Duncan <perl@DarrenDuncan.net>
525
526    * Muldis::DB version 0.0.1 for Perl 5 is released on CPAN as
527    Muldis-DB-0.0.1.tar.gz.  Muldis::DB version 0.0.1 for Perl 6 is not
528    released at all.  The rest of this Changes entry refers only to the
529    Perl 5 version, specifically the portions that were not split-off into
530    Language-MuldisD following release 0.2.0.
531
532    * New code file versions are: DB.pm and AST.pm and Validator.pm and
533    Example.pm 0.0.1.
534
535    * The primary purpose of this release is to re-license Muldis::DB under
536    actual free software licenses, specifically version 3 of the GPL family
537    of licenses, which the Free Software Foundation formally published on
538    2007 June 29th.  By contrast, the previous Muldis::DB releases were
539    under an expiring proprietary license, with just the promise of a free
540    re-license to come.  Accordingly, the file LICENSE/GPL was added to
541    this distro, which contains the text of the GPL version 3.0.
542
543    * This release also includes a collection of small documentation
544    updates and fixes, such as the following:  We now use the official
545    typography for the names 'TTM' and 'D' and such.  Added a DOCUMENTATION
546    READING ORDER section to the README file.  Added the 2007 June 4th
547    Muldis::DB namespace registration (to the official CPAN module list)
548    notice to the Changes file.  Updated parts of DB.pm and Copying.pod
549    concerning licensing matters.  This release has no code changes.
550
5512007-06-20   Darren Duncan <perl@DarrenDuncan.net>
552
553    * Muldis::DB version 0.0.0 for Perl 5 is released on CPAN as
554    Muldis-DB-0.0.0.tar.gz.  Muldis::DB version 0.0.0 for Perl 6 is not
555    released at all.  The rest of this Changes entry refers only to the
556    Perl 5 version, specifically the portions that were not split-off into
557    Language-MuldisD following release 0.2.0.
558
559    * This is the first release of the Perl 5 Muldis-DB distribution, and
560    the first release of any distribution to contain Perl 5 modules named
561    Muldis::DB::\w+.
562
563    * This is the initial file manifest:
564
565        archives/OSCON2005LightningTalk.txt
566        archives/OSCON2006SessionProposal.txt
567        Changes
568        INSTALL
569        lib/Muldis/DB.pm
570        lib/Muldis/DB/AST.pm
571        lib/Muldis/DB/Copying.pod
572        lib/Muldis/DB/Engine/Example.pm
573        lib/Muldis/DB/Engine/Example/Operators.pm
574        lib/Muldis/DB/Engine/Example/PhysType.pm
575        lib/Muldis/DB/Language.pod
576        lib/Muldis/DB/SeeAlso.pod
577        lib/Muldis/DB/Validator.pm
578        Makefile.PL
579        MANIFEST
580        MANIFEST.SKIP
581        META.yml
582        README
583        t/MDB_00_Compile.t
584        t/MDB_10_AST_Literals.t
585        t/MDB_50_Validate_Example.t
586        TODO
587
588    * Initial code file versions are: DB.pm and AST.pm and Validator.pm and
589    Example.pm and PhysType.pm and Operators.pm 0.0.0.
590
591    * As of this release, Muldis-DB is officially in pre-alpha development
592    status.  A lot of documentation and functionality is present, but a lot
593    isn't.  What is mostly done is the higher level documentation plus an
594    alpha-quality but fundamentally stable public API implementation.  What
595    is mostly undone is the reference engine implementation, the test
596    suite, and documentation of the API details.  What is already present
597    should be sufficient to begin study of Muldis-DB such that it can
598    actually be put to use within the next few weeks or months as Muldis-DB
599    is fleshed out.  Also, it should be possible now to start writing code
600    that uses or extends it.
601
6022007-06-04   Darren Duncan <perl@DarrenDuncan.net>
603
604    The next version of the Module List will list the following module:
605
606      modid:       Muldis::DB
607      DSLIP:       cmpOg
608      description: Full-featured truly relational DBMS in Perl
609      userid:      DUNCAND (Darren Duncan)
610      chapterid:   7 (Database_Interfaces)
611      enteredby:   ADAMK (Adam Kennedy)
612      enteredon:   Tue Jun  5 01:20:11 2007 GMT
613
614    The resulting entry will be:
615
616    Muldis::
617    ::DB         cmpOg Full-featured truly relational DBMS in Perl  DUNCAND
618
6192006-09-15 thru 2007-06-02
620
621    * Started rewriting Rosetta again, but with a name change, since
622    "Rosetta" was no longer appropriate for various reasons.  This rewrite
623    took the intentionally bad and temporary name QDRDBMS, to be renamed
624    again (to Muldis DB) later on.  With the name change allowed for the
625    previous version numbering of Rosetta to be dropped, and this rewrite
626    would eventually be first released as version zero.
627
628    * Unlike both Rosetta incarnations, QDRDBMS started off explicitly
629    having no external dependencies at all save Perl 5 or Perl 6 itself
630    (and what they bundle), so this made it simpler yet in design, and in
631    particular made it very easy to install (no dependency tree).
632
633    * QDRDBMS was started in the wake of having had a lot more experience
634    in reading up on the truly relational model of data, and was now
635    designed fundamentally to be the design and implementation of a new
636    turing complete programming language for working with relational
637    databases, now called "QDRDBMS D".
638
639    * QDRDBMS actually had a lot of code written for it this time, with the
640    focus initially being to code first and document later, to experiment
641    with what might work out.
642
643    * Made an experimental CPAN release of QDRDBMS version 0.0.0 on
644    2007-05-31, which specifically was a quick branch that stripped out all
645    the code and just contained the documentation.  This was the only CPAN
646    release of the (partial) project under the QDRDBMS name.
647
648    * Shortly after this, QDRDBMS was renamed to its presumably final name
649    of "Muldis DB", and its command language to "Muldis D".  But while
650    "Muldis D" stuck, "Muldis DB" was fated for a further rename later.
651
6522006-04-14 thru 2006-11-22
653
654    * Started a complementary Perl 6 project named "Relation" which was
655    intended to provide native tuple and relation data types for ordinary
656    use in Perl 6 programs like other built-in collection types.  The first
657    commit was Pugs SVN rev 9938, on 2006-04-14, and Pugs 6.2.12
658    (2006-06-26) included it.
659
660    * On 2006-07-04, renamed this project to "Set-Relation", which it
661    remains to this day.  Pugs 6.2.13 and later included this.
662
663    * Set-Relation received various small updates thru 2007-02-03, but is
664    now stagnant; it will likely get un-stuck after Muldis Rosetta sets an
665    example for it.
666
6672006-02-01 thru 2006-04-13
668
669    * The first simultaneous releases of the Perl 5 and 6 versions of
670    Rosetta's rewrite occurred on 2006-02-01; they were also the first CPAN
671    releases of either version.  The Perl 6 one was Pugs release 6.2.11
672    (SVN rev 8934).
673
674    * On 2006-02-23 was the first (Perl 5) CPAN release of Rosetta where
675    the project was then officially an implementation of "The Third
676    Manifesto", the central work of Darwen and Date's DBMS proposal;
677    moreover, Rosetta's command language was named "Rosetta D", to be a "D"
678    language by the terms of said proposal.
679
680    * On 2006-03-20 was the (Perl 5) release that declared Rosetta was to
681    be fundamentally a self-contained relational DBMS (and the core
682    distribution would bundle such an implementation of its API) rather
683    than "just" a DBMS wrapper; though extensions could still chose to
684    operate as wrappers over other DBMSs.
685
686    * On 2006-04-13 was the last CPAN release of the Perl 5 Rosetta, and
687    Pugs 6.2.12 (SVN rev 10930), on 2006-06-26, had the corresponding Perl
688    6 version; Pugs 6.2.13 (SVN rev 11402), on 2006-10-27, had the last
689    CPAN release of Perl 6 Rosetta, with trivial Perl 6 only updates.
690    After this, Pugs would have a Muldis Rosetta instead.
691
692    * This time period also saw very little code, and almost entirely
693    documentation updates.
694
695    * However, the code that did exist at this time was trying so hard to
696    be alike between Perl 5 and Perl 6 that the Perl 5 version had external
697    dependencies on a half-dozen CPAN distros that provided features like
698    Perl 6 builtins, but said features were largely trivial.  Both versions
699    also went to trouble to make their user text (support) multi-lingual.
700
7012005-12-06 thru 2006-01-31
702
703    * Rosetta started to evolve so that its API and design was based on
704    relational algebra, which is a lot of smaller generic constructs that
705    can easily be arranged into queries; this is in contrast to the
706    previous design based around monolithic and unwieldy SQL "select"
707    queries.  Generally speaking, there was increasing influence on the
708    design by Hugh Darwen's and Chris Date's proposals on how a truly
709    relational DBMS should work.  This time period also saw very little
710    code, and almost entirely documentation updates.
711
7122005-12-05
713
714    * Darren Duncan is introduced by David Wheeler to the truly relational
715    model of data, in a posting on the Bricolage development list in the
716    "Re: [6977] New branch for maintenance of Bricolage 1.10.x." thread.
717
718    * David said that Darren's expressed thought, that compound data types
719    in table fields was a violation of first normal form, was in fact a
720    misconception about the relational model.  David then referenced a
721    recent interview with C. J. Date.
722
723    * This set off a chain of events which was the largest paradigm shift
724    to ever affect the Rosetta project.  While the continuing goal of
725    Rosetta remained largely the same, the way this was to be accomplished
726    would become quite different, and the project would gain a new goal, to
727    help improve the design of relational DBMSs themselves.
728
7292005-09-30 thru 2005-12-04
730
731    * Started a full rewrite of Rosetta, with the intent of avoiding being
732    over-engineered, and cutting corners in the short term so to get
733    something useable at all sooner.  The idea was to focus on vertical
734    development first, so that at least a subset of features work earlier,
735    taking the development strategy of Perl6-Pugs itself as an example;
736    this is in contrast to the more horizontal development strategy of the
737    first Rosetta implementation.
738
739    * Moreover, this rewrite was being done simultaneously in both Perl 5
740    and Perl 6; each language had its own independent but synchronized
741    version, with the Perl 6 one intended to be the main future one that
742    guided design decisions, and the Perl 5 one intended to be the one
743    production-ready first, to be used until Perl 6 itself was production
744    ready.  That co-development was maintained afterwards, and happens with
745    the Muldis Rosetta core.
746
747    * There was practically no code produced at this time, mainly just
748    design documentation.
749
750    * This Rosetta rewrite retained the version numbering of the previous
751    line, and its numbers were a bit awkward as a result.
752
7532002-11-12 thru 2005-09-28, plus 2006-01-13
754
755    * Developed and released on CPAN the Rosetta DBMS framework, whose
756    intended purpose was to provide rigorous portability of database
757    schemas and database-using applications between different SQL DBMS
758    products.  A lot of design documentation was produced, as well as some
759    code and tests, but while a significant amount of executing code was
760    produced, no solution emerged that was actually useable for real work;
761    what did get produced was also unnecessarily complicated.
762
763    * Throughout the life of that project, these various module namespaces
764    were used for CPAN distributions of parts of the framework:
765
766        - DBIx-Portable (2003-01-05)
767        - Rosetta (2003-01-21 thru 2005-09-28, plus 2006-01-13)
768        - SQL::ObjectModel (2003-06-11 thru 2003-09-16)
769        - SQL::SyntaxModel (2003-09-26 thru 2004-09-13)
770        - SQL::Routine (2004-10-04 thru 2005-09-28)
771
772    * The "Rosetta" and "SQL-Routine" names were also registered with "The
773    Perl 5 Module List", on 2003-01-21 and 2004-10-04, respectively.  Later
774    on, the "SQL-Routine" registration was deleted on 2006-01-07, and the
775    "Rosetta" registration on 2007-04-24.
776
777    * A translation of some parts of Rosetta into Perl 6 was made, under
778    the auspices of the Perl6-Pugs project, between 2005-03-25 (Pugs SVN
779    rev 1194) and 2005-04-02 (Pugs SVN rev 1463); Pugs release 6.0.13
780    (2005-03-26) included a version, but Pugs 6.0.14 (2005-04-04) did not;
781    the Perl 6 versions didn't work, however, which is why they were soon
782    excised from the Pugs VC (to P6PAN, which didn't go anywhere).
783
784    * A Lightning Talk was also given introducing Rosetta at OSCON 2005;
785    but it is Muldis Rosetta instead that will fulfill the promises made in
786    it.
787
7882002-06-07
789
790    * Started writing self-contained code components that were explicitly
791    designed to enable external code that used them to work seamlessly on
792    multiple database products.  Some of this work was reused later in the
793    Rosetta DBMS framework et al, and hence 2002 is the start of the
794    declared copyright date range for Muldis Rosetta.
Note: See TracBrowser for help on using the browser.