Skip to content

Commit 882b7db

Browse files
authored
Merge pull request #16 from libwww-perl/snowflake
Add support for Snowflake URI
2 parents 06614bd + 074ad7a commit 882b7db

File tree

4 files changed

+39
-0
lines changed

4 files changed

+39
-0
lines changed

Changes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
Revision history for Perl extension URI::db.
22

33
0.19
4+
- Added URI::snowflake.
45

56
0.18 2017-11-03T15:01:43Z
67
- Added URI::redshift to support db:redshift: URIs, thanks to a pull

lib/URI/snowflake.pm

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package URI::snowflake;
2+
use base 'URI::_odbc';
3+
our $VERSION = '0.19';
4+
5+
sub default_port { 443 }
6+
7+
1;

t/dbi.t

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -388,6 +388,36 @@ for my $spec (
388388
dbi => [ [EXAHOST => 'foo'], [EXAPORT => 123] ],
389389
qry => [ foo => 1, foo => 2, lol => 'yes', Driver => 'HPExasol' ],
390390
},
391+
{
392+
uri => 'db:snowflake:',
393+
dsn => 'dbi:ODBC:',
394+
dbi => [ [DSN => undef] ],
395+
qry => [],
396+
},
397+
{
398+
uri => 'db:snowflake:dbadmin',
399+
dsn => 'dbi:ODBC:DSN=dbadmin',
400+
dbi => [ [DSN => 'dbadmin'] ],
401+
qry => [],
402+
},
403+
{
404+
uri => 'db:snowflake://yow',
405+
dsn => 'dbi:ODBC:Server=yow;Port=443',
406+
dbi => [ [Server => 'yow'], [Port => 443], [Database => undef] ],
407+
qry => [],
408+
},
409+
{
410+
uri => 'db:snowflake://yow:33',
411+
dsn => 'dbi:ODBC:Server=yow;Port=33',
412+
dbi => [ [Server => 'yow'], [Port => 33], [Database => undef] ],
413+
qry => [],
414+
},
415+
{
416+
uri => 'db:snowflake://foo:123/try?foo=1&foo=2&lol=yes&Driver=Snowflaker',
417+
dsn => 'dbi:ODBC:Server=foo;Port=123;Database=try;foo=1;foo=2;lol=yes;Driver=Snowflaker',
418+
dbi => [ [Server => 'foo'], [Port => 123], [Database => 'try'] ],
419+
qry => [ foo => 1, foo => 2, lol => 'yes', Driver => 'Snowflaker' ],
420+
},
391421
) {
392422
my $uri = $spec->{uri};
393423
ok my $u = URI->new($uri), "URI $uri";

t/engines.t

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ for my $spec (
4848
[ vertica => 5433, 'vertica' ],
4949
[ ldapdb => undef, 'ldapdb' ],
5050
[ exasol => 8563, 'exasol' ],
51+
[ snowflake => 443, 'snowflake' ],
5152
) {
5253
my ($engine, $port, $canon) = @{ $spec };
5354
my $prefix = "db:$engine";

0 commit comments

Comments
 (0)