public function loadDatasetMetaData(DataControllerCallContext $callcontext, DatasetMetaData $dataset) { $environment_metamodel = data_controller_get_environment_metamodel(); $datasource = $environment_metamodel->getDataSource($dataset->datasourceName); $queryRequest = new DatasetQueryRequest($dataset->name); // we do not need to return any records $queryRequest->setPagination(0); $statements = $this->prepareDatasetQueryStatements($callcontext, $queryRequest); $sql = $this->assembleDatasetQueryStatements($callcontext, $queryRequest, $statements); // applying pagination $this->applyPagination($queryRequest, $sql); $loadedDatasetMetaData = $this->processDatasetMetaData($callcontext, $datasource, $sql); // processing loaded columns $dataset->initializeColumnsFrom($loadedDatasetMetaData->columns); }