1NAME 2 DBIx::SQLEngine::Docs::Changes - Revision history for DBIx::SQLEngine. 3 4HISTORY 5 Version 0.93 6 7 2004-11-?? Released as DBIx-SQLEngine-0.93. 8 9 2004-11-29 Rearranged some documentation in top-level module's POD. 10 11 2004-11-29 Removed test config logic from Makefile and adjusted flow of 12 test.pl and test_cfg.pl. 13 14 2004-11-29 Fixed case-insensitive matching of "from" in sql_limit of 15 several drivers; thanks to Michael Kroll for pointing out the issue. 16 17 Version 0.92 18 19 2004-11-28 Released as DBIx-SQLEngine-0.92. 20 21 2004-11-21 Added incomplete implementation of RecordSet::NextPrev class. 22 23 2004-11-21 Moved table-specific Record code into new Record::Table 24 class. 25 26 2004-11-21 Sketched out interface for a new Record::PKey object. 27 28 2004-11-16 Modified Record class factory to use new Class::MixinFactory 29 distribution. 30 31 2004-11-16 Eliminated unnecessary extra level in Record namespace for 32 mixins. 33 34 2004-11-16 Moved Record::Set to a new RecordSet namespace to allow new 35 mixins. 36 37 2004-11-16 Fixed SQLite definition for sequential fields, thanks to Ron 38 Savage. 39 40 2004-11-13 Adjusted Related.pod docs for Rosetta based on email from 41 Darren Duncan. 42 43 2004-11-13 Fixed test.config.pl to not die when run for the first time. 44 45 Version 0.91 46 47 2004-11-12 Released as DBIx-SQLEngine-0.91. 48 49 2004-11-12 Replaced compile-time @MIXINS in Record hierarchy with 50 run-time NEXT method. 51 52 2004-11-12 Ran coverage tests and added test cases and documentation for 53 missing items. We're now at over 90% for POD coverage, but still under 54 60% overall. 55 56 2004-11-12 Changed test_core/examplep.t to case-insensitive regex to 57 compensate for case mangling on VMS file system, thanks to pitch from 58 Peter (Stig) Edwards. 59 60 2004-11-09 Additional work on driver tests. 61 62 2004-11-09 Bumped up version number in preparation for a 1.0 release 63 soon. 64 65 2004-11-08 Moved common behaviors of CSV and AnyData drivers to new 66 shared trait named PerlDBLib. Added driver class for XBase. 67 68 2004-11-08 Additional work on test scripts. 69 70 2004-11-06 Added test.pl and reorganized test scripts for better driver 71 testing. 72 73 2004-11-06 Reorganized ReadMe.pod and clipped credits from end of 74 SQLEngine.pod. Other minor documentation cleanups. 75 76 2004-10-08 Fixed problem with define_named_connections and array 77 reference reported via CPAN RT ticket 7464. 78 79 2004-06-06 Applied Driver::Oracle patch from Michael Kroll that should 80 improve optimization of queries with rownum limits. 81 82 Version 0.028 83 84 2004-04-19 Released as DBIx-SQLEngine-0.028. 85 86 2004-04-19 Fixed file missing from manifest which made 027 totally 87 broken. 88 89 Version 0.027 90 91 2004-04-19 Released as DBIx-SQLEngine-0.027. 92 93 2004-04-19 Moved Driver docs and Default code to a separate Driver 94 module. 95 96 2004-04-18 Documentation tweaks, including labeling methods public or 97 internal. 98 99 Version 0.026 100 101 2004-04-16 Released as DBIx-SQLEngine-0.026. 102 103 2004-04-15 Added subclasses to Driver::Mysql for various versions. 104 105 2004-04-15 Added Driver::Sybase and Driver::Sybase::MSSQL. 106 107 2004-04-15 Added Driver::Trait::DatabaseFlavors, 108 Driver::Trait::NoPlaceholders. 109 110 2004-04-15 Minor bits of documentation cleanup. 111 112 2004-04-14 Fixed missing import of clone_with_parameters for 113 interpret_named_connection(); thanks to Ron Savage for the bug report. 114 115 2004-04-14 Documentation fixes in Record::Trait::Cache POD. 116 117 2004-04-14 Added new makefile targets for development convenience; the 118 following are now all supported: 119 120 make everything - clean build with testsuite 121 make again - rebuilds Makefile and blib 122 123 make cleandist - clean build with manifest, docs, and dist 124 make cleanmanifest - rebuilds MANIFEST 125 make docs - runs pod2text on SQLEngine/Docs/*.pod files 126 127 make compile - makes sure that all of the modules compile 128 make testsuite - runs tests against multiple data sources 129 make t/*.t - runs whichever test scripts you name 130 make cover - runs testsuite under Devel::Cover with report 131 132 Version 0.025 133 134 2004-04-14 Released as DBIx-SQLEngine-0.025. 135 136 2004-04-14 Fixed undocumented (and un-necessary) dependency on 137 String::Escape in Record::Trait::Cache which was causing a test failure. 138 Thanks to the folks running automated cpan smokers, which caught this a 139 few hours after I posted it. 140 141 Version 0.024 142 143 2004-04-14 Released as DBIx-SQLEngine-0.024. 144 145 2004-04-13 Fixed support for literal SQL in Schema::Table, 146 Record::Trait::Cache. 147 148 2004-04-13 Added a few more methods to Record::Trait::Extras for 149 compatibility with older DBO classes. 150 151 2004-04-11 Fixed a few problems in Record::Trait::Cache and 152 Cache::TrivialCache. Added initial test script for record caching. 153 154 Version 0.023 155 156 2004-04-10 Released as DBIx-SQLEngine-0.023. 157 158 2004-04-10 Added feature matrix to Docs::Related. Added 159 Docs::Comparison. 160 161 2004-04-10 Fixed test crasher in visit_select for 162 Driver::Trait::NoUnions. 163 164 Version 0.022 165 166 2004-04-09 Released as DBIx-SQLEngine-0.022. 167 168 2004-04-09 Merged many methods from DBIx::DBO2::RecordSet into 169 Record::Set. 170 171 2004-04-09 Added Record::Trait::Accessors and increased the minimum 172 version of Class::MakeMethods to 1.006 to get the Autoload interface it 173 uses. 174 175 2004-04-09 Added Record::Trait::Cached based on 176 DBIx::DBO2::Record::Cached. Added cache packages 177 DBIx::SQLEngine::Cache::TrivialCache and 178 DBIx::SQLEngine::Cache::BasicCache. 179 180 2004-04-09 Added Record::Trait::Hooks based on DBIx::DBO2::Record and 181 built a few tests. 182 183 2004-04-09 Initial working support for multiply-combinable Record class 184 traits. Moved traits into nested namespaces Driver::Trait and 185 Record::Trait. 186 187 2004-04-09 Revised synopsis and description to include more recent 188 features. 189 190 2004-04-09 Added support for sql_select( columns => 191 \%colnames_as_aliases ) and sql_select( tables => { "table1.column1" => 192 "table2.column2" } ), both inspired by the interface described in the 193 Sql::Simple documentation. 194 195 2004-04-08 Fixed tight loop detection (self-reference) in 196 CloneWithParameters. 197 198 2004-04-06 Beginning support for multiply-combinable Record class 199 traits. 200 201 Version 0.021 202 203 2004-04-05 Released as DBIx-SQLEngine-0.021. 204 205 2004-04-05 Doc adjustments. Additional work on Record classes. 206 207 Version 0.020 208 209 2004-04-05 Released as DBIx-SQLEngine-0.020. 210 211 2004-04-05 Added initial Row classes. 212 213 2004-04-04 Added named_connection interface. 214 215 2004-04-04 Migrated clone function to new Utility::CloneWithParams 216 package. Generalized string substitution. Added more tests and 217 documentation. 218 219 2004-04-04 Renamed Mixin::* packages to DriverTrait::*. 220 221 2004-04-04 Added "where" as a synonym for "criteria" in sql_* methods 222 and changed documentation to use it instead. Added "distinct" support to 223 sql_select. 224 225 Version 0.019 226 227 2004-04-04 Released as DBIx-SQLEngine-0.019. 228 229 2004-04-03 Added initial support for constructing complex joins and 230 Mixin::NoComplexJoins to provide emulation for the simplest inside 231 joins. 232 233 2004-04-03 Added Mixin::NoUnions to provide emulation of unions where 234 needed. 235 236 2004-04-02 Added initial support for selects with unions. 237 238 Version 0.018 239 240 2004-03-30 Released as DBIx-SQLEngine-0.018. 241 242 2004-03-30 Fixed sequential type in Driver::SQLite to say "integer" not 243 "int". 244 245 2004-03-30 Removed driver for DBD::File, which isn't intended to be used 246 directly. 247 248 2004-03-30 Changed Criteria::HashGroup to asciibetically sort the hash 249 keys, so that criteria are predictable for testing and better statement 250 handle caching. 251 252 2004-03-26 Fixed Mixin::SeqTable's seq_fetch_current, which returned 253 undef due to scope confusion with return inside an eval block. 254 255 2004-03-26 Minor cleanup to Schema::Table to improve documentation. 256 257 2004-03-26 Fixed Schema::Column's new_from_hash() and type() methods. 258 259 Version 0.017 260 261 2004-03-26 Released as DBIx-SQLEngine-0.017. 262 263 2004-03-26 Fixed parens in Oracle's sql_limit, with apologies to Michael 264 Kroll. 265 266 2004-03-25 Brough Schema::Table up to workable condition and added basic 267 tests. 268 269 2004-03-25 Added simple last_query method to NullP for faster testing. 270 271 2004-03-23 Added fetch_select_rows() and visit_select_rows(). 272 273 2004-03-23 Re-ordered a few chunks of code so that the POD pages are 274 clearer. 275 276 Version 0.016 277 278 2004-03-23 Released as DBIx-SQLEngine-0.016. 279 280 2004-03-23 Fixed files missing from manifest. 281 282 Version 0.015 283 284 2004-03-22 Released as DBIx-SQLEngine-0.015. 285 286 2004-03-22 Added some database capability methods inspired by 287 DBIx::Compat. 288 289 2004-03-22 Added create_ and drop_index methods inspired by 290 DBIx::Renderer. 291 292 2004-03-22 Added create_ and drop_database methods inspired by 293 DBIx::DataSource. 294 295 2004-03-22 Removed do_ prefix from create_ and drop_table methods, with 296 aliases for backwards compatibility. 297 298 2004-03-22 Added initial interface for DBMS stored procedures. 299 300 2004-03-22 Added NullP subclass and null.t test with basic SQL 301 generation and named query tests. 302 303 2004-03-22 Added named_query interface to support libraries of named 304 queries. 305 306 2004-03-22 Added visit_sql_rows. 307 308 2004-03-22 Applied patch to Driver::Oracle's sql_limit() from Michael 309 Kroll. 310 311 2004-03-22 Incorporated support for mixing explicit SQL and additional 312 criteria by having sql_where() splice them together, based on a patch 313 from Michael Kroll. 314 315 Version 0.014 316 317 2004-03-14 Released as DBIx-SQLEngine-0.014. 318 319 2004-03-13 Fixed spacing problem for long column names in 320 sql_create_columns, curtesy of a patch from Ron Savage. 321 322 2004-03-13 Ported schema classes from DBO2 to DBIx::SQLEngine::Schema 323 namespace. These are not yet in use, but will be supported through 324 additions to the SQLEngine interface in upcoming versions in a way that 325 should not break any existing code. 326 327 Version 0.013 328 329 2004-03-12 Released as DBIx-SQLEngine-0.013. 330 331 2004-03-12 Fixed another minor POD error. 332 333 Version 0.012 334 335 2004-03-11 Released as DBIx-SQLEngine-0.012. 336 337 2004-03-11 Fixed several minor POD errors. Adjusted checking of 338 wantarray to preserve its value across eval{} boudaries. 339 340 Version 0.011 341 342 2004-03-10 Released as DBIx-SQLEngine-0.011. 343 344 2004-03-10 Moved driver-specific subclasses to a new Driver:: namespace 345 and added documentation to each of them. The external public interface 346 is identical, but this may break naughty code that checked ref() or 347 isa(); however the fix is straightforward and this keeps our namespaces 348 clearer. If your code was negatively impacted by this, let me know for 349 future reference! 350 351 2004-02-24 Integrated some patches from Michael Kroll, including new 352 Oracle subclass, and created a new Criteria::StringComparison class as 353 an alternate way of addressing an issue raised in email. 354 355 Version 0.010 356 357 2003-09-07 Released as DBIx-SQLEngine-0.010. 358 359 Version 0.009 360 361 2003-02-02 Released as DBIx-SQLEngine-0.009. 362 363 2003-02-02 Merged the "Default" class used by AnyDBD into base class via 364 stash aliasing, simplifying documentation. 365 366 Version 0.008 367 368 2002-11-02 Released as DBIx-SQLEngine-0.008. 369 370 2002-11-02 Added basic subclass for MSSQL. 371 372 2002-11-02 Added "is null" support based on patches from Michael Kroll 373 at University of Innsbruck. 374 375 2002-11-02 Added some introductory documentation to 376 Criteria::Comparison. 377 378 2002-11-02 For compatibility with the CPAN installer and automated 379 testing tools, the Makefile.PL now suggests that you set your 380 environment's DBI_DSN, rather than prompting you to enter it 381 interactively in test.pl. 382 383 2002-11-02 Refactored test script into several separate files. 384 385 2002-11-02 Added initial basic transaction support. 386 387 Version 0.007 388 389 2002-05-24 Minor error-handling improvements. 390 391 2002-05-24 Collect and return the results from visit_* methods. 392 393 2002-05-24 Added DBIx::SQLEngine::Criteria::Not, contributed by 394 Christian Glahn at University of Innsbruck. 395 396 2002-04-10 Added "fetch without execute" to the catch_query_exception 397 handler for MySQL and Pg. 398 399 Version 0.006 400 401 2002-03-23 Released as DBIx-SQLEngine-0.006. 402 403 2002-03-23 Added basic support for passing SQL functions and expressions 404 to SQLEngine::Default and SQLEngine::Critera::Comparison in a way that 405 allows them to be used directly, rather than being treated as literals 406 and bound to placeholders. 407 408 2002-03-01 Fixed syntax errors in MySQL subclass. Fixed suspected 409 Perl-version dependency (return from inside eval) in Default detect_any. 410 411 Version 0.005 412 413 2002-03-01 Released as DBIx-SQLEngine-0.005. 414 415 2002-02-19 Simon: Added Pg catch_query_exception REDO for "out of range 416 0..-1". I don't know what this error means but it always seems to 417 succeed when we retry. 418 419 2002-02-10 Simon: Modified format of error messages in Default.pm 420 421 2002-02-02 Eliminated complaint about empty subclauses in 422 Criteria::Compound 423 424 2002-01-31 Extracted Default sql_* criteria handling into 425 DBIx::SQLEngine::Criteria->auto* methods. 426 427 2002-01-31 Added catch_query_exception to Pg subclass for automatic 428 reconnection. 429 430 2002-01-31 Created new Criteria::LiteralSQL package. Remove redundant 431 parentheses around single-item list in Criteria::Compound. 432 433 Version 0.004 434 435 2002-01-30 Released as DBIx-SQLEngine-0.004. 436 437 2002-01-30 Expanded Pg subclass. Fixed Default's type_info handling to 438 not fall over when a type has multiple info hashes (needed for Pg). 439 Adjusted error handling to call $sth->finish() if there's an exception 440 after we prepare but before we complete retrieving the results. 441 442 2002-01-27 Filled out documentation, especially of the public interface 443 in SQLEngine.pm. Added skeletal Pg subclass. 444 445 Version 0.003 446 447 2002-01-25 Released as DBIx-SQLEngine-0.003 448 449 2002-01-21 Fixed AnyData sql_create_column_text_long_type. 450 451 2002-01-20 Fixed typo in sql_drop_table. Added detect_any and 452 detect_table methods. 453 454 2002-01-15 Improvements to sql_create_table to support primary key 455 declarations. Completed DBIx::SQLEngine::Mixin::SeqTable. Added 456 DBIx::SQLEngine::CSV. 457 458 2002-01-14 Added initial version of DBIx::SQLEngine::Mixin::SeqTable. 459 460 2002-01-14 Fixed bug in test script; user and password were not used! 461 (Bug report from Terrence Brannon.) 462 463 Version 0.002 464 465 2002-01-14 Released as DBIx-SQLEngine-0.002 466 467 2002-01-13 Fixed logging scope errors. Filled in several mising chunks 468 of documentation. Makefile.PL touchups for distribution. 469 470 2001-12-01 Separated from object-relational mapping functionality. Moved 471 to DBIx::SQLEngine namespace. 472 473 2001-11-30 Began adjusting namespace for CPAN distribution. Fixed use of 474 AnyDBD to not require non-standard patch. 475 476 Version 0.001 477 478 2001-06-28 Use DBIx::AnyDBD for platform-specific issues. Moved 479 SQL-generation code from Table to SQLEngine. 480 481 2001-06-28 Ported some Criteria classes from earlier code into the new 482 SQLEngine class hierarchy. 483 484 2001-06-27 New version moved into separate DBIx::DBO2 namespace. Renamed 485 Adaptor to SQLEngine. Flattened class hierarchy; we're only going to 486 support DBI. Expunged old code. Switched to new Class::MakeMethods 487 distribution. 488 489PRIOR VERSIONS 490 DBO 491 492 2001-02-14 Reversed boolean sense of 'nullable' to 'required'. 493 494 2001-01-29 Fixed code to detect length and nullable column information. 495 496 2001-01-29 Added boolean required to store whether column is nullable. 497 498 2001-01-13 Added retry on "Lost connection to MySQL" errors 499 500 2000-12-22 Added new_with_contents constructor to Criteria::Compound. 501 502 2000-12-13 Substantial revisions to record set functionality 503 504 2000-11-29 Switched to use of Class::MethodMaker 2.0 features. 505 506 2000-03-31 Added SQL-string to execution failure. 507 508 2000-03-03 Adjusted clear_connection. 509 510 1999-08-18 Added MySQL tinyint column code 511 512 1999-07-27 Added use of DBO::Column package. 513 514 1999-04-21 Added explicit disconnect if existing connection's ping 515 fails. 516 517 1999-04-05 Added reconnect if can't ping server behaviour; add'l type 518 codes 519 520 1998-12-08 Cleanup of logging. 521 522 1998-12-08 Added parameter handling and on-demand class loading. 523 524 1998-11-01 Changed importing style for Class::MethodMaker. 525 526 1998-10-05 Revised. Rewrote POD. 527 528 1998-05-09 Moved connection behaviour from SQL Table into Adaptor 529 classes. 530 531 1998-03-16 DBAdaptor package (and subpackages) renamed to DBO::Table. 532 533 1997-11-18 Simon: Updated to current practice. 534 535 DBAdaptor 536 537 1997-09-24 IntraNetics97 Version 1.00.000 538 539 1997-08-20 Eric: Extracted DBAdaptor class from prior code. 540 541SEE ALSO 542 the DBIx::SQLEngine::ReadMe manpage 543 544