Re: getting a list of databases

2001-06-26 Thread Jonathan Leffler

Tim Bunce wrote:

 Changes in DBI 1.16,30th May 2001

   Added note to data_sources() method docs that some drivers may
 require a connected database handle to be supplied as an attribute.

With all due respect, Tim, this is completely ducking the issue.  Yes, after a fashion 
it
resolves the problem, rather like saying Under-age kids should not drink in pubs 
solves a
problem.  It doesn't really cut to the meat of the issue though -- the data_sources()
method is not generally useful because the interface is incomplete.


 On Sun, Jun 10, 2001 at 03:36:12PM -0700, Jonathan Leffler wrote:
  Michael Peppler wrote:
 
   Curt Russell Crandall writes:
 I didn't have an Informix DB available at the time, but yes it does return
 a list of dbs with data_sources... however, Sybase does not as well as
 many others.
  
   DBD::Sybase could be made to return the list of known servers (from
   the interfaces file), but not the list of databases, as that requires
   connecting to each of the servers in the interfaces file (and we need
   to know user/pwd for each server, etc - gets a little hairy).
 
  We had a discussion about this on the dbi-users mailing list during February 2000, 
in
  the run-up to the release of DBI 1.14.  Tim promised to look into it, but either 
came
  up with a negative decision without notifying us or (much more likely) overlooked a
  comparatively minor feature that only impacts a few database servers...
 
  == quote 1 ==
Subject:   Re: DBI-data_sources() - assumption of anonymous user is a bug
Date:  Wed, 09 Feb 2000 20:41:54 -0800
From:  Jonathan Leffler [EMAIL PROTECTED]
To:  Randall Whitman [EMAIL PROTECTED]
CC:   [EMAIL PROTECTED]
 
  Randall Whitman wrote:
 
   We consider the assumption of an anonymous user to be a bug --
   that is, the behavior that
   DBI-data_sources(mysql);
   returns an empty array because we do not have an anonymous
   user in MySQL.
  
   In other words, it should be possible to do one of the following:
  
 @databases = DBI-data_sources(mysql, USER, PASSWORD);## or...
  
 $dbh = DBI-connect(dbi:mysql:, USER, PASSWORD);
 @databases = $dbh-data_sources(mysql);
 
  I sympathize with this; the last remaining test the DBD::Informix 1.00
  pre-releases sometimes skip (instead of failing as in earlier versions)
  is the data sources test, and it too is because there is no user
  information available even though it can be needed to connect to the
  database server to obtain the list of databases.
 
  I note in passing that if you do the connection first, DBD::Informix
  will generate a list of data sources OK, but the whole point of the
  data sources method is to find out what's available before formally
  connecting to one of the available data sources.
 
  Please can we modify DBI 1.14 to handle this, Tim?
  It looks like a simple, backwards compatible extension to me...
 
 
   I realize that implementation of such would require support from the
   actual driver module, but currently the DBI does not provide a way
   to use such a feature.  I have posted a note regarding this issue
   to [EMAIL PROTECTED] [...]
 
   [from msql-mysql-modules]
  
We consider the assumption of an anonymous user in listdbs to be a bug.
   ..
   I agree with you, but I refuse to support listdbs, as there is
   the portable DBI-data_sources().  IMO the better way to go
   is the support for user names and passwords with the data_sources
   method.  If you are interested in that, please contact Tim Bunce.
   ..
   Thanks, Jochen
 
  == end quote 1 ==
 
  == quote 2 ==
 Date:  Thu, 10 Feb 2000 10:11:23 +
 From: Tim Bunce [EMAIL PROTECTED]
 To: Jonathan Leffler [EMAIL PROTECTED]
 CC: Randall Whitman [EMAIL PROTECTED], [EMAIL PROTECTED]
 
  On Wed, Feb 09, 2000 at 08:41:54PM -0800, Jonathan Leffler wrote:
   Please can we modify DBI 1.14 to handle this, Tim?
   It looks like a simple, backwards compatible extension to me...
 
  I'll look into it.
 
  Tim.
 
  == end quote 2 ==
 
 
 
 On Thu, 7 Jun 2001, Jonathan Leffler wrote:
  Curt Russell Crandall wrote:
   Is the DBI-data_sources method the only facility available in the DBI to
   get a list of databases on a server?  [...]
 
   Sybase won't return anything with data_sources and I'm not
   sure if Informix will either... those are the 2 dbs I'm concerned with 
[...]
  
 
  Have you tried using data_sources with DBD::Informix?  [...]





--
Jonathan Leffler ([EMAIL PROTECTED], [EMAIL PROTECTED])
Guardian of DBD::Informix 1.00.PC1 -- see http://www.cpan.org/
#include disclaimer.h





Re: getting a list of databases

2001-06-26 Thread Simon Oliver

Perhaps what would be useful is a set of comliance attributes that 
describes which optional DBI interfaces are supported and to what extent.

Jonathan Leffler wrote:

 Tim Bunce wrote:
 
 
 Changes in DBI 1.16,30th May 2001
 
   Added note to data_sources() method docs that some drivers may
 require a connected database handle to be supplied as an attribute.
 
 
 With all due respect, Tim, this is completely ducking the issue.  Yes, after a 
fashion it
 resolves the problem, rather like saying Under-age kids should not drink in pubs 
solves a
 problem.  It doesn't really cut to the meat of the issue though -- the data_sources()
 method is not generally useful because the interface is incomplete.
 
 
 
 On Sun, Jun 10, 2001 at 03:36:12PM -0700, Jonathan Leffler wrote:
 
 Michael Peppler wrote:
 
 
 Curt Russell Crandall writes:
   I didn't have an Informix DB available at the time, but yes it does return
   a list of dbs with data_sources... however, Sybase does not as well as
   many others.
 
 DBD::Sybase could be made to return the list of known servers (from
 the interfaces file), but not the list of databases, as that requires
 connecting to each of the servers in the interfaces file (and we need
 to know user/pwd for each server, etc - gets a little hairy).
 
 We had a discussion about this on the dbi-users mailing list during February 2000, 
in
 the run-up to the release of DBI 1.14.  Tim promised to look into it, but either 
came
 up with a negative decision without notifying us or (much more likely) overlooked a
 comparatively minor feature that only impacts a few database servers...
 
 == quote 1 ==
   Subject:   Re: DBI-data_sources() - assumption of anonymous user is a bug
   Date:  Wed, 09 Feb 2000 20:41:54 -0800
   From:  Jonathan Leffler [EMAIL PROTECTED]
   To:  Randall Whitman [EMAIL PROTECTED]
   CC:   [EMAIL PROTECTED]
 
 Randall Whitman wrote:
 
 
 We consider the assumption of an anonymous user to be a bug --
 that is, the behavior that
 DBI-data_sources(mysql);
 returns an empty array because we do not have an anonymous
 user in MySQL.
 
 In other words, it should be possible to do one of the following:
 
   @databases = DBI-data_sources(mysql, USER, PASSWORD);## or...
 
   $dbh = DBI-connect(dbi:mysql:, USER, PASSWORD);
   @databases = $dbh-data_sources(mysql);
 
 I sympathize with this; the last remaining test the DBD::Informix 1.00
 pre-releases sometimes skip (instead of failing as in earlier versions)
 is the data sources test, and it too is because there is no user
 information available even though it can be needed to connect to the
 database server to obtain the list of databases.
 
 I note in passing that if you do the connection first, DBD::Informix
 will generate a list of data sources OK, but the whole point of the
 data sources method is to find out what's available before formally
 connecting to one of the available data sources.
 
 Please can we modify DBI 1.14 to handle this, Tim?
 It looks like a simple, backwards compatible extension to me...
 
 
 
 I realize that implementation of such would require support from the
 actual driver module, but currently the DBI does not provide a way
 to use such a feature.  I have posted a note regarding this issue
 to [EMAIL PROTECTED] [...]
 
 [from msql-mysql-modules]
 
 
 We consider the assumption of an anonymous user in listdbs to be a bug.
 
 ..
 I agree with you, but I refuse to support listdbs, as there is
 the portable DBI-data_sources().  IMO the better way to go
 is the support for user names and passwords with the data_sources
 method.  If you are interested in that, please contact Tim Bunce.
 ..
 Thanks, Jochen
 
 == end quote 1 ==
 
 == quote 2 ==
Date:  Thu, 10 Feb 2000 10:11:23 +
From: Tim Bunce [EMAIL PROTECTED]
To: Jonathan Leffler [EMAIL PROTECTED]
CC: Randall Whitman [EMAIL PROTECTED], [EMAIL PROTECTED]
 
 On Wed, Feb 09, 2000 at 08:41:54PM -0800, Jonathan Leffler wrote:
 
 Please can we modify DBI 1.14 to handle this, Tim?
 It looks like a simple, backwards compatible extension to me...
 
 I'll look into it.
 
 Tim.
 
 == end quote 2 ==
 
 
 
 
   On Thu, 7 Jun 2001, Jonathan Leffler wrote:
Curt Russell Crandall wrote:
 Is the DBI-data_sources method the only facility available in the DBI to
 get a list of databases on a server?  [...]
 
 Sybase won't return anything with data_sources and I'm not
 sure if Informix will either... those are the 2 dbs I'm concerned with 
[...]
 
   
Have you tried using data_sources with DBD::Informix?  [...]
 
 
 
 
 
 --
 Jonathan Leffler ([EMAIL PROTECTED], [EMAIL PROTECTED])
 Guardian of DBD::Informix 1.00.PC1 -- see http://www.cpan.org/
 #include disclaimer.h


-- 
   Simon Oliver

---
   Department of Biomolecular Sciences
   UMIST, PO Box 88, Sackville St
   Manchester, M60 1QD
   United Kingdom

   Phone:  +44 161 200 8912
   Fax:+44 161 236 0409
   Mobile: 

Re: getting a list of databases

2001-06-26 Thread Tim Bunce

On Mon, Jun 25, 2001 at 08:32:42PM -0700, Jonathan Leffler wrote:
 Tim Bunce wrote:
 
  Changes in DBI 1.16,30th May 2001
 
Added note to data_sources() method docs that some drivers may
  require a connected database handle to be supplied as an attribute.
 
 With all due respect, Tim, this is completely ducking the issue.  Yes, after a 
fashion it
 resolves the problem, rather like saying Under-age kids should not drink in pubs 
solves a
 problem.  It doesn't really cut to the meat of the issue though -- the data_sources()
 method is not generally useful because the interface is incomplete.

Portable applications rarely need to use data_sources().

The DBI always has to steer a course between the important and the impractical.

The correct 'complete' interface is probably the ODBC SQLBrowseConnect()
but I don't think you'd thank me for mandating that.

Tim.



Re: getting a list of databases

2001-06-25 Thread Tim Bunce


Changes in DBI 1.16,30th May 2001

  Added note to data_sources() method docs that some drivers may
require a connected database handle to be supplied as an attribute.

Tim.

On Sun, Jun 10, 2001 at 03:36:12PM -0700, Jonathan Leffler wrote:
 Michael Peppler wrote:
 
  Curt Russell Crandall writes:
I didn't have an Informix DB available at the time, but yes it does return
a list of dbs with data_sources... however, Sybase does not as well as
many others.
 
  DBD::Sybase could be made to return the list of known servers (from
  the interfaces file), but not the list of databases, as that requires
  connecting to each of the servers in the interfaces file (and we need
  to know user/pwd for each server, etc - gets a little hairy).
 
 We had a discussion about this on the dbi-users mailing list during February 2000, in
 the run-up to the release of DBI 1.14.  Tim promised to look into it, but either came
 up with a negative decision without notifying us or (much more likely) overlooked a
 comparatively minor feature that only impacts a few database servers...
 
 == quote 1 ==
   Subject:   Re: DBI-data_sources() - assumption of anonymous user is a bug
   Date:  Wed, 09 Feb 2000 20:41:54 -0800
   From:  Jonathan Leffler [EMAIL PROTECTED]
   To:  Randall Whitman [EMAIL PROTECTED]
   CC:   [EMAIL PROTECTED]
 
 Randall Whitman wrote:
 
  We consider the assumption of an anonymous user to be a bug --
  that is, the behavior that
  DBI-data_sources(mysql);
  returns an empty array because we do not have an anonymous
  user in MySQL.
 
  In other words, it should be possible to do one of the following:
 
@databases = DBI-data_sources(mysql, USER, PASSWORD);## or...
 
$dbh = DBI-connect(dbi:mysql:, USER, PASSWORD);
@databases = $dbh-data_sources(mysql);
 
 I sympathize with this; the last remaining test the DBD::Informix 1.00
 pre-releases sometimes skip (instead of failing as in earlier versions)
 is the data sources test, and it too is because there is no user
 information available even though it can be needed to connect to the
 database server to obtain the list of databases.
 
 I note in passing that if you do the connection first, DBD::Informix
 will generate a list of data sources OK, but the whole point of the
 data sources method is to find out what's available before formally
 connecting to one of the available data sources.
 
 Please can we modify DBI 1.14 to handle this, Tim?
 It looks like a simple, backwards compatible extension to me...
 
 
  I realize that implementation of such would require support from the
  actual driver module, but currently the DBI does not provide a way
  to use such a feature.  I have posted a note regarding this issue
  to [EMAIL PROTECTED] [...]
 
  [from msql-mysql-modules]
 
   We consider the assumption of an anonymous user in listdbs to be a bug.
  ..
  I agree with you, but I refuse to support listdbs, as there is
  the portable DBI-data_sources().  IMO the better way to go
  is the support for user names and passwords with the data_sources
  method.  If you are interested in that, please contact Tim Bunce.
  ..
  Thanks, Jochen
 
 == end quote 1 ==
 
 == quote 2 ==
Date:  Thu, 10 Feb 2000 10:11:23 +
From: Tim Bunce [EMAIL PROTECTED]
To: Jonathan Leffler [EMAIL PROTECTED]
CC: Randall Whitman [EMAIL PROTECTED], [EMAIL PROTECTED]
 
 On Wed, Feb 09, 2000 at 08:41:54PM -0800, Jonathan Leffler wrote:
  Please can we modify DBI 1.14 to handle this, Tim?
  It looks like a simple, backwards compatible extension to me...
 
 I'll look into it.
 
 Tim.
 
 == end quote 2 ==
 
 
 
On Thu, 7 Jun 2001, Jonathan Leffler wrote:
 Curt Russell Crandall wrote:
  Is the DBI-data_sources method the only facility available in the DBI to
  get a list of databases on a server?  [...]
 
  Sybase won't return anything with data_sources and I'm not
  sure if Informix will either... those are the 2 dbs I'm concerned with [...]
 

 Have you tried using data_sources with DBD::Informix?  [...]
 
 --
 Jonathan Leffler ([EMAIL PROTECTED], [EMAIL PROTECTED])
 Guardian of DBD::Informix 1.00.PC1 -- see http://www.cpan.org/
 #include disclaimer.h
 



Re: getting a list of databases

2001-06-07 Thread Jonathan Leffler

Curt Russell Crandall wrote:

 Is the DBI-data_sources method the only facility available in the DBI to
 get a list of databases on a server?  I'm trying to build a Perl/Tk
 application that would give me an interface similar to say RapidSQL where
 I can have a frame containing a list of all the databases on a
 server... by clicking one, I can enter that database and issue commands
 and stuff.  Sybase won't return anything with data_sources and I'm not
 sure if Informix will either... those are the 2 dbs I'm concerned with at
 this moment.  I know in Sybase I could just query the master..sysdatabases
 table to get this list, but I was hoping there'd be a more portable method
 available in the DBI especially since I don't know what command to issue
 in Informix to get a similar list.

Have you tried using data_sources with DBD::Informix?  If you don't have it,
you must have a really, really, really ancient version of DBD::Informix and
you are three to four years overdue for an upgrade.  Check the test --
t/t??dblist.t IIRC.  And/or the documentation?

--
Jonathan Leffler ([EMAIL PROTECTED], [EMAIL PROTECTED])
Guardian of DBD::Informix 1.00.PC1 -- see http://www.cpan.org/
#include disclaimer.h





Re: getting a list of databases

2001-06-07 Thread Curt Russell Crandall

I didn't have an Informix DB available at the time, but yes it does return
a list of dbs with data_sources... however, Sybase does not as well as
many others.

On Thu, 7 Jun 2001, Jonathan Leffler wrote:

 Curt Russell Crandall wrote:
 
  Is the DBI-data_sources method the only facility available in the DBI to
  get a list of databases on a server?  I'm trying to build a Perl/Tk
  application that would give me an interface similar to say RapidSQL where
  I can have a frame containing a list of all the databases on a
  server... by clicking one, I can enter that database and issue commands
  and stuff.  Sybase won't return anything with data_sources and I'm not
  sure if Informix will either... those are the 2 dbs I'm concerned with at
  this moment.  I know in Sybase I could just query the master..sysdatabases
  table to get this list, but I was hoping there'd be a more portable method
  available in the DBI especially since I don't know what command to issue
  in Informix to get a similar list.
 
 Have you tried using data_sources with DBD::Informix?  If you don't have it,
 you must have a really, really, really ancient version of DBD::Informix and
 you are three to four years overdue for an upgrade.  Check the test --
 t/t??dblist.t IIRC.  And/or the documentation?
 
 --
 Jonathan Leffler ([EMAIL PROTECTED], [EMAIL PROTECTED])
 Guardian of DBD::Informix 1.00.PC1 -- see http://www.cpan.org/
 #include disclaimer.h
 
 
 




Re: getting a list of databases

2001-06-07 Thread Michael Peppler

Curt Russell Crandall writes:
  I didn't have an Informix DB available at the time, but yes it does return
  a list of dbs with data_sources... however, Sybase does not as well as
  many others.

DBD::Sybase could be made to return the list of known servers (from
the interfaces file), but not the list of databases, as that requires
connecting to each of the servers in the interfaces file (and we need
to know user/pwd for each server, etc - gets a little hairy).

Michael


  
  On Thu, 7 Jun 2001, Jonathan Leffler wrote:
  
   Curt Russell Crandall wrote:
   
Is the DBI-data_sources method the only facility available in the DBI to
get a list of databases on a server?  I'm trying to build a Perl/Tk
application that would give me an interface similar to say RapidSQL where
I can have a frame containing a list of all the databases on a
server... by clicking one, I can enter that database and issue commands
and stuff.  Sybase won't return anything with data_sources and I'm not
sure if Informix will either... those are the 2 dbs I'm concerned with at
this moment.  I know in Sybase I could just query the master..sysdatabases
table to get this list, but I was hoping there'd be a more portable method
available in the DBI especially since I don't know what command to issue
in Informix to get a similar list.
   
   Have you tried using data_sources with DBD::Informix?  If you don't have it,
   you must have a really, really, really ancient version of DBD::Informix and
   you are three to four years overdue for an upgrade.  Check the test --
   t/t??dblist.t IIRC.  And/or the documentation?
   
   --
   Jonathan Leffler ([EMAIL PROTECTED], [EMAIL PROTECTED])
   Guardian of DBD::Informix 1.00.PC1 -- see http://www.cpan.org/
   #include disclaimer.h
   
   
   
  

-- 
Michael Peppler - Data Migrations Inc. - [EMAIL PROTECTED]
http://www.mbay.net/~mpeppler - [EMAIL PROTECTED]
International Sybase User Group - http://www.isug.com
Sybase on Linux mailing list: [EMAIL PROTECTED]



getting a list of databases

2001-05-31 Thread Curt Russell Crandall

Is the DBI-data_sources method the only facility available in the DBI to
get a list of databases on a server?  I'm trying to build a Perl/Tk
application that would give me an interface similar to say RapidSQL where
I can have a frame containing a list of all the databases on a
server... by clicking one, I can enter that database and issue commands
and stuff.  Sybase won't return anything with data_sources and I'm not
sure if Informix will either... those are the 2 dbs I'm concerned with at
this moment.  I know in Sybase I could just query the master..sysdatabases
table to get this list, but I was hoping there'd be a more portable method
available in the DBI especially since I don't know what command to issue
in Informix to get a similar list.

Thank you,
Curt Crandall