2008-10-22 17:17 UTC+0300 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)

+ contrib/rddads/adsx.c
    + added implementation of local indexing support for ADS driver.
      Local indexing is used in case server can not do index 
      creation, for example: index key depends on relation child area
      fields, index key uses user defined functions, index is created
      using codeblock, but not expression, etc.
    ; This code implements no update index! Partial index update could 
      also be implemented, but I didn't have a need for this. Besides 
      that partial index implementation will be a little more 
      complicated than in other RDD. Database update operations are 
      not done in a single goCold() method. So, index update should 
      be called, from many methods: append(), putValue(), delete(), 
      recall(), etc., or ADS RDD structure should be changed to 
      support real goCold(). For implementation of partial index, 
      I'd suggest to use tree index (instead of a simple sorted array 
      and binary search). B-tree code could be found in 
      contrib/rddsql/sqlmix.c.
    ; Please check makefiles, and other compilers, platforms.
This commit is contained in:
Mindaugas Kavaliauskas
2008-10-22 14:17:36 +00:00
parent 3092f701ee
commit 3110d1ffc0
4 changed files with 1605 additions and 0 deletions

View File

@@ -8,6 +8,26 @@
2008-12-31 13:59 UTC+0100 Foo Bar (foo.bar foobar.org)
*/
2008-10-22 17:17 UTC+0300 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
+ contrib/rddads/adsx.c
+ added implementation of local indexing support for ADS driver.
Local indexing is used in case server can not do index
creation, for example: index key depends on relation child area
fields, index key uses user defined functions, index is created
using codeblock, but not expression, etc.
; This code implements no update index! Partial index update could
also be implemented, but I didn't have a need for this. Besides
that partial index implementation will be a little more
complicated than in other RDD. Database update operations are
not done in a single goCold() method. So, index update should
be called, from many methods: append(), putValue(), delete(),
recall(), etc., or ADS RDD structure should be changed to
support real goCold(). For implementation of partial index,
I'd suggest to use tree index (instead of a simple sorted array
and binary search). B-tree code could be found in
contrib/rddsql/sqlmix.c.
; Please check makefiles, and other compilers, platforms.
2008-10-22 14:57 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* bin/hbmk_os2.cmd
+ Added support for HB_MT=yes.

View File

@@ -22,6 +22,7 @@ C_SOURCES=\
ads1.c \
adsfunc.c \
adsmgmnt.c \
adsx.c \
PRG_HEADERS=\
ads.ch \

File diff suppressed because it is too large Load Diff

View File

@@ -13,6 +13,7 @@ LIB_OBJS = \
$(OBJ_DIR)ads1$(OBJEXT) \
$(OBJ_DIR)adsfunc$(OBJEXT) \
$(OBJ_DIR)adsmgmnt$(OBJEXT) \
$(OBJ_DIR)adsx$(OBJEXT) \
all: \
$(LIB_PATH) \