26#ifndef ROUTER_SRC_JIT_EXECUTOR_INCLUDE_MYSQLROUTER_POLYGLOT_FILE_SYSTEM_H_
27#define ROUTER_SRC_JIT_EXECUTOR_INCLUDE_MYSQLROUTER_POLYGLOT_FILE_SYSTEM_H_
268 const std::string &
path) = 0;
281 const std::string &
path) = 0;
Definition: polyglot_file_system.h:183
Definition: polyglot_file_system.h:185
virtual void check_access(const std::string &path, int64_t flags)=0
Checks existence and accessibility of a file.
virtual std::shared_ptr< ISeekable_channel > new_byte_channel(const std::string &path)=0
Opens or creates a file returning a SeekableByteChannel to access the file content.
virtual std::string to_absolute_path(const std::string &path)=0
Resolves given path to an absolute path.
virtual std::string parse_uri_path(const std::string &uri)=0
Parses a path from an URI.
virtual std::string parse_string_path(const std::string &path)=0
Parses a path from a String.
virtual std::shared_ptr< IDirectory_stream > new_directory_stream(const std::string &path)=0
Returns directory entries.
virtual ~IFile_system()=default
virtual void remove(const std::string &path)=0
Deletes a file.
virtual void create_directory(const std::string &path)=0
Creates a directory.
virtual std::string to_real_path(const std::string &path)=0
Returns the real (canonical) path of an existing file.
Definition: polyglot_file_system.h:37
virtual ISeekable_channel & set_position(int64_t new_position)=0
Sets this channel's position.
virtual int64_t position()=0
Returns this channel's position.
virtual int64_t read(void *buffer, size_t size)=0
Reads a sequence of bytes from this channel into the given buffer.
virtual int64_t size()=0
Returns the current size of entity to which this channel is connected.
virtual void close()=0
Closes this channel.
virtual bool is_open()=0
Tells whether or not this channel is open.
virtual int64_t write(const char *buffer, size_t size)=0
Writes a sequence of bytes to this channel from the given buffer.
virtual ISeekable_channel & truncate(int64_t size)=0
Truncates the entity, to which this channel is connected, to the given size.
virtual ~ISeekable_channel()=default
static int flags[50]
Definition: hp_test1.cc:40
static char * path
Definition: mysqldump.cc:150
mutable_buffer buffer(void *p, size_t n) noexcept
Definition: buffer.h:418
Definition: file_system_exceptions.h:34