1. A method comprising: receiving, at a database server, an input query comprising an XML string generated by a search application in response to user input defining a search specification; passing the XML string as a parameter to a stored procedure to generate one or more temporary tables; performing a search of the database server by comparing each temporary table with a pre-existing table stored in the database server to identify any datasets satisfying the input query; and returning results comprising the identified datasets and attributes associated with each identified dataset.