Comments (10)
@gadget00 poking through the code I didn't see any support for indexing, creating CDX files etc.
We ended up buying the Indexman command-line utility ($30) to reindex DBFs, which uses Microsoft's FoxPro DLLs to reindex. It's windows-only but I bet it works fine with wine.
https://dbfdoctor.com/en/news/IndexMan/
from php-xbase.
I'm don't know how the CDX files work, so I don't plan to implement it soon. If you want to help implementing that, I would appreciate that. I could try to help after a first release, but currently I don't have enough time to start that.
from php-xbase.
No problem. I'll let you know if I figure it out
from php-xbase.
I don't think think the author has thought through index creation. My current attempt will be to link https://github.com/jakubkulhan/btree to this structure. Using a btree object of {key:XXXXX, recno:NN} should do the trick. I'd like to wrap this in a handler class to automatically open the data and an array of index files. My first cut will be to support only one index file.
from php-xbase.
how did this went?? @jchimene where you able to go through any of this??
I'm having the situation where the index files don't get updated when I write a new record or update one in the DBF and when I open the legacy foxpro app the new records are not shown, until I 'reindex' the DBF
from php-xbase.
+1 @gadget00, we're doing the same. Would be great to do in this library (or even an external command line program). Let me know if you find anything
from php-xbase.
@btraas so far I haven’t found a solution for this. How can we make a “reindex” function for this?? I just saw that there is a “pack()” function that saves the changes and re-counts the rows like the original VFP. There must be a way to trigger the reindex as well
from php-xbase.
@btraas can you give me an example of how to use that utility? I downloaded and installed it, and also read the help options but can't figure out how I'm supposed to use it. Thanks again
from php-xbase.
@gadget00 I use it like this:
C:\Program Files (x86)\IndexMan\IndexMan.exe <dbfFile> <cdxFile> [-nodeleted]
And wrapped in a C# service that can be triggered by our web server.
from php-xbase.
@gadget00 I use it like this:
C:\Program Files (x86)\IndexMan\IndexMan.exe <dbfFile> <cdxFile> [-nodeleted]
And wrapped in a C# service that can be triggered by our web server.
I have tried it here also with IndexMan with the parameters -reindex -nodeleted.
If during the execution of IndexMan the FoxPro application runs also, no more entries are displayed within the application. It looks like an empty database.
Only after a new start of the FoxPro appication all rows (also the new ones) are shown :-(
from php-xbase.
Related Issues (20)
- language not supported HOT 2
- 'tests' directory in reposit ( zip file) HOT 2
- HOW TO ADD NEW COLUMN HOT 2
- Compatible .dbf versions HOT 1
- Save inside a temp file HOT 8
- PHP Fatal error: Uncaught LogicException: Invalid number of bytes in binary string HOT 6
- Can't read or edit data from any dbf files, nor adding new records HOT 3
- TableException: Expected header terminator not present at position 6049 HOT 9
- Uncaught TypeError: str_pad() expects parameter 1 to be string, bool given HOT 1
- Invalid number of bytes in binary string. Expected: 123. Actual: 124 HOT 1
- .fpt file disappears when appending record to .dbf file HOT 5
- Creating Visual FoxPro files results in an incorrect Header Length HOT 1
- Fatal Error reading Foxpro dbf HOT 1
- Failed to open stream: Permission denied (disappearing .fpt that is not regenerated) HOT 1
- Memo is null
- Cannot use Y column type HOT 1
- Cannot read Floating Point vairable
- Encoding or Language ID HOT 1
- Float and Double Type is not support how need to create column ?
- writeRecord() changes all decimal digits in the record HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from php-xbase.