mirror of
https://git.savannah.gnu.org/git/parallel.git
synced 2024-11-25 23:47:53 +00:00
sql: basic dburl?sqlstatement works. No unittest
This commit is contained in:
parent
654eb4bfa0
commit
0db41520c3
|
@ -4,7 +4,11 @@ Unittest:
|
|||
dburl = :
|
||||
dburl = null
|
||||
|
||||
sqlite2 sqlite3 support
|
||||
Denne med '?' skal vel også virke:
|
||||
sql mysql:///mydb?'SELECT * FROM foo'
|
||||
el.
|
||||
sql 'mysql:///mydb?SELECT * FROM foo'
|
||||
|
||||
|
||||
|
||||
== FEX ==
|
||||
|
|
25
src/sql
25
src/sql
|
@ -393,6 +393,10 @@ if(defined $::opt_tablesize) {
|
|||
unshift @ARGV, tablesize($database_driver,%dburl);
|
||||
}
|
||||
|
||||
if($dburl{'statement'}) {
|
||||
unshift @ARGV,$dburl{'statement'};
|
||||
}
|
||||
|
||||
do {
|
||||
if(@ARGV) {
|
||||
$::opt_debug and print "$batch_command\n";
|
||||
|
@ -449,8 +453,6 @@ sub parse_options {
|
|||
if(defined $::opt_version) { version(); exit(0); }
|
||||
}
|
||||
|
||||
|
||||
|
||||
sub database_driver_alias {
|
||||
my $driver = shift;
|
||||
my %database_driver_alias = ("mysql" => "mysql",
|
||||
|
@ -675,11 +677,6 @@ sub tablesize {
|
|||
}
|
||||
}
|
||||
|
||||
sub undef_as_zero {
|
||||
my $a = shift;
|
||||
return $a ? $a : 0;
|
||||
}
|
||||
|
||||
sub is_stdin_terminal {
|
||||
return (-t STDIN);
|
||||
}
|
||||
|
@ -765,7 +762,7 @@ sub check_permissions {
|
|||
sub parse_dburl {
|
||||
my $url = shift;
|
||||
my %options = ();
|
||||
# mysql://[[user][:password]@][host][:port]/[database[/jobnr]]
|
||||
# mysql://[[user][:password]@][host][:port]/[database[?sql statement]]
|
||||
|
||||
if($url=~m!((?:oracle|ora|mysql|pg|postgres|postgresql)(?:s|ssl|)|
|
||||
(?:sqlite|sqlite2|sqlite3)):// # Databasedriver ($1)
|
||||
|
@ -782,7 +779,11 @@ sub parse_dburl {
|
|||
)?
|
||||
(?:
|
||||
/
|
||||
(.*)? # Database ($6)
|
||||
([^?]*)? # Database ($6)
|
||||
)?
|
||||
(?:
|
||||
\?
|
||||
(.*)? # Statement ($7)
|
||||
)?
|
||||
!x) {
|
||||
$options{databasedriver} = undef_if_empty($1);
|
||||
|
@ -791,6 +792,7 @@ sub parse_dburl {
|
|||
$options{host} = undef_if_empty($4);
|
||||
$options{port} = undef_if_empty($5);
|
||||
$options{database} = undef_if_empty($6);
|
||||
$options{statement} = undef_if_empty($7);
|
||||
} else {
|
||||
Usage("$url is not a valid DBURL");
|
||||
exit -1;
|
||||
|
@ -805,6 +807,11 @@ sub undef_if_empty {
|
|||
return $_[0];
|
||||
}
|
||||
|
||||
sub undef_as_zero {
|
||||
my $a = shift;
|
||||
return $a ? $a : 0;
|
||||
}
|
||||
|
||||
sub version {
|
||||
# Returns: N/A
|
||||
print join("\n",
|
||||
|
|
Loading…
Reference in a new issue