Thanks Przemyslaw for looking into this with such detail.
Did you try it against a remote server?
What version of ads remote?
When I run it against ADS Version 7.1 the test result will be:
TEMP2
1
98
( I did not try your actual test, because I don't have a server avail now)
it's very possible that it's a bug in ace32/ads and it's fixed it a later
version of ADS.
thanks
Przemyslaw Czerpak wrote:
>
> On Wed, 15 Jul 2009, AbeB wrote:
>> problem with subindex & ads remote(only)
>> #INCLUDE "ADS.CH"
>> PROC MAIN()
>> REQUEST ADS
>> SET SERVER REMOTE // <<-will include the entire file in the 2nd index.
>
> You are setting remote server.
>
>> //SET SERVER LOCAL // <<-will include the entire file in the 2nd index.
>>
>> ERASE("TEST.CDX")
>
> Now you are deleting local file.
>
>> DBCREATE("TEST.DBF" ,{ {"FLD1", "N", 10 , 0 }} )
>
> Now you are creatind TEST.DBF using DBFNTX.
>
>> USE TEST VIA "ADS" EXCLU
>
> Now you are reopening DBF using ADS RDD which is set to remote server.
> Which file do you open?
>
>> INDEX ON FLD1 TAG TEMP
>
> You are creating index on remote server.
>
>> ORDSETFOCUS("TEMP")
>> FOR I := 1 TO 100
>> APPEND BLANK
>> FIELD->FLD1 := I
>> NEXT
>>
>> ERASE("TEMP2.IDX")
>
> Again you are deleting local file
>
>> GO TOP
>> SKIP 50
>>
>> BROWSE()
>
> Interaction. Bad idea because we do not know what you want to present
> and what is wrong.
> Results may depend on user keystrokes.
>
>> INDEX ON FLD1 TAG TEMP2 WHILE FLD1 < 9999 TO TEMP2.IDX
>
> Yet another remote index with quite big range over last record value.
>
>> ORDSETFOCUS( "TEMP2")
>> BROWSE()
>
> Yet another interaction without information what is wrong.
>
>> USE
>> QUIT
>
>
> I do not know what is wrong and what you want to show us.
> I modified your code to eliminate mixed native and ADS RDDs,
> switched to local server so FERASE() works on the same files,
> changed the range to test WHILE condition and eliminated
> user interactions so results can be easy compared.
>
> #INCLUDE "ads.ch"
> PROC MAIN()
> FIELD FLD1
> LOCAL I
> REQUEST ADS
> SET SERVER LOCAL
> rddSetDefault( "ADSCDX" )
> ? "rdd:", rddSetDefault()
> ERASE( "test.cdx" )
> DBCREATE( "test.dbf", {{"FLD1", "N", 10 , 0}} )
> USE test
> INDEX ON FLD1 TAG TEMP
> ORDSETFOCUS( "TEMP" )
> ? ORDSETFOCUS()
> FOR I := 1 TO 100
> APPEND BLANK
> FLD1 := I
> NEXT
> ERASE("temp2.idx")
> GO TOP
> SKIP 50
> INDEX ON FLD1 TAG TEMP2 WHILE FLD1 < 99 TO temp2.idx
> ? ORDSETFOCUS()
> ? "===="
> ORDSETFOCUS( "TEMP" )
> ? ORDSETFOCUS()
> GO TOP
> ? FLD1
> GO BOTTOM
> ? FLD1
> ORDSETFOCUS( "TEMP2" )
> ? ORDSETFOCUS()
> GO TOP
> ? FLD1
> GO BOTTOM
> ? FLD1
> USE
> RETURN
>
>
>
> And it shows:
> rdd: ADSCDX
> TEMP
> TEMP2
> ====
> TEMP
> 1
> 100
> TEMP2
> 51
> 98
>
> What is expected and the same as for native DBFCDX also in Clipper.
> I do not know what is wrong for you and what results you expected.
>
> best regards,
> Przemek
> _______________________________________________
> Harbour mailing list
> [email protected]
> http://lists.harbour-project.org/mailman/listinfo/harbour
>
>
--
View this message in context:
http://n2.nabble.com/problame-with-subindex---ads-remote-tp3265915p3277805.html
Sent from the harbour-devel mailing list archive at Nabble.com.
_______________________________________________
Harbour mailing list
[email protected]
http://lists.harbour-project.org/mailman/listinfo/harbour