2008-06-04 02:05 UTC+0100 Viktor Szakats (harbour.01 syenar hu)

* contrib/rddads/adsfunc.c
     ! Fix to ADSCREATEFTSINDEX().
       Thanks Brian and Luis.

   * contrib/rddads/ads.ch
     * Formatting: Moved #commands together to end of the file.
     * Formatting: Aligned #define values to look more organized.
This commit is contained in:
Viktor Szakats
2008-06-04 00:09:49 +00:00
parent 1b76b24141
commit 94bfc4d0f2
3 changed files with 202 additions and 191 deletions

View File

@@ -8,6 +8,15 @@
2008-12-31 13:59 UTC+0100 Foo Bar <foo.bar@foobar.org>
*/
2008-06-04 02:05 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* contrib/rddads/adsfunc.c
! Fix to ADSCREATEFTSINDEX().
Thanks Brian and Luis.
* contrib/rddads/ads.ch
* Formatting: Moved #commands together to end of the file.
* Formatting: Aligned #define values to look more organized.
2008-06-04 00:32 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* contrib/hbcurl/hbcurl.c
* CURL_GETDATE(): using hb_retnint().

View File

@@ -71,47 +71,217 @@
*/
/* Supported file types */
#define ADS_NTX 1
#define ADS_CDX 2
#define ADS_ADT 3
#define ADS_VFP 4
#define ADS_NTX 1
#define ADS_CDX 2
#define ADS_ADT 3
#define ADS_VFP 4
/* Advantage Optimized Filter (AOF) optimization levels */
#define ADS_OPTIMIZED_FULL 1
#define ADS_OPTIMIZED_PART 2
#define ADS_OPTIMIZED_NONE 3
#define ADS_OPTIMIZED_FULL 1
#define ADS_OPTIMIZED_PART 2
#define ADS_OPTIMIZED_NONE 3
/* Advantage Optimized Filter (AOF) resolution options */
#define ADS_RESOLVE_IMMEDIATE 1
#define ADS_RESOLVE_DYNAMIC 2
#define ADS_RESOLVE_IMMEDIATE 1
#define ADS_RESOLVE_DYNAMIC 2
/* Advantage Optimized Filter (AOF) customization options */
#define ADS_AOF_ADD_RECORD 1
#define ADS_AOF_REMOVE_RECORD 2
#define ADS_AOF_TOGGLE_RECORD 3
#define ADS_AOF_ADD_RECORD 1
#define ADS_AOF_REMOVE_RECORD 2
#define ADS_AOF_TOGGLE_RECORD 3
/* For retrieving scope settings
In the Harbour RDD, use TOPSCOPE and BOTTOMSCOPE as the values are
different (Top = 0, Bottom = 1)
#define ADS_TOP 1
#define ADS_BOTTOM 2
#define ADS_TOP 1
#define ADS_BOTTOM 2
*/
/* for calls that can optionally use filters */
#define ADS_RESPECTFILTERS 1
#define ADS_IGNOREFILTERS 2
#define ADS_RESPECTSCOPES 3
#define ADS_RESPECTFILTERS 1
#define ADS_IGNOREFILTERS 2
#define ADS_RESPECTSCOPES 3
/* Server type constants for ORing with AdsSetServerType() */
#define ADS_LOCAL_SERVER 1
#define ADS_REMOTE_SERVER 2
#define ADS_AIS_SERVER 4
/* character set types */
#define ADS_ANSI 1
#define ADS_OEM 2
/*
* Constants for AdsMgGetServerType()
* Note ADS_MGMT_NETWARE_SERVER remains for backwards compatibility only.
*/
#define ADS_MGMT_NETWARE_SERVER 1
#define ADS_MGMT_NETWARE4_OR_OLDER_SERVER 1
#define ADS_MGMT_NT_SERVER 2
#define ADS_MGMT_LOCAL_SERVER 3
#define ADS_MGMT_WIN9X_SERVER 4
#define ADS_MGMT_NETWARE5_OR_NEWER_SERVER 5
#define ADS_MGMT_LINUX_SERVER 6
/* ACE Handle types */
#define ADS_CONNECTION 1
#define ADS_TABLE 2
#define ADS_INDEX_ORDER 3
#define ADS_STATEMENT 4
#define ADS_CURSOR 5
#define ADS_DATABASE_CONNECTION 6
#define ADS_SYS_ADMIN_CONNECTION 7
#define ADS_FTS_INDEX_ORDER 8
#define AE_NO_CONNECTION 5036
#define ADS_DD_TABLE_OBJECT 1
#define ADS_DD_RELATION_OBJECT 2
#define ADS_DD_INDEX_FILE_OBJECT 3
#define ADS_DD_FIELD_OBJECT 4
#define ADS_DD_COLUMN_OBJECT 4
#define ADS_DD_INDEX_OBJECT 5
#define ADS_DD_VIEW_OBJECT 6
#define ADS_DD_VIEW_OR_TABLE_OBJECT 7 /* Used in AdsFindFirst/NextTable */
#define ADS_DD_USER_OBJECT 8
#define ADS_DD_USER_GROUP_OBJECT 9
#define ADS_DD_PROCEDURE_OBJECT 10
#define ADS_DD_DATABASE_OBJECT 11
#define ADS_DD_LINK_OBJECT 12
#define ADS_DD_TABLE_VIEW_OR_LINK_OBJECT 13 /* Used in v6.2 AdsFindFirst/NextTable */
/* Common properties numbers < 100 */
#define ADS_DD_COMMENT 1
#define ADS_DD_VERSION 2
#define ADS_DD_USER_DEFINED_PROP 3
/* Database properties between 100 and 199 */
#define ADS_DD_DEFAULT_TABLE_PATH 100
#define ADS_DD_ADMIN_PASSWORD 101
#define ADS_DD_TEMP_TABLE_PATH 102
#define ADS_DD_LOG_IN_REQUIRED 103
#define ADS_DD_VERIFY_ACCESS_RIGHTS 104
#define ADS_DD_ENCRYPT_TABLE_PASSWORD 105
#define ADS_DD_ENCRYPT_NEW_TABLE 106
#define ADS_DD_ENABLE_INTERNET 107
#define ADS_DD_INTERNET_SECURITY_LEVEL 108
#define ADS_DD_MAX_FAILED_ATTEMPTS 109
#define ADS_DD_ALLOW_ADSSYS_NET_ACCESS 110
#define ADS_DD_VERSION_MAJOR 111 /* properties for customer dd version */
#define ADS_DD_VERSION_MINOR 112
/* Table properties between 200 and 299 */
#define ADS_DD_TABLE_VALIDATION_EXPR 200
#define ADS_DD_TABLE_VALIDATION_MSG 201
#define ADS_DD_TABLE_PRIMARY_KEY 202
#define ADS_DD_TABLE_AUTO_CREATE 203
#define ADS_DD_TABLE_TYPE 204
#define ADS_DD_TABLE_PATH 205
#define ADS_DD_TABLE_FIELD_COUNT 206
#define ADS_DD_TABLE_RI_GRAPH 207
#define ADS_DD_TABLE_OBJ_ID 208
#define ADS_DD_TABLE_RI_XY 209
#define ADS_DD_TABLE_IS_RI_PARENT 210
#define ADS_DD_TABLE_RELATIVE_PATH 211
#define ADS_DD_TABLE_CHAR_TYPE 212
#define ADS_DD_TABLE_DEFAULT_INDEX 213
#define ADS_DD_TABLE_ENCRYPTION 214
#define ADS_DD_TABLE_MEMO_BLOCK_SIZE 215
#define ADS_DD_TABLE_PERMISSION_LEVEL 216
/* Field properties between 300 - 399 */
#define ADS_DD_FIELD_DEFAULT_VALUE 300
#define ADS_DD_FIELD_CAN_NULL 301
#define ADS_DD_FIELD_MIN_VALUE 302
#define ADS_DD_FIELD_MAX_VALUE 303
#define ADS_DD_FIELD_VALIDATION_MSG 304
#define ADS_DD_FIELD_DEFINITION 305
#define ADS_DD_FIELD_TYPE 306
#define ADS_DD_FIELD_LENGTH 307
#define ADS_DD_FIELD_DECIMAL 308
/* Index tag properties between 400 - 499 */
#define ADS_DD_INDEX_FILE_NAME 400
#define ADS_DD_INDEX_EXPRESSION 401
#define ADS_DD_INDEX_CONDITION 402
#define ADS_DD_INDEX_OPTIONS 403
#define ADS_DD_INDEX_KEY_LENGTH 404
#define ADS_DD_INDEX_KEY_TYPE 405
/* RI properties between 500-599 */
#define ADS_DD_RI_PARENT_GRAPH 500
#define ADS_DD_RI_PRIMARY_TABLE 501
#define ADS_DD_RI_PRIMARY_INDEX 502
#define ADS_DD_RI_FOREIGN_TABLE 503
#define ADS_DD_RI_FOREIGN_INDEX 504
#define ADS_DD_RI_UPDATERULE 505
#define ADS_DD_RI_DELETERULE 506
#define ADS_DD_RI_NO_PKEY_ERROR 507
#define ADS_DD_RI_CASCADE_ERROR 508
/* User properties between 600-699 */
#define ADS_DD_USER_GROUP_NAME 600
/* View properties between 700-749 */
#define ADS_DD_VIEW_STMT 700
#define ADS_DD_VIEW_STMT_LEN 701
/* Stored procedure properties 800-899 */
#define ADS_DD_PROC_INPUT 800
#define ADS_DD_PROC_OUTPUT 801
#define ADS_DD_PROC_DLL_NAME 802
#define ADS_DD_PROC_DLL_FUNCTION_NAME 803
#define ADS_DD_PROC_INVOKE_OPTION 804
/* Index file properties 900-999 */
#define ADS_DD_INDEX_FILE_PATH 900
#define ADS_DD_INDEX_FILE_PAGESIZE 901
/*
* Object rights properties 1001 - 1099 . They can be used
* with either user or user group objects.
*/
#define ADS_DD_TABLES_RIGHTS 1001
#define ADS_DD_VIEWS_RIGHTS 1002
#define ADS_DD_PROCS_RIGHTS 1003
#define ADS_DD_OBJECTS_RIGHTS 1004
#define ADS_DD_FREE_TABLES_RIGHTS 1005
/* User Properties 1101 - 1199 */
#define ADS_DD_USER_PASSWORD 1101
#define ADS_DD_USER_GROUP_MEMBERSHIP 1102
#define ADS_DD_USER_BAD_LOGINS 1103
/* User group Properties 1201 - 1299 */
/* None at this moment. */
/* Link properties 1301 - 1399 */
#define ADS_DD_LINK_PATH 1300
#define ADS_DD_LINK_OPTIONS 1301
#define ADS_DD_LINK_USERNAME 1302
#define ADS_DD_LEVEL_0 0
#define ADS_DD_LEVEL_1 1
#define ADS_DD_LEVEL_2 2
/* Referential Integrity (RI) update and delete rules */
#define ADS_DD_RI_CASCADE 1
#define ADS_DD_RI_RESTRICT 2
#define ADS_DD_RI_SETNULL 3
#define ADS_DD_RI_SETDEFAULT 4
/* Default Field Value Options */
#define ADS_DD_DFV_UNKNOWN 1
#define ADS_DD_DFV_NONE 2
#define ADS_DD_DFV_VALUES_STORED 3
/* Commands */
#command SET FILETYPE TO <x:NTX,CDX,ADT,VFP> ;
=> AdsSetFileType( iif( Upper( <(x)> ) == "NTX", ADS_NTX, ;
iif( Upper( <(x)> ) == "CDX", ADS_CDX, ;
iif( Upper( <(x)> ) == "VFP", ADS_VFP, ADS_ADT ) ) ) )
/* Server type constants for ORing with AdsSetServerType() */
#define ADS_LOCAL_SERVER 1
#define ADS_REMOTE_SERVER 2
#define ADS_AIS_SERVER 4
#command SET SERVER LOCAL => AdsSetServerType( ADS_LOCAL_SERVER )
#command SET SERVER REMOTE => AdsSetServerType( ADS_REMOTE_SERVER )
@@ -121,10 +291,6 @@
#command SET RIGHTS CHECKING <x:ON,OFF> ;
=> AdsRightsCheck( Upper( <(x)> ) == "ON" )
/* character set types */
#define ADS_ANSI 1
#define ADS_OEM 2
#command SET CHARTYPE TO <x:ANSI,OEM> ;
=> AdsSetCharType( iif( Upper( <(x)> ) == "OEM", ADS_OEM, ADS_ANSI ) )
@@ -156,167 +322,3 @@
[; dbSetIndex( <(index1)> )] ;
[; dbSetIndex( <(indexn)> )] ;
; ENDIF
/*
* Constants for AdsMgGetServerType()
* Note ADS_MGMT_NETWARE_SERVER remains for backwards compatibility only.
*/
#define ADS_MGMT_NETWARE_SERVER 1
#define ADS_MGMT_NETWARE4_OR_OLDER_SERVER 1
#define ADS_MGMT_NT_SERVER 2
#define ADS_MGMT_LOCAL_SERVER 3
#define ADS_MGMT_WIN9X_SERVER 4
#define ADS_MGMT_NETWARE5_OR_NEWER_SERVER 5
#define ADS_MGMT_LINUX_SERVER 6
/* ACE Handle types */
#define ADS_CONNECTION 1
#define ADS_TABLE 2
#define ADS_INDEX_ORDER 3
#define ADS_STATEMENT 4
#define ADS_CURSOR 5
#define ADS_DATABASE_CONNECTION 6
#define ADS_SYS_ADMIN_CONNECTION 7
#define ADS_FTS_INDEX_ORDER 8
#define AE_NO_CONNECTION 5036
#define ADS_DD_TABLE_OBJECT 1
#define ADS_DD_RELATION_OBJECT 2
#define ADS_DD_INDEX_FILE_OBJECT 3
#define ADS_DD_FIELD_OBJECT 4
#define ADS_DD_COLUMN_OBJECT 4
#define ADS_DD_INDEX_OBJECT 5
#define ADS_DD_VIEW_OBJECT 6
#define ADS_DD_VIEW_OR_TABLE_OBJECT 7 /* Used in AdsFindFirst/NextTable */
#define ADS_DD_USER_OBJECT 8
#define ADS_DD_USER_GROUP_OBJECT 9
#define ADS_DD_PROCEDURE_OBJECT 10
#define ADS_DD_DATABASE_OBJECT 11
#define ADS_DD_LINK_OBJECT 12
#define ADS_DD_TABLE_VIEW_OR_LINK_OBJECT 13 /* Used in v6.2 AdsFindFirst/NextTable */
/* Common properties numbers < 100 */
#define ADS_DD_COMMENT 1
#define ADS_DD_VERSION 2
#define ADS_DD_USER_DEFINED_PROP 3
/* Database properties between 100 and 199 */
#define ADS_DD_DEFAULT_TABLE_PATH 100
#define ADS_DD_ADMIN_PASSWORD 101
#define ADS_DD_TEMP_TABLE_PATH 102
#define ADS_DD_LOG_IN_REQUIRED 103
#define ADS_DD_VERIFY_ACCESS_RIGHTS 104
#define ADS_DD_ENCRYPT_TABLE_PASSWORD 105
#define ADS_DD_ENCRYPT_NEW_TABLE 106
#define ADS_DD_ENABLE_INTERNET 107
#define ADS_DD_INTERNET_SECURITY_LEVEL 108
#define ADS_DD_MAX_FAILED_ATTEMPTS 109
#define ADS_DD_ALLOW_ADSSYS_NET_ACCESS 110
#define ADS_DD_VERSION_MAJOR 111 /* properties for customer dd version */
#define ADS_DD_VERSION_MINOR 112
/* Table properties between 200 and 299 */
#define ADS_DD_TABLE_VALIDATION_EXPR 200
#define ADS_DD_TABLE_VALIDATION_MSG 201
#define ADS_DD_TABLE_PRIMARY_KEY 202
#define ADS_DD_TABLE_AUTO_CREATE 203
#define ADS_DD_TABLE_TYPE 204
#define ADS_DD_TABLE_PATH 205
#define ADS_DD_TABLE_FIELD_COUNT 206
#define ADS_DD_TABLE_RI_GRAPH 207
#define ADS_DD_TABLE_OBJ_ID 208
#define ADS_DD_TABLE_RI_XY 209
#define ADS_DD_TABLE_IS_RI_PARENT 210
#define ADS_DD_TABLE_RELATIVE_PATH 211
#define ADS_DD_TABLE_CHAR_TYPE 212
#define ADS_DD_TABLE_DEFAULT_INDEX 213
#define ADS_DD_TABLE_ENCRYPTION 214
#define ADS_DD_TABLE_MEMO_BLOCK_SIZE 215
#define ADS_DD_TABLE_PERMISSION_LEVEL 216
/* Field properties between 300 - 399 */
#define ADS_DD_FIELD_DEFAULT_VALUE 300
#define ADS_DD_FIELD_CAN_NULL 301
#define ADS_DD_FIELD_MIN_VALUE 302
#define ADS_DD_FIELD_MAX_VALUE 303
#define ADS_DD_FIELD_VALIDATION_MSG 304
#define ADS_DD_FIELD_DEFINITION 305
#define ADS_DD_FIELD_TYPE 306
#define ADS_DD_FIELD_LENGTH 307
#define ADS_DD_FIELD_DECIMAL 308
/* Index tag properties between 400 - 499 */
#define ADS_DD_INDEX_FILE_NAME 400
#define ADS_DD_INDEX_EXPRESSION 401
#define ADS_DD_INDEX_CONDITION 402
#define ADS_DD_INDEX_OPTIONS 403
#define ADS_DD_INDEX_KEY_LENGTH 404
#define ADS_DD_INDEX_KEY_TYPE 405
/* RI properties between 500-599 */
#define ADS_DD_RI_PARENT_GRAPH 500
#define ADS_DD_RI_PRIMARY_TABLE 501
#define ADS_DD_RI_PRIMARY_INDEX 502
#define ADS_DD_RI_FOREIGN_TABLE 503
#define ADS_DD_RI_FOREIGN_INDEX 504
#define ADS_DD_RI_UPDATERULE 505
#define ADS_DD_RI_DELETERULE 506
#define ADS_DD_RI_NO_PKEY_ERROR 507
#define ADS_DD_RI_CASCADE_ERROR 508
/* User properties between 600-699 */
#define ADS_DD_USER_GROUP_NAME 600
/* View properties between 700-749 */
#define ADS_DD_VIEW_STMT 700
#define ADS_DD_VIEW_STMT_LEN 701
/* Stored procedure properties 800-899 */
#define ADS_DD_PROC_INPUT 800
#define ADS_DD_PROC_OUTPUT 801
#define ADS_DD_PROC_DLL_NAME 802
#define ADS_DD_PROC_DLL_FUNCTION_NAME 803
#define ADS_DD_PROC_INVOKE_OPTION 804
/* Index file properties 900-999 */
#define ADS_DD_INDEX_FILE_PATH 900
#define ADS_DD_INDEX_FILE_PAGESIZE 901
/*
* Object rights properties 1001 - 1099 . They can be used
* with either user or user group objects.
*/
#define ADS_DD_TABLES_RIGHTS 1001
#define ADS_DD_VIEWS_RIGHTS 1002
#define ADS_DD_PROCS_RIGHTS 1003
#define ADS_DD_OBJECTS_RIGHTS 1004
#define ADS_DD_FREE_TABLES_RIGHTS 1005
/* User Properties 1101 - 1199 */
#define ADS_DD_USER_PASSWORD 1101
#define ADS_DD_USER_GROUP_MEMBERSHIP 1102
#define ADS_DD_USER_BAD_LOGINS 1103
/* User group Properties 1201 - 1299 */
/* None at this moment. */
/* Link properties 1301 - 1399 */
#define ADS_DD_LINK_PATH 1300
#define ADS_DD_LINK_OPTIONS 1301
#define ADS_DD_LINK_USERNAME 1302
#define ADS_DD_LEVEL_0 0
#define ADS_DD_LEVEL_1 1
#define ADS_DD_LEVEL_2 2
/* Referential Integrity (RI) update and delete rules */
#define ADS_DD_RI_CASCADE 1
#define ADS_DD_RI_RESTRICT 2
#define ADS_DD_RI_SETNULL 3
#define ADS_DD_RI_SETDEFAULT 4
/* Default Field Value Options */
#define ADS_DD_DFV_UNKNOWN 1
#define ADS_DD_DFV_NONE 2
#define ADS_DD_DFV_VALUES_STORED 3

View File

@@ -2178,7 +2178,7 @@ HB_FUNC( ADSCREATEFTSINDEX )
( UNSIGNED8 * ) hb_parc( 1 ) /* pucFileName */ , /* if NULL or the base name is the same as the table, then creates a compound AutoOpen index. */
( UNSIGNED8 * ) hb_parc( 2 ) /* pucTag */ ,
( UNSIGNED8 * ) hb_parc( 3 ) /* pucField */ ,
( UNSIGNED32 ) hb_parnl( 4 ) /* ulPageSize */ ,
( UNSIGNED32 ) ISNUM( 4 ) ? hb_parnl( 4 ) : ADS_DEFAULT /* ulPageSize */ ,
( UNSIGNED32 ) ISNUM( 5 ) ? hb_parnl( 5 ) : 3 /* ulMinWordLen */ ,
( UNSIGNED32 ) ISNUM( 6 ) ? hb_parnl( 6 ) : 30 /* ulMaxWordLen */ ,
( UNSIGNED16 ) ISLOG( 7 ) ? hb_parl( 7 ) : TRUE /* usUseDefaultDelim */ ,