Github user hbdeshmukh commented on a diff in the pull request:
https://github.com/apache/incubator-quickstep/pull/99#discussion_r77946830
--- Diff: relational_operators/TextScanOperator.cpp ---
@@ -91,6 +91,12 @@ bool TextScanOperator::getAllWorkOrders(
if (blocking_dependencies_met_ && !work_generated_) {
for (const std::string &file : files) {
// Use standard C libary to retrieve the file size.
+
+ // Check file permissions before trying to open it
+ int rval = access(file.c_str(), R_OK);
--- End diff --
Hi @tarunbansal - This is a neat change.
The ``access`` function may not be available on all the platforms that are
used in Quickstep. On unix, it comes from the header ``unistd.h``.
To solve such issues, typically we check the availability of this header
file using CMake. If the function is available, we create a variable, e.g. in
this case it could be QUICKSTEP_HAVE_UNISTD and guard this line with ``#ifdef
QUICKSTEP_HAVE_UNISTD`` and ``#endif QUICKSTEP_HAVE_UNISTD``. You can dig
around in the code to find such usage patterns.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---