7 years agoImprove trigger 'scope' attribute support (RT#119997)
Dagfinn Ilmari Mannsåker [Thu, 26 Jan 2017 17:42:30 +0000]
Improve trigger 'scope' attribute support (RT#119997)

- JSON, YAML and XML producers
- XML and SQLite parsers

TODO: Unify with the DB2 parser/producer's 'granularity' extra attribute

8 years agoRemove duplicate entry in DBI drivers hash
Dagfinn Ilmari Mannsåker [Sun, 17 Apr 2016 16:08:15 +0000]
Remove duplicate entry in DBI drivers hash

8 years agoFix incorrect serial instead of bigserial in PG
Andrew Beverley [Tue, 29 Sep 2015 09:19:00 +0000]
Fix incorrect serial instead of bigserial in PG

When generating PostgreSQL, auto-incrementing bigint columns are
incorrectly converted to serial types. Instead they should be
converted to bigserial.

8 years agoWork around RT#108460, intermittent postgresql-rename-table-and-field.t fail
Peter Rabbitson [Wed, 4 Nov 2015 16:25:11 +0000]
Work around RT#108460, intermittent postgresql-rename-table-and-field.t fail

8 years agoFail more gracefully on non-loadable compiled module parts
Peter Rabbitson [Wed, 4 Nov 2015 14:48:23 +0000]
Fail more gracefully on non-loadable compiled module parts

Without this in my current system state `prove -l t/09sqlt-diagram.t` gives

...Can't load producer 'Diagram' : Error loading Diagram as SQL::Translator::Producer::Diagram :
Can't load '.../5.16.2/lib/site_perl/5.16.2/x86_64-linux-thread-multi-ld/auto/GD/GD.so' for module GD:
libgd.so.2: cannot open shared object file: No such file or directory at
.../5.16.2/lib/5.16.2/x86_64-linux-thread-multi-ld/DynaLoader.pm line 190.

8 years agoUpdated MANIFEST.SKIP to include AUTHORS file.
Mohammad S Anwar [Sun, 1 Nov 2015 17:24:53 +0000]
Updated MANIFEST.SKIP to include AUTHORS file.

8 years agoPass $options through directly instead of $generator
Dagfinn Ilmari Mannsåker [Wed, 9 Sep 2015 15:09:26 +0000]
Pass $options through directly instead of $generator

8 years agoFix identifier quoting in PostGIS statements
Dagfinn Ilmari Mannsåker [Wed, 9 Sep 2015 14:08:09 +0000]
Fix identifier quoting in PostGIS statements

8 years agoFix string quoting in PostGIS statements
Dagfinn Ilmari Mannsåker [Wed, 9 Sep 2015 11:52:29 +0000]
Fix string quoting in PostGIS statements

8 years agoFix missing semicolons between PostGIS statements
Dagfinn Ilmari Mannsåker [Wed, 9 Sep 2015 14:02:20 +0000]
Fix missing semicolons between PostGIS statements

8 years agoFurther clean up PostGIS code
Dagfinn Ilmari Mannsåker [Wed, 9 Sep 2015 13:56:11 +0000]
Further clean up PostGIS code

No functional changes

8 years agoFix horrendous indentation in PostGIS code
Dagfinn Ilmari Mannsåker [Wed, 9 Sep 2015 13:22:52 +0000]
Fix horrendous indentation in PostGIS code

8 years agoRemove or use unused variables in PostgreSQL producer
Dagfinn Ilmari Mannsåker [Wed, 9 Sep 2015 14:08:35 +0000]
Remove or use unused variables in PostgreSQL producer

8 years agoFix identifier quoting in PostgreSQL diff producer
Dagfinn Ilmari Mannsåker [Wed, 9 Sep 2015 11:34:02 +0000]
Fix identifier quoting in PostgreSQL diff producer

8 years agoReduce scope of file-level variables
Dagfinn Ilmari Mannsåker [Wed, 9 Sep 2015 11:04:10 +0000]
Reduce scope of file-level variables

They're only used in one function each, but need to carry state between
invocations, so wrap each in a new scope.

Read under diff -w

8 years agoRemove unused reserved words list
Dagfinn Ilmari Mannsåker [Wed, 9 Sep 2015 10:56:03 +0000]
Remove unused reserved words list

Special-casing of reserved words was removed in favour of proper quoting
in 2011 (commit 5f31ed6), but the list of reserved words was left in.

8 years agoMake PostgreSQLs max identifier length a constant
Dagfinn Ilmari Mannsåker [Wed, 9 Sep 2015 10:52:14 +0000]
Make PostgreSQLs max identifier length a constant

8 years agoMinor cleanups in Producer::PostgreSQL::create_table()
Dagfinn Ilmari Mannsåker [Tue, 8 Sep 2015 17:18:45 +0000]
Minor cleanups in Producer::PostgreSQL::create_table()

8 years agoFix multi-line comments in PostgreSQL producer
Dagfinn Ilmari Mannsåker [Tue, 8 Sep 2015 17:15:30 +0000]
Fix multi-line comments in PostgreSQL producer

8 years agoFix multi-line comments in YAML and JSON producers
Dagfinn Ilmari Mannsåker [Tue, 8 Sep 2015 17:04:42 +0000]
Fix multi-line comments in YAML and JSON producers

8 years agoFix parsing of MySQL column comments (RT#83380)
Dagfinn Ilmari Mannsåker [Tue, 8 Sep 2015 16:19:50 +0000]
Fix parsing of MySQL column comments (RT#83380)

8 years agoSwitch MySQL parser test to done_testing
Dagfinn Ilmari Mannsåker [Tue, 8 Sep 2015 12:31:40 +0000]
Switch MySQL parser test to done_testing

8 years agoFix parsing quoted strings with leading spaces
Dagfinn Ilmari Mannsåker [Mon, 7 Sep 2015 16:49:27 +0000]
Fix parsing quoted strings with leading spaces

8 years agoSimplify .travis.yml
Dagfinn Ilmari Mannsåker [Sun, 28 Jun 2015 19:13:16 +0000]
Simplify .travis.yml

8 years agoInstall more test deps on Travis
Dagfinn Ilmari Mannsåker [Sun, 28 Jun 2015 20:23:52 +0000]
Install more test deps on Travis

8 years agoExplicitly install CGI from CPAN on Travis
Dagfinn Ilmari Mannsåker [Sun, 28 Jun 2015 20:13:30 +0000]
Explicitly install CGI from CPAN on Travis

The core version is deprecated in 5.20 and removed in perl 5.22

8 years agoUse Travis container infrastructure for faster builds
Dagfinn Ilmari Mannsåker [Sun, 28 Jun 2015 18:21:07 +0000]
Use Travis container infrastructure for faster builds

8 years agoAdd support for CHECK constraint in POD producer (GH#63)
Andrew Gregory [Sat, 27 Jun 2015 15:38:01 +0000]
Add support for CHECK constraint in POD producer (GH#63)

8 years agoAdd support for USING and WHERE on indexes in PostgreSQL parser
Sebastian Podjasek [Fri, 26 Jun 2015 13:43:07 +0000]
Add support for USING and WHERE on indexes in PostgreSQL parser

RT#63814, GH#52

8 years agoAdd support for USING and WHERE on indexes in PostgreSQL producer
Sebastian Podjasek [Wed, 8 Apr 2015 23:40:35 +0000]
Add support for USING and WHERE on indexes in PostgreSQL producer

RT#63814, GH#52

8 years agoAdd C<> formatting to code-like text elements
Paul Cochrane [Thu, 25 Jun 2015 11:33:47 +0000]
Add C<> formatting to code-like text elements

This makes things which are basically code stand out as being such.

8 years agoFix minor typos in POD
Paul Cochrane [Thu, 25 Jun 2015 11:33:31 +0000]
Fix minor typos in POD

8 years agoRemove empty sections
Paul Cochrane [Thu, 25 Jun 2015 11:27:08 +0000]
Remove empty sections

This removes (most of, but not yet all) the `empty section in previous
paragraph` warnings.

8 years agoAdd a DESCRIPTION to SQL::Translator::Filter::Names
Paul Cochrane [Thu, 25 Jun 2015 11:16:33 +0000]
Add a DESCRIPTION to SQL::Translator::Filter::Names

Do this correctly this time.  I seem to have mixed up the location while
merging other patches.

8 years agoFix PostgreSQL grammar parsing of UUID, time, timetz column types
Sebastian Podjasek [Wed, 8 Apr 2015 23:36:40 +0000]
Fix PostgreSQL grammar parsing of UUID, time, timetz column types

8 years agoAdd SQLite support for check constraints
Andrew Gregory [Sun, 7 Jun 2015 06:30:30 +0000]
Add SQLite support for check constraints

8 years agoReplace sectioned links with C<> formatting
Paul Cochrane [Fri, 12 Jun 2015 12:49:40 +0000]
Replace sectioned links with C<> formatting

Using L<> for sectioned links (e.g. L<perl(1)>) is deprecated.  The
Pod::Checker docs state that "POD hyperlinks may point to POD documents
only."  This change also removes a warning from podchecker.

8 years agoRemove empty =over blocks
Paul Cochrane [Fri, 12 Jun 2015 11:06:43 +0000]
Remove empty =over blocks

This removes the 'No items in =over' warning from podchecker

8 years agoAdd space after =cut statement
Paul Cochrane [Fri, 12 Jun 2015 10:59:33 +0000]
Add space after =cut statement

This corrects the 'Spurious text after =cut' errors found by podchecker.

8 years agoImprove add_trigger consistency between producers
Andrew Gregory [Sun, 14 Dec 2014 22:29:45 +0000]
Improve add_trigger consistency between producers

Update Producer::SQLite and Producer::MySQL to only wrap the trigger
action in "BEGIN...END" when the user has not already done so, bringing
them in line with other producers and the add_trigger documentation.

8 years agoQuoted table_name wasn't being used during MySQL DROP TABLE construction
mix3@サタデーナイトフィーバー [Thu, 2 Apr 2015 04:14:46 +0000]
Quoted table_name wasn't being used during MySQL DROP TABLE construction

8 years agoprevent debug calls with expensive arguments if debugging is not enabled
Christian Walde [Mon, 11 May 2015 15:03:33 +0000]
prevent debug calls with expensive arguments if debugging is not enabled

15-05-11@16:58:43
(ribasushi) just optimize for "minimal logical diff", and
            ignore the urge to "strive for elegance"

8 years agoRemove dependency on List::MoreUtils
Peter Rabbitson [Wed, 24 Jun 2015 15:31:31 +0000]
Remove dependency on List::MoreUtils

Current LMU maintainer was proven unresponsive to concerns about the towering
complexity of that modules dependency chain. Use a pure-perl implementation
of uniq() compatible with the version in LMU 0.4xx series

The slowdown, while noticeable, is of no consequence to the larger codebase

~$ dd if=/dev/urandom bs=512 count=1 2>/dev/null | perl -0777 -Ilib -MSQL::Translator::Utils -MList::MoreUtils::XS -MBenchmark::Dumb -e '
  my @list = map ord, split "", <>;

  Benchmark::Dumb::cmpthese( 0.0001 => {
    lmu => sub {
      List::MoreUtils::uniq(@list);
    },
    pp => sub {
      SQL::Translator::Utils::uniq(@list);
    }
  })
'
               Rate    pp    lmu
pp  2838.17+-0.28/s    -- -35.2%
lmu 4381.99+-0.44/s 54.4%     --

9 years agoDeclare dependencies in deterministic order (RT#102859)
Zefram [Fri, 20 Mar 2015 10:40:21 +0000]
Declare dependencies in deterministic order (RT#102859)

The dependencies were declared in a non-deterministic order, due to hash
randomisation.  This causes noise when diffing build logs.

9 years agoAdd support for optional monotonically increasing sqlite autoincrement
Ivan Baidakou [Mon, 8 Dec 2014 05:49:06 +0000]
Add support for optional monotonically increasing sqlite autoincrement

Enabled with $field->extra->{auto_increment_type} = 'monotonic'

9 years agoRemove explicit strictures usage
Peter Rabbitson [Thu, 26 Feb 2015 18:11:12 +0000]
Remove explicit strictures usage

9 years agorelease 0.11021 v0.11021
Dagfinn Ilmari Mannsåker [Thu, 29 Jan 2015 12:33:04 +0000]
release 0.11021

9 years agoFix array types and multidimensional sizes in Parser::PostgreSQL
Dagfinn Ilmari Mannsåker [Tue, 27 Jan 2015 14:46:35 +0000]
Fix array types and multidimensional sizes in Parser::PostgreSQL

Fixes #49

9 years agoSwitch back to upstream travis-perl-helpers
Dagfinn Ilmari Mannsåker [Wed, 7 Jan 2015 13:26:14 +0000]
Switch back to upstream travis-perl-helpers

9 years agoFix multi-column indexes in Parser::DBI::PostgreSQL
Dagfinn Ilmari Mannsåker [Tue, 6 Jan 2015 19:04:50 +0000]
Fix multi-column indexes in Parser::DBI::PostgreSQL

9 years agoAdd Changes entry for 5.8.1 SQLite diffing fix
Dagfinn Ilmari Mannsåker [Tue, 6 Jan 2015 18:46:25 +0000]
Add Changes entry for 5.8.1 SQLite diffing fix

9 years agoFix SQLite diffing on perl 5.8.1
Dagfinn Ilmari Mannsåker [Tue, 6 Jan 2015 15:38:25 +0000]
Fix SQLite diffing on perl 5.8.1

Empty subs return their arguments in list context on 5.8.1, so stick
an empty expression in it.

9 years agoTranslate MS Access memo type to text in Producer::PostgreSQL
Dagfinn Ilmari Mannsåker [Wed, 10 Dec 2014 17:29:25 +0000]
Translate MS Access memo type to text in Producer::PostgreSQL

9 years agoFix clob type translation in Producer::PostgreSQL
Dagfinn Ilmari Mannsåker [Wed, 10 Dec 2014 17:28:59 +0000]
Fix clob type translation in Producer::PostgreSQL

- Match types to translate case-insensitively
- Convert clob to text, not bytea

9 years agoRemove redundant entries from Producer::PostrgeSQL's type mapping
Dagfinn Ilmari Mannsåker [Wed, 10 Dec 2014 17:27:44 +0000]
Remove redundant entries from Producer::PostrgeSQL's type mapping

9 years agoProvide default index names for SQLite
Andrew Gregory [Mon, 3 Nov 2014 18:19:42 +0000]
Provide default index names for SQLite

The allegedly default names were never used causing the first index
created without a name to fail and subsequent indices to be named 02,
03, 04...  This uses the table name with '_idx' appended as the default,
similar to the PostgreSQL producer.

9 years agoFix quoting of trigger name and table in Producer::PostgreSQL
Dagfinn Ilmari Mannsåker [Sun, 14 Dec 2014 19:57:38 +0000]
Fix quoting of trigger name and table in Producer::PostgreSQL

9 years agoUpdate the Free Software Foundation's address (RT#100531)
Dagfinn Ilmari Mannsåker [Mon, 24 Nov 2014 18:29:50 +0000]
Update the Free Software Foundation's address (RT#100531)

9 years agoRemove executable bit from Parser/JSON.pm (RT#100532)
Dagfinn Ilmari Mannsåker [Mon, 24 Nov 2014 18:18:50 +0000]
Remove executable bit from Parser/JSON.pm (RT#100532)

9 years agoFix erroneous PostgreSQL floating point type translations (RT#99725)
Nick Wellnhofer [Mon, 27 Oct 2014 13:26:21 +0000]
Fix erroneous PostgreSQL floating point type translations (RT#99725)

9 years agoCall close as a function rather than a method
Dagfinn Ilmari Mannsåker [Wed, 22 Oct 2014 15:44:41 +0000]
Call close as a function rather than a method

Hopefully fixes test failure on 5.10.0 on MSWin32

9 years agoMerge branch 'oracle-fixes'
Dagfinn Ilmari Mannsåker [Sat, 18 Oct 2014 14:49:54 +0000]
Merge branch 'oracle-fixes'

9 years agoNarrow the scope of Oracle roundtrip TODO
Dagfinn Ilmari Mannsåker [Sun, 21 Sep 2014 22:41:15 +0000]
Narrow the scope of Oracle roundtrip TODO

The parser can now understand the producer output, but doesn't turn the
triggers it generates back into is_auto_increment and timestamp fields.

9 years agoAdd support for triggers in Parser::Oracle
Dagfinn Ilmari Mannsåker [Sat, 20 Sep 2014 16:20:12 +0000]
Add support for triggers in Parser::Oracle

9 years agoHandle ALTER TABLE ... ADD CONSTRAINT in Parser::Oracle
Dagfinn Ilmari Mannsåker [Sat, 20 Sep 2014 16:07:09 +0000]
Handle ALTER TABLE ... ADD CONSTRAINT in Parser::Oracle

9 years agoMerge branch 'quoting-fixes'
Dagfinn Ilmari Mannsåker [Sat, 18 Oct 2014 14:47:48 +0000]
Merge branch 'quoting-fixes'

9 years agoAdd Changes entry for quoting fixes
Dagfinn Ilmari Mannsåker [Mon, 22 Sep 2014 00:06:10 +0000]
Add Changes entry for quoting fixes

9 years agoQuote table names in 'SHOW CREATE TABLE' in Parser::DBI::MySQL
Dagfinn Ilmari Mannsåker [Thu, 24 Jul 2014 16:30:01 +0000]
Quote table names in 'SHOW CREATE TABLE' in Parser::DBI::MySQL

9 years agoTest quotes in field comments
Dagfinn Ilmari Mannsåker [Sun, 21 Sep 2014 23:52:35 +0000]
Test quotes in field comments

9 years agoTest round-tripping decimal default values
Dagfinn Ilmari Mannsåker [Sun, 21 Sep 2014 19:05:27 +0000]
Test round-tripping decimal default values

9 years agoTest round-tripping default values with quotes and backslashes
Dagfinn Ilmari Mannsåker [Sun, 21 Sep 2014 19:10:44 +0000]
Test round-tripping default values with quotes and backslashes

9 years agoEscape quotes in string values in producers
Dagfinn Ilmari Mannsåker [Tue, 1 Jul 2014 08:19:59 +0000]
Escape quotes in string values in producers

9 years agoTest table and field names with quote characters in them
Dagfinn Ilmari Mannsåker [Mon, 30 Jun 2014 17:58:45 +0000]
Test table and field names with quote characters in them

9 years agoEscape the closing quote character when quoting indentifiers
Dagfinn Ilmari Mannsåker [Sun, 29 Jun 2014 17:36:33 +0000]
Escape the closing quote character when quoting indentifiers

9 years agoFix handling of quoted identifiers and strings in Parser::Oracle
Dagfinn Ilmari Mannsåker [Mon, 30 Jun 2014 21:16:50 +0000]
Fix handling of quoted identifiers and strings in Parser::Oracle

9 years agoFix handling of quoted identifiers and strings in Parser::SQLServer
Dagfinn Ilmari Mannsåker [Mon, 30 Jun 2014 20:42:50 +0000]
Fix handling of quoted identifiers and strings in Parser::SQLServer

9 years agoFix handling of quoted identifiers and strings in Parser::PostgreSQL
Dagfinn Ilmari Mannsåker [Mon, 30 Jun 2014 17:54:20 +0000]
Fix handling of quoted identifiers and strings in Parser::PostgreSQL

9 years agoFix handling of quoted identifiers and strings in Parser::MySQL
Dagfinn Ilmari Mannsåker [Mon, 30 Jun 2014 16:01:11 +0000]
Fix handling of quoted identifiers and strings in Parser::MySQL

9 years agoFix handling of quoted identifiers and strings in Parser::SQLite
Dagfinn Ilmari Mannsåker [Mon, 30 Jun 2014 16:00:58 +0000]
Fix handling of quoted identifiers and strings in Parser::SQLite

9 years agoClean up option parsing and fix identifier quoting in Producer::MySQL
Dagfinn Ilmari Mannsåker [Mon, 30 Jun 2014 17:40:58 +0000]
Clean up option parsing and fix identifier quoting in Producer::MySQL

9 years agoClean up option parsing and identifier quoting in Producer::PostgreSQL
Dagfinn Ilmari Mannsåker [Sun, 29 Jun 2014 16:52:01 +0000]
Clean up option parsing and identifier quoting in Producer::PostgreSQL

Remove the unused quote_field_names and table_name options and use the
factored-out quote option parsing function.

9 years agoFactor out quote option handling
Dagfinn Ilmari Mannsåker [Mon, 30 Jun 2014 17:15:58 +0000]
Factor out quote option handling

9 years agoSwitch back to my travis helpers fork
Dagfinn Ilmari Mannsåker [Thu, 16 Oct 2014 10:48:16 +0000]
Switch back to my travis helpers fork

It should pick up the configure-deps itself now.

9 years agoInstall YAML and XML::LibXML in the perl used for testing too
Dagfinn Ilmari Mannsåker [Mon, 13 Oct 2014 16:57:08 +0000]
Install YAML and XML::LibXML in the perl used for testing too

The perl used for build-dist is not necessearily the same as the one
we're testing under.

9 years agoInstall YAML and XML::LibXML before build-dist
Dagfinn Ilmari Mannsåker [Mon, 13 Oct 2014 16:52:04 +0000]
Install YAML and XML::LibXML before build-dist

They are required when running Makefile.PL in author mode.

9 years agoSwitch back to upstream Travis helpers
Dagfinn Ilmari Mannsåker [Mon, 13 Oct 2014 15:06:05 +0000]
Switch back to upstream Travis helpers

9 years agoFix JSON and YAML tests if the defaults have been tweaked (RT#98824)
Dagfinn Ilmari Mannsåker [Tue, 7 Oct 2014 15:14:18 +0000]
Fix JSON and YAML tests if the defaults have been tweaked (RT#98824)

Some people tweak their JSON (or YAML) modules to format things
differently by default, so roundtrip the expected data through a
load/dump to make sure it's formatted thes same.

9 years agoUpdate help/support and contributing POD section
Dagfinn Ilmari Mannsåker [Mon, 6 Oct 2014 19:06:13 +0000]
Update help/support and contributing POD section

Mostly stolen from DBIx::Class

9 years agoAdd IRC metadata and update repository and bugtracker URLs
Dagfinn Ilmari Mannsåker [Mon, 6 Oct 2014 18:43:33 +0000]
Add IRC metadata and update repository and bugtracker URLs

Shadowgit is still the canonical repo, but advertise the github mirror
for ease of contribution.

9 years agoFix undef warnings from Text::ParseWords when running tests with -w
Dagfinn Ilmari Mannsåker [Thu, 25 Sep 2014 13:10:15 +0000]
Fix undef warnings from Text::ParseWords when running tests with -w

9 years agoFix broken POD links found by App::PodLinkChecker
Dagfinn Ilmari Mannsåker [Mon, 22 Sep 2014 16:46:39 +0000]
Fix broken POD links found by App::PodLinkChecker

9 years agoFix Oracle producer
Alexander Hartmaier [Tue, 16 Sep 2014 18:35:32 +0000]
Fix Oracle producer

generating an unnecessary / at the end in case there are no triggers

9 years agoSkip HTML tests if CGI is not installed (RT#98027)
Dagfinn Ilmari Mannsåker [Wed, 10 Sep 2014 10:29:48 +0000]
Skip HTML tests if CGI is not installed (RT#98027)

It's being evicted from core in 5.22.

9 years agorelease 0.11020 v0.11020
Dagfinn Ilmari Mannsåker [Tue, 2 Sep 2014 22:24:20 +0000]
release 0.11020

9 years agoFix test failure if Test::PostgreSQL is installed but not working
Dagfinn Ilmari Mannsåker [Tue, 2 Sep 2014 22:23:18 +0000]
Fix test failure if Test::PostgreSQL is installed but not working

9 years agorelease 0.11019 v0.11019
Dagfinn Ilmari Mannsåker [Tue, 2 Sep 2014 14:13:48 +0000]
release 0.11019

9 years ago[merge] Batch alter support for Pg and refactoring
Dagfinn Ilmari Mannsåker [Tue, 2 Sep 2014 13:57:20 +0000]
[merge] Batch alter support for Pg and refactoring

Fixes #44

9 years agoAdd Changes entry for Pg diff fix
Dagfinn Ilmari Mannsåker [Mon, 1 Sep 2014 16:23:59 +0000]
Add Changes entry for Pg diff fix

9 years agoFactor out calling of normal diff-production functions
Dagfinn Ilmari Mannsåker [Mon, 25 Aug 2014 09:52:24 +0000]
Factor out calling of normal diff-production functions

9 years agoFix argument documentation for preprocess_schema
Dagfinn Ilmari Mannsåker [Mon, 25 Aug 2014 13:59:08 +0000]
Fix argument documentation for preprocess_schema