1. A method for executing queries in a parallel processing database system, comprising: receiving a query at a master node, the master node comprising a database catalog including metadata defining database objects; in response to receiving the query at the master node, initiating a catalog server session, taking a snapshot of the metadata, and associating the snapshot of the metadata with the catalog server session, wherein a separate catalog server session is initiated and a separate snapshot of the metadata is taken for each query; transmitting a query plan and query metadata to a worker node, wherein the query plan is based on the query, wherein the query metadata includes metadata for executing the query plan, wherein the query metadata includes database table definitions that define database objects, and wherein the query metadata is retrieved from the snapshot of the metadata associated with the catalog server session; receiving, by the master node, a request for additional metadata that is required for the worker node to execute the query plan, wherein in response to a determination that the worker node requires the additional metadata for the worker node to execute the query plan, the worker node queries a parent in a tree structure of a plurality of worker nodes in the parallel processing database system for the additional metadata, wherein the parent node is a node between the master node and the worker node in relation to the tree structure; communicating, to the worker node, the additional metadata that is required for the worker node to execute the query plan, wherein the additional metadata is retrieved from a same session as the catalog server session corresponding to the query; executing the query plan on the worker node; and returning, to the master node, a result associated with the execution of the query plan on the worker node.