RE: DB persistence

2000-08-16 Thread Michael Peppler

Pramod Sokke writes:
 > >There's an Apache::Sybase::DBlib module floating around somewhere that 
 > >you could use if you don't want to make all those changes.
 > 
 > I'm right now using that module and it's with that module that I'm getting
 > the message in my error logs about establishing connection to db for every
 > connect call. That's what has left me totally confused whether it's
 > actually using the established connection or not.

You're going to get a fresh connection for each apache child process
when that process' connect() call is called. On subsequent calls you
should not get this.

You could verify this by adding:

sub connect {
my($self, @args) = @_;
my($Uid, $Pwd, $Srv) = @args;
my $idx = join ":", (@args) || (@{$self});
return $Connected{$idx} if $Connected{$idx};
print STDERR "($$) connecting to $idx...\n" if $main::DEBUG;
#---^^^
$Connected{$idx} = Sybase::DBlib->dblogin($Uid, $Pwd, $Srv);
}

which will include the process id of the process connecting.

 > 
 > >However, in general it's a lot better if you can avoid having API
 > >calls all over the place.
 > >For example in the app I'm currently writing there is only 1
 > >subroutine that calls the database API (Sybase::CTlib, in this case).
 > >
 > >This adds a bit of overhead in the perl code, but cuts *way* down on
 > >the code maintenance!
 > 
 > I totally agree with you on this, but I'm helpless here because I have to
 > work with already existing code that has API calls all over the place.

I understand that - just a general comment.

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



RE: DB persistence

2000-08-16 Thread Pramod Sokke

>There's an Apache::Sybase::DBlib module floating around somewhere that 
>you could use if you don't want to make all those changes.

I'm right now using that module and it's with that module that I'm getting
the message in my error logs about establishing connection to db for every
connect call. That's what has left me totally confused whether it's
actually using the established connection or not.

>However, in general it's a lot better if you can avoid having API
>calls all over the place.
>For example in the app I'm currently writing there is only 1
>subroutine that calls the database API (Sybase::CTlib, in this case).
>
>This adds a bit of overhead in the perl code, but cuts *way* down on
>the code maintenance!

I totally agree with you on this, but I'm helpless here because I have to
work with already existing code that has API calls all over the place.


-Pramod


> > At 02:21 PM 8/16/00 -0400, Shimon Rura wrote:
> > >It seems to be starting a new connection each time.  If you want
connection
> > >pooling, you should use the Apache::DBI module, which will transparently
> > >pool DBI connections for you.
> > >
> > >Shimon Rura
> > >
> > >> Hi all,
> > >>
> > >> I think I misled everybody with my previous question on this topic.
To put
> > >> it in simple words:
> > >> Apache 1.3.12/mod_perl 1.24/Solaris 2.7
> > >> I'm establishing db connection at server startup and the logs indicate
> > >> that's done. But in my subsequent calls to 'connect' in my scripts,
I see
> > >> the same message "Establishing connection to PURCHASEDB:purchasedb"
in my
> > >> webserver error log. Does this mean it's ignoring the already
available db
> > >> handle and making fresh connections?
> > >> In other words, how do I make sure whether the original handle is
used or
> > >> if a fresh connection is established?
> > >> Any help is greatly appreciated.
> > >>
> > >> Thanks,
> > >> Pramod
> > 
>
>-- 
>Michael Peppler -||-  Data Migrations Inc.
>[EMAIL PROTECTED]-||-  http://www.mbay.net/~mpeppler
>Int. Sybase User Group  -||-  http://www.isug.com
>Sybase on Linux mailing list: [EMAIL PROTECTED]
> 



RE: DB persistence

2000-08-16 Thread Geoffrey Young



> -Original Message-
> From: Mark D Wolinski [mailto:[EMAIL PROTECTED]]
> Sent: Wednesday, August 16, 2000 2:32 PM
> To: [EMAIL PROTECTED]
> Subject: RE: DB persistence
> 
> 
> If I have mod_perl installed, will CGI's not running under 
> mod_perl benefit
> from Apache::DBI as well if they connect to the same database?
> 
> Mark W

no - Apache::DBI is mod_perl specific...

--Geoff

> 
> 
> > -Original Message-
> > From: Shimon Rura [mailto:[EMAIL PROTECTED]]
> > Sent: Wednesday, August 16, 2000 2:22 PM
> > To: Pramod Sokke; [EMAIL PROTECTED]
> > Subject: RE: DB persistence
> >
> >
> > It seems to be starting a new connection each time.  If you want
> > connection
> > pooling, you should use the Apache::DBI module, which will 
> transparently
> > pool DBI connections for you.
> >
> > Shimon Rura
> >
> > > -Original Message-
> > > From: Pramod Sokke [mailto:[EMAIL PROTECTED]]
> > > Sent: Wednesday, August 16, 2000 2:00 PM
> > > To: [EMAIL PROTECTED]
> > > Subject: DB persistence
> > >
> > >
> > > Hi all,
> > >
> > > I think I misled everybody with my previous question on this
> > topic. To put
> > > it in simple words:
> > > Apache 1.3.12/mod_perl 1.24/Solaris 2.7
> > > I'm establishing db connection at server startup and the 
> logs indicate
> > > that's done. But in my subsequent calls to 'connect' in my
> > scripts, I see
> > > the same message "Establishing connection to
> > PURCHASEDB:purchasedb" in my
> > > webserver error log. Does this mean it's ignoring the already
> > available db
> > > handle and making fresh connections?
> > > In other words, how do I make sure whether the original handle
> > is used or
> > > if a fresh connection is established?
> > > Any help is greatly appreciated.
> > >
> > > Thanks,
> > > Pramod
> > >
> >
> 



RE: DB persistence

2000-08-16 Thread Michael Peppler

Pramod Sokke writes:
 > Hmmm, the reason I'm not using Apache::DBI right now is coz our current
 > scripts are using DBlib to talk to Sybase. Looks like I have to make
 > thousands of changes all over the place after all and start using DBI.
 > Those of you folks already using Apache::DBI, can you tell me what kind of
 > message is logged in webserver error logs everytime a call to 'connect' is
 > made?

There's an Apache::Sybase::DBlib module floating around somewhere that 
you could use if you don't want to make all those changes.

However, in general it's a lot better if you can avoid having API
calls all over the place.

For example in the app I'm currently writing there is only 1
subroutine that calls the database API (Sybase::CTlib, in this case).

This adds a bit of overhead in the perl code, but cuts *way* down on
the code maintenance!

Michael


 > At 02:21 PM 8/16/00 -0400, Shimon Rura wrote:
 > >It seems to be starting a new connection each time.  If you want connection
 > >pooling, you should use the Apache::DBI module, which will transparently
 > >pool DBI connections for you.
 > >
 > >Shimon Rura
 > >
 > >> Hi all,
 > >>
 > >> I think I misled everybody with my previous question on this topic. To put
 > >> it in simple words:
 > >> Apache 1.3.12/mod_perl 1.24/Solaris 2.7
 > >> I'm establishing db connection at server startup and the logs indicate
 > >> that's done. But in my subsequent calls to 'connect' in my scripts, I see
 > >> the same message "Establishing connection to PURCHASEDB:purchasedb" in my
 > >> webserver error log. Does this mean it's ignoring the already available db
 > >> handle and making fresh connections?
 > >> In other words, how do I make sure whether the original handle is used or
 > >> if a fresh connection is established?
 > >> Any help is greatly appreciated.
 > >>
 > >> Thanks,
 > >> Pramod
 > 

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



RE: DB persistence

2000-08-16 Thread Mark D Wolinski

If I have mod_perl installed, will CGI's not running under mod_perl benefit
from Apache::DBI as well if they connect to the same database?

Mark W


> -Original Message-
> From: Shimon Rura [mailto:[EMAIL PROTECTED]]
> Sent: Wednesday, August 16, 2000 2:22 PM
> To: Pramod Sokke; [EMAIL PROTECTED]
> Subject: RE: DB persistence
>
>
> It seems to be starting a new connection each time.  If you want
> connection
> pooling, you should use the Apache::DBI module, which will transparently
> pool DBI connections for you.
>
> Shimon Rura
>
> > -Original Message-
> > From: Pramod Sokke [mailto:[EMAIL PROTECTED]]
> > Sent: Wednesday, August 16, 2000 2:00 PM
> > To: [EMAIL PROTECTED]
> > Subject: DB persistence
> >
> >
> > Hi all,
> >
> > I think I misled everybody with my previous question on this
> topic. To put
> > it in simple words:
> > Apache 1.3.12/mod_perl 1.24/Solaris 2.7
> > I'm establishing db connection at server startup and the logs indicate
> > that's done. But in my subsequent calls to 'connect' in my
> scripts, I see
> > the same message "Establishing connection to
> PURCHASEDB:purchasedb" in my
> > webserver error log. Does this mean it's ignoring the already
> available db
> > handle and making fresh connections?
> > In other words, how do I make sure whether the original handle
> is used or
> > if a fresh connection is established?
> > Any help is greatly appreciated.
> >
> > Thanks,
> > Pramod
> >
>




RE: DB persistence

2000-08-16 Thread Pramod Sokke

Hmmm, the reason I'm not using Apache::DBI right now is coz our current
scripts are using DBlib to talk to Sybase. Looks like I have to make
thousands of changes all over the place after all and start using DBI.
Those of you folks already using Apache::DBI, can you tell me what kind of
message is logged in webserver error logs everytime a call to 'connect' is
made?

Thanks,
Pramod

At 02:21 PM 8/16/00 -0400, Shimon Rura wrote:
>It seems to be starting a new connection each time.  If you want connection
>pooling, you should use the Apache::DBI module, which will transparently
>pool DBI connections for you.
>
>Shimon Rura
>
>> Hi all,
>>
>> I think I misled everybody with my previous question on this topic. To put
>> it in simple words:
>> Apache 1.3.12/mod_perl 1.24/Solaris 2.7
>> I'm establishing db connection at server startup and the logs indicate
>> that's done. But in my subsequent calls to 'connect' in my scripts, I see
>> the same message "Establishing connection to PURCHASEDB:purchasedb" in my
>> webserver error log. Does this mean it's ignoring the already available db
>> handle and making fresh connections?
>> In other words, how do I make sure whether the original handle is used or
>> if a fresh connection is established?
>> Any help is greatly appreciated.
>>
>> Thanks,
>> Pramod




RE: DB persistence

2000-08-16 Thread Shimon Rura

It seems to be starting a new connection each time.  If you want connection
pooling, you should use the Apache::DBI module, which will transparently
pool DBI connections for you.

Shimon Rura

> -Original Message-
> From: Pramod Sokke [mailto:[EMAIL PROTECTED]]
> Sent: Wednesday, August 16, 2000 2:00 PM
> To: [EMAIL PROTECTED]
> Subject: DB persistence
>
>
> Hi all,
>
> I think I misled everybody with my previous question on this topic. To put
> it in simple words:
> Apache 1.3.12/mod_perl 1.24/Solaris 2.7
> I'm establishing db connection at server startup and the logs indicate
> that's done. But in my subsequent calls to 'connect' in my scripts, I see
> the same message "Establishing connection to PURCHASEDB:purchasedb" in my
> webserver error log. Does this mean it's ignoring the already available db
> handle and making fresh connections?
> In other words, how do I make sure whether the original handle is used or
> if a fresh connection is established?
> Any help is greatly appreciated.
>
> Thanks,
> Pramod
>




DB persistence

2000-08-16 Thread Pramod Sokke

Hi all,

I think I misled everybody with my previous question on this topic. To put
it in simple words:
Apache 1.3.12/mod_perl 1.24/Solaris 2.7
I'm establishing db connection at server startup and the logs indicate
that's done. But in my subsequent calls to 'connect' in my scripts, I see
the same message "Establishing connection to PURCHASEDB:purchasedb" in my
webserver error log. Does this mean it's ignoring the already available db
handle and making fresh connections?
In other words, how do I make sure whether the original handle is used or
if a fresh connection is established?
Any help is greatly appreciated.

Thanks,
Pramod