How can I perform SWEEP by zeoslib API ?

Freature requests from users for ZeosLib's DBOs

Moderators: gto, cipto_kh, EgonHugeist, mdaems

Post Reply
Tommi
Fresh Boarder
Fresh Boarder
Posts: 11
Joined: 11.07.2008, 13:27

How can I perform SWEEP by zeoslib API ?

Post by Tommi »

I need to perform manually sweep my embedded database using zeoslib.

How can I ?

Thank you
seawolf
Zeos Dev Team *
Zeos Dev Team *
Posts: 385
Joined: 04.06.2008, 19:50
Contact:

Post by seawolf »

Sweep command at the moment is not supported (and its implementation is not yet planned)
User avatar
mdaems
Zeos Project Manager
Zeos Project Manager
Posts: 2766
Joined: 20.09.2005, 15:28
Location: Brussels, Belgium
Contact:

Post by mdaems »

What database, and what's a SWEEP? How should it be performed? Is there a SQL statement to do it or is an API call necessary?
A documentation link would be fine.
Probably I'll move this thread to the feature requests forum when I get an answer.

Mark
Image
Tommi
Fresh Boarder
Fresh Boarder
Posts: 11
Joined: 11.07.2008, 13:27

Post by Tommi »

SWEEP is a Firebird command.

When you delete a field in Firebird, it don't really delete it but simply mark it as deleted.
When you do sweep Firebird cleans all not necessary data from database and defragment so you have better performance and less hard disk space required.
User avatar
mdaems
Zeos Project Manager
Zeos Project Manager
Posts: 2766
Joined: 20.09.2005, 15:28
Location: Brussels, Belgium
Contact:

Post by mdaems »

Thanks for the extra info. As seawolf wrote : this isn't yet implemented and not planned either.
I did some research now. To implement sweeping we must issue the isc_service_start( ) API call. This interface isn't available in the zeoslib plaindriver code yet, and my IB/FB experience is too limited to build this myself.

Functionally I would implement this the same way createnewdatabase is implemented : as a connection property. Adding 'sweep=true' to Connection.properties would perform a sweep upon connect.

Implementing this would at once provide an interface to do some other administration tasks (like validation and repair) as well.

Moved to Feature Requests, waiting for a FB guru to implement...

Mark
Image
Post Reply