History log of /haiku/headers/private/file_systems/QueryParser.h
Revision Date Author Comments
# 9d242fb9 18-Nov-2021 Augustin Cavalier <waddlesplash@gmail.com>

file_systems & Tracker: Do not assume sizeof(dirent) contains 1 byte for the name.

At present, it does, but that is an oddity we have preserved from BeOS
that the next commit is going to remove. (This commit thus wastes 1 byte
without the following one.)

Most changes are pretty straightforward: only a +1 is needed,
and a few removed from sizing calculations. Some filesystems like UDF
originally passed back the length with the \0 included, so they have
been adjusted further. UFS2 had some other sizing problems which are also
corrected in this commit.


# de9c0613 03-Jul-2014 Axel Dörfler <axeld@pinc-software.de>

bfs: Use the QueryParserUtils instead of its own copy.

* Ingo copied the methods into a shared location, and then obviously
"forgot" to let BFS use them. As a side note for Ingo: the complete
error GCC reported was "std::fssh_size_t" not defined with the macro
wrapper as code location. The actual problem was a "using std::size_t"
in some C++ header that accidentally got included after the wrapper.
* The shared Query code is not yet used. That'll be done another time.
* Renamed BFS_SHELL define to FS_SHELL, such that QueryParserUtils can be
used in any file system shell, not just the bfs_shell.


# 10e9f499 31-May-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

QueryParser: Equation::Match(): Fix generic attribute case

Init size to the buffer size before passing it to
QueryPolicy::NodeGetAttribute(). Since size was 0 by default, we would
only read 0 length data.


# d055934e 31-May-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

QueryParser: Fix some debug macros


# a54f7dc2 08-Jul-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Move B_MIME_STRING_TYPE to <TypeConstants.h>


# 6cc3dcdb 07-Jul-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Move helper function out of QueryParser.h

They live in the new QueryParserUtils.{h,cpp} now.


# ab6a1e0f 07-Jul-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

QueryParser: The last_modified index is time_t

* Changed value type from B_INT64_TYPE to B_INT32_TYPE.
* Changed QueryPolicy::NodeGetLastModifiedTime() return value from
bigtime_t to time_t.


# e88759a5 07-Jul-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Small cleanup


# 502a5e23 06-Jul-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

QueryParser: Explicitly suspend/resume iterators

Extended policy by IndexIteratorSuspend() and IndexIteratorResume()
methods that are invoked for the index iterator by Query::GetNextEntry()
after entering respectively before exiting.


# 9d698c45 05-Jul-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Create a generalized version of BFS's query code

The new version is templatized over a QueryPolicy which provides the
interface to the file system specifics.


# 3e292446 08-Jul-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Move B_MIME_STRING_TYPE to <TypeConstants.h>


# 01f7f92a 07-Jul-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Move helper function out of QueryParser.h

They live in the new QueryParserUtils.{h,cpp} now.


# 8c8e925a 07-Jul-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

QueryParser: The last_modified index is time_t

* Changed value type from B_INT64_TYPE to B_INT32_TYPE.
* Changed QueryPolicy::NodeGetLastModifiedTime() return value from
bigtime_t to time_t.


# 46368f46 07-Jul-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Small cleanup


# 9811f22c 06-Jul-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

QueryParser: Explicitly suspend/resume iterators

Extended policy by IndexIteratorSuspend() and IndexIteratorResume()
methods that are invoked for the index iterator by Query::GetNextEntry()
after entering respectively before exiting.


# 7210d7aa 05-Jul-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Create a generalized version of BFS's query code

The new version is templatized over a QueryPolicy which provides the
interface to the file system specifics.


# de9c0613398645390b8d450089051b2888e2e15b 03-Jul-2014 Axel Dörfler <axeld@pinc-software.de>

bfs: Use the QueryParserUtils instead of its own copy.

* Ingo copied the methods into a shared location, and then obviously
"forgot" to let BFS use them. As a side note for Ingo: the complete
error GCC reported was "std::fssh_size_t" not defined with the macro
wrapper as code location. The actual problem was a "using std::size_t"
in some C++ header that accidentally got included after the wrapper.
* The shared Query code is not yet used. That'll be done another time.
* Renamed BFS_SHELL define to FS_SHELL, such that QueryParserUtils can be
used in any file system shell, not just the bfs_shell.


# 10e9f49914cc9e447f8248126c28fa2bf08e9f3a 31-May-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

QueryParser: Equation::Match(): Fix generic attribute case

Init size to the buffer size before passing it to
QueryPolicy::NodeGetAttribute(). Since size was 0 by default, we would
only read 0 length data.


# d055934e36da802abd3958d0e7172bd5d666240a 31-May-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

QueryParser: Fix some debug macros


# a54f7dc2506cd315ef499129b1f44ec96e8c1e10 08-Jul-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Move B_MIME_STRING_TYPE to <TypeConstants.h>


# 6cc3dcdb9baedcc500d02055ff8927cc947f59bf 07-Jul-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Move helper function out of QueryParser.h

They live in the new QueryParserUtils.{h,cpp} now.


# ab6a1e0f74697c6f178701c7d6c6d3948e0c83ec 07-Jul-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

QueryParser: The last_modified index is time_t

* Changed value type from B_INT64_TYPE to B_INT32_TYPE.
* Changed QueryPolicy::NodeGetLastModifiedTime() return value from
bigtime_t to time_t.


# e88759a5189e9624ebe813c97a4a38fbe6917871 07-Jul-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Small cleanup


# 502a5e2388deae42db0fab2ea38a44a3cad1c666 06-Jul-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

QueryParser: Explicitly suspend/resume iterators

Extended policy by IndexIteratorSuspend() and IndexIteratorResume()
methods that are invoked for the index iterator by Query::GetNextEntry()
after entering respectively before exiting.


# 9d698c45738a9056a2ffe42ed4314d25715f90b9 05-Jul-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Create a generalized version of BFS's query code

The new version is templatized over a QueryPolicy which provides the
interface to the file system specifics.


# 3e29244600395a0cea91cfc0a0323016fc0f3253 08-Jul-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Move B_MIME_STRING_TYPE to <TypeConstants.h>


# 01f7f92aef0dada1afd9c57366e3358c309dd825 07-Jul-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Move helper function out of QueryParser.h

They live in the new QueryParserUtils.{h,cpp} now.


# 8c8e925a0a897fb727e97c9a931a3138de5cf29b 07-Jul-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

QueryParser: The last_modified index is time_t

* Changed value type from B_INT64_TYPE to B_INT32_TYPE.
* Changed QueryPolicy::NodeGetLastModifiedTime() return value from
bigtime_t to time_t.


# 46368f46f38f02c06c1cf7e0f51b189ccab987c1 07-Jul-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Small cleanup


# 9811f22cabcc8708113e833ddde6748d9435f66a 06-Jul-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

QueryParser: Explicitly suspend/resume iterators

Extended policy by IndexIteratorSuspend() and IndexIteratorResume()
methods that are invoked for the index iterator by Query::GetNextEntry()
after entering respectively before exiting.


# 7210d7aa5879a9aa5ede74478cd544e6f377239d 05-Jul-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Create a generalized version of BFS's query code

The new version is templatized over a QueryPolicy which provides the
interface to the file system specifics.