MCPcopy Create free account
hub / github.com/MariaDB/server / db_path

Method db_path

storage/mroonga/lib/mrn_path_mapper.cpp:51–110  ·  view source on GitHub ↗

* "./${db}/${table}" ==> "${db}.mrn" * "./${db}/" ==> "${db}.mrn" * "/tmp/mysql-test/var/tmp/mysqld.1/#sql27c5_1_0" ==> * "/tmp/mysql-test/var/tmp/mysqld.1/#sql27c5_1_0.mrn" */

Source from the content-addressed store, hash-verified

49 * "/tmp/mysql-test/var/tmp/mysqld.1/#sql27c5_1_0.mrn"
50 */
51 const char *PathMapper::db_path() {
52 if (db_path_[0] != '\0') {
53 return db_path_;
54 }
55
56 if (original_mysql_path_[0] == FN_CURLIB &&
57 original_mysql_path_[1] == FN_LIBCHAR) {
58 if (path_prefix_) {
59 strcpy(db_path_, path_prefix_);
60 }
61
62 int i = 2, j = strlen(db_path_), len;
63 len = strlen(original_mysql_path_);
64 while (original_mysql_path_[i] != FN_LIBCHAR && i < len) {
65 db_path_[j++] = original_mysql_path_[i++];
66 }
67 db_path_[j] = '\0';
68 } else if (mysql_data_home_path_) {
69 int len = strlen(original_mysql_path_);
70 int mysql_data_home_len = strlen(mysql_data_home_path_);
71 if (len > mysql_data_home_len &&
72 !strncmp(original_mysql_path_,
73 mysql_data_home_path_,
74 mysql_data_home_len)) {
75 int i = mysql_data_home_len, j;
76 if (path_prefix_ && path_prefix_[0] == FN_LIBCHAR) {
77 strcpy(db_path_, path_prefix_);
78 j = strlen(db_path_);
79 } else {
80 memcpy(db_path_, mysql_data_home_path_, mysql_data_home_len);
81 if (path_prefix_) {
82 if (path_prefix_[0] == FN_CURLIB &&
83 path_prefix_[1] == FN_LIBCHAR) {
84 strcpy(&db_path_[mysql_data_home_len], &path_prefix_[2]);
85 } else {
86 strcpy(&db_path_[mysql_data_home_len], path_prefix_);
87 }
88 j = strlen(db_path_);
89 } else {
90 j = mysql_data_home_len;
91 }
92 }
93
94 while (original_mysql_path_[i] != FN_LIBCHAR && i < len) {
95 db_path_[j++] = original_mysql_path_[i++];
96 }
97 if (i == len) {
98 memcpy(db_path_, original_mysql_path_, len);
99 } else {
100 db_path_[j] = '\0';
101 }
102 } else {
103 strcpy(db_path_, original_mysql_path_);
104 }
105 } else {
106 strcpy(db_path_, original_mysql_path_);
107 }
108 strcat(db_path_, MRN_DB_FILE_SUFFIX);

Callers 6

openMethod · 0.80
dropMethod · 0.80
test_normal_dbFunction · 0.80
test_normal_tableFunction · 0.80
test_temporary_tableFunction · 0.80

Calls

no outgoing calls

Tested by 3

test_normal_dbFunction · 0.64
test_normal_tableFunction · 0.64
test_temporary_tableFunction · 0.64