This is an automated email from the git hooks/post-receive script. gregoa pushed a change to annotated tag upstream/0.11021 in repository libsql-translator-perl.
at 661ead4 (tag) tagging 2fe1bdb0d6d9352883e689cc044df476537d5bdb (commit) replaces upstream/0.11020 tagged by gregor herrmann on Fri Jun 12 19:09:29 2015 +0200 - Log ----------------------------------------------------------------- Upstream version 0.11021 Aaron Schrab (3): Fix POD for Schema::Index::type method Avoid warning about exiting sub with next Add trigger support to PostgreSQL producer and parser (including trigger scope) Aaron Trevena (3): added triggers and procedures added expected trigger and stored procedure output fixed triggers Alexander Hartmaier (4): Fix Oracle producer creating numeric precision statements that the test case expects (no whitespace) added myself to the list of authors test + fix for Oracle multi-column constraint generation Fix Oracle producer Allen Day (82): added Class::Base preq an adaptor for postgres. this works, but i think my primary key and here is the pgsql test script. NOTE: it will not work right now b/c i've moving files around per ky's request added a serial->int auto_increment fix, a varchar->varchar(255) workaround. BUG. the parser cannot handle 'precision' as a qualifier for 'double'. this also applies to the mysql parser. i forget what i did, but i found more bugs. we need to be able to support 'varchar' turning off debugging in t/08 workaround to get auto_increment working from PG "serial" datatype. i didn't do this right, someone fix it :| adding callbacks to Translator.pm to allow mangling of PK/FK/table names/package names (CDBI specific) adding recognition of key type "key" for table indices. adding ClassDBI producer. asdf adding capability to give 'filename' constructor arg an arrayref. cosmetic changes to autogenerated code. adding graphviz dep adding a pg src file example low hanging fruit, please read the diff below some fixes to fk method name generation. failed to add nice m-to-m mapping method b/c added width and height options for graphviz out. no docs linktable traversal seems to be working! haven't tried the code yet, but it looks good. supposedly hasa()is deprecated in favor of has_a(). it was buggy move over bacon fk references in many-to-many mappings need to refer to table column names adding strict and quotes for barewords fixes for base DBI package setting db vendor based on $translator->parser_type(). had to fix up the format_pk_method (somehow it got broken, hmm...). commenting shortcoming aliasing ugly tablename_fieldname ref methods where possible (ie create them no longer using set_up_table method. it incurs an overhead penalty by making removing changes related to primary/essential/other categorization of fields. this moving reusable (useful?) code into schema classes more functionality in Table.pm, Turnkey.pm is broken (working on it...) firming up can_link() turnkey producer still broken, will try to get it working on the plane... adding dg classes to represent schema. these are currently dependent on moved graph generating code (except hyperedges) to Graph.pm, producer adding more XMI files. these are identical models in different XMI this is pretty stable, and is ( i think ) generating usable class::dbi fix for strange interpretation of 1liner oops, missing } we need to rely on the vendor set_up_table() method b/c ddl may not have cleanup for 0.03 release adding COMMENT processing to Pg parser ya removing hardcoded colors/styles to CSS transfering functionality from branch factored out more styles to css. atom macros are now focus-aware. fixing bugs on sf turnkey tracker merging patch from Dave Cash. description: added credit for dave cash individual tables now returned as a hash of separate tt2 templates, keyed return hashref instead of hash template files shall be lowercase add file extension no warnings for redefined methods fixes for code clarity more readable tag names improved element names uri->object mapping changing from GET params to URI path encoding bugfixes in Class::DBI method generation. they were caused by bad schema aeshetic fixes, largely. many graph introspection problems solved. method name generation is still updated turnkey regression testing schema. added comments RE what role add test data m2m FK link table import mappings now generate traversal methods. whew! no autocommit silence redefined warnings Class::MakeMethods prereq for Turnkey producer. almost working. there is a package name mangling problem where the lc the template files... flipflop some refactoring. moving to being able to call $schema->as_graph to do patch for parser/producer args courtesy of darren (w/ embellishments by me) Producer::Turnkey obsolete. now rely on TTSchema parser (see concommitant replaced by TT producer incrementing for next release *** empty log message *** fix to allow GraphViz to load -- someone who understands why this is needed please comment! changes to allow subclass tables identical to superclass backing out non-callback package mangling missed a spot Amiri Barksdale at Home (3): Fix CREATE VIEW syntax. Add test for DROP VIEW IF EXISTS Release 0.11010 Andreas 'ac0v' Specht (2): fixed alter_drop_constraint for foreign keys and applying multiple changes via alter_field to a column in Postgres Producer added a working mechanism for naming foreign keys Andrew Gregory (1): Provide default index names for SQLite Andrew Rodland (3): SQLite parser: handle named constraints, and don't choke on a comment Forgot to add the test data file for r1676 Fix SQLite producer create_view so it doesn't generate statements with semicolons. André Walker (1): Make MySQL producer add NULL for every nullable field Arthur Axel 'fREW' Schmidt (76): add shim for non-lethal future development tear out useless unreserve hash whitespace changes Quote everything in SQL Server Turn off constraints before dropping tables in SQL Server Make true unique constraints if needed in SQL Server Create and parse FK constraints in SQLite fix repo url rename Shim to ProducerUtils for accuracy ignore vim swap files Release 0.11008 Whitespace take out duplicate docs remove commented copyright use warnings our > use vars better error messages for the SQLite parser quote SQLite identifiers factor quote method out of Generator::Utils start of hardcore refactoring use future stuff for SQL Server field generation add comments, better default handling initial SQLite Producer object use future stuff for SQLite field generation factor out some basic constraints factor out unique constraints add foreign_key_constraint add enum_constraint less accumulators more reduction migrate table to Generator::Role::DDL delete dead code rearrange pod migrate drop_table to future dead add remove_table_constraints to future less accumulators more reduction refactor table into more methods add drop_tables method add header_comment add table_comments add foreign_key_constraints add unique_constraints_multiple and indices migrate almost all code to Generator::Role::DDL better lazify things migrate duplicated code into role setting the quote accessors separately no longer makes sense Default SQLite quoting to off until we are capable of disabling it everywhere assign copyright to my new files fix list of numeric types for SQLite fix sizeless types and typemap for SQLite fix excepted and scalarref quoting for DEFAULTS in SQLite (and SQL Server) FINALLY A RELEASE! Add missing quote function to SQLServer producer Release 0.11012 fix a test broken by ad071409cb8f526337abbe025a63aa1e67716165 release 0.11013 release 0.11013_01 release v0.11013_02 include Moo version in a single place add missing Changes release 0.11013_03 switch to Perl Licensing Release 0.11014 Fix stupid missing version number in SQL::Translator::Schema::Object release 0.11015 release 0.11016 add missing Changes release 0.11017 Revert "Fixed autoincrement in primary keys for SQLite" release 0.011018 🎃 remove default Pg dsn Fix DROP TABLE in SQL Server Producer Test against travis add missing Changes fixup! Test against travis Ash Berlin (36): Branch for diff refactoring MAss diff changes imported from Ash's local diff-refactor branch Some work on sanely normalizing fields Some SQL_TYPE mapping stuff Fix some more normalization problems Remove breakpoints Fix test Correct constraint names in preprocess for MySQL producer Move more normalization changes to preprocess_schema Added an 'alter sequence' line to the parser grammer which will simply skip over an alter sequence statement. Fix after typo in merge Add renamed_from to tables. Start transactions in a portable manner Work round MySQL/InnoDB bug http://bugs.mysql.com/bug.php?id=13741 Fix BEGIN in sqlite diff test Better tests (and fix bug) in batch alter with renamed tables + constraints Merging back Diff refactor Fix warning messages Document significance of preproces_schema method Add support for COLLATE table option to MySQL parser Allow DEFAULT CHARACTER SET without '=' (as produced by mysqldump) Fix drop indexes for uniq constraints Remove breakpoint Allow quote and other option to be passed to the producers. Fix false-diffing due to order of table options Fix suprious diff on cols with charsets/collates (MySQL) svk-commitdCGXq.tmp Only create views for mysql on v5 and up Removed source_db and target_db accessors from Diff (throwback to old version, only output_db is used) META.yaml is generated at build time and does not beling in the repo PgSQL diff patch from wries Since MANIFEST.SKIP is in svn, this file does not belong svk-commitTn2OH.tmp Fix tests! Move XMI stuff to branches/xmi since no one has worked on them and the tests have failed for years, and they've been skipped from dists for an equally long time Added semi-colon for (DROP|CREATE) TYPE statements in the Pg producer (wreis) Ben Faga (32): Applied Eric Just's changes to the Oracle producer. His comments follow: Added Class::MakeMethods to the requirements. Muffled a warning message, by changing '">&NULL"' (which I don't really understand) to '\*NULL' which is a nice pointer to the file handle opened in the line above. Fixed small error that was causing a test to fail. Removed the @_ from the import statement, since @_ contains the path(s) to the module and not subs to import. Added a couple things to the manifest skip file. New Manifest Added META.yml to manifest Added the header to the change file. Made the changes suggested by Michael Slattery. Made the column size undef if the data type is text of blob and made some other minor changes. Changed references to on_delete_do to on_delete and on_update_do to on_update. I tried to keep it backwards compatible. Made some changes suggested by Michael Slattery to fix table level comments. Also added in field level comments. Changed the second "my $h" to just "$h" because it was throwing warnings. Removed the line that declared YAML to be the producer. This stopped the YAML warnings from ./Build test and didn't seem to affect anything else. Applied changes submitted by Paul Makepeace <sourceforge....@paulm.com>. Applying the patch submitted with this bug report Fixed a problem with the trigger_steps where it used to expect a string when it was getting an array. Applied patch sent in by Daniel Westermann-Clark on Oct 11 2006. Added a semicolon at the end of the create trigger definition because SQLite seems to require it. Updated version number and Change log for recent patches. Applied Hilmar's patches. Committing patches sent by Florian Helmberger. Here are his remarks: Fixed a problem where the deferrable definition required to have a "not". Changed the name of unnamed foreign key constraints to TABLENAME_fk. Allows schema-qualified table names. Added fixes submitted by Peter Rabbitson: Added an 'alter sequence' line to the parser grammer which will simply skip over an alter sequence statement. Added a select section to the parser. This is to handle function calls that Applied patch submitted by Nathan Gray Support uppercase foreign key target-columns. Sent in by Daniel Boehringer Made change suggested by Daniel Böhringer to allow "ID" integer DEFAULT nextval(('"AlleStudien_ID_seq"'::text)::regclass), to parse properly Applied patches written by Nigel Metheringham. His notes follow. Brian Cassidy (1): Normalize Changes file to CPAN::Changes::Spec Brian O'Connor (30): The Turnkey package is based on the ClassDBI package (1.35) and includes functionality needed by the Changes for Turnkey Atom class creation. Right now DBI and Atom classes seem to be created correctly with the Turnkey producer. The Turnkey producer now uses the latest head on SQLFairy. There may still be some bugs but the autogeneration seems to work OK. Fixed problem with rendering atoms in Turnkey Producer. Fixed problem with Turnkey producer where the db connection string wasn't passes to the templates while generating the DBI output. Search string in DBI output was fixed to escape @_ in template. Added a method based to the template to correctly reformat module names to include cap chars after a '_' in the Turnkey producer embedded templates. Added a method based to the template to correctly reformat module names to include cap chars after a '_' in the Turnkey producer embedded templates. Fixed a problem for the Turnkey producer where the atomtemplate is not fully dereferencing the hash containing the field data. Fixed a possible infinite loop problem where the primary key accessor calls itself in the Turnkey producer. An update of the Turnkey producer to output with better css support. May be slightly broken, there've been lots of changes to this file lately for both layout and the schema object. Updated the Turnkey producer to correctly read the db values in the atom object layer. removed xlink tag Updates to the Turnkey templates for atoms, tt2 templates, and xml Updated a problem with the Turnkey template producer Fixes a bug in the way the Turnkey producer's macro.tt2 output renders minor focus panels. Added dumper method. Updated heredocs to not be interpreted. Fixed bug in Data::Dumper statement Updates for dump method. Removed some character escape problems with the Turnkey producer. Modified the Turnkey producer to correcly output URLs. This method will need to be updated once we start URL link corrections Updates to the Turnkey class bindings, will need to be revised later when we switch to search on it's own handler. Changes to the Turnkey producer related to soap output, AutoDBI output, and comment syntax. Updates to include special comments for Atom and Model classes to make Correctly produces settings file for soap Turnkey components. Changes to the Turnkey producer to better support IE. Modifications to the Turnkey producer to support file split in the Turnkey install process I needed to be able to pass in additional information to the templates (beyond the schema object) CVS2SVN (1): This commit was manufactured by cvs2svn to create branch 'darren-1_0'. Cedric Carree (5): Create unit test for ::Parser::DBI::PostgreSQL, fix parser namespace lookup Patch to get correct SQL data types from Postgres Fix index issue in Parser::DBI::PostgreSQL get Postgres table and column descriptions SQLT::Parser::PostgreSQL parses table def with default values Chris Hilton (82): A DBI Parser for SQL Server, mostly copied from DBI/Sybase A Parser for SQL Server, mostly copied from Sybase parser and geared toward working with SQLServer Producer output Added mapping of ODBC connections to DBI-SQLServer parser Added comments lines to test data forworking with new YAML Producer output Added collate and 'on update current_timestamp' field qualifiers Added character set, on update, and collate field qualifiers to field definition output Added to fields that do not require size argument Additional tests for new parser capabilities Added Data::Compare module to requirements list Added equals function for base equality testing Added equals function for equality testing Added case insensitivity option to get_table() Added additional tests for sqlt-diff A whole lot of changes, but major additions include adding diffs for table options and constraints Modified _compare_objects() to use ref_compare from Class::MakeMethods::Utility::Ref instead of Data::Compare. It seems more reliable and comes in a package we already require. Removed Data::Compare from requirements list Modfied fields() to return empty array when there are no fields Modified equals() to get scalar references to fields for comparison Fixed bug in equals() to exhaustively search sets of indices and constraints Fixed bug to exhaustively search for equal constraints and indices Slight adjustment to parsing of identity/auto-increment field qualifier Made sure defined scalar references are passed to _compare_objects(). Removed is_valid comparisons from equals(). Modified test text to reflect that fields() now return empty strings instead of undef when there are no fields If a DSN is defined but no 'from' db type given, we infer the 'from' type is DBI Re-arranged to put null/not null before default value; looks and parses better Removed '#' and '--' comments from being included in table comments; they aren't part of the schema and hose the schema diffing Removed auto_increment from a field's extra attribute; it's already saved in is_auto_increment and this prevents it unnecessarily showing up in the field's comment when producing MySQL Fixed case-insensitivity matching for SQL Server and field names It helps if you use the correct version of the case-insensitive field name you're trying to return Removing foreign key check from field equality; foreign key inequality is better caught with the constraint check Modified "create anything else" rule to not include table and index creates so any syntax errors in those are properly caught Added negative sign possibility to default number values. Use the overload::StrVal method to check if references are the same instead of the possibly overloaded stringify Modified equals() to include type check, stringify field checks, and more case insensitivity when required Modified equals() to include case insensitive data type checking and removed is_unique check (better caught by a constraint check) Modified equals() to include more case insensitivity when required Modified equals() to stringify field checks and use more case insensitivity when required Added some constraint tests Various tweaks to produce Oracle diffs Adding non-zero exit status if differences were found Parser changes to accomodate function-based indexes and optional size modifier for data type Fixed preservation of function call as field in function-based indices Minor refactor to avoid uninitialized value warning Fix field default value output bug I introduced Added 'default null' parsing Added ON DELETE and ON UPDATE clauses to FK output Fixed up ON DELETE parsing for FKs Removed conflict markers Added tests to catch Oracle problem with parser being reused Modified parse() to instantiate a separate RecDescent parser like other Parsers do Ignore Oracle system constraints on source DB schema, also Get SQLT version dynamically Remove row requirement for returning indices Added MySQL 5.0 DELIMITER functionality Added test for delimiter functionality and multiple comments on a line Fixed passing references to GetOptions Added comment to diff output if target database is not one of the few, the proud Added linefeeds so beginning of create view/procedure statements don't end up commented out Slight change to comment parsing to allow asterisks in comments Tweak previous comment parsing tweak for multiple lines Changed Constraint.equals() to ignore ordering of fields and reference fields Added options to sqlt-diff to ignore index and/or constraint name differences Don't test is_valid in equals() Skip constraint and index comparison shortcuts when ignoring the relevant names Corrected index parsing on Oracle so every index is not a unique constraint Added output-db option Made fields check in equals() ignore ordering Added output_db option Helps to actually pass the output-db option Added GO to output after views and procedures Added cursory parsing of procedures, functions, and views (oh my!) Removed mistakenly checked in debug code Hacks for comparing sql attribute in equals() to ignore unimportant differences Added diff comparison of views and procedures Small change to ordering of view and procedure diffs Removed unused rules procedure_body and view_body Added cursory parsing of view, functions, and procedures (oh why!) Added mysql-parser-version command-line option Added cursory parsing of views and procedures Added options for ignoring the differences in SQL for views and procedures Added command-line option for MySQL parser version arg Ignore views and procedures with no text (weeds out exatraneous results from SQL Server 2005) Chris Mungall (4): *** empty log message *** fixed parsing of Pg COMMENT ON ... syntax throws error if a comment is placed on a non-existent column new: makes tables in latex format Colin Newell (1): Simple change to make Postgres simple array types produce correctly Dagfinn Ilmari Mannsåker (130): Ignore editor droppings Mooify SQLT::Schema Mooify SQLT::Schema::Index Use 'isa' checks for attribute validation Mooify SQLT::Schema::Table Mooify SQLT::Schema::Procedure Mooify SQLT::Schema::View Mooify SQLT::Schema::Trigger Mooify SQLT::Schema::Constraint Mooify SQLT::Schema::Field Remove unused base class Filter undef from all constructor args Remove unused variables and module import Remove pointless DESTROY methods Use weak refs for schema object attributes Rename non-schema-specific roles to SQLT::Role::Foo Reinstate schema object base class Make SQLT::Role::Error internals closer to Class::Base Fix broken reset attempt Mooify SQL::Translator Factor list attributes into variant role Use quote_sub for trivial defaults Check Moo version at runtime Use quote_sub for trivial coercions Wrap some over-log has statements Document new roles, types and utility functions Add enum type Add Changes entries for mooification and leak fix Carp instead of dying if arguments are passed to read-only accessors Add carping wrapper to SQL::Translator->schema as well Make read-only SQLT::Schema::Table attributes carp instead of die Add missing List::MoreUtils dep Allow passing an arrayref to SQLT->filename Fix POD wording Use the API to access extra attributes Clean up properly after Parser::DBI::PostgreSQL tests Use accessor for table options in MySQL producer Don't reimplement perl's built-in default behaviour Fix typos in error messages Document append behaviour of options setters Merge branch 'patch-1' of https://github.com/dsteinbrunner/sql-translator Fix typo Remove documentation for field moved to role Add missing attribute name in header Fix typo in synopsis Fix incorrect module names in conditional plan Add myself to AUTHORS Fix confusingly erroneous variable name Fix Pg DBI parser test Add .mailmap entry for Ash Berlin Stop Makefile.PL hanging at prompts under Travis Install author-mode configure reqs in Travis Install DBI as well in Travis Install optional test deps in Travis Don't install Text::RecordParser, it's broken Add Changes entries for 6c77378 and 1fb4f40 Fix handling of views in MySQL DBI parser Install XML::Parser in Travis, it's used by t/05bgep-re.t Test Parser::DBI::PostgreSQL in Travis Set all the env variables in one "env" entry Switch t/13schema.t to done_testing Test Schema::Table->is_trivial_link and ->is_data Install Graph::Directed and GD to test Producer::Diagram Output the build log on cpanm failure Install the libgd development package Ignore Devel::Cover output Use a schema with FKs for diagram testing Fix and extend link table tests Add 'use warnings', test case-insensitive ->get_field Switch to @haarg's perl-travis-helper, add 5.20 and blead Use my fork of the helpers, for debugging Die instead of warning if roundtrip regen fails Actually install Devel::Cover Propagate switches when running perl in tests Add Changes entry for SQLite diff fix Add Changes entry for numeric field default fix Clean up Pg batch alter test Fix POD syntax for PODed-out code Document producer_args in SQL::Translator::Diff Fix argument documentation for preprocess_schema Factor out calling of normal diff-production functions Add Changes entry for Pg diff fix [merge] Batch alter support for Pg and refactoring release 0.11019 Fix test failure if Test::PostgreSQL is installed but not working release 0.11020 Skip HTML tests if CGI is not installed (RT#98027) Fix broken POD links found by App::PodLinkChecker Fix undef warnings from Text::ParseWords when running tests with -w Add IRC metadata and update repository and bugtracker URLs Update help/support and contributing POD section Fix JSON and YAML tests if the defaults have been tweaked (RT#98824) Switch back to upstream Travis helpers Install YAML and XML::LibXML before build-dist Install YAML and XML::LibXML in the perl used for testing too Switch back to my travis helpers fork Factor out quote option handling Clean up option parsing and identifier quoting in Producer::PostgreSQL Clean up option parsing and fix identifier quoting in Producer::MySQL Fix handling of quoted identifiers and strings in Parser::SQLite Fix handling of quoted identifiers and strings in Parser::MySQL Fix handling of quoted identifiers and strings in Parser::PostgreSQL Fix handling of quoted identifiers and strings in Parser::SQLServer Fix handling of quoted identifiers and strings in Parser::Oracle Escape the closing quote character when quoting indentifiers Test table and field names with quote characters in them Escape quotes in string values in producers Test round-tripping default values with quotes and backslashes Test round-tripping decimal default values Test quotes in field comments Quote table names in 'SHOW CREATE TABLE' in Parser::DBI::MySQL Add Changes entry for quoting fixes Merge branch 'quoting-fixes' Handle ALTER TABLE ... ADD CONSTRAINT in Parser::Oracle Add support for triggers in Parser::Oracle Narrow the scope of Oracle roundtrip TODO Merge branch 'oracle-fixes' Call close as a function rather than a method Remove executable bit from Parser/JSON.pm (RT#100532) Update the Free Software Foundation's address (RT#100531) Fix quoting of trigger name and table in Producer::PostgreSQL Remove redundant entries from Producer::PostrgeSQL's type mapping Fix clob type translation in Producer::PostgreSQL Translate MS Access memo type to text in Producer::PostgreSQL Fix SQLite diffing on perl 5.8.1 Add Changes entry for 5.8.1 SQLite diffing fix Fix multi-column indexes in Parser::DBI::PostgreSQL Switch back to upstream travis-perl-helpers Fix array types and multidimensional sizes in Parser::PostgreSQL release 0.11021 Daniel Ruoso (14): waiting for patch to be applied implements options in oracle indexes Fix weird bug, caused by a double evaluation in ternary if producer_args->{delay_constraints} can be used to add primary keys later Document delay_constraints producer_args option Define a name for pk constraint when delay_constraints is on Declares the new tests in the MANIFEST, remove useless warnings Test for oracle alter_field alter_field implemented. alter_field test Pass. Including new test and test data into MANIFEST Fix ORA-01442: column to be modified to NOT NULL is already NOT NULL Small fix in delay_constraints (missing ;). Adding tests for Oracle->add_field Implemented add_field, only the field is added, nothing more for now. Darren Chamberlain (147): Many, many changes. Changed the basic assumptions about the module. Reverted to a version 1.1, due to botched branch attempt. Another attempt to check in a branch. Updated to work with my updated API. Added test data in groovy hierarchical directories. Added copyright notices to top of files. Added MANIFEST, MANIFEST.skip, and Makefile.PL Added files. Added note of a bug Changed many assumptions about the test. Updated docs, especially detailed internal API docs. Changelog file. Automatically generated by cvs2cl.pl Changed some of the basic assumptions. This was a synmail test. syncmail test. Automatically generated by cvs2cl.pl Added Pod::Usage as a prerequisite Modified POD to include a complex description of the format of the data structure returned by parse. Changed name of translate method to produce, to be consistant with Producer API. Added __END__ token. Updated $VERSION to be CPAN-compliant. Broke the 1 test out into 11 different tests, each one of which tests a specific part of the data structure returned by parse. Turned off SQL::Translator::DEBUG. Removed warns and debugging, so this test will actually pass when run as part of make test. Removed comment lines (the parser chokes on these, I think). Added some basic files, removed unused data file (the contents were moved into the test that used the data). Updated filelist Re-added Accidentally PREREQ_PM'ed XML::Writer instead fo XML::Dumper Test changes Removed in anticipation of a merge. Merged changes from darren-1_0 tag into HEAD branch (hopefully!). Automatically generated by cvs2cl.pl Added 'order' to data structure description Added test structure. Added extra files to MANIFEST.skip. Updated MANIFEST. Added CSV parser and a test. Added support for producer_args and parser_args. Added MySQL producer (still in a pretty alpha stage, only barely functional). Added generation of PRIMARY KEY and KEY clauses to CREATE statements. Fixed some typos, added some basic re-logicing (is that even a word?) Shitload of changes. Still passes all tests, such as they are. Subclasses Class::Base. Removed error_out, error, in favor Class::Base::error. Changed error_out usage to error Added list_parsers and list_producers methods, in response to <Pine.LNX.4.44.0211211124100.4042-100000@localhost.localdomain> Added some comments (comments?) Updated an example to make it happier. More generic clean macro Moved MANIFEST.skip to MANIFEST.SKIP MANIFEST.SKIP takes a regex, not a list. Some of the .pm files weren't in the MANIFESt. Documentation fixes; added Chris' name to copyright notice; updated copyright year. Added SQL::Translator::Producer::Raw to MANIFEST. Removed extra unused junk. Set $DEBUG to 0 by default. Moved all POD to the end of the module, to make it easier Did you forget what year it is, Ken? Added new files to MANIFEST. Added t/08postgres-to-mysql.t Some doc changes; added Allen to AUTHORS section o Added bin/auto-dia.pl to scripts list A README, which is required by CPAN. Added Utils package with debug method, shared between MySQL and SQLite producers. Added SQLite producer and Utils. - load now sets $ERROR on failure. Hey, this could never have worked as advertised. *blush*. Why make these globals? And again, with the globals. Yeesh. Added stub test. Added missing stuff. Remember folks, anything not in MANIFEST will not be part of a distribution! Added Spreadsheet::ParseExcel Moving tests to Test::More Updated README to reflect changes to SQL/Translator.pm POD. Let's check before we assume this is a ref, eh? Added normalize_name function, which normalizes names. Primarily needed by the Excel parser. Attempt to be more robust.lib/SQL/Translator/Validator.pm Forgot to add this yesterday. Added header_comment function; see docs for details. Added refactored comment producing using header_comment. Test file for header_comment function from SQL::Translator::Utils. Added Schema and some more dependencies Doc changes (use C<> instead of B<>) Updated XML test. Uses XML::Writer instead of aggregate() and a global. Updated README via perldoc -t lib/SQL/Translator.pm Trim whitespace from arrayref elements as well as array elements; see <pine.lnx.4.50.0305121004300.32235-100...@oakhill.homeip.net>. Slightly more paranoid version of parse_list_arg -- check length as well as definedness. Initial import of Jason Williams' SQL Fairy logo. The $DEFAULT_SUB was still looking at $_[1], and not $_[0]->schema Added "use Class::Base;" declaration to go with use base statement. Some simple cleanups. .cvsignore Oops, haven't added these yet. Addressed Ken's concerns -- versions remain .02f floats. Made Test::Differences mandatory, since tests fail without it. Added the new files Added some email addresses. Typo alert! PODified smelto's email address. Fixed pod oopsie Updated MANIFEST. Forgot to add my new test, and made the use of CGI vs. CGI::Pretty more consistent. Typo fix. Tabs suck! Die 0x09, die! Removed definedness check for file-based data, for the DBI-based parsers, which will not pass a data or file element. SQL::Translator::Shell - and interactive Schema browser. This is a placeholder commit. Command-line wrapper for SQL::Translator::Shell. Basic test for SQL::Translator::Shell Added YAML parser, producer, and basic test. All need more work! Added YAML stuff A better YAML producer, actually using the YAML module. Updated test Work in filter mode -- accept data on standard input. Context fix. Rar. Made $0 a little nicer. Added index view. Dunno if it works. :( Slightly more verbose error reporting. Small pod fix. Almost all elements have consistently named classes, rather than HTML producer test. Uses HTML::Parser. Sorted. Added a few missing items. Updated YAML test. Brought the test up to date with some recent changes. Added a libscan to supplement the default libscan. sqlt-diff test (very basic) Bring tests to passing. Added explicit unlink of the temp file; it wasn't always being deleted. quotemeta for directory names. See https://rt.cpan.org/Ticket/Display.html?id=4505. Stifle undefined variable warnings. Fixed 'useless use of constant in void context' warning. Robustify the tests a little. More TODO items. Reverse order of the Changes file, so that recent Changes are at the top. More TODOs Remove all those subroutine redefined warnings. Just the fairy. Integrate Dave Cash's changes. Added blibdirs, which recent MakeMakers create. Make SIGN conditional based on MakeMaker version. POD update. Will someone just frickin' fix XML::Writer already? Added maybe_plan function. Update tests to use maybe_plan. Removed 01test.t Readding, at kyc's request. DOAP for SQL::Translator Original artwor, courtesy of Jason Williams Moved to htdocs module Removed doap.rdf from MANIFEST, since I removed it from CVS a few days earlier. Merging patch from ddascalescu+p...@gmail.com, for https://rt.cpan.org/Ticket/Display.html?id=44769. I've not tested it. Revert last change becuase it broke a bunch of tests. David Steinbrunner (28): typo fix typo fix typo fix typo fix typo fixes typo fix typo fixes typo fix typo fixes typo fix typo fix typo fix typo fix typo fix typo fix typo fix typo fix typo fixes typo fix typo fixes typo fix typo fix typo fixes typo fixes more typo fixes typo fixes typo fixes typo fixes Devin Austin (1): added kaitlyn's patch for mysql->sqlite translation Earl Cahill (3): initial adds for the oracle dbi parser and a simple test to make sure the use works adding in Oracle driver support and making the DRIVER keys alphabetical :) -O::Is, accidentally committed some debug, thanks to Darren Chamberlain [d...@sevenroot.org] for pointing it out Fabien Wernli (12): test I'm not committing to trunk instead initial things don't look at this yet text -> varchar2(4000) instead of clob, get rid of reserved keywords, import oracle_version from DBD::Oracle missed some quotes and added tests to avoid that missed some quotes and added tests to avoid that double and float thou shall now be float fix committed tests text back to clob I'm not to be trusted with the chainsaw add to changes float doesn't need to be forced to 126 either Fabrice Gabolde (1): Support for SET NULL, SET DEFAULT and NO ACTION in foreign key clauses for SQLite. Florian Ragwitz (1): PostGIS functions are case-sensitive Gavin Shelley (1): TTSchema doc fixes Geistteufel (2): quote reference_table add quoted reference to check if the table name contain a full declaration, it quote it properly Gudmundur A. Thorisson (1): Changed max_id_length to 62, from previous 30, since PostgreSQL now allows Jaime Soriano (2): Bit size can range from 1 to 64, test added for size greater than one sqlt-diff arguments parsing reimplemented using Getopt Jaime Soriano Pastor (6): Default bits and double quoted strings are parsed now MySQL parsing fails if a table is defined more than once in the same file, if not, indices are messed up Names accepted (and ignored) as types of primary keys in create tables Name of unique keys are not written if empty Integer default sizes are one point smaller if they are unsigned sqlt-diff option to quote names Jess Robinson (86): New column_info definition, correct nullable Add Triggers DB2 P::RD grammar DB2.pm the first Drop functions produce DB2 tables Initial devision of sqlt-diff: Most of the functionality into a module Use DB2 Parser DB2 producer tests More DB2 producing Producers can now return individual statements as s list, if wantarray set Added quote-field-names, quote-table-names options Recognise & skip DROP statements when parsing Document producer methods Produce either a list of statements or a string Update Trigger to insist on a valid table for on_table Add tests for new alter_field, add_field, drop_field methods Typo fixing SQLite and YAML tests broken, fixed Allow skipped insert statements and trigger bodies to contain quoted semi-colons Add test to prove insert statements with quoted semi-colons can still be skipped Fix mysql_table_type .. (where did this go, or why was it not there?) Improvements to MySQL producers foreign key and comment handling Lots of Pg Producer tests, some other fixes Splitting of MySQL, Postgres and SQLite producers into sub methods Move Template into reccommends for now Changes for 0.08_01 Build files for 0.08_01 Add timestamp tests, make postgres produce timestamp(0) if asked Add quoting support to the mysql producer, thanks ash! Fixed up tests to accommodate new DB2 producer changes and sqlite tests to not test for comments. Default auto-inc fields to start at one, and increase by one Support Pg timestamp type followed by an optional size, which denotes the type of timestamp Fix typo, no_comments arg wasnt getting passed. Thanks Penguin! Also collect function objects. Thanks Gordon! Make TTSchema work with TT 2.15, somehow Remove strange manifest entry Add default timestamp support to Postgres producer Make the DROP commands a separate item in arrary context (mysql producer) Fixed tests for mysql producer changes Upped version to _03 Update TODO file Cascade drop pg tables to overcome key constraints when dropping Update changes, oops Patched mysql producer to name constraints sanely Fix bug in YAML test Fix to not test while TT is broken Ignore all TT test while TT is broken 0.0899_01 diffing fixes Only run test if Graph::Directed installed Update oracle producer, patch from plu. Fix syntax for index dropping in sqlite producer Oops, fix tests for fixed syntax Update changes/version for 0.0899_02 Add DBI dep (oops) Update changes with latest release date 0.09000 not 0.0900 (cpan gets confused if numbers go downwards) Added support for proper enums under pg (as of 8.3), with pg version check, and deferrable constraints Updated change file Add support for proper boolean fields in the mysql producer, as of v4.x Applied patch from Ryan to uniqify index names sanely for the mysql producer Make Schema::Graph only load if "as_graph" is called on a Schema object Patch from ribasushi: Correctly graph self-referential constraints Added patch from groditi adding SET type support to the mysql producer Add views to mysql producer, thanks groditi Added patch from groditi to support views in sqlite Added patch from wreis, view support for pg producer Add target_db to diff test as it was producing warnings.. Enormous patch from Peter Rabbitson making mysql version parsing saner and adding tests for it. Updated authors/Changes Update mysql producer test to saner field names, Peter R. Pg views and sqlite views, patch from wreis By royal decree, produced statements in list context shall not end in a semi-colon, or any newlines! (They may contain newlines) Skip on newer Spreadsheet::ParseExcel lukes' patch: drop if exists under sqlite 3.3+ Now supporting scalar refs as default values! (rjbs) Missed file from default-value-improvements commit Patches for/with jgoulah: Default sqlite_version so we dont get uninitialised errors when calling from ::Diff Patch from rbo to support multiple database events per trigger Patch from jgoulah for mysqls UNION (merge engine) option Support for temporary tables in Pg, from nachos Changes + Reverts for 0.11000, see Changes file for info Released 0.11007 Update to version 0.011009 Add geiststeufel to the AUTHORs list Johannes Plunien (17): delayed adding semicolon in oracle producer using unreserved table name for drop statements in oracle producer ensure to not exceed max allowed size for oracle data types add semicolon to CREATE TRIGGER after END which i have removed before accidentally using unreserved table name for FK alter statements in oracle producer updated Changes triggers may NOT end with a semicolon If wantarray is set we have to omit the last "/" in this statement so it can be executed by DBI->do() directly. added notes about changed behaviour when calling oracle producer in array/scalar context Skip tests for buggy Spreadsheet::ParseExcel versions (rbo) fixed 51-xml-to-oracle.t fixed *old regex, added *tar.gz regex in MANIFEST.SKIP removed semicolon from CREATE VIEW in oracle producer added release-date to Changes Translate bytea to BLOB in MySQL producer. This fixes a few tests of DBIC if you run the full test-suite against MySQL instead of SQLite New method to clear out extra attributes MySQL producer skips length attribute for columns which do not support that attribute. Currently following column types are added to that list: date time timestamp datetime year John Goulah (6): add support for a skip option to the parser added ignore_opts parser arg to ignore table options add param to _apply_default_value so that certain values can output without quotes needed to tighten up regex added in last commit reverting r1413 and r1414 in favor of passing a scalar ref to parser which the producer outputs correctly without quotes added parser support for MySQL default values with a single quote John Napiorkowski (1): fix for when we are adding /dropping columns in sqlite and need to roundtrip via a temp table Jon Jensen (1): Add JSON parser and producer modules Jonathan C. Otsuka (4): Adding DECIMAL_DIGITS to SQLServer size field for scale info: http://msdn.microsoft.com/en-us/library/aa258832(v=sql.80).aspx Revert "Adding DECIMAL_DIGITS to SQLServer size field for scale info: http://msdn.microsoft.com/en-us/library/aa258832(v=sql.80).aspx" Quote table_name to fix tables using reserve words as their name Add DECIMAL_DIGITS to SQLServer size field for scale info Jonathan Otsuka (1): Honor supplied field order when adding fields to a table object Jonathan Yu (21): - Updated GraphViz producer module per the modifications discussed on the sqlfairy-developers mailing list (http://www.mail-archive.com/sqlfairy-developers@lists.sourceforge.net/msg00223.html) - Minor documentation changes. Namely, noted that the index types are stored internally as uppercase; this is the only way to ensure the Producer modules still work properly. Since Oracle understands a double precision floating point type, I added "double" to the ora_data_type file. - Added a show_index_name parameter which determines whether index names should be shown. If false, then the module will just print a list of tuples of indexed fields. - Fixes a bug where _apply_default_value is not found (due to it being part of SQL::Translator::Producer); does this by simply making this PostgreSQL producer a subclass of the SQLT::Producer base. - Add support for 'extended' friendly ints (the nonstandard extensions provided by MySQL) - Fixed POD producer - Added some stuff to MANIFEST.SKIP - Some minor cosmetic changes - Added myself to the AUTHORS file - Added myself to the SQL::Translator file as an author - Merged some changes by myself, and also from ribasushi - Updated copyright, added myself to contributors list Added a Module::Build::Compat 'passthrough' Makefile.PL - Removed use of $Revision$ SVN keyword to generate VERSION variables; now sub-modules are unversioned. Changed show_index_name to show_index_names to make it better match the other options Reverted VERSION so it was no longer dependent on $Revision$, the semantics of which are different under SVN Applied patch to switch dependency on XML::XPath to XML::LibXML (Closes: RT#32130) fix a bunch of spelling errors, and add whatis entries (these are applying patches from Debian) Remove copyright headers from individual scripts Revert my previous changes (rev 1722 reverted back to rev 1721) Justin Hunter (1): address some issues with Pg producer and quoting Ken Youens-Clark (714): Initial checkin. Fixed a lot of little things in modules, docs, etc. Bugs in sql_translator.pl. Added PostgreSQL producer. Rolled in Darren's new list_[producers|parsers], lots of cosmetic changes, Fixed spelling of "indices" in various files, finished adding all of Tim Added "show_warnings" and "add_drop_table" options to sql_translator.pl and Added a rule to MySQL parser to disregard "DROP...;" statements, filled out Fixed a bug in Oracle producer that allowed for identifiers longer than the Fixed problem with truncating an identifier when it was exactly the Fixed bug where it was truncating table name needlessly. Added "Raw" to be able to get to raw parser output. Added "auto-dia.pl" script for generating ER diagrams. Added fulltext index. Made it better. Lots o' bug fixes. Added "join-pk-only" option. A working PG parser! Mods to handles FK references. Added some documentation to PG and MySQL; the "eofile" rule to MySQL. Added production to field rule to handle embedded comments. Deleted "index" rules, allowed fore and aft comments in fields and Added more rule (alter table) to be able handle Chado schema. Handle "on [delete|update] action" differently Some minor mods to POD. Added SQLite producer, basic knock-off of MySQL producer, made some mods Added code to kill field qualifiers in index field declarations. Added font options, made default font size 'small' instead of 'tiny.' Added mark for unique constraint and legend to explain extra markings. Added color option. Added options for natual joins only, made code work with proper FK Got foreign key references basically working now. Added grammar for "REFERENCES" (foreign keys). Shortened "natural-join-fk-only" option to "natural-join-fk," Adding "auto-graph.pl" to automatically create graphs (via GraphViz) from Some syntax fixes, package name was wrong, added Mikey's name to AUTHORS. Hey, new Oracle parser! Small fix. Added Oracle parser to MANIFEST. Fixes to help with Oracle data types, also fixes with table constraints. Fixed error for: "Use of uninitialized value in string eq at Moved all the real code into a module so this script now just uses the new Minor cosmetic changes. Adding new GraphViz producer. Cosmetic changes to keep the coding style consistent. Moved most of the code into a new "Diagram" producer. Adding new ER diagramming producer. Fixed bug (illegal div by 0) if "no_columns" wasn't numeric, also fixed Adding new CGI script front-end for GraphViz and Diagram producers. Added defaults to arguments. Added new files. Fixed error that was preventing MySQL parser from working with Adding new schema test, commiting fixes to MySQL parser test. Adding new objects for handing schema data. Not being used while I work More changes to getting the schema to a working state. Not much to say ... just trying to get this working. Using some of the rules from the PG grammar to make mine better, cleaned Trying to add tests as I write methods, so lots of new stuff to mirror Adding a new PG parser test. Added the requirement of Parse::RecDescent 1.94 or later, added Fixed an error in default value regex that disallowed a value like "00:18:00". For some reason, "t.pl" was still in there. Fixed error '"my" variable $wb_count masks earlier declaration in same scope at blib/lib/SQL/Translator/Parser/Excel.pm line 68.' Fixed error 'Use of uninitialized value in string eq at blib/lib/SQL/Translator/Producer/MySQL.pm line 164.' Fixed error 'Use of uninitialized value in repeat (x) at blib/lib/SQL/Translator/Producer/XML.pm line 110.' "size" of a field needs to be an arrayref as it could be two numbers (e.g., Changed to use Test::More, cleaned up syntax. Still pretty useless. Fixed error 'Use of uninitialized value in pattern match (m//) at blib/lib/SQL/Translator/Schema/Field.pm line 144.' Too many changes to mention. Too many changes. More changes to keep up with code. Added mods to pass parser_args for xSV parser. Updated to use Text::RecordParser and added scanning of fields, more Updated tests to match new code. Added Text::RecordParser 0.02 pre-req. Minor fixes to primary_key method. *** empty log message *** Passing schema object now as third argument. Made "order" a property of the table and view objects, use a Schwatzian Added oft-used "parse_list_arg" sub for Schema classes. Playing around with new schema object. Added passing of schema arg. Removed warning. Added "match_type," use "parse_list_arg," added DESTROY. Playing with constants. Added use of "parse_list_arg," changed "nullable" method to "is_nullable" Use "parse_list_args," added "options" (still vague on this), set a default Use "parse_list_arg," put field order into field object, added "order" Use "parse_list_args," added "fields" method, changed validation, break Lots of changes to reflect library mods. Lots of changes to fix merge. Modified to call translator to get schema rather than passing. Don't pass schema, let others call for it. Since "true" is the default for trimming and scanning fields for the xSV Change to avoid warning of "use of unitialized value." Added Sybase producer to MANIFEST. Cosmetic change in POD. Addressed a few style issues to make it like the other producers (use Changed grammar to bring it more inline with the official MySQL YACC Added more tests. Fixed bug with initialization. Added default field sizes for numeric fields if not specified, removed More work on default field sizes for numerics. Added a few more tests. Added rules to catch common (but useless) statements. Added ability to manipulate height, width, and whether to show the field Added options for height, width, and showing field names. Added better options for accepting height and width, changed default node Changes to grammar to clean up, moved primary key defs and unique keys Fixed parsing of field size for float values. Moved some code around to get methods in alphabetical order. Moved some code around to fix ordering, convert "type" to match what's Added parsing of default value on init, added "extra" method for misc field Moved some code around, fixed some POD, added checking of existing Fixed up some POD. Changed tests to use the Schema objects instead of looking at the data Added tests for $field->extra. Changed tests to use Schema objects instead of data structure, added more The test schema actually had incorrect syntax, so I fixed that; changed Now that the PG parser is using the Schema object, a previously uncaught Changed $table->primary_key not to return an error if there is no PK, Added a lot more tests, now using the Schema object. Added new Oracle parser test. Added a better quote; quit putting FKs at field level (only at table); fixed Quit putting PK defs as indices, cosmetic changes to grammar, remove quotes Cleaned up code (mostly cosmetic), added normalization of column name, Removed Sybase parser because it's complete broken. When this works, we can Changed "FULLTEXT." Changed constant to a hash to avoid silly Perl errors about it being Changed constant to a hash to avoid silly Perl errors about it being Added parsing of comments on init, added "comments" method. Added comments method and parsing on init. Added sorting of tables, other cosmetic changes. Fixed test numbers, removed unnecessary code. Fixed test numbers. General clean up to make it more like other tests. General clean up to make it more like the others. Added "use strict;" General mods to make it like others. Added Oracle parser test. Removed unnecessary backslash-escapes of single quotes, reformatted spacing Changed to use schema objects. Cleaned up "translate" hash a bit, changed to use schema objects now, Changed to use schema API. General cleanup, changed to use schema API. Expanded "translate" hash, changed to use schema API. Some cosmetic changes, changed to use schema API. Removing "Raw" producer as it's unnecessary now. Removed "Raw" producer. Small change to comment. Small changes to comments and size methods. Added "alter" to be able to parse output of Oracle producer, other small changes. Minor change to affect context. Removed debugging warning. Added rule to catch a default value given just as "null." Added "is_unique" method to determine if a field has a UNIQUE index. Added "make_natural_joins." Some bug fixen. Changed to use schema, refactored duplicated code (also in GraphViz) up Changed to use schema API. A POD producer. Minor changes. Adding new HTML producer. Mostly cosmetic changes (Allen -- no tabs, indent = 4 spaces!), got rid of Added "is_valid" tests. These tests relied on now deprecated action that the raw data structure Added validation code. Modified all filed to quit returning the data structure, now only return "1" Modified producers to quite looking for the data structure to be sent as Added HTML and POD producers. Updated TODO. Removed fixed bugs, either need to verify other bugs exist (and fix) or Upped the version in anticipation of making a new release soon, removed Altered POD description. Changed getting of version from main module, added exe file. Removed some things that don't actually work. Removed Validator class as validation is now in the Schema object. Renamed auto-dia.pl to sqlt-diagram.pl Renamed auto-graph.pl to sqlt-graph.pl Renamed auto-viv.cgi to sql_translator.cgi Fixed script name in docs. Fixed script name in POD. Removed this file as it uses the Validator which has been removed. Fixed EXE_FILES filenames, decided to removed CGI script. Added some ideas for 0.03. Added LICENSE. All the copyright notices say how the user should have received a copy of I was going to move the "format_*_name" methods to the ClassDBI producer, Created a more generic README for the project. Regenerated Chagnes using cvs2cl.pl Renamed 09auto-dia.t to 09sqlt-diagram.t to match the move in script filenames Fixed MANIFEST to match change in filename. Added INSERT and UPDATE placeholders to get parser to not barf on those. Nothing really changed. Updated README. Decided against using cvs2cl.pl as it's way too verbose, using a simpler Added SEE ALSO to send people to SF site. Cleaning up the project description. Trying to get everything "on message." The grammar bothered me. Added more TODO items. Fixed VERSION strings. Fixed VERSION string. Fixed VERSION. Added single quotes around the "use base 'foo';" line. Fixed grammar for REVOKE and GRANT (missing word "table"). Allow data types which haven't been listed in translation table to pass Adding dumper creator. Changed "hasa" to "has_a." Added more description; allow options for db user/pass/dsn, skipping certain Allow translation from parsers other than MySQL, Pg, and Oracle and just Attempting clean up something. Fixed a bug-fix of mine that was contingent on my checking in another module. Added "()" to character class of "default_val" rule to allow "now()" to Removed redeclaration of "$parser_type," fixed bug in DSN, removed "s" on Minor change. I've tried to address Allen's concerns about naming of FKs, but still haven't Efforts to re-enable Allen's many-to-many linktable code. I have no idea Reversed earlier change to VERSION after Darren scolded me. Fixed VERSION. Fixed VERSION to be CPAN-friendly. Strip field size qualifiers from index fields as SQLite doesn't like. Made "pg_data_type" rules case-insensitive per a patch from Richard Added options to make an image map. Added a "table" section at the top to click right to a particular table. Print out field comments using Oracle "comment on field" syntax. Allow embedded comments a la the PG parser, store the comments; also strip Added options for specifying image map. Added "character set" as field qualifier as this is part of MySQL 4 output. Applying (spirit of) patch from RT making keyword "table" optional in New MySQL 4 syntax allows field names to be in backticks (and this is the Added line to disable checking of FKs on import of tables. Reversed the arrowheads. Reversed arrowheads. Allow more producers than just the two graphical. FK defs were leaving out the field name. Added dependencies from new XML modules. Changed to use new "SqlfXML" producer. Fixing bugs as reported by S. Quinney in RT ticket. Added "set" rule, remove extra space after comment character. Changed to look at different constraints as NOT NULLs are now allowed as Changes to make case-insensitive rules, fixed spelling error of "deferrable," Fixed spelling error of "deferrable." Added logic to ensure the PK fields are not nullable (thanks to S. Quinney). Ran through perltidy, broke long lines, changed logic on setting of More cosmetic changes to make comments pretty, added ability to set Added "reset" method, check for existing Schema before called parser again. Fixed bug where "layout" wasn't being passed to producer. Adding acceptance of a "title" arg. Changed default value rule slightly to allow the empty string. Added "integer" conversion. Adding a few rules so that "make clean" isn't necessary before "make manifest." Fixed bug in timestamp trigger syntax. Expanded default value rule to allow a bare word like "current_timestamp," Use of "map," emit warning when changing PK from CLOB to VARCHAR2. Minor cosmetic changes. Breaking a long line. Adding AUTHORS file per suggestion from Darren. Removed Sybase parser from MANIFEST, update TODO. Update of README. Added Paul and Jason, more e-mail addresses. Adding some Sybase schema to parse, though it's from a pretty old version Adding Sybase parser test. Replacing contents with Paul's output from dbschema.pl 2.4.2. Added setting of field size for *text fields. Did I get them right? Changed "tinytext" to convert to "varchar2," undef field size when the Added code to print out table comments. Added code to catch table comments (simply assumes that all comments before Almost functional. Mostly functional. Added Sybase parser back in. Added test number. Working changes I made to 1.31 back in: Many cosmetic changes to make Some changes to "comments" method. Some minor bug fixen, additions. All cosmetic changes while I was looking to find "uninitialized values," Making sure that all vars are initialized to get rid of silly warnings. Fixed bug where the "is_auto_increment" flag wasn't being set for serial Added test to make sure that serial field has 1 for "is_auto_increment." Changed test to match what "comments" now returns. Changed test to match what's returned for the size of a "text" field. Added boilerplate header, some cosmetic/POD changes. Added small transform to turn "XML-SQLFairy" into "XML::SQLFairy" so that Added "template" option for TTSchema produce, added docs for "pretty" and Started trying to think of all the changes for 0.03. Created a separate rule for "text" datatype and set the "size" to "64,000"; Removed "use warnings" to make 5.00503-friendly. Bug fixes prompted by Gail Binkley: Fixed up POD, some other cosmetics changes, removed "use warnings" to make Added a little to POD, some other simple changes to make more like other Fixed POD. Adding former "SqlfXML.pm" as "XML/SQLFairy.pm." Moved to "XML/SQLFairy.pm." Adding it back and making it an alias to XML::SQLFairy. Corrections. Moved XML producer. Increased field sizes to match what PG parser is storing now. Changed the default sizes to be the width of the field, not the byte size. Got rid of "our," changed field sizes. Changed field size. Got rid of "our." Modified to use XML::SQLFairy, changed field size to match MySQL parser. Changed to use XML::SQLFairy. Added Ying. Changed default layout type. Some POD changes. Chagned default. Changed default layout. Added tests for check constraint. Added test for check constraint. Some cosmetic changes, some stuff dealing with check constraints, make Wasn't adding check constraints! Fixed. Now with check constraints! Some special logic to handle check constraints. Some special logic to better handle check constraints (which don't have Expanded on AUTHORS, added dumping of Schema object if debugging, added Added link to CPAN ratings. Fixed problem with "deep recursion." Small change. Moving to XML/SQLFairy.pm. Adding old SqlfXML producer as XML/SQLFairy. Cosmetic changes. Changed the way "_list" works to use File::Find so it can go deeper to find Adding XML and XML-SQLFairy producers. Changes to quit using "SqlfXML." Got rid of "SqlfXML." One day we'll make this the 0.03 release. Added "META.yml" as newest version of ExtUtils::MakeMaker will add this OK, I guess it's not necessary to explicitly add "META.yml" to the MANIFEST Corrected the docs a bit (no more data structure to pass around!), but Fixing docs. No real changes. Moving files around, removing ".pl" suffixes, now all start with "sqlt." Moved POD around, added all options for all parsers and non-graphical Fixed up POD, allow for other ways to specify db. Adding new files. Changes. Added "title" arg. Added default of PAargs. Fixed drop table rule. Updated with new bin file names. Used to be "sql_translator.cgi." Alias to XML::SQLFairy. Fixed script name. Added drop table rule, saving of table comments. No longer calling script "sql_translator.pl." Fixed EXE_FILES filenames. Fixed docs. Fixed bug in comment rule. Added test for table comment as SQL comment. Added rule for "create index" and fine tuned "default_value" rule. Added some Oracle datatypes so you can translate Oracle-to-Oracle; better The arg is called "output_type," not "image_type." Trying to expand to cover all args to parsers and producers; NEED HELP Changed POD to match class name, added link to Turnkey project page. Removed backslash-escaping of single quotes where unnecessary, ran new PG was choking on a lot of small errors, and some of the translations didn't Fixed problems in foreign key rule. Allow space as part of default value. Added alternate form of comments "/* ... */." Added tests for alternate form of comments. Added a comment for a test. Wasn't producing field comments. Checking for field comments now. Trying to correct header for HTML. Added some rules to better handle the output of DDL::Oracle, now saving Removed unnecessary code. Fixed "parse_list_args" to not stringify reference arguments. No need to create constraint names if they don't already exist (and PG Push foreign key defs to end of file to avoid errors with referenced tables Added comment for FKs (if necessary). Kill size attribute if field data type is "text." New SQLite parser. Adding new DBI and experimental DBI::SQLite parsers. Added options for DBI parser. Streamlined. Adding a MySQL/DBI parser that talks to the db for the structures. Fixing AUTHORS. Some mods. Adding Sybase parser for Paul. Fixed syntax error. Adding new Sybase entries -- should the full "use" statement be used or Added "add_trigger" method. New trigger class. Tests for triggers. Now parsing and adding views and triggers to schema. Don't make up unnecessary monikers, added support for table options that Lots o' refinements. Disabling some suspect code. No longer require file arg here -- let modules decide. Fixed a problem with POD. Adding Paul's Procedure class. Fixed POD, added "schema" method, fixed DESTROY. Added "schema" method, added to object initialization and destruction. Fixed spacing. Added support for adding procedures, getting procedures and triggers. Added tests for procedures, expanded view and trigger tests. Adding SQLite parser test. New test data for SQLite parser. Fixed bug that wasn't maintaining table order. Basic tests for SQLite, will expand later. Fixed syntax errors. Fleshing out. No reason to see Excel parser. Needed semicolon on end of constraint def. Small change to prevent "use of uninitialized value" warnings. POD changes, small change to prevent "use of uninitialized value" warning. Fixed normalize_name per DLC. Fix PK info if available. POD fix. Trying to be smarter about intuiting field types and sizes. POD fixes. Fixing up "view_field" to use all the field attributes. Adding a DBI-Pg parser based on DBIx::DBSchema, but I'm not sure if I'm Added PG support, more POD. POD fixes, fix to field size for a float. Fix to size of float field. Minor changes. Fixed some spacing and POD. Fixing POD. Added boilerplate intro, fixed POD. Fixed POD, removed commented warnings. Added boilerplate intro/copyright. Doc fixes. Mostly POD fixes. Small POD fix. Added some more POD. Notes about DDL::Oracle. Fixes to POD, mention DDL::Oracle. POD fixes. POD fixes, removed some unnecessary code. POD fixes. Trying to get sqlt to play nicely with DBI parsers which need no input file. Added a little to the POD to explain version dependency. Be stricter about no comments. Adding new schema differ. Corrections. No reason to distribute logo. Removed "use Data::Dump" as it wasn't being used and makes tests fail if Not ready to distribute this script yet. Keeping up with changes in code. Some refinements in assigning field types, size of field for floats. Getting float sizes to work properly. POD changes. Fixing default datatype if unknown. Upped number of constraints. Changed a little to make more interesting. Keeping up with changes in module. Update number of tests. Added YAML. Fixing error ""my" variable %format_X_name masks earlier declaration in same scope at t/20format_X_name.t line 11." Added "order" to tables (should have been there already, but was also causing Added missing data file. Added another missing test data file. Added map to overcome "Use of uninitialized value in join or string at Corrections after adding scan fields. Fixen. If no data is present, then assign a field size of "1" and not "0" (as the Changing test to keep up with module. Some of the same changes to Excel. Updated for release. Updating for 0.03 release. Updating for release. Small fix. Updated changes. Fixed typo in POD. Making a more thorough check of things. Pushing up revision so make CPAN happy. Increased VERSION to 0.04 to make a fix-up release. Indicating changes for 0.04. Hardcoding PREREQ_PM, removing code that set it dynamically. Changed tempfile stuff to use "mktemp" to get rid of warnings. Initializing variable to suppress silly warnings. Skip creating package if no name (must have been an error in the source file Added more rules to handle all variations of the "ALTER TABLE" statement Added tests to keep up with new ALTER TABLE rules in the grammar. Fixed number of tests. Minor changes. Fixed errors in grammar as reported in "https://rt.cpan.org/Ticket/Display.html?id=4936." Changed default_val rule according to bug report on RT.cpan.org. Fixed constraints and indices. Null out size if a blob field. Various bug fixen. Wasn't producing constraint defs, fixed indices to be a list. Updated. Small fix. Try to make usage clearer. Changed index creation to better handle output of DDL::Oracle. Fixed test. Outline for manual. Added reference to manual, fixed copyright. Being case-insensitive on datatype translations. Added manual. Changed to print out schema mutation statements (CREATE/ALTER/DROP) instead sqlt-diff is now functional enough to include. Updated. Added Dave Cash for his work on GraphViz producer. Changed copyright. Fixed copyrights. Updated. Fixed copyright. Fixed copyrights. Fixed copyrights. Fixed copyrights. Minor bug fixes ("top" and table links didn't work), added borders to tables, Pushed field attributes to after datatype/size to make consistent with Fixing up new options for showing data types, etc. Added some debugging comments. Applied patch to pass new options to producer. Added rules (REM, prompt) to help parse output of DDL::Oracle; changed Upped $VERSION to 0.05, created a "version" sub to easily get this. Misplaced semi. Changed test to match output. Adding another data file for sqlt-diff test. Some bug fixes, better formatting when no field size is applicable. Updated to match new output; also had to remove "close STDERR;" to get working. Now installing sqlt-diff. The manual isn't in a state to send out. Small change to make installation easier. Updated with what I can think has changed. Fixed conflicts. Added "SIGN" option. Adding SIGNATURE. Adding SIGNATURE file. Apparently it's unnecessary for me to put the SIG in the MANIFEST as it's Modified comment rules. Updated with comment tests. Requiring a recent version of Spreadsheet::ParseExcel as an earlier version Fixed bug in script which didn't actually escape single ticks in string vals. Added options for new Dumper producer. Adding a producer to replicate (and extend) what was being done in the Fixed indentation. Getting translator options. Serializing translator options. Changing to use new Producer. Some fixes. Removed "sort" as it puts the tables in a different order than they appear in Moving to test module not script. Adding test for Dumper producer. Added "takelike" option. Added tests for Dumper producer. Add test for closing file. Updated to match new YAML output. Used code found http://www.mail-archive.com/perl-documentation@perl.org/msg00380.html to fix reading of STDERR (?). Some editing to make "make test" happy. Requiring latest version of XML::Writer where error was fixed. Oops! Fixed bug. Fixed per Tony Bowden to allow all integer fields (including LARGEINT, Adding Manual now that it is somewhat useful. Now with content! Fixes. Added section on Dumper producer. Added a couple more sections. Added examples of plugging in custom parsers and producers. Just a couple tweaks. Massaging of Oracle varchar2 field if larger than 255. Adding test data for Access parser. Committing new Access parser (yeah, Bill, we're coming after you now). Added Access data types. Adding tests for Access parser. Added alternate way to declare unique constraints. Updated tests for alternate unique constraint. Upped version. We should release soon. Give higher billing for manual. Added bit to help. Fixed error in output. Fixed merge. Some changes to get tests to pass. Fixed problems with non-unique names. Added "enum" to string types. Added 'date' to "string" types. Fixed documentation in template. Fixed docs. Adding new Module::Build-based build script. Changing to use Build.PL/Module::Build. Updated. Fixed naming of file. Removing commented-out code. Just some cosmetic changes to the docs. Removed some old code, make table type "InnoDB" if there's a FK constraint. Make sure there's some size value for a character-based field. Add indexes for FKs as necessary. Check for >255 field size for all char fields (not just varchar); turn a Take the defined field size if present. Added "version" argument to show SQLT::VERSION. Adding Jess's DB2 DBI parser. Applying patches from Markus Törnqvis. Fixed problems in POD. Allow "gutter" to be set by producer arg (Markus Törnqvis). Allow "gutter" to be set by producer arg (Markus Törnqvist). Some updates to tests to skip when required dependencies are missing. Bug fix to keep FK constraints from being created twice, expanded a couple Moved "interval" rule. Trying to be smarter and stricter on translating FKs. The default too often was "tinyint," changed to only make it that when That last commit wasn't very thought-out. OK, I really got it this time. Fixed syntax error. Fixed POD. Fixing the error "Can't use an undefined value as a HASH reference at Moved graph tests out. Tests moved from 13graph.t. Accepted changes from Eric Just. Made the field definition rows alternate "even" and "odd" classes so Some changes that should have been applied a while back. Some cosmetic changes. While trying to create CDBI classes myself, I found some of the decisions Changes to work with latest MySQL TIMESTAMP columns. CPAN is complaining about the version, so I made a trivial change to get Added tests for other comments. Added "official" table and field comment rules. Field comments weren't printing. Put field and table comments into proper MySQL syntax. Added Ben, changed my name. Testing CVS checkin, added two new developers. The short arg for "font-size" was colliding with the "f" for the parser. Fixed usage docs. Just committing, but is it necessary? It will be regenerated by Build.PL. Moved YAML to a build requirement. Changes to make more efficient use of memory with large tables. Changed my name. Changed to build up schema from "show create table" statements and then Updates. Added grammar for handling "unique" and "key" qualifiers to field definition. Added tests for "unique" and "key" qualifiers to field definitions. Removing. Removed SIGNATURE. Commiting. Added use of graph. Fixed handling of NULLs. Adding option to skip tables. Adding option for skipping tables. Put double quotes and backticks around table identifiers to test rules. Added double quote rule for table/field identifiers, cleaned up some code Per a suggestion from Darren, changed the skipping of tables in the GraphViz Fixed typos. Upped requirement of Parse::RecDescent. Added patch from user. Added "FULLTEXT" as valid index type. Added test for fulltext. Some code cleanup, added clustering of tables, fixed a bug that kept circular Upped version to 0.10. Return lines of output in a list context per user request. Fixed name, perl. Fixed my name, Perl shebang. Return lines of input in a list context, fixed my name. Lots of cleanup. Lots of cleanup, removal of "foo" variables which are opaque. Fixed "database_events". Fixed up "equals" to be more informative when there's a problem. Fixed to pass tests. Fixed "database_events." Cleaned up, Template version no longer a problem(?). Changed database_events to return an arrayref. Cleaned up a bit, checked for interactive tty so that ugly warning Checked for interactive so no ugly messages during test suite. Cleaned up, fixed db events. Now passes. No warnings during tests -- it's ugly. No warnings on test. Template version doesn't matter. Fixed "database_events." Database events now returns a list. Fixed "database_events." Fixed "database_events." Use three-arg open. Use three-arg open. Just made a little more readable. Need to call "load" as a class method rather than an object method. Make a little more flexible. Catch case of specifying 'DBI-Driver' and quietly fix this. Added a little more POD on clustering. Fixing my name (is this vain?). Adding. Added test for list context return. Added return of diff as array in list context. Changes to handle a constraint like: Added tests for check constraint. Test and data for FK in SQLite. Parsing of foreign keys. Resolves RT#48025. Use Readonly for constant value, some aesthetic changes. Added "using btree" for test. Added parsing of index types (btree, rtree, hash). Adding patch from user. Some whitespace changes, create a default index name if one is not provided. Just whitespace changes -- I wouldn't normally commit something like this, but Smoother regex (thanks Jim Thomason). Fixed my name, fixed some use of uninitialized vars. Just fixed some whitespace. Resolves RT#35448. Resolves RT#21065. Resolves RT#8847. Fixed some whitespace, resolve RT#13915 by requiring XML and YAML libs. Upped version for 0.10 release. Upping version per RT#43173, fixed my name. Some whitespace fixes, resolve RT#42548 (incorrectly inserts the size in Added patch from user (RT#42548). Fixes per RT#37814 (parsing of field/index names with double quotes, also fix Added tests for RT#37814 (parsing of double quotes, autoincrement). Fixed test. Leave out empty bits. Fixed test. Just a cleaner version of "next_unused_name." Removing, make dist smaller. Upped version numbers, cleaned up code, fixed my name. Changed version number to stay consistent with new scheme. Changed "no_columns" arg to "num_columns" (I used to use "no_" for both Added "skip_tables" options. When adding the edges, it's necessary to quote the table names exactly the sqlt-graph now has a --trace option. MySQL Parser now handles views more completely Some aesthetic changes Added "tables" and "options" methods to Schema::View Allow VALUEs to be enclosed in double and single quotes, specifically Larry Leszczynski (1): Suppress "Exiting subroutine via next" Lukas Mai (2): image is returned, not written w/o out_file (bug #71398) binmode STDOUT to not generate garbage in a UTF-8 environment (bug #71399) Mark Addison (168): Moved Producer::XML to Producer::SqlfXML. Fixed default value bug in Parser::SqlfXML. Added TTSchema producer. Added BUG notes and test about single tags e.g. <foo/> Changed term single tags to empty tags to mean <foo/> like tags, it being the correct term :) D'oh! Fixed comment typo that chaged the meaning of the comment. Fixed bug with emit_empty_tags. It now works and we get more explict values for things instead of lots of empty sets of tags ie <foo>0</foo> not <foo></foo>. Added a test for Producer::SqlfXML. Added explicit version of 1.13 for XML::XPath as the parser doesn't seem to work with older versions. Added attrib_values option. Added support for the attrib_values option of the XML producer. Initial version of XMI parser. + Added visability arg. Refactored the internals so that the XMI parsing is seperate from the More refactoring and code tidy. We now have get_attributes and Added parsing of operations from the XMI. Do we have enough to do the Rational Profile now? Split out XMI parsing to SQL::Translator::XMI::Parser. All the XPath is Doc notes on version selection and added xmi.id to specs. Started on rational data modeling profile. Added lib/SQL/Translator/XMI/Parser.pm Moved Rational profile code to its own mod. Added support for tagged values, so The data, as it is being parsed, is added to $self->{model}. Anything seen before Different versions of XMI now handled by sub-classes (still generating methods Changed debug to dump xmi model data and not just classes. AssociationEnds gets an 'otherEnd' ref added so you can navigate associations Added FKeys from associations Added some test xmi files for rational profile (tests coming soon ;-) Moved visibility test to its own .t Tidy up, as they seemed to be a bit of a mess. Removed debug warning Added test for the Rational profile. Made dataType a proper obj instead of just a name. Added tagged values to DataType's Fixed serious bug in xmiDeref: was only working for tags with xmi.idref Added multiplicity to AssociationEnds. Removed some unneeded, commented out code. Fixed broken otherEnd linking for assoctionEnds. Removed TODO comment- cos its done Changed ends to associationEnds in the Association's spec. Made debugging work and it now exports its parse method. Initial code for SQLFairy UML profile for the XMI parser. The name may need PKeys automatically generated for Classes that don't set them explicitly with Added m:n joins. Can now model m:n association in your class diag and the POD update for m:n stuff. Fix: Now includes the Schema's name and database attributes Added missing test for attrib_values=>1. Moved all the XMI stuff from MANIFEST to MANIFEST.SKIP and added missing Fixed broken --emit-empty-tags option. Added Views, Procedures and Triggers to bring it inline with the current Schema features. Added Views, Procedures and Triggers to bring it inline with the current Schema features and updated producer. When using attrib_values the attribs are now written in alphabetical order Refactored attrib ordering fix. Handles order given as attrib. Added list of constants exported to the docs. Order of schema objects properties in XML changed to something more sensible reference_fields now returns an empty list (or array ref) for constraints that Fixed so they test for empty list reference_fields and not the old undef return. Test::More Schema testing. Uses Test::SQL::Translator.pm Added schema_ok. Some tweaks to the test output. Now uses schema_ok Now uses Test::SQL::Translator Fixed test count. Added Todo Removed unused Test::Exception Added lib/Test/SQL/Translator.pm Added stringify to name and error check to stop creation of object without a name. Tests for Table and Field stringify. Tweaked to use (test ;-) table and field stringify. Removed check on field name when adding fields, as the fields constructor does it now. Added full_name. Doc tweaks. Doc tweaks. Added shortcut method to get the fields Schema object. Added test of field schema shortcut and table stringify. Changed the 'id' field to 'age' on the first test constraint, so that one of its fields returns Field objects when it can. Added field_names(). Uses field_names when making constraint YAML to avoid field overloading. Tests of Constraint::fields() object return and Constraint::field_names(). Removed __WARN__ handler. Opps, forgot the sub seperator comment. Added field_names() and field/constraint lookup methods Added test of Table::field_names() Tests for the Table, field and constraint lookup methods Added TT::Table producer. Doc fix. Initial crack at a base class for building TT based producers. As a quick test to see if Test::SQL::Translator really is quicker added tests Added hook for sub classes to set Template config. Docs next... Added test for tt_config Tweaked tt_schema Documentation. Initial stab at a section on building producers with TT::Base Tweaked to use the default reading of __DATA__ Added experimental pre_process_schema method. Doc tweaks. Updated to produce the new, single format sqlf xml. Updated to parse the new, single format sqlf xml and emit warnings when the old style is used (but still parse it). Updated to test the new, single format sqlf xml. XML test src changed name. *** empty log message *** Added docs about the legacy format xml. Added items about the change of XML format and additional TT based producers. Added producer args to control indenting, newlines and namespace prefixing. Updated with the new XML producer args. Added writing of field.extra Allow extra to be set via constructor. Added parsing of field.extra Fixed break due to XML Parser now supporting field.extra XML test file changed Move the list of methods to write as elements out into a global. Added collection tags for the Schemas objects (tables, views, etc) Doc tweaks Doc tweaks Doc tweaks Doc tweaks Doc tweaks. Added SQL::Translator::Schema::Object, a base class for all the Schema Added diagnostics on fail. Added _attributes class data to SQL::Translator::Schema::Object for sub classes All Schema objects now have an extra attribute. Added parsing support (and Added writing of extra data for all objects to XML producer. Added extra and Schema::Object stuff Refactored producer() and parser() to use a sub, _tool(), implimenting their Factored _load_sub() out of _tool(). Ground work for adding filters. Re-added ttvars. Added docs and test for ttvars. Applied Dave Howorth's MySQL parser patches Deprecated ttargs producer arg in favour of tt_vars Added tt-vars to pass variables to templates. Template config is now passed using tt_conf producer arg. Deprecated passing Added tt-conf option Added TTSchema changes. Clean up Added schema filters Re-added proper error trapping and reporting when trying to set the parser, localised setting of %Data::Dumper::Maxdepth (and Indent), to stop it polluting Removed (annoying) warning when order attributes are not used. Fixed test name Made extra interface more context sensative. mysql_table_type extra data and InnoDB derivation fix. A SQLServer producer. (They made me do it! :( Fixed YAML testi. Failed due to sqlfairy version increase and YAML not putting Fixed. Broke due to changes in YAML. Added hack to remove the Graph stuff hack of adding a ref to the translator, to Upped version of Test::More req so we get upto date is_deeply(). Fixed error propogation when loading filters. Fixed broken comment in test (from Chris Hilton patch) Added Chris Hilton's patch so version number test is based on current version and not hardcoded. Added explicit close on FILE and fixed spelling mistaked (from Chris Hilton patch Applied Chis Hilton patch to fix. (Test used non existant test file) Fixed InnoDB table type errors (Chris Hilton patch) Applied Chris Hilton patch to remove 'Use of uninitialized value in addition' warnings Apllied Chris Hilton patch to remove subroutine redefinition Parses extra attributes for tables. Tweaked debug output. Added mysql extra attribs for charset and collation. Added test for mysql_table_type. Removed dodgey testing code so test works for everyone else. Tweaked filter interface to take args as a list. Added mysql_character_set for 4.1+ Experimental filters Fixed missing schema table comments Build support for installing templates. Intial code for Dia producer Backed out M::B ConfigData based installed templates and moved DiaUml Removed un-used stuff left from CutNPaste of t/36-filters.t Added Globals filter. Fixed warning for tables with no order attrib Added constraint copy to Globals filter. (Seem to be getting lots of warnings from YAML now...) Globals filter now copies extra Mateu X Hunter (1): Test Str and ArrayRef input for SQLT->filename Matt Phillips (1): remove spurious warning from 6+ years ago. Michal Jurosz (1): fix doc typo Mikey Melillo (4): added need for Excel Spreadsheet parser module :) Init Check in. This follows closely along the lines of xSV.pm but its cooler added a text spreadsheet, hopefully in the right directory and such Moritz Onken (1): Make Pg producer consistent with the rest in terms of quoting Nick Wellnhofer (1): Fix erroneous PostgreSQL floating point type translations (RT#99725) Paul Harrington (11): dump out views and stored procedures extract out text of stored procedures and triggers Storable stuff load test for sybase DBI parser add methods for dealing with procedures reverting to previous revision as I had duplicated some of the subroutines to handle procedures... sorry about that! store in network order still a bit hacky .. would like to use a method that will work on either "store" or "freeze" data. This will still break if you are passed in a file that contains the result of a freeze use DBI and a recent revision of DBD::Pg This module does not actually use any DBD::Pg calls, just DBI. However, the DBI calls are delegated to DBD::Pg and the revision on CPAN (1.22) does not have very usable table_info() and column_info catalog methods. Put in a nagging message so that the user does not get too shocked by the poor results if running with <1.31 sp_columns on Sybase 12.5.2 (and, perhaps, earlier) needs to be passed nulls explicitly so pass in list of undefs to column_info Peter Mottram (3): fix Producer::SQLite::batch_alter_table rename field initial batch_alter_table for ::Producer::PostgreSQL test to demonstrate Pg diff failure with rename_table+rename_field Peter Rabbitson (184): Add sqlite roundtrip test (probably need to do the same for the rest of the parser/producer combos, possibly using a known xml schema as a starting point) Release 0.09003 Update autogenerated makefile Another chunk of the GraphViz rewrite: Strip evil svn:keywords This file is empty, tests seem fine... deleting Actually there was an empty test for it as well :) Force everything to 1.99, hopefully will work Reduce $Id to its normal form Minor test cleanup Cleanup part 2 Remove all expansion $XX tags (isolated commit, easily revertable) Forgot to up one VERSION Schema::Graph - switch ugly use of Log4perl to an even uglier (but at least available) use of Class::Base for debug messages Downgrade global version - highest version in 9002 on cpan is 1.58 - thus go with 1.59 Whop - forgot to commit 9004 changes Support for mysql fully qualified table names (db.table) by Debolaz MySQL parser patch by Tokuhiro Matsuno Make minor adjustments to the grammars in order to work around https://rt.cpan.org/Ticket/Display.html?id=45262 Pg producer improvements by mo: ALTER TABLE / ALTER COLUMN / DROP DEFAULT Minor POD fix Merge 'trunk' into 'roundtrip' Somewhat working global roundtrip test Add an oversized varchar to schema.xml Fix mysql roundtrip glitch Test seems to be finioshed - massive bowl of FAIL Bail out from failing tests early Translator/schema dependency test Todoify test - probably not in this lifetime Changes to tests to go along r1512 Teah xml parser about database_events Extra data and first test for xml database_event support Improve xml database_event deprecation warning Teach sqlite how to deal with multi-event triggers Adjust xml-db2 tests Add Carp::Clan to dependencies Merge 'trunk' into 'roundtrip' Test XML roundtrip as well (also fail) re-fix tests after merge Bring version bump back - there is still work to be done (reoundtrip branch), I think this is too early Remove duplicate req Rewind exhausted globs before attempting a read Do not add xml comment header if no_comments is set Better debug output table/field counts are held per-object, not globally Concentrate on testing the 'big 3' for now Variable table and column names? wtf?! SQLite improvements: Adjust insane tests to pass (the expected returns at times are mind-boggling) Fix a couple of mistakes in the PG parser Add disabled YAML roundtrip test Update changelog Add POD checker and fix a couple of POD errors Reorder authors and consolidate them in one point (AUTHORS). Add link from main POD Switch to Module::Install Merge forgotten rewrite of the GraphViz producer - keep all the logic intact but do not do any parameter sanity checking - just pass things straight to GraphViz.pm Graphviz does not like empty hahsrefs - prune those VIEW support for Pg parser, also some cleanups Add parenthesis into the VIEW definition to make sure the pg parser still can deal with them The way we generate create view statements is not standards compliant (per RhodiumToad in #postgresql) Multiple fixes for the SQLServer producer/parser combo Merge 'trunk' into 'roundtrip' Make perlpod happy Merge 'roundtrip' into 'trunk' Strip exe bit Fill in changes, todoify non-passing tests (to draw attention) Release 0.09005 Fix a couple of tests and add forgotten dependency Teach YAML producer to encode extra attributes Create a YAML copy of the main roundtrip schema - this is what we use to run t/60roundtrip.t without depending on LibXML. The YAML is regenerated on every Makefile.PL run Switch the roundtrip test to the yaml base source. Add test skips More test sanification Proper support for size in pg timestamp columns (patch by mo) Saner Changes (bugfixed) release 0.09006 Backout teejay's changes to get trunk stable again Why the fuck did I do that ??? Mssql does not understand ON DELETE RESTRICT Do not cache the P::RD grammar - it breaks stuff MSSQL fixes and improvements Release 0.09007 The indexer does not understand license links Fix for bleadperl Use accessors instead of reaching down object guts YAML is a test-dep (or at least it's a good thing to have) Release 0.11001 Makefile fixes + changes Release 0.11002 Sanify test Real 0.11002 release Fix pg matchtype parsing Changes Cleanup changelog Someone claimed this doesn't work proper pg timestamp parsing (by mo) Fix RT#27438 Enforce XML::LibXML version requirements Make maybe_plan insufficent-version-aware Dep fixes and changes Release 0.11003 Add a size/precision field to test file, make sure xml parser/producer work fine Add numeric/decimal precision support to DB2 producer Fix TT templates and tests Fix RT49301 Oracle/SQLite test adjustments to deal with new testdata field Changes changing SQL::Translator::Diff to use producer_args instead of producer_options Cleanup tabs/whitespace Changes Changes2 Oracle fix primarily to have it not capitalize but quote instead Release 0.11005 Merge 'oracle_datatypes' into 'trunk' Get SQLite to produce saner output Changes Changes reformat Make 'default_value' behave like a real accessor Fix index quoting for mysql Adjust view production for stupid mysql Awesome non-quoted numeric default patch by Stephen Clouse Release 0.11006 Even though it is in the depchain due to YAML - just go ahead and declare it Bump M::I dep to a version not abusing FindBin Turn the roundtrip source generation fail into a warning Add support for PostGIS Geometry and Geography data types Fix some legacy code to stop warning on newer perls Support a custom_type_name hint for Pg enum creation Fix sqlt options not matching documentation (RT#58318) Changes from abraxxa Fix MySQL producer attaching View definitions to a schema Correct postgis geography type insertion and linebreak fix for multiple geometry/geography columns .gitignore Make autoinc PKs show up in GraphViz Fix RT#64728 Better diagnostics Parse new SQL Server stuff Do not depend on implicit hash ordering in YAML load gitignoring patch from rt67989 applied, changes dependency from Digest::SHA1 to Digest::SHA Add giftnuss to contributors, awesome triage work Drop Class::Accessor::Fast in favor of Moo Use precompiled Parse::RecDescent parsers for moar speed Tab/WS crusade Combined patches from RT#70734 and RT#44769 Fix misleading Diagram POD Fix ignored option to script/sqlt-diagram (RT#5992) Changes for a1afcdb6 Add forgotten contributors from various patches: Fix spurious whitespace failures in t/17sqlfxml-producer.t (RT#70786) Pod fixage Deprecate SQL::Translator::Schema::Graph, undocument as_graph() Add a git mailmap Fix incorrect ordering in test (fails under unstable hash order i.e. 5.8.1) Fix MANIFEST.SKIP (MYMETA fail) Quote all dep versions (preserve trailing 0's and whatnot) Forgotten dependency used in bdf60588 Add forgotten test skip after removed dependency in 1abbbee1 Correct SQLite quote-char Really fix mysql CURRENT_TIMESTAMP handling (solves RT#65844) A set of placeholder directories for future refactoring Move ProducerUtils into the new dir layout Merge branch 'people/frew/mega-refactor' Back out bdf60588b to disable P::RD grammar precompilation - until P::RD is fixed Silence prove -w warnings Incomplete revert in 0eb3b94a5 Dependency cleanup Switch to sane subcommand launch in tests Stop the DBI parser from disconnecting externally supplied DBI handles Fix silly syntax error, introduced in 0c04c5a22 Add Jess as authority for new namespaces Fix broken plan Hide deprecated stuff Resurrect the DB2 precompiled grammar to which we lost the source This seems to no longer be used anywhere...? Moar documentation, shape up license/copyright notices Fixor borked docs (we already test for this in t/66-postgres-dbi-parser.t) Remove old dist tarball which snuck in during a14ab50e Remove SQL::Translator::Schema::Graph as announced in 0.11011 Moo port makes both of these no longer needed Both of these are pre 5.8 coredeps Lose one more useless dependency XML writing is not strictly necessary for everything else to work No versions in use statements - encourages shit like autorequires Properly tag our XML namespace URI - it is not a real link Rafael Kitover (7): normalize SQLite and Postgres version numbers remove unnecessary bit of code patch from abraxxa (Alexander Hartmaier) to truncate unique constraint names that are too long update Changes Fix POD typo in SQL/Translator/Schema/Trigger.pm (RT#63451) Add support for triggers in the MySQL producer (RT#63452) ilmari++ tests for MySQL Producer triggers Ricardo Signes (2): properly compare fields fix test expectations Robert Bohne (3): Call ->on_delete & ->on_update in SCALAR context not in LIST context Handle on_delete => 'restrict' in Producer::Oracle Change my E-Mail address Ross Smith II (15): MySQL allows for length parameter on PRIMARY KEY field names Applied patch #780781: Missing binmode in Producer/GraphViz.pm. Applied CPAN patch #3235 MANIFEST: missing some files [patch] Applied CPAN patch #3247: Missing ora_data_type dec(imal) Fixed ENUMs (They were coming over as ENUM(n)). Stops Use of uninitialized value in numeric gt (>) at /usr/local/share/perl/5.6.1/SQL/Translator/Parser/MySQL.pm line 594 zerofill has translated as 1 We need to quote the enum field values Added test file that includes all (well, most) of the DDL for MySQL Added test file that includes all (well, it will) of the DDL for Postgres Lots of Postgres fixes: Added quotes around ENUM values in CONSTRAINT for Oracle & Sybase. Added DOUBLE PRECISION. Parser::MySQL chokes on this Added FIXED as DEC per http://www.mysql.com/doc/en/Column_types.html Fixed ORA-02329 and ORA-00907 errors. Sam Angiuoli (1): added Sybase producer Scott Cain (2): revamped Pg DBI parser to query system tables. This still doesn't work refining the parser, but it still doesn't do everything it should: Sebatian B. Knapp (3): Add (now passing) test with file from RT#70473 fixed typo reported in rt68912 Fix for mysql producer drop primary key, refs #62250 Songmu (1): Add SQL_TINYINT and SQL_BIGINT to %SQL::Translator::Schema::Field::type_mapping Stephen Bennett (1): Use CASCADE when dropping a postgres enum type, to be consistent with table drops Tina Mueller (3): add support for "DEFAULT (\d+)::data_type" in PostgreSQL Parser fix diff for altering two things per column - add ; at the end produce_diff_sql(): list context Vincent Bachelier (2): quote properly all table name test quoted for mysql Wallace Reis (5): Added CREATE VIEW subrules for mysql parser Produce DDL for MySQL table field with ref in 'ON UPDATE' Fix warning due uninitialized var Extend Field->equals() for numeric comparison Add more data_types for sql_types mapping William Wolf (1): Fix Pg diff issue with drop constraint on primary keys clodeindustrie (1): Add Json and hstore types in the PostgreSQL parser giftnuss (1): Change mysql parser to throw exceptions on unspecified default values (RT#4835) gregor herrmann (1): Imported Upstream version 0.11021 rporres (1): Fixed autoincrement in primary keys for SQLite ----------------------------------------------------------------------- No new revisions were added by this update. -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libsql-translator-perl.git _______________________________________________ Pkg-perl-cvs-commits mailing list Pkg-perl-cvs-commits@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-perl-cvs-commits