return 0;
}
+#ifdef COMMUNITY
+bool Bvfs::can_use_insert_hardlinks_fast()
+{
+ return false;
+}
+bool Bvfs::insert_hardlinks_fast(char *output_table)
+{
+ return insert_hardlinks(output_table);
+}
+#endif
+
bool Bvfs::insert_hardlinks(char *output_table)
{
/* Check hardlinks. We get LStat fields, and we check if we need to add a FileIndex */
int num;
bool init=false;
bool ret=false;
+ bool use_insert_hardlinks_fast = false;
+
/* check args */
if ((*fileid && !is_a_number_list(fileid)) ||
(*dirid && !is_a_number_list(dirid)) ||
db->bdb_lock();
+ if (can_use_insert_hardlinks_fast()) {
+ use_insert_hardlinks_fast = true;
+ }
+
/* Cleanup old tables first */
Mmsg(query, "DROP TABLE btemp%s", output_table);
db->bdb_sql_query(query.c_str());
}
}
- if (!insert_hardlinks(output_table)) {
- goto bail_out;
+ if (use_insert_hardlinks_fast) {
+ if (!insert_hardlinks_fast(output_table)) {
+ goto bail_out;
+ }
+
+ } else {
+ if (!insert_hardlinks(output_table)) {
+ goto bail_out;
+ }
}
if (!check_permissions(output_table)) {
/* Handle hardlinks if any */
bool insert_hardlinks(char *output_table);
+ /* Handle hardlinks if any */
+ bool insert_hardlinks_fast(char *output_table);
+
+ /* Check if this function can be used */
+ bool can_use_insert_hardlinks_fast();
+
/* Get a list of volumes */
void get_volumes(FileId_t fileid);