Hello:

I'm trying to sort a TBufferDataset by several criteria, and I'm a little confused.

There is no sort method, so I decided to use indexes, but I have a lot of doubts.

When you close the TBufferDataset, all the data is cleaned.

TbufferDataset has a MaxIndexesCount that limits the number of indexes. By default this property is intialized to 2, and two indexes are created and used by default as soon as you call addIndex. So you must call addIndex before opening the table, or set MaxIndexesCount to at least 3 in order to be able to add an index with the table active. (you can't close the table to add new index or you'll lost data).

There is no way to drop a single index, and there is no way to change the index fields on the fly, you must call clearIndexes. And to call clearIndexes, before you must close the dataset, and so loose data. Am I right?

So, if I want to process the dataset in different orders with TbufferDataset, before opening the dataset I must set MaxIndexesCount to all the orders I'm going to use.

Am I right? Or I have missed something?

By the way, What does the index option "ixNonMaintained" mean?

--
Saludos
Santiago A.

--
_______________________________________________
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus

Reply via email to