eMailDesktop - uses filesystem as database

eMailDesktop - uses filesystem as database

Postby Otto » Mon Nov 28, 2016 11:22 pm

eMailDesktop

Searching for a possibility to store the emails I came to the solution to use the Filesystem (Not a Database!) for schemaless data


I found an interesting post.

I always love coming to these forums and reading all the heavy database gurus pitching that the file System can't do it as quick as the Database. On quite the contrary a properly layed out tree, well designed hashtables and saving them as an object to a file will yield the same speeds as a database and from my tests. A properly designed hashtable and directory tree will win everytime. Way less overhead. Recently I have been moving away from database driven programming and more on the file tree for simplicity and program portability. No DB means easy backup just zip your tree up and go. It is very nice and a recomendation to program in this fashion for onetime clients with small applications. Look at the big pic do I have the time to design my own or just leverage what is already there like the db. I personally like saving my objects to file and using them later just keep an eye on your the size of your tables and look into using a RandomAccessFile in order to be able to seek quickly lay it out like a database and break it up into hashtable objects. Enjoy. Remember what ever data you store in the file will consume double the memory usage at times depending on your code. The hash table itself and typically where you consume it to view.


Does someone know how to implement such a hashtable?

Thanks in advance and best regards,
Otto
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
https://www.facebook.com/groups/modharbour.club
********************************************************************
User avatar
Otto
 
Posts: 6005
Joined: Fri Oct 07, 2005 7:07 pm

Re: eMailDesktop - uses filesystem as database

Postby Otto » Tue Nov 29, 2016 10:19 am

FullTextSearch engine

I found a program which looks promising https://www.fileseek.ca .

I read in the FAQ that it should be possible to operate from command line.
So I think I could pass the search options from FIVEWIN and get back a file with the results.

BTW does someone use fileseek.

Best regards,
Otto

If you pass a folder name to fileseek with no switches, FileSeek will treat that the same as -d. To pass a command line parameter value that includes spaces use quotes, like this: -d "C:\My Folder". Here is the complete list of command line parameters:
Set Search Directory: -d [path] (separate multiple paths with the | symbol)
Set Exclude Directory: -xd [path] (separate multiple paths with the | symbol)
Set Include Files Filter: -f [files] (separate multiple file filters with the | symbol)
Set Exclude Files Filter: -xf [files] (separate multiple file filters with the | symbol)
Set Query: -q [query]
RegEx Query: -r [query] (use this instead of -q if you want to do a RegEx search)
Load Search Profile: -l [profile name] (This starts FileSeek with the specific Profile. Any other command to modify search criteria happens after this, so you can load a profile then modify the criteria. This is only available to Pro users.)
Output Results to File: -o [filename] (This option loads FileSeek, starts a search, and outputs a file with the filename the user specified with the search results to the specified folder, then closes FileSeek. You can specify .csv, .html or any other extension for a text file. This is only available to Pro users.)
Execute the Search: -start

********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
https://www.facebook.com/groups/modharbour.club
********************************************************************
User avatar
Otto
 
Posts: 6005
Joined: Fri Oct 07, 2005 7:07 pm

Re: eMailDesktop - uses filesystem as database

Postby Otto » Fri Dec 02, 2016 1:44 am

Hello,
FileSeek is working fine.
Calling with Parameter 0 it works without showing a window.
FileSeek returns a csv file.

Best regards,
Otto


Code: Select all  Expand view

function suchestarten()
    local cPrg := ""
    cPrg := 'c:\FileSeek\FileSeek.exe -d "c:\#    DEMODATEN" -f kunden.dbf -r "Franz" -o C:\FileSeek\Lookup.csv -start'

    winexec( cPrg,0 )

return nil

//----------------------------------------------------------------------------//
 
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
https://www.facebook.com/groups/modharbour.club
********************************************************************
User avatar
Otto
 
Posts: 6005
Joined: Fri Oct 07, 2005 7:07 pm

Re: eMailDesktop - uses filesystem as database

Postby nageswaragunupudi » Tue Dec 06, 2016 12:49 am

May I know in what way fileseek is different from the popular grep?

C:\bcc7\bin>grep ?
Turbo GREP 5.6 Copyright (c) 1992-2010 Embarcadero Technologies, Inc.
Syntax: GREP [-rlcnvidzewoqhu] searchstring file[s] or @filelist

Options are one or more option characters preceded by "-", and optionally
followed by "+" (turn option on), or "-" (turn it off). The default is "+".
-r+ Regular expression search -l- File names only
-c- match Count only -n- Line numbers
-v- Non-matching lines only -i- Ignore case
-d- Search subdirectories -z- Verbose
-e Next argument is searchstring -w- Word search
-o- UNIX output format Default set: [0-9A-Z_]
-q- Quiet: supress normal output
-h- Supress display of filename
-u xxx Create a copy of grep named 'xxx' with current options set as default

A regular expression is one or more occurrences of: One or more characters
optionally enclosed in quotes. The following symbols are treated specially:
^ start of line $ end of line
. any character \ quote next character
* match zero or more + match one or more
[aeiou0-9] match a, e, i, o, u, and 0 thru 9 ;
[^aeiou0-9] match anything but a, e, i, o, u, and 0 thru 9
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10248
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Re: eMailDesktop - uses filesystem as database

Postby Otto » Tue Dec 06, 2016 8:37 am

Dear Mr. Rao,
I didn‘t even know that there is a tool for fulltext search inside bcc\bin folder.
So I can’t tell anything about.
BTW, can you search with grep inside WORD files?
Best regards,
Otto
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
https://www.facebook.com/groups/modharbour.club
********************************************************************
User avatar
Otto
 
Posts: 6005
Joined: Fri Oct 07, 2005 7:07 pm

Re: eMailDesktop - uses filesystem as database

Postby nageswaragunupudi » Tue Dec 06, 2016 9:43 am

any file
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10248
Joined: Sun Nov 19, 2006 5:22 am
Location: India


Return to FiveWin for Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 81 guests