Re: Changing A Btrieve index


Florian Groothuis
 

In V9:

"Open table in Reindex mode must be exclusive"

...


Met vriendelijke groet - With kind regards,

Florian Groothuis
Analist/programmeur
+31 (0)6 21927914


meilink.eu

Meilink Beheer Borculo B.V. • Kamerlingh Onnesstraat 1
7271 AZ  Borculo • Nederland • +31 (0)545 253525
KvK 08009803 • Our general terms and conditions apply • Disclaimer


-----Oorspronkelijk bericht-----
Van: main@magicu-l.groups.io [mailto:main@magicu-l.groups.io] Namens Steven Blank
Verzonden: woensdag 25 januari 2017 1:47
Aan: main@magicu-l.groups.io
Onderwerp: Re: [magicu-l] Changing A Btrieve index

If all you do is drop and create indexes, you don't need to have exclusive access to the file. Of course, no one else can be using an index when you drop it, nor is any user allowed to begin a transaction during the time that the MKDE is creating the index. Luckily, creating an index is very, VERY fast.

But yeah, Reindex mode is obscure for a reason.

Steve


At 04:31 PM 1/24/2017, you wrote:
>Just thinking about complaints from the other users on the system since
>it locks the table
>
>Sherm
>
>
>> On Jan 24, 2017, at 7:21 PM, Steven Blank <sgblank@...> wrote:
>>
>> Sherm,
>>
>> Ideally, yes - run only once.
>>
>> But running it more than once won't hurt anything. Magic drops the old index by number and creates the new index as the index is defined in the Tables Repository. Running the program more than once will just drop and recreate the same index structure.
>>
>> Benign redundancy.
>>
>> Kinda like me.
>>
>> Steve Blank
>>
>>
>> At 03:59 PM 1/24/2017, you wrote:
>>> Steve,
>>>
>>> If I understand you correctly, you would write just one program to
>>> do this....and ensure that it's run only once, as the first action
>>> by the first person who uses the new version.
>>>
>>> ?
>>>
>>> Sherm
>>>
>>>
>>>> On 01/24/2017 06:55 PM, Steven Blank wrote:
>>>> Hi Jim,
>>>>
>>>> Using the Reindex option for a program's Open mode will work ok - the index will be dropped and recreated when the program is executed; no data will be lost. However, you'll have to disable Check Definition for the Database beforehand. You can turn it back on after the file has been reindexed.
>>>>
>>>> You could also achieve the same thing using the Btrieve Maintenance Utility. Open the Information Editor and get information for the file. Then use the Index menu's Drop... and Create... options.
>>>>
>>>> Steve Blank
>>>>
>>>> P.S. Come to think of it, you may run with CheckDef turned off all
>>>> the time, in which case, never mind. ;)
>>>>
>>>>
>>>>
>>>> At 03:03 PM 1/24/2017, you wrote:
>>>>> Hi,
>>>>>
>>>>> I use Magic 8.3 and Btrieve.  I need to change an index on one of the databases.  If I change an index on a database in a control file and then release the code with a program that does a “Reindex†when I open the file, will it reindex the database without exporting and importing the data?  Or will it corrupt the file?
>>>>>
>>>>> Jim Gelles
>>>>> Membership Management Services
>>>>> 818/988-0008
>>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>>
>>
>
>
>




Join main@magicu-l.groups.io to automatically receive all group messages.