The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

perfSONAR_PS::DB::SQL::Base - A class that provides data access for SQL databases

DESCRIPTION

This module provides access to the relevant DBI wrapped methods given the relevant contact points for the database. Any service specific SQL DB handler should ingerit from this class.

SYNOPSIS

  package  perfSONAR_PS::DB::SQL::PingER;

  # extend from this class
  
  use  perfSONAR_PS::DB::SQL::Base;
  use base  perfSONAR_PS::DB::SQL::Base;
  
  
  1;
  

METHODS

new

    constructor accepts hashref as parameter
    returns object

init

   accepts hashref as single parameter and initializes object
  returns  
 
    0 = if everything is okay
   -1 = somethign went wrong 

connect

opens a connection to the database or reuses the cached one

Returns 0 = if everything is okay -1 = somethign went wrong

closeDB

closes the connection to the database Returns 0 = if everything is okay -1 = somethign went wrong

alive

   checks if db handle is alive
   Returns 
     0 = if everything is okay
   -1 = somethign went wrong

getFromTable

      accepts single hash param with keys:
      query => Rose::DB::Object::QueryBuilder type of query,
      table =>  table name
      validate => table validation HASHref constant
      index =>   name of the indexing key  for result 
      
      returns result as hashref keyd by $index
      or undef and sets ERRORMSG 

updateTable

      accepts singel hashref param with keys:
      set => hashref { for example  'ip_name' => $ip_name, 'ip_number' => $ip_number },
      table =>  table_name
      where => where clause ( formatted as Rose::DB::Object query )
  
      returns  
      
    0  if OK
   -1 = somethign went wrong 

insertTable

      accepts single hashref with keys:
      insert => {  'ip_name' => $ip_name, 'ip_number' => $ip_number },
      table =>  table_name 
      returns  
      
    0  or last inserted id number 
   -1 = somethign went wrong 

createTable

     create  table from template - second parameter is the name of the template table ( must exist )
    
    returns 
    
    0 - evrything is OK
    -1 - something is wrong

validateQuery

   vlaidated supplied query parameters against defined  fields for particular table
   optional arg $required is a hash of the required  table fields
   returns 
         
    0 = if everything is okay
   -1 = somethign went wrong 

fixTimestamp

  fix timestamp 
  
  returns
  
  fixed timestamp or undef if its not parseable
  

booleanToInt

    converts any boolean arg  to 0/1 int

tableExists

     check presence of the table

Returns

   0 = no table
   1 = table exists