30000 records is not near 65535 records? But if you need to go beyond that
then there are quite alot of ways (which may evetually serve useless since
there is some hint that they are going to start using a DWORD instead of a
WORD for the indexes and for record sizes.) to accomplish the task.
The way we have done so is by splitting our databases apart per 65K records,
then when loading a database, have a flag in the app section to load a chain
of databases, then use the HIBYTE of the DWORD record index to specfiy some
database index (assuming you use an array of open databases) and the LOBYTE
portion to determine the actual record index.

This method works well because if/when they change this index to a dword,
the code should have no problems being adjusted to work.

I'm still lost as to why people are complaining about the number of records
and hot sync issues.

I've just built a database with 65530 records that's approx 7.5 MB.
Then recreated a database with 120 records that's approx 7.5 MB and they
both Hotsynced in the same amount of time.
It's the USB or serial driver combined with the amount of actual data that's
really the bottle neck NOT the number of records.
The number of records only affects other type of hotsyncs, depending on how
you use the data. (e.g. read-only or writeable).

Of course if your conduit needs to determine if any records are modified and
it then needs to hot sync each record again, that would slow things down for
consecutive hot-syncs, but that's only if the conduit isn't taking advantage
of dirty bits being set for records that have been modified.

Do I misunderstand something?  I'm only asking for clarification, because
what I'm reading seems to be different from what I'm actually seeing and I
would like to know what's actually going on.

thanks - bill


"Ben Combee" <[EMAIL PROTECTED]> wrote in message
news:102099@palm-dev-forum...
>
> At 22:25 2002-11-21 +0100, you wrote:
> >On Thu, 21 Nov 2002 10:41:48 -0600
> >Ben Combee <[EMAIL PROTECTED]> wrote:
> >
> > > At 17:14 2002-11-21 +0100, you wrote:
> > > >   i need to store 30000 records in a pdb. Each record has an unique
15
> > > > chars id,
> > > >    which is also used as the sorting key.
> > > >
> > > >   Can i store it in a single pdb or it's better to split it?
> > >
> > > You can use a single PDB, but it would be a very good idea to combine
> > > multiple records into a single Palm OS record.  If you don't, then
your
> > > HotSync times will be outrageous.
> >
> >That's true. i think i'll keep track on the modified records on the host
> >machine
> >and only transfer those who had been modified since the last sync.
>
> That doesn't help the initial HotSync... Just copying a DB with 30000
> records to the device is an ordeal, as the device has to do 30,000
separate
> memory allocations, plus 30,000 record index reallocations.  It can get
> really, really painful.
>
> >Luckly the Palm doesn't need to alter them.
> >
> >30000 records is quite near to 2^15 or Int16, which is the limit
> >on the lists, AFAIK. How am i supposed to break the barrier?
>
> By combining multiple records into one and doing your own
> indexing.  Remember that the Palm OS DB format was designed for things
like
> to-do lists and address books that have a few hundred records at most.
>
> --
> Ben Combee <[EMAIL PROTECTED]>
> CodeWarrior for Palm OS technical lead
> Palm OS programming help @ www.palmoswerks.com
>
>
>



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/

Reply via email to