LetoDB fork
Clone or download
elchs 2019-01-20 20:01 UTC+0100 Rolf 'elch' Beckmann (elchs users.noreply.g…
…ithub.com)

  * source/server/server.prg
    * remove REQUEST: HB_DISKSPACE,
      add: AADD, BLANK, DOW, DOY, VALTYPE, WEEK
    * add on enquiry full set of Harbour hash functions for usage in UDF;
      linked into server by usage: hbmk2 letodb -prgflag=-D_STREAMFLEX_=1

  * include/rddleto.h
  * source/client/leto1.c
    * simplify/ translate LETO_GETCURRENTCONNECTION(); optional param for
      LETO_SETCURRENTCONNECTION() to return active connection before change
    * change param of internal leto_getConnection() to 'const char *'
    + add RDDI_CONNECT and RDDI_DISCONNECT for RddInfo()
      It connects to LetoDBf server exactly like Leto_Connect(),
      but executed by pure Harbour PRG functions, example:
      #include "dbinfo.ch"
      ...
      IF ASCAN( RddList(), "LETO" ) > 0   /* verify LETO available */
         RddSetDefault( "LETO" )          /* set as default driver */
         nConnection := RddInfo( RDDI_CONNECT, { "LETO", cAddress, ... } )
      ENDIF

  * include/letocl.h
  * source/client/letocl.c
  * source/client/letomgmn.c
    * new centralized leto_Connect() used by LETO_CONNECT()/ RDDI_CONNECT,
      as result its also available for the C-API

  * Readme.txt
    * typos and news
Latest commit 25f7eaf Jan 20, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin 2018-09-24 19:21 UTC+0100 Rolf 'elch' Beckmann (elchs users.noreply.g… Sep 24, 2018
include 2019-01-20 20:01 UTC+0100 Rolf 'elch' Beckmann (elchs users.noreply.g… Jan 20, 2019
source 2019-01-20 20:01 UTC+0100 Rolf 'elch' Beckmann (elchs users.noreply.g… Jan 20, 2019
tests 2019-01-11 19:01 UTC+0100 Rolf 'elch' Beckmann (elchs users.noreply.g… Jan 11, 2019
utils 2018-09-15 22:42 UTC+0100 Rolf 'elch' Beckmann (elchs users.noreply.g… Sep 15, 2018
.gitignore Initial commit Nov 30, 2016
ChangeLog.txt 2019-01-20 20:01 UTC+0100 Rolf 'elch' Beckmann (elchs users.noreply.g… Jan 20, 2019
Changelog Initial upload Nov 30, 2016
README.md 2016-12-23 19:09 UTC+0100 Rolf 'elch' Beckmann (elchs users.noreply.g… Dec 22, 2016
Readme.txt 2019-01-20 20:01 UTC+0100 Rolf 'elch' Beckmann (elchs users.noreply.g… Jan 20, 2019
apileto.hbp 2018-02-26 19:56 UTC+0100 Rolf 'elch' Beckmann (elchs users.noreply.g… Feb 26, 2018
letodb.hbc 2018-06-15 18:48 UTC+0100 Rolf 'elch' Beckmann (elchs users.noreply.g… Jun 15, 2018
letodb.hbp 2018-01-29 12:42 UTC+0100 Rolf 'elch' Beckmann (elchs users.noreply.g… Jan 29, 2018
letodbaddon.hbp 2017-07-11 12:08 UTC+0100 Rolf 'elch' Beckmann (elchs users.noreply.g… Jul 11, 2017
letodbsvc.hbp 2018-01-29 12:42 UTC+0100 Rolf 'elch' Beckmann (elchs users.noreply.g… Jan 29, 2018
make_b32.bat 2019-01-15 23:39 UTC+0100 Rolf 'elch' Beckmann (elchs users.noreply.g… Jan 15, 2019
make_vc.bat 2019-01-15 23:39 UTC+0100 Rolf 'elch' Beckmann (elchs users.noreply.g… Jan 15, 2019
makefile.bc 2018-01-29 12:42 UTC+0100 Rolf 'elch' Beckmann (elchs users.noreply.g… Jan 29, 2018
makefile.vc 2018-01-29 12:42 UTC+0100 Rolf 'elch' Beckmann (elchs users.noreply.g… Jan 29, 2018
plugrand.hb Initial upload Nov 30, 2016
rddleto.hbp 2018-02-26 19:56 UTC+0100 Rolf 'elch' Beckmann (elchs users.noreply.g… Feb 26, 2018
rddleto.lib.xbp 2017-12-11 17:57 UTC+0100 Rolf 'elch' Beckmann (elchs users.noreply.g… Dec 11, 2017
rddletoaddon.hbp 2018-02-26 19:56 UTC+0100 Rolf 'elch' Beckmann (elchs users.noreply.g… Feb 26, 2018
test_mem.exe.xbp 2017-12-08 01:06 UTC+0100 Rolf 'elch' Beckmann (elchs users.noreply.g… Dec 8, 2017

README.md

                          __         __        ____  ____  __
                         / /   ___  / /_____  / __ \/ __ )/ _|
                        / /   / _ \/ __/ __ \/ / / / __  | |_
                       / /___/  __/ /_/ /_/ / /_/ / /_/ /|  _|
                      /_____/\___/\__/\____/_____/_____/ |_|

Welcome to LetoDBf

please note the trailing f, this is the elch fork of the famous LetoDB Database Server, for the origin see: https://sourceforge.net/p/letodb/code/ci/master/tree/ or visit the original inventor: http://kresin.ru/en/letodb.html

LetoDBf is like the origin a multiplatform, high performance database server with data stored in DBF tables. It is programmed mostly in pure 'Ansi-C' by extensively using the underlaying Harbour database engine ( https://harbour.github.io )

The cause of this fork was to get the freedom of removing over many years accumulated legacy technics, and to continue, to improve and to enhance based on latest development status, without the strain to keep internal backward compatibility to older versions. Main goal of this fork is to use LetoDBf with newest Harbour and to max out its possibilities.

Aside a sligthly, but overall rework of the internal communication between Client and Server, a bunch of new features and capabilities is added, to let Harbour DBF engine show its' muscles. Expect extended locking schemes, share- and lock-able DBF tables in RAM ( HbMemIO ), all DBF on demand combine-able with 3 memofield types, new extended field attributes like autoincrement, etc ...

The LetoDBf server file open mode: No_Save_WA is fully reworked: now the workareas are opened in exact same workarea-ID and ALIAS as at client side, plus client relations are active at server: this will e.g. allow indexing keys/ filtering rules on relationed fields of other workareas in this mode. Improved and extended is the use of the server variables system, it allows really tricky filter conditions to be evaluated at server side, which leads to very fast 'optimized' filtering records. This mode shell be the mode, if you need to execute server side UDF functions, where you now even can start an UDF in its own thread, working from then on independent from your connection as a new 'headless connection'

'Under the hood' works now a TWO-socket TCP connection ( if client application is MultiThread compiled ), enabling e,g, much faster data writes to the server. Available is on demand an extreme fast LZ4 compress- and Blowfish-encrypt-able network traffic. LetoDBf client lib ( used by your application ) became fully MultiThread save, each thread opens its own connection to the server. Threads, threads threads .., wherever you look.

You should be able to use this fork likely you already used LetoDB -- BUT YOU CAN NOT MIX THEM. As the internal communication had changed, this LetoDBf server will only 'understand' client applications linked with this LetoDBf client library.

! Most important: NO WARRANTY from me on nothing -- decide yourself if LetoDBf fulfills your needs !. For the case you wish ( reliable quick ) personal! support from me, we should talk about 'donation' :-) So far YOU are the only responsible one for all what happens with and around LetoDBf at your places.

Check Readme.txt for detailed help. Wish much fun. elch