Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion Changes
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
Revision history for SQL-Beautify

0.05 2022-03-09
* Force new linr after a line comment

0.04 2011-08-07
* Support for adding own keywords.
* Support for custom rules
Expand All @@ -15,7 +18,7 @@ Revision history for SQL-Beautify
0.02 2009-03-29
* Fix in documentation.
* Line break before ORDER BY and GROUP BY.


0.01 2009-02-22
First version, released on an unsuspecting world.
9 changes: 7 additions & 2 deletions lib/SQL/Beautify.pm
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,11 @@ sub beautify {
$self->_process_rule($rule, $token);
}

elsif($token =~ /^--$/i) {
$self->_add_token($token);
$self->_new_line;
}

elsif($token eq '(') {
$self->_add_token($token);
$self->_new_line;
Expand Down Expand Up @@ -233,8 +238,8 @@ sub _add_token {
$token = uc $token
if $self->_is_keyword($token) and $self->{uc_keywords};

# lowercase name
$token = lc $token
# lowercase name
$token = lc $token
if $self->{lc_names} and !$self->_is_keyword( $token ) and !$self->_is_constant( $token );

$self->{_output} .= $token;
Expand Down
30 changes: 30 additions & 0 deletions t/line_comment.t
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#!/usr/bin/perl

use strict;
use warnings;

use Test::More tests => 4;
use SQL::Beautify;

my $sql = new SQL::Beautify(spaces => 2);
my $query;
my $beauty;

ok($sql, 'got instance');

# Test plain text formatting.
$query = <DATA>;
$beauty = <DATA>;

$query = eval $query;
$beauty = eval $beauty;

ok($sql->query($query) eq $query, 'query set');
ok($sql->query eq $query, 'query get');

ok($sql->beautify eq $beauty, 'beautified');


__DATA__
"SELECT * FROM foo, bar, baz WHERE foo.id = bar.id -- AND bar.id = baz.id\nORDER BY bar"
"SELECT\n *\nFROM\n foo,\n bar,\n baz\nWHERE\n foo.id = bar.id -- AND bar.id = baz.id\nORDER BY\n bar\n"