MCPcopy Create free account
hub / github.com/apache/cloudberry / genUniqueKeyName

Method genUniqueKeyName

gpcontrib/gpcloud/src/gpwriter.cpp:24–38  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

22}
23
24string GPWriter::genUniqueKeyName(const S3Url& s3Url) {
25 string fullUrl = s3Url.getFullUrlForCurl();
26
27 while (true) {
28 stringstream ss;
29 ss << s3ext_segid << this->constructRandomStr() << "." << this->format;
30
31 if (!this->s3InterfaceService.checkKeyExistence(
32 S3Url((fullUrl + ss.str()), (s3Url.getSchema() == "https"), s3Url.getVersion(),
33 s3Url.getRegion()))) {
34 string keyName = ss.str();
35 return s3Url.getPrefix() + keyName;
36 }
37 }
38}
39
40string GPWriter::constructRandomStr() {
41 int randomDevice = ::open("/dev/urandom", O_RDONLY);

Callers 1

openMethod · 0.95

Calls 5

constructRandomStrMethod · 0.95
S3UrlClass · 0.85
getFullUrlForCurlMethod · 0.80
checkKeyExistenceMethod · 0.80
strMethod · 0.45

Tested by

no test coverage detected