A system comprising: a distributed query processor and a plurality of compute nodes; the distributed query processor configured to: generate a directed acyclic graph comprising vertices, each of which are nested in a statement-level transaction having a statement-level identifier, and each of which include at least one task; generate: a vertex-level nested identifier, respectively, of a set of the vertices scheduled for parallel processing and of ones of the vertices scheduled for individual processing, and a task-level nested identifier, respectively, for each task (708, 712) nested in each of the vertices, wherein values of statement-level identifiers, values of vertex-level nested identifiers, and values of task-level nested identifiers comprise transaction identifiers, are uniquely generated under their respective parent identifiers based on counters therefor, and are stored in corresponding rows of the data as stored versions in response to local commits; and distribute, to the plurality of compute nodes, portions of the at least one task of the vertices causing an initiation of execution of the distributed portions at the plurality of compute nodes according to data visibility rules for the data that are based at least on the statement-level identifier, each respective vertex-level nested identifier, and each respective task-level nested identifier, wherein the data visibility rules are enforced in the system for nested transaction levels based at least on a comparison of the stored versions with at least one of the transaction identifiers. a distributed query processor and a plurality of compute nodes; the distributed query processor configured to: generate a directed acyclic graph comprising vertices, each of which are nested in a statement-level transaction having a statement-level identifier, and each of which include at least one task; generate: a vertex-level nested identifier, respectively, of a set of the vertices scheduled for parallel processing and of ones of the vertices scheduled for individual processing, and a task-level nested identifier, respectively, for each task (708, 712) nested in each of the vertices, wherein values of statement-level identifiers, values of vertex-level nested identifiers, and values of task-level nested identifiers comprise transaction identifiers, are uniquely generated under their respective parent identifiers based on counters therefor, and are stored in corresponding rows of the data as stored versions in response to local commits; and distribute, to the plurality of compute nodes, portions of the at least one task of the vertices causing an initiation of execution of the distributed portions at the plurality of compute nodes according to data visibility rules for the data that are based at least on the statement-level identifier, each respective vertex-level nested identifier, and each respective task-level nested identifier, wherein the data visibility rules are enforced in the system for nested transaction levels based at least on a comparison of the stored versions with at least one of the transaction identifiers. generate a directed acyclic graph comprising vertices, each of which are nested in a statement-level transaction having a statement-level identifier, and each of which include at least one task; generate: a vertex-level nested identifier, respectively, of a set of the vertices scheduled for parallel processing and of ones of the vertices scheduled for individual processing, and a task-level nested identifier, respectively, for each task (708, 712) nested in each of the vertices, wherein values of statement-level identifiers, values of vertex-level nested identifiers, and values of task-level nested identifiers comprise transaction identifiers, are uniquely generated under their respective parent identifiers based on counters therefor, and are stored in corresponding rows of the data as stored versions in response to local commits; and a vertex-level nested identifier, respectively, of a set of the vertices scheduled for parallel processing and of ones of the vertices scheduled for individual processing, and a task-level nested identifier, respectively, for each task (708, 712) nested in each of the vertices, wherein values of statement-level identifiers, values of vertex-level nested identifiers, and values of task-level nested identifiers comprise transaction identifiers, are uniquely generated under their respective parent identifiers based on counters therefor, and are stored in corresponding rows of the data as stored versions in response to local commits; and distribute, to the plurality of compute nodes, portions of the at least one task of the vertices causing an initiation of execution of the distributed portions at the plurality of compute nodes according to data visibility rules for the data that are based at least on the statement-level identifier, each respective vertex-level nested identifier, and each respective task-level nested identifier, wherein the data visibility rules are enforced in the system for nested transaction levels based at least on a comparison of the stored versions with at least one of the transaction identifiers.