questdb: Table list query doesn't handle symlinks

Describe the bug

No response

To reproduce

  1. Create a table
  2. Stop the database and move table dir to a different location on the same or a separate disk
  3. Create a symlink in root_dir/db/table_name pointing to the new table dir location
  4. Start the database and run tables();

Expected Behavior

The table should be shown in the result set while it’s not the case.

Environment

- **QuestDB version**: 6.6.1
- **OS**: Ubuntu 22.04, ext4
- **Browser**:

Additional context

No response

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 21 (15 by maintainers)

Most upvoted comments

@marregui I have been following the progress, thank you for the very thorough implementation. Also thanks to @puzpuzpuz and @ideoma

Very much looking forward to trying it out.

merge fest?

@puzpuzpuz could you please review the PR, it should be almost ready for merging. Thank you in advance.

Let wait until we merge #2752 as your PR has a lot of intersections with that one in terms of changed modules.

cairo.create.allowed.volume.paths comma separated list of allowed paths.

@puzpuzpuz could you please review the PR, it should be almost ready for merging. Thank you in advance.

(https://github.com/questdb/questdb/pull/2710)

good point, will add the config option, which will be a list of allowed paths, empty by default.

being addressed in https://github.com/questdb/questdb/pull/2710 there is a test to exemplify the description above ServerMainForeignTableTest.testServerMainCreateTableMoveItsFolderAwayAndSoftLinkIt.

cool, will do!