| 1 | Muldis::Rosetta |
|---|
| 2 | --------------------------------------------------------------------------- |
|---|
| 3 | |
|---|
| 4 | 2008-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 | |
|---|
| 64 | 2008-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 | |
|---|
| 81 | 2008-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 | |
|---|
| 96 | 2008-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 | |
|---|
| 126 | 2008-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 | |
|---|
| 148 | 2008-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 | |
|---|
| 158 | 2007-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 | |
|---|
| 191 | 2007-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 | |
|---|
| 225 | 2007-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 | |
|---|
| 345 | 2007-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 | |
|---|
| 366 | 2007-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 | |
|---|
| 381 | 2007-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 | |
|---|
| 413 | 2007-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 | |
|---|
| 457 | 2007-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 | |
|---|
| 485 | 2007-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 | |
|---|
| 524 | 2007-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 | |
|---|
| 551 | 2007-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 | |
|---|
| 602 | 2007-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 | |
|---|
| 619 | 2006-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 | |
|---|
| 652 | 2006-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 | |
|---|
| 667 | 2006-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 | |
|---|
| 701 | 2005-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 | |
|---|
| 712 | 2005-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 | |
|---|
| 729 | 2005-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 | |
|---|
| 753 | 2002-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 | |
|---|
| 788 | 2002-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. |
|---|