view m-toolbox/classes/tests/database/@ltpda_fsdata_table/getTableEntry.m @ 25:79dc7091dbbc database-connection-manager

Update tests
author Daniele Nicolodi <nicolodi@science.unitn.it>
date Mon, 05 Dec 2011 16:20:06 +0100
parents f0afece42f48
children
line wrap: on
line source

%
% DESCRIPTION: Returns a table enty for the given inputs: database table,
%              column name, object ID
%
% VERSION:     $Id: getTableEntry.m,v 1.1 2011/05/25 16:25:31 ingo Exp $
%
function val = getTableEntry(utp, dbTable, tableField, objID)
  
  % Check database version
  if 1==1
    %%% old database layout
    
    try
      % Get the data ID from the ao table
      dataID = getDataIdFromAoTable(utp, objID);
      
      % Check that we get only one result for the query
      assert(numel(dataID)==1, sprintf('Found more than one data ID for the given object ID %d', objID));
      
      % Create query to get the field 'xunits' from the 'cdata' table
      query = sprintf('SELECT %s FROM %s WHERE %s.id = ?', tableField, dbTable, dbTable);
      val = utils.mysql.execute(utp.conn, query, dataID{1});
    catch Me
      rethrow(Me);
    end
    
  elseif 1~=1
    %%% new database layout
  else
    throw(MException('ltpda_cdata_table:getTableEntry', 'Unknown database layout.'));
  end

end