Changeset 21546

Show
Ignore:
Timestamp:
20.01.2010 16:53:47 (9 years ago)
Author:
mdewsnip
Message:

Changed dbutil.pm so all the sub-module function calls now have @_ as the final argument, so extra database-specific parameters can be passed through. This is currently only used by the gdbm and jdbm open_infodb_write_handle() functions.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone2/perllib/dbutil.pm

    r21544 r21546  
    3737  { 
    3838    require dbutil::sqlite; 
    39     return &dbutil::sqlite::open_infodb_write_handle($infodb_file_path); 
     39    return &dbutil::sqlite::open_infodb_write_handle($infodb_file_path, @_); 
    4040  }  
    4141  elsif ($infodb_type eq "gdbm-txtgz")  
    4242  { 
    4343    require dbutil::gdbmtxtgz; 
    44     return &dbutil::gdbmtxtgz::open_infodb_write_handle($infodb_file_path); 
     44    return &dbutil::gdbmtxtgz::open_infodb_write_handle($infodb_file_path, @_); 
    4545  }  
    4646  elsif ($infodb_type eq "jdbm")  
    4747  { 
    4848    require dbutil::jdbm; 
    49     return &dbutil::jdbm::open_infodb_write_handle($infodb_file_path); 
     49    return &dbutil::jdbm::open_infodb_write_handle($infodb_file_path, @_); 
    5050  }  
    5151  elsif ($infodb_type eq "mssql")  
    5252  { 
    5353    require dbutil::mssql; 
    54     return &dbutil::mssql::open_infodb_write_handle($infodb_file_path); 
    55   }  
    56  
    57   # Use GDBM if the infodb type is empty or not one of the values above 
    58   require dbutil::gdbm; 
    59   return &dbutil::gdbm::open_infodb_write_handle($infodb_file_path); 
     54    return &dbutil::mssql::open_infodb_write_handle($infodb_file_path, @_); 
     55  }  
     56 
     57  # Use GDBM if the infodb type is empty or not one of the values above 
     58  require dbutil::gdbm; 
     59  return &dbutil::gdbm::open_infodb_write_handle($infodb_file_path, @_); 
    6060} 
    6161 
     
    6969  { 
    7070    require dbutil::sqlite; 
    71     return &dbutil::sqlite::close_infodb_write_handle($infodb_handle); 
    72   } 
    73   elsif ($infodb_type eq "gdbm-txtgz") 
    74   { 
    75     require dbutil::gdbmtxtgz; 
    76     return &dbutil::gdbmtxtgz::close_infodb_write_handle($infodb_handle); 
    77   } 
    78   elsif ($infodb_type eq "jdbm") 
    79   { 
    80     require dbutil::jdbm; 
    81     return &dbutil::jdbm::close_infodb_write_handle($infodb_handle); 
    82   } 
    83   elsif ($infodb_type eq "mssql") 
    84   { 
    85     require dbutil::mssql; 
    86     return &dbutil::mssql::close_infodb_write_handle($infodb_handle); 
     71    return &dbutil::sqlite::close_infodb_write_handle($infodb_handle, @_); 
     72  } 
     73  elsif ($infodb_type eq "gdbm-txtgz") 
     74  { 
     75    require dbutil::gdbmtxtgz; 
     76    return &dbutil::gdbmtxtgz::close_infodb_write_handle($infodb_handle, @_); 
     77  } 
     78  elsif ($infodb_type eq "jdbm") 
     79  { 
     80    require dbutil::jdbm; 
     81    return &dbutil::jdbm::close_infodb_write_handle($infodb_handle, @_); 
     82  } 
     83  elsif ($infodb_type eq "mssql") 
     84  { 
     85    require dbutil::mssql; 
     86    return &dbutil::mssql::close_infodb_write_handle($infodb_handle, @_); 
    8787  } 
    8888     
    8989  # Use GDBM if the infodb type is empty or not one of the values above 
    9090  require dbutil::gdbm; 
    91   return &dbutil::gdbm::close_infodb_write_handle($infodb_handle); 
     91  return &dbutil::gdbm::close_infodb_write_handle($infodb_handle, @_); 
    9292} 
    9393 
     
    110110  { 
    111111    require dbutil::sqlite; 
    112     return &dbutil::sqlite::get_infodb_file_path($collection_name, $infodb_directory_path); 
    113   } 
    114   elsif ($infodb_type eq "gdbm-txtgz") 
    115   { 
    116     require dbutil::gdbmtxtgz; 
    117     return &dbutil::gdbmtxtgz::get_infodb_file_path($collection_name, $infodb_directory_path); 
    118   } 
    119   elsif ($infodb_type eq "jdbm") 
    120   { 
    121     require dbutil::jdbm; 
    122     return &dbutil::jdbm::get_infodb_file_path($collection_name, $infodb_directory_path); 
     112    return &dbutil::sqlite::get_infodb_file_path($collection_name, $infodb_directory_path, @_); 
     113  } 
     114  elsif ($infodb_type eq "gdbm-txtgz") 
     115  { 
     116    require dbutil::gdbmtxtgz; 
     117    return &dbutil::gdbmtxtgz::get_infodb_file_path($collection_name, $infodb_directory_path, @_); 
     118  } 
     119  elsif ($infodb_type eq "jdbm") 
     120  { 
     121    require dbutil::jdbm; 
     122    return &dbutil::jdbm::get_infodb_file_path($collection_name, $infodb_directory_path, @_); 
    123123  } 
    124124  elsif ($infodb_type eq "mssql") 
     
    136136    #==================================================================================================# 
    137137    require dbutil::mssql; 
    138     return &dbutil::mssql::get_infodb_file_path($collection_name, $infodb_directory_path);  
     138    return &dbutil::mssql::get_infodb_file_path($collection_name, $infodb_directory_path, @_);  
    139139  } 
    140140   
    141141  # Use GDBM if the infodb type is empty or not one of the values above 
    142142  require dbutil::gdbm; 
    143   return &dbutil::gdbm::get_infodb_file_path($collection_name, $infodb_directory_path); 
     143  return &dbutil::gdbm::get_infodb_file_path($collection_name, $infodb_directory_path, @_); 
    144144} 
    145145 
     
    154154  { 
    155155    require dbutil::sqlite; 
    156     return &dbutil::sqlite::read_infodb_file($infodb_file_path, $infodb_map); 
    157   } 
    158   elsif ($infodb_type eq "gdbm-txtgz") 
    159   { 
    160     require dbutil::gdbmtxtgz; 
    161     return &dbutil::gdbmtxtgz::read_infodb_file($infodb_file_path, $infodb_map); 
    162   } 
    163   elsif ($infodb_type eq "jdbm") 
    164   { 
    165     require dbutil::jdbm; 
    166     return &dbutil::jdbm::read_infodb_file($infodb_file_path, $infodb_map); 
    167   } 
    168   elsif ($infodb_type eq "mssql") 
    169   { 
    170     require dbutil::mssql; 
    171     return &dbutil::mssql::read_infodb_file($infodb_file_path, $infodb_map); 
     156    return &dbutil::sqlite::read_infodb_file($infodb_file_path, $infodb_map, @_); 
     157  } 
     158  elsif ($infodb_type eq "gdbm-txtgz") 
     159  { 
     160    require dbutil::gdbmtxtgz; 
     161    return &dbutil::gdbmtxtgz::read_infodb_file($infodb_file_path, $infodb_map, @_); 
     162  } 
     163  elsif ($infodb_type eq "jdbm") 
     164  { 
     165    require dbutil::jdbm; 
     166    return &dbutil::jdbm::read_infodb_file($infodb_file_path, $infodb_map, @_); 
     167  } 
     168  elsif ($infodb_type eq "mssql") 
     169  { 
     170    require dbutil::mssql; 
     171    return &dbutil::mssql::read_infodb_file($infodb_file_path, $infodb_map, @_); 
    172172  } 
    173173   
    174174  # Use GDBM if the infodb type is empty or not one of the values above 
    175175  require dbutil::gdbm; 
    176   return &dbutil::gdbm::read_infodb_file($infodb_file_path, $infodb_map); 
     176  return &dbutil::gdbm::read_infodb_file($infodb_file_path, $infodb_map, @_); 
    177177} 
    178178 
     
    188188  { 
    189189    require dbutil::sqlite; 
    190     return &dbutil::sqlite::write_infodb_entry($infodb_handle, $infodb_key, $infodb_map); 
    191   } 
    192   elsif ($infodb_type eq "gdbm-txtgz") 
    193   { 
    194     require dbutil::gdbmtxtgz; 
    195     return &dbutil::gdbmtxtgz::write_infodb_entry($infodb_handle, $infodb_key, $infodb_map); 
    196   } 
    197   elsif ($infodb_type eq "jdbm") 
    198   { 
    199     require dbutil::jdbm; 
    200     return &dbutil::jdbm::write_infodb_entry($infodb_handle, $infodb_key, $infodb_map); 
    201   } 
    202   elsif ($infodb_type eq "mssql") 
    203   { 
    204     require dbutil::mssql; 
    205     return &dbutil::mssql::write_infodb_entry($infodb_handle, $infodb_key, $infodb_map); 
    206   } 
    207  
    208   # Use GDBM if the infodb type is empty or not one of the values above 
    209   require dbutil::gdbm; 
    210   return &dbutil::gdbm::write_infodb_entry($infodb_handle, $infodb_key, $infodb_map); 
     190    return &dbutil::sqlite::write_infodb_entry($infodb_handle, $infodb_key, $infodb_map, @_); 
     191  } 
     192  elsif ($infodb_type eq "gdbm-txtgz") 
     193  { 
     194    require dbutil::gdbmtxtgz; 
     195    return &dbutil::gdbmtxtgz::write_infodb_entry($infodb_handle, $infodb_key, $infodb_map, @_); 
     196  } 
     197  elsif ($infodb_type eq "jdbm") 
     198  { 
     199    require dbutil::jdbm; 
     200    return &dbutil::jdbm::write_infodb_entry($infodb_handle, $infodb_key, $infodb_map, @_); 
     201  } 
     202  elsif ($infodb_type eq "mssql") 
     203  { 
     204    require dbutil::mssql; 
     205    return &dbutil::mssql::write_infodb_entry($infodb_handle, $infodb_key, $infodb_map, @_); 
     206  } 
     207 
     208  # Use GDBM if the infodb type is empty or not one of the values above 
     209  require dbutil::gdbm; 
     210  return &dbutil::gdbm::write_infodb_entry($infodb_handle, $infodb_key, $infodb_map, @_); 
    211211} 
    212212 
     
    221221  { 
    222222    require dbutil::sqlite; 
    223     return &dbutil::sqlite::delete_infodb_entry($infodb_handle, $infodb_key); 
    224   } 
    225   elsif ($infodb_type eq "gdbm-txtgz") 
    226   { 
    227     require dbutil::gdbmtxtgz; 
    228     return &dbutil::gdbmtxtgz::delete_infodb_entry($infodb_handle, $infodb_key); 
    229   } 
    230   elsif ($infodb_type eq "jdbm") 
    231   { 
    232     require dbutil::jdbm; 
    233     return &dbutil::jdbm::delete_infodb_entry($infodb_handle, $infodb_key); 
    234   } 
    235   elsif ($infodb_type eq "mssql") 
    236   { 
    237     require dbutil::mssql; 
    238     return &dbutil::mssql::delete_infodb_entry($infodb_handle, $infodb_key); 
    239   } 
    240  
    241   # Use GDBM if the infodb type is empty or not one of the values above 
    242   require dbutil::gdbm; 
    243   return &dbutil::gdbm::delete_infodb_entry($infodb_handle, $infodb_key); 
     223    return &dbutil::sqlite::delete_infodb_entry($infodb_handle, $infodb_key, @_); 
     224  } 
     225  elsif ($infodb_type eq "gdbm-txtgz") 
     226  { 
     227    require dbutil::gdbmtxtgz; 
     228    return &dbutil::gdbmtxtgz::delete_infodb_entry($infodb_handle, $infodb_key, @_); 
     229  } 
     230  elsif ($infodb_type eq "jdbm") 
     231  { 
     232    require dbutil::jdbm; 
     233    return &dbutil::jdbm::delete_infodb_entry($infodb_handle, $infodb_key, @_); 
     234  } 
     235  elsif ($infodb_type eq "mssql") 
     236  { 
     237    require dbutil::mssql; 
     238    return &dbutil::mssql::delete_infodb_entry($infodb_handle, $infodb_key, @_); 
     239  } 
     240 
     241  # Use GDBM if the infodb type is empty or not one of the values above 
     242  require dbutil::gdbm; 
     243  return &dbutil::gdbm::delete_infodb_entry($infodb_handle, $infodb_key, @_); 
    244244} 
    245245