From ernestogiannotta at tiscalinet.it Mon May 1 10:42:30 2006 From: ernestogiannotta at tiscalinet.it (Erne) Date: Mon May 1 03:42:39 2006 Subject: Trimming the icudt30 file In-Reply-To: References: Message-ID: <866AA033-2A6D-407F-8B37-9D633F00694D@tiscalinet.it> Hi Ruslan, On 28-apr-06, at 22:26, Ruslan Zasukhin wrote: > On 4/28/06 11:22 PM, "Ruslan Zasukhin" > wrote: > >>> First point - nobody have try todo this yet from Valentina >>> community. >>> >>> Information can be found on IBM site. >>> >>> http://www-306.ibm.com/software/globalization/icu/index.jsp >>> >>> I think info is located in User Guide and/or FAQs at bottom of >>> this page. >>> >>> ------------- >>> In short (by my memory) .dat file now contains 230 locales of the >>> world. >>> It is possible split it to say 270 separate files. But the total >>> size will >>> be bigger. So split have sense only if you you want to deploy one >>> or few >>> locales. >>> >>> During build of ICU they produce set of command line tools. >>> I assume one of this tools do this job. >> >> I think this is paragraph of interest: >> >> http://icu.sourceforge.net/userguide/packaging.html > > No, this one > > http://icu.sourceforge.net/userguide/icudata.html > > Here part: Customizing ICU's Data Library > I've read some of this page and I admit I understand not much, but seems to me that you can trim those data at compile time by not including certain files in the build Can we mess with the binary data file in the VComponents folder? Cool Runnings, Erne. / |\ |\ | / ? |/ | \ | ? \ |\ | \| \ From joakim at astrocalc.com Mon May 1 11:43:38 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Mon May 1 04:43:40 2006 Subject: Table structure? In-Reply-To: Message-ID: <20060501093705.58FED7D812B@merc.astrocalc.net> Ruslan, I am coming back to this reply of yours as I have seen something with binary links which is not so good, at least not for me :-( > -----Original Message----- > From: valentina-bounces@lists.macserve.net > [mailto:valentina-bounces@lists.macserve.net] On Behalf Of > Ruslan Zasukhin > Sent: 29 April 2006 15:37 > To: valentina@lists.macserve.net > Subject: Re: Table structure? > > > IF you use Binary Links, then it is NOT important what fields > you have in table. > > Linking happens simply by RecID values: > > Country Place > -------------------- ------------------ > RecID Name recID Name > 1 Albania 1 Hamburg > 2 Bulgaria 2 Berlin > 3 Germany 3 Munich > 4 Leipzig > 5 Sofia > > > AGAIN, > * RecID field exists automatically in each Table > * RecID use ZERO space on disk. > > > So to link records you make BinaryLink and add into it pairs > > ......... > 3 1 > 3 2 > 3 3 > 3 4 > 2 5 > .......... > > Order of pairs do not mater. > > So you do NOT need at all such fields as CountryID, PTR_Country, ... > Ok, here is a part from kernel documentation on binary links. "Another Example. Here we have five tables which must be linked as M : M. Using relational model or even ObjectPtr fields, developer need create 4 Tables that play role of links. Now compare to the second picture where this task is solved using BinaryLinks. You have now only five tables instead of nine. But yes. You have now 4 BinaryLink objects. Have you win something? Answer is yes. Because BinaryLink use about 2 times less of disk space than Table-Link and it is at least 2 times faster." Is this really true? I managed to establish binary links between my tables, and for the links Country->Places DB size grow 4.6 MB, for Country->Zones 5.2 MB and for Places->Zones, which has to be M:M as there is many places in zones and there is many zone records for many places, I just came to about 2000 places of 220 000 before the demo limit of 10 minutes stoped it and then DB had increased with anouther 145 MB!? Removing my old key fields and compact DB just removed about 5MB. I think Binary links is good, but maybe not for this sceenario. Maybe better to split zone files into one for each country, and/or maybe better to use ObjectPtr? This is how the original data structure is in text files, which I read. 1 file for for country names, 1 file for places in each Country (so there are many place files), and the same for TimeZone data, 1 file for each countrys zone data which can have 1 to 300+ internal sets of date ranges. Either I am doing something wrong if this increase is unnormal, as for CountryHasPlace there are 279 RecId on One side creating links to 207391 places on the Many side, I guess that will be equal to 207391 Binary links between these 2 tables? And for Country-Zones this figure is 279 and 243126. But I think I have wrong structure for this Zone data, as it really is like each place only can be in 1 zone, but the data for this zone is Many records - sometimes only few but other times 100+ Just to picture again how the data is used. User lookup up Place, either by search or picking from a list. For search this can be limited to Country if selected but if no country selected search is on all places. So the country here is really just a critera to limit search or not. From list, Places the country are always selected to set criteria for Places to display as displaying 207 000 places in one list isn't useful. So the returned place is connected to a country and this country is then used to lookup zones belonging to country. Each Place also have an zone identifier to pair with which of the country's zone to use. From this zone a value is looked up based on a date and time. The data and time data is from user input. Did you know by the way that Russia have 76 TimeZones? This is not of today of course, but my data is not only for today but also historical AND in the future. Well too nice day today to sit in front of computer so will look at restructure later, but I think I really need to restructure db but maybe even then binary links is not right here. And thanks for all your help by the way. Joakim > > -- > Best regards, > > Ruslan Zasukhin > VP Engineering and New Technology > Paradigma Software, Inc > > Valentina - Joining Worlds of Information http://www.paradigmasoft.com > > [I feel the need: the need for speed] > > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina > From sunshine at public.kherson.ua Mon May 1 13:49:24 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Mon May 1 05:49:30 2006 Subject: Table structure? In-Reply-To: <20060501093705.58FED7D812B@merc.astrocalc.net> Message-ID: On 5/1/06 12:43 PM, "Joakim Schramm" wrote: > "Another Example. Here we have five tables which must be linked as M : M. > Using relational model or even ObjectPtr fields, developer need create 4 > Tables that play role of links. Now compare to the second picture where this > task is solved using BinaryLinks. > > You have now only five tables instead of nine. But yes. You have now 4 > BinaryLink objects. Have you win something? Answer is yes. Because > BinaryLink use about 2 times less of disk space than Table-Link and it is at > least 2 times faster." > Is this really true? Yes :-) > I managed to establish binary links between my tables, > and for the links Country->Places DB size grow 4.6 MB, for Country->Zones > 5.2 MB and for Places->Zones, which has to be M:M as there is many places in > zones and there is many zone records for many places, So you have add records into binary links, and size of db grow. This is normal right? It seems you say that it have grow too much ? But you compare to what ?? Have you remove your OLD KEY-PTR fields ? After remove of fields you may also need do COMPACT. Btw, Vstudio can show total size of a BLink in bytes. > I just came to about > 2000 places of 220 000 before the demo limit of 10 minutes stoped it and > then DB had increased with anouther 145 MB!? Removing my old key fields and > compact DB just removed about 5MB. Hmm, so you have add 2000 places into SOME binary links, right? HOW MANY records was added? > I think Binary links is good, but maybe not for this sceenario. Maybe better > to split zone files into one for each country, and/or maybe better to use > ObjectPtr? Currently ObjectPtr will win in case of 1:1 and 1:M, but binary link 100% wins the MM third table. We need YET do (simple in fact) optimization, so binary links of 1:1 and 1:M will be EXACTLY as ObjectPtr by size. > This is how the original data structure is in text files, which I > read. 1 file for for country names, 1 file for places in each Country (so > there are many place files), and the same for TimeZone data, 1 file for each > countrys zone data which can have 1 to 300+ internal sets of date ranges. You see, you have described strange MM in your case, without third table. I think the simplest case todo is next: * make db with binary links, add some small amount of records, e.g. 1 country, 10 places, N ... now you can see size of db total, and by objects * make similar db using ObjectPtrs and import THE SAME records * may be make structure like it was with KEY-PTR In this way you and me can fast to find where problem is. Okay ? -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From sunshine at public.kherson.ua Mon May 1 13:56:20 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Mon May 1 05:56:26 2006 Subject: Table structure? In-Reply-To: <20060501093705.58FED7D812B@merc.astrocalc.net> Message-ID: On 5/1/06 12:43 PM, "Joakim Schramm" wrote: > Either I am doing something wrong if this increase is unnormal, as for > CountryHasPlace there are 279 RecId on One side creating links to 207391 > places on the Many side, I guess that will be equal to 207391 Binary links > between these 2 tables? And for Country-Zones this figure is 279 and 243126. Yes - 207,391 pairs will go into BinaryLink. I can say minimal size current will be 24, avg 36 bytes per pair. So in your case expected size of Binary Link should be 7.46 Mb. -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From sunshine at public.kherson.ua Mon May 1 14:07:16 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Mon May 1 06:07:21 2006 Subject: Table structure? In-Reply-To: <20060501093705.58FED7D812B@merc.astrocalc.net> Message-ID: On 5/1/06 12:43 PM, "Joakim Schramm" wrote: > Just to picture again how the data is used. User lookup up Place, either by > search or picking from a list. For search this can be limited to Country if > selected but if no country selected search is on all places. So the country > here is really just a critera to limit search or not. From list, Places the > country are always selected to set criteria for Places to display as > displaying 207 000 places in one list isn't useful. Apple products and other MAC now love to specify filter, User type one or few first letters and list in live mode become small > So the returned place is connected to a country and this country is then > used to lookup zones belonging to country. Each Place also have an zone > identifier to pair with which of the country's zone to use. From this zone a > value is looked up based on a date and time. The data and time data is from > user input. So you have path of search Place -> Country -> Zone ------------> When user choose ONE place he expect to get ONE record in result ? This is the target of your application? You see, deal is that BinaryLinks now implement the most general case. They allow do effective search in both directions. T1 -> T2 and T2 -> T1 This is one more possible optimization, that when you create a Blink you claim that you need only e.g. T1 -> T2 direction of search. Then Blink wil be exactly 2 times less. I very hope that in nearest few months we will implement all these optimizations. > Did you know by the way that Russia have 76 TimeZones? This is not of today > of course, but my data is not only for today but also historical AND in the > future. I still do not know what means TimeZone, and why so many. I know only about that earth have 24 hours zone. > Well too nice day today to sit in front of computer so will look at > restructure later, but I think I really need to restructure db but maybe > even then binary links is not right here. May be. Until we finish all optimizations, ObjectPtr can be more effective for 1:1 and 1:M types of links. Still not clear how you get such big grow of db. I have never see this before. -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From sunshine at public.kherson.ua Mon May 1 14:08:54 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Mon May 1 06:08:59 2006 Subject: Trimming the icudt30 file In-Reply-To: <866AA033-2A6D-407F-8B37-9D633F00694D@tiscalinet.it> Message-ID: On 5/1/06 11:42 AM, "Erne" wrote: > I've read some of this page and I admit I understand not much, > but seems to me that you can trim those data at compile time > by not including certain files in the build Yes I also have note this reading it again. > Can we mess with the binary data file in the VComponents folder? You mean replace one by another ? It looks yes -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From ernestogiannotta at tiscalinet.it Mon May 1 16:07:43 2006 From: ernestogiannotta at tiscalinet.it (Erne) Date: Mon May 1 09:07:47 2006 Subject: Trimming the icudt30 file In-Reply-To: References: Message-ID: On 1-mag-06, at 13:08, Ruslan Zasukhin wrote: > On 5/1/06 11:42 AM, "Erne" wrote: > >> I've read some of this page and I admit I understand not much, >> but seems to me that you can trim those data at compile time >> by not including certain files in the build > > Yes I also have note this reading it again. > >> Can we mess with the binary data file in the VComponents folder? > > You mean replace one by another ? > > It looks yes > no, I meant put the hands into the binary to remove unnecessary data but the answer of course should be not I have not the necessary knowledge though (and maybe nor the tools) to build one on my own maybe you could define some likely useful subsets such as: minimum data western data easteuropean data asian data arabic data and put them in the distribution so that we could pick those that most fit our needs, but I know somebody will always come up unsatisfied of the proposed combinations ;-) ideal would be some sort of utility with all the languages listed in a listbox with checkboxes and check the ones we want to build Cool Runnings, Erne. / |\ |\ | / ? |/ | \ | ? \ |\ | \| \ From fitzbew at nc.rr.com Mon May 1 10:54:32 2006 From: fitzbew at nc.rr.com (Russ Tyndall) Date: Mon May 1 09:54:37 2006 Subject: V4RB - UpdateRecord() Not Updating varBinary fields? Message-ID: V4RB 2.3b10, OS X.4.6, RB2006r2 I take a password and encrypt it into binary data. When I build a V4RB 2.x db, I add the encrypted password using code similar to this: Mycursor.varbinary("mypasswordfield").isnull = True MyCursor.Varbinary("mypasswordfield").value = strPassword IntReturncode = MyCursor.Addrecord() Db.flush() The above code works great; I can later retrieve and decrypt the password with no problem. But, later, if I encrypt a new password and try to change the password using: Mycursor.varbinary("mypasswordfield").isnull = True MyCursor.Varbinary("mypasswordfield").value = strNewChangedPassword MyCursor.Varbinary("mypasswordfield").UpdateRecord() Db.flush() The new password is not saved. It appears that UpdateRecord() does not update varBinary fields. If I *never* use AddRecord on the field, and try and initialize the field using UpdateRecord(), the field remains in Vstudio. I'll go ahead and put this in Mantis; please let me know if I am misunderstanding something. -- Russ Tyndall Wake Forest, NC From sunshine at public.kherson.ua Mon May 1 18:03:31 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Mon May 1 10:03:41 2006 Subject: [Note] DEMO license for VServer updated Message-ID: -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From sunshine at public.kherson.ua Mon May 1 18:22:31 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Mon May 1 10:22:35 2006 Subject: Trimming the icudt30 file In-Reply-To: Message-ID: On 5/1/06 5:07 PM, "Erne" wrote: >> You mean replace one by another ? >> >> It looks yes >> > > no, I meant put the hands into the binary to remove unnecessary data > but the answer of course should be not > > I have not the necessary knowledge though (and maybe nor the tools) > to build one on my own > > > maybe you could define some likely useful subsets such as: > minimum data > western data > easteuropean data > asian data > arabic data > > and put them in the distribution so that we could pick those that > most fit our needs, > but I know somebody will always come up unsatisfied of the proposed > combinations ;-) > > ideal would be some sort of utility with all the languages listed in > a listbox with checkboxes and check the ones we want to build Yes we need investigate this issue more deeply. Another dream - Valentina Light - all in one :-) no ICU no XML no pictures no dlls -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From sunshine at public.kherson.ua Mon May 1 18:24:24 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Mon May 1 10:24:29 2006 Subject: V4RB - UpdateRecord() Not Updating varBinary fields? In-Reply-To: Message-ID: On 5/1/06 5:54 PM, "Russ Tyndall" wrote: > V4RB 2.3b10, OS X.4.6, RB2006r2 > > I take a password and encrypt it into binary data. > > When I build a V4RB 2.x db, I add the encrypted password using code similar > to this: > > Mycursor.varbinary("mypasswordfield").isnull = True > MyCursor.Varbinary("mypasswordfield").value = strPassword > IntReturncode = MyCursor.Addrecord() > Db.flush() > > The above code works great; I can later retrieve and decrypt the password > with no problem. > > But, later, if I encrypt a new password and try to change the password > using: > > Mycursor.varbinary("mypasswordfield").isnull = True > MyCursor.Varbinary("mypasswordfield").value = strNewChangedPassword > MyCursor.Varbinary("mypasswordfield").UpdateRecord() > Db.flush() > > The new password is not saved. > > It appears that UpdateRecord() does not update varBinary fields. > > If I *never* use AddRecord on the field, and try and initialize the field > using UpdateRecord(), the field remains in Vstudio. > > I'll go ahead and put this in Mantis; please let me know if I am > misunderstanding something. Yes, Russ, please add it into Mantis. -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From fitzbew at nc.rr.com Mon May 1 11:26:56 2006 From: fitzbew at nc.rr.com (Russ Tyndall) Date: Mon May 1 10:27:01 2006 Subject: V4RB - UpdateRecord() Not Updating varBinary fields? In-Reply-To: Message-ID: On 5/1/06 11:24 AM, "Ruslan Zasukhin" wrote: > Yes, Russ, please add it into Mantis. This is Mantis 0001567. Russ From robert at formworkdesign.com Mon May 1 11:30:55 2006 From: robert at formworkdesign.com (Robert Nichols) Date: Mon May 1 10:31:01 2006 Subject: Mac demo license not working Message-ID: <054F95C4-A5F1-4181-93E4-4AE06FEDD8AA@formworkdesign.com> Can't tell what the problem is. The file appears to be new today. But vServer coughs up an error... -------------------------------------- Robert Nichols Formwork Design LLC robert@formworkdesign.com From sunshine at public.kherson.ua Mon May 1 18:38:11 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Mon May 1 10:38:16 2006 Subject: Mac demo license not working In-Reply-To: <054F95C4-A5F1-4181-93E4-4AE06FEDD8AA@formworkdesign.com> Message-ID: On 5/1/06 6:30 PM, "Robert Nichols" wrote: > Can't tell what the problem is. The file appears to be new today. But > vServer coughs up an error... About license ? Let me check -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From sunshine at public.kherson.ua Mon May 1 18:41:35 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Mon May 1 10:41:40 2006 Subject: Mac demo license not working In-Reply-To: <054F95C4-A5F1-4181-93E4-4AE06FEDD8AA@formworkdesign.com> Message-ID: On 5/1/06 6:30 PM, "Robert Nichols" wrote: Hi Robert, > Can't tell what the problem is. The file appears to be new today. But > vServer coughs up an error... Please try now -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From joakim at astrocalc.com Mon May 1 20:15:11 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Mon May 1 13:15:19 2006 Subject: Table structure? In-Reply-To: Message-ID: <20060501180844.DA2B17D82AE@merc.astrocalc.net> Ruslan, > > I managed to establish binary links between my tables, and for the > > links Country->Places DB size grow 4.6 MB, for Country->Zones > > 5.2 MB and for Places->Zones, which has to be M:M as there is many > > places in zones and there is many zone records for many places, > > So you have add records into binary links, and size of db grow. > This is normal right? > Size of DB grow when adding records yes, that's quite logical. > It seems you say that it have grow too much ? > But you compare to what ?? > To how it was before with my Primary and Foreign Keys. Before I setup links I added all data to db including fields for keys, primary and Foreign. This db is about 55MB. Adding Blinks, two table pairs with 1:M and one table pair M:M, removing old Primary and foregin keys and compacting db ends at 204MB. A point though, of the M:M I was only able to process about 2000 of about 207 000 "Owner" records before the demo limit time trow me out, so if all those was processed db will become enourmous in size. But it's quite possible I do this in wrong way! > Have you remove your OLD KEY-PTR fields ? > After remove of fields you may also need do COMPACT. > Yes. > Btw, Vstudio can show total size of a BLink in bytes. > Yes I see my first Blink is 4788K, second 5680K and third 145.54M (the not completed one) > > I just came to about > > 2000 places of 220 000 before the demo limit of 10 minutes > stoped it > > and then DB had increased with anouther 145 MB!? Removing > my old key > > fields and compact DB just removed about 5MB. > > Hmm, so you have add 2000 places into SOME binary links, right? > HOW MANY records was added? > I'm not sure what you mean by this, the records was added first then they have been traversed through and links set up. There is about 207 000 places and 243 000 zone records. > > I think Binary links is good, but maybe not for this > sceenario. Maybe > > better to split zone files into one for each country, and/or maybe > > better to use ObjectPtr? > > Currently ObjectPtr will win in case of 1:1 and 1:M, but > binary link 100% wins the MM third table. > > We need YET do (simple in fact) optimization, so binary links > of 1:1 and 1:M will be EXACTLY as ObjectPtr by size. > Ok. > > This is how the original data structure is in text files, which I > > read. 1 file for for country names, 1 file for places in > each Country > > (so there are many place files), and the same for TimeZone data, 1 > > file for each countrys zone data which can have 1 to 300+ > internal sets of date ranges. > > You see, you have described strange MM in your case, without > third table. > Yes this is what I think is wrong in structure, but the relation between the 2 tables are a bit odd. > I think the simplest case todo is next: > > * make db with binary links, > add some small amount of records, e.g. 1 country, 10 places, N ... > now you can see size of db total, and by objects > > * make similar db using ObjectPtrs and import THE SAME records > > * may be make structure like it was with KEY-PTR > > In this way you and me can fast to find where problem is. > > Okay ? > Yes I will have a look at it now, after reading your other emails. I have been out in the forest all day. Joakim > > -- > Best regards, > > Ruslan Zasukhin > VP Engineering and New Technology > Paradigma Software, Inc > > Valentina - Joining Worlds of Information http://www.paradigmasoft.com > > [I feel the need: the need for speed] > > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina > From joakim at astrocalc.com Mon May 1 20:17:30 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Mon May 1 13:17:39 2006 Subject: Table structure? In-Reply-To: Message-ID: <20060501181104.5E1A47D8336@merc.astrocalc.net> > -----Original Message----- > From: valentina-bounces@lists.macserve.net > [mailto:valentina-bounces@lists.macserve.net] On Behalf Of > Ruslan Zasukhin > Sent: 01 May 2006 12:56 > To: valentina@lists.macserve.net > Subject: Re: Table structure? > > On 5/1/06 12:43 PM, "Joakim Schramm" wrote: > > > Either I am doing something wrong if this increase is > unnormal, as for > > CountryHasPlace there are 279 RecId on One side creating links to > > 207391 places on the Many side, I guess that will be equal > to 207391 > > Binary links between these 2 tables? And for Country-Zones > this figure is 279 and 243126. > > Yes - 207,391 pairs will go into BinaryLink. > > I can say minimal size current will be 24, avg 36 bytes per pair. > > So in your case expected size of Binary Link should be 7.46 Mb. > But this is a bit strange as it's much more then if I simply keep my Primary key. Well I will look at it again. Joakim > > -- > Best regards, > > Ruslan Zasukhin > VP Engineering and New Technology > Paradigma Software, Inc > > Valentina - Joining Worlds of Information http://www.paradigmasoft.com > > [I feel the need: the need for speed] > > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina > From sunshine at public.kherson.ua Mon May 1 21:48:43 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Mon May 1 13:48:50 2006 Subject: Table structure? In-Reply-To: <20060501181104.5E1A47D8336@merc.astrocalc.net> Message-ID: On 5/1/06 9:17 PM, "Joakim Schramm" wrote: >> Yes - 207,391 pairs will go into BinaryLink. >> >> I can say minimal size current will be 24, avg 36 bytes per pair. >> >> So in your case expected size of Binary Link should be 7.46 Mb. > > But this is a bit strange as it's much more then if I simply keep my Primary > key. Well I will look at it again. No, for NORMAL case of third M:M table - NO. And than more know IF you will use STRINGS to be keys and PTRs. Again, in your old db you SOMEHOW did play *without* third table. So that was not real M:M relationship. Again, when we will add optimization - specify DIRECTION of link usage, then blink will be 2 times less, e.g. 3.2MB. in best case it will be possible compact it to 2.4Mb. ---------- Do you want calculate size in old case? If yes, please remind me WHAT Key filed was in ONE-left table And what PTR fields was in MANY table with 207,391 records -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From sunshine at public.kherson.ua Mon May 1 21:54:36 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Mon May 1 13:54:41 2006 Subject: Table structure? In-Reply-To: <20060501180844.DA2B17D82AE@merc.astrocalc.net> Message-ID: On 5/1/06 9:15 PM, "Joakim Schramm" wrote: >> It seems you say that it have grow too much ? >> But you compare to what ?? >> > To how it was before with my Primary and Foreign Keys. Before I setup links > I added all data to db including fields for keys, primary and Foreign. This > db is about 55MB. Adding Blinks, two table pairs with 1:M and one table pair > M:M, removing old Primary and foregin keys and compacting db ends at 204MB. > A point though, of the M:M I was only able to process about 2000 of about > 207 000 "Owner" records before the demo limit time trow me out, so if all > those was processed db will become enourmous in size. > > But it's quite possible I do this in wrong way! 200MB this is wrong size. Maximum what blink can eat - I have told - 7.4MB. But not 200. I think Kirill tomorrow can check your COM project. Please compress you 11MB text file. And give us your VB6 project which build db and import file. Okay ? If you have some FTP put that stuff there, if no, send it to my email. -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From sunshine at public.kherson.ua Mon May 1 21:55:43 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Mon May 1 13:55:48 2006 Subject: Table structure? In-Reply-To: <20060501180844.DA2B17D82AE@merc.astrocalc.net> Message-ID: On 5/1/06 9:15 PM, "Joakim Schramm" wrote: >> Btw, Vstudio can show total size of a BLink in bytes. >> > > Yes I see my first Blink is 4788K, second 5680K and third 145.54M (the not > completed one) Wow. And this is third link have only 200,000 pairs? MAY BE you have really some wrong code, which add MUCH MORE pairs than you think ???? -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From joakim at astrocalc.com Mon May 1 20:56:21 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Mon May 1 13:56:29 2006 Subject: Table structure? In-Reply-To: Message-ID: <20060501184954.C1C807D828A@merc.astrocalc.net> > -----Original Message----- > From: valentina-bounces@lists.macserve.net > [mailto:valentina-bounces@lists.macserve.net] On Behalf Of > Ruslan Zasukhin > Sent: 01 May 2006 13:07 > To: valentina@lists.macserve.net > Subject: Re: Table structure? > > On 5/1/06 12:43 PM, "Joakim Schramm" wrote: > > set criteria for Places to display as displaying 207 000 > places in one list isn't useful. > > Apple products and other MAC now love to specify filter, User > type one or few first letters and list in live mode become small > Yes but loading 207 000 records into a M$ ListBox will take too long time I think, but never mind this isn't really any problem. > > So the returned place is connected to a country and this country is > > then used to lookup zones belonging to country. Each Place > also have > > an zone identifier to pair with which of the country's zone to use. > > From this zone a value is looked up based on a date and > time. The data > > and time data is from user input. > > So you have path of search > > Place -> Country -> > Zone > ------------> > Not really, Country is never searched directly, Places are searched, and places belong to a Country and a TimeZone. However, a country can have more then one timezone. The timezone data as such is datetime records setting a point in time for change between normal and daylight saving time (summer time). This is not my data but data I have purchased, I got it delivered in a certain way in text files. It's my job then to make use of it in best possible way. But the relation between the data is pretty clear but it is as well kind of two foulded. So again, places is searched for and returned. From pointers in place data to country and to correct timezone table as value is looked up based on passed data which is to be compared with dates in table. The relation between Place and Zone really is M:1 but direction is always from the M side which makes it a bit akwards. But the 1 side (Zone) actually do consists of not one but many records. This is why I think my current structure is wrong at least for use with Binary (and possibly PrtObject) links. I have it implemented like this now though, using an other type of db which not is relational but simply process one table at a time and then go on to next. Nevermind, I will give this some more thinking and test. At this point my main objective was to learn something about how Valentina works and can be used. I prefare to do this with real data rather then dummy data. > When user choose ONE place he expect to get ONE record in result ? > This is the target of your application? > One (or more) record for a place is return, and user select which to use (if more then one). From identifyer of this data a second value is looked up (zone) which in sense is a lookup table. This is also why I think maybe it can be an idea to split this data up in many tables to simplify things. Originally it was like all places for each country was in it's own table/file and all zonedata for each country in it's own file, then it was easy BUT it didn't allow for searches across places in whole world easily. > You see, deal is that BinaryLinks now implement the most general case. > They allow do effective search in both directions. > > T1 -> T2 and T2 -> T1 > > This is one more possible optimization, that when you create > a Blink you claim that you need only e.g. T1 -> T2 direction > of search. Then Blink wil be exactly 2 times less. > This is exactly what I am after here, I only need to look in one direction. > I very hope that in nearest few months we will implement all > these optimizations. > Ok that's fine, I think I have some fresh ideas on this now as well. Yesterday my head was full of all new things with Valentina, now I have digested it a bit so more space for new things. > > Did you know by the way that Russia have 76 TimeZones? This > is not of > > today of course, but my data is not only for today but also > historical > > AND in the future. > > I still do not know what means TimeZone, and why so many. > I know only about that earth have 24 hours zone. > In teory yes, but not when used practically and over a spann of time. This data starts at end of 1800 and there has been many changes upto today. Nevermind, you don't need to know this :-) > > Well too nice day today to sit in front of computer so will look at > > restructure later, but I think I really need to restructure db but > > maybe even then binary links is not right here. > > May be. > > Until we finish all optimizations, ObjectPtr can be more > effective for 1:1 and 1:M types of links. > Yes will look at this. > Still not clear how you get such big grow of db. I have never > see this before. > Neirher me, but we will see, time will show... Joakim > > > -- > Best regards, > > Ruslan Zasukhin > VP Engineering and New Technology > Paradigma Software, Inc > > Valentina - Joining Worlds of Information http://www.paradigmasoft.com > > [I feel the need: the need for speed] > > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina > From joakim at astrocalc.com Mon May 1 21:01:51 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Mon May 1 14:02:00 2006 Subject: Table structure? In-Reply-To: Message-ID: <20060501185525.1DE357D828A@merc.astrocalc.net> > -----Original Message----- > From: valentina-bounces@lists.macserve.net > [mailto:valentina-bounces@lists.macserve.net] On Behalf Of > Ruslan Zasukhin > Sent: 01 May 2006 20:49 > To: valentina@lists.macserve.net > Subject: Re: Table structure? > > On 5/1/06 9:17 PM, "Joakim Schramm" wrote: > > >> Yes - 207,391 pairs will go into BinaryLink. > >> > >> I can say minimal size current will be 24, avg 36 bytes per pair. > >> > >> So in your case expected size of Binary Link should be 7.46 Mb. > > > > But this is a bit strange as it's much more then if I > simply keep my > > Primary key. Well I will look at it again. > > No, for NORMAL case of third M:M table - NO. > And than more know IF you will use STRINGS to be keys and PTRs. > All old keys are string[2 or 4] infact. > Again, in your old db you SOMEHOW did play *without* third table. > So that was not real M:M relationship. > No it's not a real M:M, actually it's a M:1 (not 1:M) as M side is used to return the 1 side belonging to it. Yes I know, this is strange things. But I maybe have forgot one link when putting it in relational. > > Again, when we will add optimization - specify DIRECTION of > link usage, > then blink will be 2 times less, e.g. 3.2MB. > in best case it will be possible compact it to 2.4Mb. > > ---------- > Do you want calculate size in old case? > > If yes, please remind me WHAT Key filed was in ONE-left table > And what PTR fields was in MANY table with 207,391 records > I will have a look at it again and see how it comes about. Joakim > > -- > Best regards, > > Ruslan Zasukhin > VP Engineering and New Technology > Paradigma Software, Inc > > Valentina - Joining Worlds of Information http://www.paradigmasoft.com > > [I feel the need: the need for speed] > > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina > From sunshine at public.kherson.ua Mon May 1 22:02:57 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Mon May 1 14:03:03 2006 Subject: Table structure? In-Reply-To: <20060501180844.DA2B17D82AE@merc.astrocalc.net> Message-ID: On 5/1/06 9:15 PM, "Joakim Schramm" wrote: > I'm not sure what you mean by this, the records was added first then they > have been traversed through and links set up. There is about 207 000 places > and 243 000 zone records. I mean: HOW MUCH times you do link.LinkRecords() for this third link? You can add counter into your loop to count this. > Yes I will have a look at it now, after reading your other emails. I have > been out in the forest all day. Actually you already have found that blow happens in THIRD link. -------- YOU HAVE Country (linkCountryHasPlace) Place N1 N2 N3 Can you give me numbers N1 = ? N2 = ? N3 = ? ------------------ Next, you have Places (linkPlaceHasZone) Zone N3 N4 N5 Can you give me numbers N4 = ? N5 = ? --------------------- Again, WE SAY that when you do for EMPTY Binary Link call LinkRecords(r1, r2) you add ONE record into link. You see? So how many records are in each table? How many records are in EACH link? You have 2 links? -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From joakim at astrocalc.com Mon May 1 21:04:33 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Mon May 1 14:04:41 2006 Subject: Table structure? In-Reply-To: Message-ID: <20060501185807.3CC1B7D828A@merc.astrocalc.net> > -----Original Message----- > From: valentina-bounces@lists.macserve.net > [mailto:valentina-bounces@lists.macserve.net] On Behalf Of > Ruslan Zasukhin > Sent: 01 May 2006 20:55 > To: valentina@lists.macserve.net > Subject: Re: Table structure? > > On 5/1/06 9:15 PM, "Joakim Schramm" wrote: > > >> It seems you say that it have grow too much ? > >> But you compare to what ?? > >> > > To how it was before with my Primary and Foreign Keys. > Before I setup > > links I added all data to db including fields for keys, primary and > > Foreign. This db is about 55MB. Adding Blinks, two table pairs with > > 1:M and one table pair M:M, removing old Primary and > foregin keys and compacting db ends at 204MB. > > A point though, of the M:M I was only able to process about 2000 of > > about > > 207 000 "Owner" records before the demo limit time trow me > out, so if > > all those was processed db will become enourmous in size. > > > > But it's quite possible I do this in wrong way! > > 200MB this is wrong size. > > Maximum what blink can eat - I have told - 7.4MB. > But not 200. > > I think Kirill tomorrow can check your COM project. > Please compress you 11MB text file. > And give us your VB6 project which build db and import file. > > Okay ? > > If you have some FTP put that stuff there, if no, send it to my email. > I will first have another go at it, so don't bother more now. You already have put so much time and effort on me - and I am not even your customer YET (but I am sure I will be). For me if I can figure it ou myself it's of great value to me. Joakim > > -- > Best regards, > > Ruslan Zasukhin > VP Engineering and New Technology > Paradigma Software, Inc > > Valentina - Joining Worlds of Information http://www.paradigmasoft.com > > [I feel the need: the need for speed] > > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina > From joakim at astrocalc.com Mon May 1 21:05:43 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Mon May 1 14:05:49 2006 Subject: Table structure? In-Reply-To: Message-ID: <20060501185917.0C0C77D828A@merc.astrocalc.net> > -----Original Message----- > From: valentina-bounces@lists.macserve.net > [mailto:valentina-bounces@lists.macserve.net] On Behalf Of > Ruslan Zasukhin > Sent: 01 May 2006 20:56 > To: valentina@lists.macserve.net > Subject: Re: Table structure? > > On 5/1/06 9:15 PM, "Joakim Schramm" wrote: > > >> Btw, Vstudio can show total size of a BLink in bytes. > >> > > > > Yes I see my first Blink is 4788K, second 5680K and third > 145.54M (the > > not completed one) > > Wow. > > And this is third link have only 200,000 pairs? > > MAY BE you have really some wrong code, > which add MUCH MORE pairs than you think ???? > > Yes I expect that's the case, I was sitting late with it yesterday - maybe too late. Joakim > -- > Best regards, > > Ruslan Zasukhin > VP Engineering and New Technology > Paradigma Software, Inc > > Valentina - Joining Worlds of Information http://www.paradigmasoft.com > > [I feel the need: the need for speed] > > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina > From sunshine at public.kherson.ua Mon May 1 22:14:08 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Mon May 1 14:14:13 2006 Subject: Table structure? -- PTR In-Reply-To: <20060501185525.1DE357D828A@merc.astrocalc.net> Message-ID: On 5/1/06 10:01 PM, "Joakim Schramm" wrote: >> No, for NORMAL case of third M:M table - NO. >> And than more know IF you will use STRINGS to be keys and PTRs. >> > All old keys are string[2 or 4] in fact. >> Again, in your old db you SOMEHOW did play *without* third table. >> So that was not real M:M relationship. >> > No it's not a real M:M, actually it's a M:1 (not 1:M) as M side is used to > return the 1 side belonging to it. Yes I know, this is strange things. But I > maybe have forgot one link when putting it in relational. Then this change things. * you have PTR field, but you have also only M : 1 direction of lookup!!! this means that you can do very rare case: DO NOT INDEX this PTR field. * I think in this case you can use ObjectPtr and set flag fIndexed OFF. interesting if we allow this :-) we was sure that nobody need non-indexed ObjectPtr. -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From joakim at astrocalc.com Mon May 1 21:28:41 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Mon May 1 14:29:00 2006 Subject: Table structure? In-Reply-To: Message-ID: <20060501192214.C00197D8340@merc.astrocalc.net> > -----Original Message----- > From: valentina-bounces@lists.macserve.net > [mailto:valentina-bounces@lists.macserve.net] On Behalf Of > Ruslan Zasukhin > Sent: 01 May 2006 21:03 > To: valentina@lists.macserve.net > Subject: Re: Table structure? > > On 5/1/06 9:15 PM, "Joakim Schramm" wrote: > > > I'm not sure what you mean by this, the records was added > first then > > they have been traversed through and links set up. There is > about 207 > > 000 places and 243 000 zone records. > > I mean: > > HOW MUCH times you do link.LinkRecords() for this third link? > > You can add counter into your loop to count this. > Ok I put counter for link.Linkrecords I have 278 Country 207391 Places and 243126 Zones, But last figure is not really right and I think this is the proble. 243126 is the total amount of data records each "zone" consists of from 2 upto 100 data records. So there is not really this amount of zones, it's much less. Any how I linked country has place and it resulted in exactly 207391 calls to LinkRecords, and I linked country has zone and also got 243126 so I think this is correct? I didn't do the third as it's wrong anyway. I do need to creat new structure and not link Country to Zonedata but country to Zone(identifier) and possibly need one more table. > > > Yes I will have a look at it now, after reading your other > emails. I > > have been out in the forest all day. > > Actually you already have found that blow happens in THIRD link. > > -------- > YOU HAVE > > Country (linkCountryHasPlace) Place > > N1 N2 N3 > I am not sure but think you mean below records for country and places and links, right? > Can you give me numbers > N1 = 278 > N2 = 207391 > N3 = 207391 The below doesn't matter as it has wrong structure anyhow. I need to refactor it. Joakim > > > ------------------ > Next, you have > > Places (linkPlaceHasZone) Zone > N3 N4 N5 > > Can you give me numbers > N4 = ? > N5 = ? > > > --------------------- > Again, > > WE SAY that when you do for EMPTY Binary Link call > LinkRecords(r1, r2) you add ONE record into link. You see? > > So how many records are in each table? > How many records are in EACH link? > > You have 2 links? > > > -- > Best regards, > > Ruslan Zasukhin > VP Engineering and New Technology > Paradigma Software, Inc > > Valentina - Joining Worlds of Information http://www.paradigmasoft.com > > [I feel the need: the need for speed] > > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina > From joakim at astrocalc.com Mon May 1 21:32:04 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Mon May 1 14:32:14 2006 Subject: Table structure? -- PTR In-Reply-To: Message-ID: <20060501192538.44D4D7D82A6@merc.astrocalc.net> Ok lets leave it for now, I agree this been too many mails and I am getting embaressed :-) I will work on it on my own and see what I can get from your advices. Joakim > -----Original Message----- > From: valentina-bounces@lists.macserve.net > [mailto:valentina-bounces@lists.macserve.net] On Behalf Of > Ruslan Zasukhin > Sent: 01 May 2006 21:14 > To: valentina@lists.macserve.net; > vdevelopers@paradigma.ukrcom.kherson.ua > Subject: Re: Table structure? -- PTR > > On 5/1/06 10:01 PM, "Joakim Schramm" wrote: > > >> No, for NORMAL case of third M:M table - NO. > >> And than more know IF you will use STRINGS to be keys and PTRs. > >> > > All old keys are string[2 or 4] in fact. > > >> Again, in your old db you SOMEHOW did play *without* third table. > >> So that was not real M:M relationship. > >> > > No it's not a real M:M, actually it's a M:1 (not 1:M) as M side is > > used to return the 1 side belonging to it. Yes I know, this > is strange > > things. But I maybe have forgot one link when putting it in > relational. > > Then this change things. > > * you have PTR field, but you have also only M : 1 direction > of lookup!!! > this means that you can do very rare case: DO NOT INDEX > this PTR field. > > > * I think in this case you can use ObjectPtr and set flag > fIndexed OFF. > interesting if we allow this :-) > we was sure that nobody need non-indexed ObjectPtr. > > > -- > Best regards, > > Ruslan Zasukhin > VP Engineering and New Technology > Paradigma Software, Inc > > Valentina - Joining Worlds of Information http://www.paradigmasoft.com > > [I feel the need: the need for speed] > > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina > From fitzbew at nc.rr.com Mon May 1 16:10:45 2006 From: fitzbew at nc.rr.com (Russ Tyndall) Date: Mon May 1 15:10:50 2006 Subject: [V4RB/VSTUD] - Odd query performance Message-ID: OS X.4.6, V4RB 2.3b10, but testing queries with Mac Vstudio 2.3.1 Here is interesting situation. Valentina returns this query very swiftly (.2 seconds!): select * [real query selects 36 fields by name, not using "*"] from mainrecords, locations, producttypes, geozones, statetable, producttypesforms, sourcetable where mainrecords.producttypes_no = producttypes.producttypes_no and mainrecords.Location_key = locations.location_key and locations.geozone_state = geozones.geozone_state and locations.state = statetable.state and mainrecords.form_id = producttypes.form_id and mainrecords.source_id = sourcetable.source_id and mainrecords.discounted = 'N' and ((mainrecords.Date_from_YYYY >= '1970' and mainrecords.Date_to_YYYY <= '1980') or (mainrecords.Date_to_YYYY >= '1970' and mainrecords.Date_from_YYYY <= '1980')) and mainrecords.producttypes_no = '000121' But, if I add one line (locations.state is indexed) to the end of the query: *** And locations.state = 'NC' *** Then, the same query takes 20 seconds to perform! Correctly returns only about 10-11 records. The query returns a variety of varchar, long, string fields. All the joins are based on fixed-length string fields. Most of join fields are indexed. The largest table listed in query is only 30k. The Date_from_YYYY and Date_To_YYYY probably should be integers or some other numerics, but even when I test with such changes, it makes no difference. Currently those fields are 4 character strings. I believe this identical query ran with normal Valentina speed in 1.x. Does anyone see any obvious problems, explaining why 2nd version of query is so slow? In old days, Valentina was sensitive to order of joins, but this is not true in 2.x, is it? Besides, I have experimented with order and it seems to make no difference. (Which makes me very happy!) Still, I believe something is going awry. (Ruslan, if you think this is some parser issue, or whatever, I could easily send you files to reproduce.) -- Russ Tyndall Wake Forest, NC From sunshine at public.kherson.ua Tue May 2 09:56:44 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue May 2 01:56:54 2006 Subject: [V4RB/VSTUD] - Odd query performance In-Reply-To: Message-ID: On 5/1/06 11:10 PM, "Russ Tyndall" wrote: Hi Russ, > OS X.4.6, V4RB 2.3b10, but testing queries with Mac Vstudio 2.3.1 > > Here is interesting situation. Valentina returns this query very swiftly > (.2 seconds!): > > select * [real query selects 36 fields by name, not using "*"] > from mainrecords, locations, producttypes, geozones, statetable, > producttypesforms, sourcetable > where mainrecords.producttypes_no = producttypes.producttypes_no > and mainrecords.Location_key = locations.location_key > and locations.geozone_state = geozones.geozone_state > and locations.state = statetable.state > and mainrecords.form_id = producttypes.form_id > and mainrecords.source_id = sourcetable.source_id > and mainrecords.discounted = 'N' > and ((mainrecords.Date_from_YYYY >= '1970' > and mainrecords.Date_to_YYYY <= '1980') or (mainrecords.Date_to_YYYY >= > '1970' > and mainrecords.Date_from_YYYY <= '1980')) > and mainrecords.producttypes_no = '000121' > > But, if I add one line (locations.state is indexed) to the end of the query: > > *** > And locations.state = 'NC' > *** > > Then, the same query takes 20 seconds to perform! Correctly returns only > about 10-11 records. > > The query returns a variety of varchar, long, string fields. > All the joins are based on fixed-length string fields. Most of join fields > are indexed. > > The largest table listed in query is only 30k. > > The Date_from_YYYY and Date_To_YYYY probably should be integers or some > other numerics, but even when I test with such changes, it makes no > difference. Currently those fields are 4 character strings. > > I believe this identical query ran with normal Valentina speed in 1.x. > > Does anyone see any obvious problems, explaining why 2nd version of query is > so slow? In old days, Valentina was sensitive to order of joins, but this > is not true in 2.x, is it? Yes we have fix this > Besides, I have experimented with order and it > seems to make no difference. (Which makes me very happy!) Still, I believe > something is going awry. > (Ruslan, if you think this is some parser issue, or whatever, I could easily > send you files to reproduce.) Yes, send me files. This issue again push us to think about log of time of EACH STEP during execution. Such feature can help to Valentina developers see where queries eat time and try optimize them ... -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From fitzbew at nc.rr.com Tue May 2 09:24:25 2006 From: fitzbew at nc.rr.com (Russ Tyndall) Date: Tue May 2 08:24:34 2006 Subject: [V4RB/VSTUD] - Odd query performance In-Reply-To: Message-ID: On 5/2/06 2:56 AM, "Ruslan Zasukhin" wrote: > On 5/1/06 11:10 PM, "Russ Tyndall" wrote: > > Hi Russ, > >> OS X.4.6, V4RB 2.3b10, but testing queries with Mac Vstudio 2.3.1 >> >> Here is interesting situation. Valentina returns this query very swiftly >> (.2 seconds!): >> >> select * [real query selects 36 fields by name, not using "*"] >> from mainrecords, locations, producttypes, geozones, statetable, >> producttypesforms, sourcetable >> where mainrecords.producttypes_no = producttypes.producttypes_no >> and mainrecords.Location_key = locations.location_key >> and locations.geozone_state = geozones.geozone_state >> and locations.state = statetable.state >> and mainrecords.form_id = producttypes.form_id >> and mainrecords.source_id = sourcetable.source_id >> and mainrecords.discounted = 'N' >> and ((mainrecords.Date_from_YYYY >= '1970' >> and mainrecords.Date_to_YYYY <= '1980') or (mainrecords.Date_to_YYYY >= >> '1970' >> and mainrecords.Date_from_YYYY <= '1980')) >> and mainrecords.producttypes_no = '000121' >> >> But, if I add one line (locations.state is indexed) to the end of the query: >> >> *** >> And locations.state = 'NC' >> *** >> >> Then, the same query takes 20 seconds to perform! Correctly returns only >> about 10-11 records. >> >> The query returns a variety of varchar, long, string fields. >> All the joins are based on fixed-length string fields. Most of join fields >> are indexed. >> >> The largest table listed in query is only 30k. >> >> The Date_from_YYYY and Date_To_YYYY probably should be integers or some >> other numerics, but even when I test with such changes, it makes no >> difference. Currently those fields are 4 character strings. >> >> I believe this identical query ran with normal Valentina speed in 1.x. >> >> Does anyone see any obvious problems, explaining why 2nd version of query is >> so slow? In old days, Valentina was sensitive to order of joins, but this >> is not true in 2.x, is it? > > Yes we have fix this > >> Besides, I have experimented with order and it >> seems to make no difference. (Which makes me very happy!) Still, I believe >> something is going awry. > >> (Ruslan, if you think this is some parser issue, or whatever, I could easily >> send you files to reproduce.) > > Yes, send me files. > Sent. This is mantis 0001575. > This issue again push us to think about log of time of EACH STEP during > execution. Such feature can help to Valentina developers see where queries > eat time and try optimize them ... My queries are a mess. Most of them I wrote years ago when I was just learning Jet, and could not even spell S-Q-L. :-) Then (thankfully!) I moved to V4RB 1.x --- but I had to rework queries again and large parts of application to deal with parser "order issues". Now, I am trying to migrate to 2.x, but am having to work "back out" of 1.x workarounds! But I am glad to do this. Also, I want to learn fully about ObjPtrs, Binary Links, etc. but the more research I do, the more it appears that the best thing to do is trash everything and start all over. But, I am still reading and trying to understand docs. And, I am getting satisfying speed just using "plain" features of Valentina. One thing at a time. Vstudio is making this entire process very much easier, for me at least. Russ From sunshine at public.kherson.ua Tue May 2 17:20:33 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue May 2 09:20:40 2006 Subject: [Theory] how to compare size of BitSet bs ArraySet. In-Reply-To: <20060502133227.6D41D80A65A@merc.astrocalc.net> Message-ID: On 5/2/06 4:38 PM, "Joakim Schramm" wrote: > To calculate if BitSet or ArraySet is best to use, Np is count of physical > records. Aha. > Joakim > >> -----Original Message----- >> From: Ruslan Zasukhin [mailto:sunshine@public.kherson.ua] >> Sent: 02 May 2006 15:27 >> To: Joakim Schramm >> Subject: Re: Table structure and Blinks - Success! >> >> On 5/2/06 4:18 PM, "Joakim Schramm" wrote: >> >>> Oh can you straith out this expression for me found in kernel doc >> >> You mean to explain it? >> >>> N = (Np / 8) / 4 = Np / 32 >>> >>> I just get = True when testing it, I am NOT a mathematican :-) >> >> Please remind me what this about ? * AraySet keep ULONGs = 4 byte = 32 bits * BitSet use one bit, but size always is equal to Number of Physical Records in table. If you have Np = 1024, then bitset is 1024 bits (1024 / 8) = 128 bytes. This is clear. Right? Now ArraySet................ 1 item = 4 bytes 2 items = 8 3 items = 12 WHEN size of arrayset will become = size of bitset? 128 bytes / 4 byte = 32 items. So while you have < 32 items, ArraySet wins. While you have from 33 to 1024 items BitSet start win. (1024 / 8) / 4 = 32 -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From sunshine at public.kherson.ua Tue May 2 17:21:49 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue May 2 09:21:56 2006 Subject: Table structure and Blinks - Success! In-Reply-To: <20060502133530.573143478C8@merc.astrocalc.net> Message-ID: On 5/2/06 4:41 PM, "Joakim Schramm" wrote: >>> .CreateObjectPtrField ptrZonePlaces, mTblZones, kCascade + >>> kRestrict >> ^^^^^^^^^^^^^^^^ >> >> 1) I'd recommend name it as "ZonePtr" >> > Yes it's maybe better. > >> 2) You create ObjectPtr on mTblZones. >> but this table is created later. >> This can be mistake. Better move table Zone forward >> > > You are right, actually hadn't test this yet, just figured out it must be > like that, but you are right zone table doesn' exists there... Well > Valentina would let me know about that when run. Hmm, may be this is good idea. -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From bwarlick at sunbelt-graphics.com Tue May 2 09:37:54 2006 From: bwarlick at sunbelt-graphics.com (Brandon ) Date: Tue May 2 09:38:09 2006 Subject: Maximum Connections Reached In-Reply-To: Message-ID: <001201c66df6$040e3460$9601a8c0@Brandon> Using vServer, V4RB, Windows Xp. After 5 connections, the 6th connection does not cause an error or anything. App just seems to hang. Is there any way to test for max connections before attempting to connect? Brandon From sunshine at public.kherson.ua Tue May 2 17:56:30 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue May 2 09:56:37 2006 Subject: Maximum Connections Reached In-Reply-To: <001201c66df6$040e3460$9601a8c0@Brandon> Message-ID: On 5/2/06 5:37 PM, "Brandon" wrote: > Using vServer, V4RB, Windows Xp. > > After 5 connections, the 6th connection does not cause an error or > anything. App just seems to hang. Is there any way to test for max > connections before attempting to connect? Should be error. Kirill, please add such test into V4RB TestProject. Let us know result. -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From rjb at robelko.com Tue May 2 17:17:00 2006 From: rjb at robelko.com (Robert Brenstein) Date: Tue May 2 11:42:42 2006 Subject: can't figure out sql query Message-ID: I am somehow dense today and can't figure out an SQL query :( table 'users' has each user identified by 'userid' table 'students' has references to 'users' in column 'studentid' table 'teachers' has references to 'users' in column 'teacherid' Yes, I am using the traditional keys. I am trying to find a count of users who are neither teachers nor students, that is to count records in 'users' that have no entries in tables 'students' and 'teachers', and I am drawing a blank. Note that 'students' and 'teachers' may have multiple entries for a given user since these tables establish M:M relations between 'users' and 'courses'. Robert From sunshine at public.kherson.ua Tue May 2 20:19:51 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue May 2 12:19:57 2006 Subject: [V4RB/VSTUD] - Odd query performance In-Reply-To: Message-ID: On 5/2/06 4:24 PM, "Russ Tyndall" wrote: Hi Russ, > Also, I want to learn fully about ObjPtrs, Binary Links, etc. but the more > research I do, the more it appears that the best thing to do is trash > everything and start all over. > But, I am still reading and trying to > understand docs. And, I am getting satisfying speed just using "plain" > features of Valentina. One thing at a time. Do you read WIKI? If no, please read WIKI !!! It have more info now than PDFs. http://www.valentina-db.com/dokuwiki/doku.php?id=paradigma:public:en:documen tation:vkernel:vlink:vlink > Vstudio is making this entire process very much easier, for me at least. -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From sunshine at public.kherson.ua Tue May 2 20:29:21 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue May 2 12:29:27 2006 Subject: can't figure out sql query In-Reply-To: Message-ID: On 5/2/06 6:17 PM, "Robert Brenstein" wrote: Hi Robert, > I am somehow dense today and can't figure out an SQL query :( > > table 'users' has each user identified by 'userid' > table 'students' has references to 'users' in column 'studentid' > table 'teachers' has references to 'users' in column 'teacherid' > > Yes, I am using the traditional keys. > I am trying to find a count of users who are neither teachers nor students, > that is to count records in 'users' that have no entries in tables 'students' > and 'teachers', and I am drawing a blank. > > Note that 'students' and 'teachers' may have multiple entries for a given user > since these tables establish M:M relations between 'users' and 'courses'. And this is using v1 ? Sounds like query with EXCEPT May be you can get it using WHERE RecID NOT IN (select A.RecID FROM T1, T2 WHERE T1.id = T2.ptr ) And RecID NOT IN (select A.RecID FROM T1, T3 WHERE T1.id = T3.ptr ) Not sure how effective this will be. -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From fitzbew at nc.rr.com Tue May 2 14:03:02 2006 From: fitzbew at nc.rr.com (Russ Tyndall) Date: Tue May 2 13:03:12 2006 Subject: [V4RB/VSTUD] - Odd query performance In-Reply-To: Message-ID: On 5/2/06 1:19 PM, "Ruslan Zasukhin" wrote: > On 5/2/06 4:24 PM, "Russ Tyndall" wrote: > > Hi Russ, > >> Also, I want to learn fully about ObjPtrs, Binary Links, etc. but the more >> research I do, the more it appears that the best thing to do is trash >> everything and start all over. > >> But, I am still reading and trying to >> understand docs. And, I am getting satisfying speed just using "plain" >> features of Valentina. One thing at a time. > > Do you read WIKI? If no, please read WIKI !!! > Yes! It just takes a while to absorb, while also considering how my own projects would benefit. The Wiki will be enormously helpful as I continue learning about these advanced Valentina features. > It have more info now than PDFs. > It's great information. I think we (Paradigma and users)) are all going to be very happy about this in the long run. I know that I have promised to send you feedback on the wiki, and I will keep that promise. > http://www.valentina-db.com/dokuwiki/doku.php?id=paradigma:public:en:documen > tation:vkernel:vlink:vlink > -- Russ Tyndall Wake Forest, NC From sunshine at public.kherson.ua Tue May 2 22:14:47 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue May 2 14:14:54 2006 Subject: Table structure and Blinks - Success! In-Reply-To: <20060502174831.C3B49711E6F@merc.astrocalc.net> Message-ID: On 5/2/06 8:54 PM, "Joakim Schramm" wrote: > Ok went easy to traverse and set objptr as well. Now I notice ObjectPtr > almost add no size at all and infact property in vstudio say size = 0 > > So Olinks are smaller then Blinks if want smaller db and you use same link > functions "Findlinked()" etc.? No. 1) ZERO - this is from point of view ObjectPtr as link. But ObjectPtr as Field + its INDEX of course do eat disk space. I think table-list should show you size. 2) in ideal Blink for 1:M will eat THE SAME size of ObjectPtr. currently not yet. Little bigger. -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From rjb at robelko.com Wed May 3 11:40:29 2006 From: rjb at robelko.com (Robert Brenstein) Date: Wed May 3 05:30:23 2006 Subject: can't figure out sql query In-Reply-To: References: Message-ID: >Sounds like query with EXCEPT > >May be you can get it using > >WHERE > RecID NOT IN > (select A.RecID FROM T1, T2 WHERE T1.id = T2.ptr ) >And > RecID NOT IN > (select A.RecID FROM T1, T3 WHERE T1.id = T3.ptr ) > >Not sure how effective this will be. > Thanks a bunch, Ruslan. It works. From joakim at astrocalc.com Wed May 3 21:06:10 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Wed May 3 14:06:24 2006 Subject: Date formats Message-ID: <20060503185940.8BB23711E6F@merc.astrocalc.net> Hi, Working with the DateTime field type I notices .Value and .GetString returns the data and time in different formats as for .Value = 31/10/2010 03:00:00 .GetString = 2010/10/31 03:00:00:000 This is probably as intended were one return the system set date format while the other return format set by EVDateFormat as .kYMD in this case. I am not an expert on this and I know dates can be tricky. However (and I don't know if this is specific to VB), according to a part of the VB documentation on "Writing International Code in Visual Basic" the prefered format to use in code is #month/day/year# as this is understood correctly in all locales. So I would like to raise the question if it wouldn't be better to use this format for the Value property, or possibly another property to cope with this? As I said, I don't know if this just apply to VB but I suspect it would be correctly interpretted in all COM languages at least. Regards, Joakim >From the VB documentation: Date In Visual Basic, never type dates as strings in your code. Entering dates in code in the format #month/day/year# ensures that the date will be interpreted correctly in any system locale. Because Visual Basic allows only English/U.S. as a programming locale, the date will be the same to a user wherever your application is run. For example, if a user enters 8/2/97 in an input dialog box, CDate ("8/2/97") returns the following results, based on the system locale: Operating system Output French/France 08/02/97 (= February 8, 1997) English/U.S. 8/2/97 (= August 2, 1997) Conversely, if you enter 8/2/97 in code, CDate (#8/2/97#) returns the results in the following table, based on the code locale: Operating system Output French/France 02/08/97 (= August 2, 1997) English/U.S. 8/2/97 (= August 2, 1997) From sunshine at public.kherson.ua Thu May 4 00:12:30 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed May 3 16:12:37 2006 Subject: Date formats In-Reply-To: <20060503185940.8BB23711E6F@merc.astrocalc.net> Message-ID: On 5/3/06 10:06 PM, "Joakim Schramm" wrote: > Hi, > > Working with the DateTime field type I notices .Value and .GetString returns > the data and time in different formats as for > > .Value = 31/10/2010 03:00:00 .Value I believe return just numeric values, it is VB do some formatting > .GetString = 2010/10/31 03:00:00:000 GetString execute conversion of numbers into string according to current value Vdatabase.DateTimeFormat property. > This is probably as intended were one return the system set date format > while the other return format set by EVDateFormat as .kYMD in this case. I > am not an expert on this and I know dates can be tricky. However (and I > don't know if this is specific to VB), according to a part of the VB > documentation on "Writing International Code in Visual Basic" the prefered > format to use in code is #month/day/year# as this is understood correctly in > all locales. So I would like to raise the question if it wouldn't be better > to use this format for the Value property, or possibly another property to > cope with this? As I said, I don't know if this just apply to VB but I > suspect it would be correctly interpretted in all COM languages at least. -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From joakim at astrocalc.com Thu May 4 16:41:52 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Thu May 4 09:41:56 2006 Subject: Table selection and returned items Message-ID: <20060504143520.882BE88CB6@merc.astrocalc.net> Hi, Is there anyway working with the API way to return a record or field value of it (except for RecID) WITHOUT changing the current selected record or do I have to do SQL to do so? Thanks, Joakim From sunshine at public.kherson.ua Thu May 4 21:36:36 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Thu May 4 13:36:43 2006 Subject: Table selection and returned items In-Reply-To: <20060504143520.882BE88CB6@merc.astrocalc.net> Message-ID: On 5/4/06 5:41 PM, "Joakim Schramm" wrote: > Hi, > > Is there anyway working with the API way to return a record or field value > of it (except for RecID) WITHOUT changing the current selected record or do No way. > I have to do SQL to do so? In fact SQL's cursor also change current record of underline table (if cursor do not have own tmp table) -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From joakim at astrocalc.com Thu May 4 23:15:12 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Thu May 4 16:15:16 2006 Subject: BitSet operations Message-ID: <20060504210840.0548977AAEB@merc.astrocalc.net> Ruslan, Can you give some example on how to use BitSet operations? There is nothing in the examples and I tried to browse the mailing list without finding anything... There is a small part about it in the kernel doc but unfortunately too sparse for me to really grasp how to use it - I am sure it's very easy for you who have constructed it :-) Basically what I want to do is this. I have a table were I like to find records that has some values in common. Lets say I have f1 and f2, and I have first done a FindLinked to get a sub set. I have 2 value e.g 30 and 12, so I want to find all records that have these value 30 in f1 and 12 in f2 - or a range in one of them if nil is returned, like 30 AND 11-13? I am sure this is very simple and I could quite easy do it in SQL BUT I like to learn working the API way with set's. If I have understand right "Interception" has to do with AND and Union with OR, just not clear on the rules in using the methods having more then 1 set. Also, I know what "Difference", but again how it works with Set's - And what is "SymmetricDifference"? Joakim From sunshine at public.kherson.ua Fri May 5 00:41:45 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Thu May 4 16:41:53 2006 Subject: BitSet operations In-Reply-To: <20060504210840.0548977AAEB@merc.astrocalc.net> Message-ID: On 5/5/06 12:15 AM, "Joakim Schramm" wrote: Hi Joakim, > Can you give some example on how to use BitSet operations? There is nothing > in the examples and I tried to browse the mailing list without finding > anything... There is a small part about it in the kernel doc but > unfortunately too sparse for me to really grasp how to use it - I am sure > it's very easy for you who have constructed it :-) > > Basically what I want to do is this. I have a table were I like to find > records that has some values in common. Lets say I have f1 and f2, and I > have first done a FindLinked to get a sub set. Already STOP. So we talk about SINLE table with fields f1 and f2 ? It seems about single table. Then FindLinked() is our of game here. > I have 2 value e.g 30 and 12, > so I want to find all records that have these value 30 in f1 and 12 in f2 - On SQL this looks simply: select * from T1 WHERE f1 = 30 AND f2 = 12 With Bitsets: res1 = f1.FindValue( 30 ) res2 = f2.FindValue( 12 ) res1.Intersect( res2 ) // AND of 2 sets. // res1 - now keep result > or a range in one of them if nil is returned, like 30 AND 11-13? SQL select * from T1 WHERE f1 = 30 AND f2 BETWEEN 11 AND 13 With Bitsets: res1 = f1.FindValue( 30 ) res2 = f2.FindRange( true, 11, 13, true ) // this is math: [11, 13] res1.Intersect( res2 ) // AND of 2 sets. // res1 - now keep result > I am sure this is very simple and I could quite easy do it in SQL BUT I like > to learn working the API way with set's. If I have understand right > "Interception" has to do with AND and Union with OR, just not clear on the > rules in using the methods having more then 1 set. > > Also, I know what "Difference", but again how it works with Set's - And what > is "SymmetricDifference"? -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From bwarlick at sunbelt-graphics.com Thu May 4 16:57:12 2006 From: bwarlick at sunbelt-graphics.com (Brandon ) Date: Thu May 4 16:57:18 2006 Subject: Record Locking In-Reply-To: Message-ID: <000001c66fc5$b332f720$9601a8c0@Brandon> We just tested a multi-user application. We ran (3) applications at the same time and accessed the same table. V4rb - Windows XP - vSERVER ------------------ CLIENT A Sql = "Select * from Test WHERE RecID=1" Cur = app.mdb.SQLSelect(Sql, EVCursorLocation.kServerSide, EVLockType.kReadWrite) No error - all is well! ------------------ CLIENT B Sql = "Select * from Test WHERE RecID=1" Cur = app.mdb.SQLSelect(Sql, EVCursorLocation.kServerSide, EVLockType.kReadWrite) Error occurs - record is locked - great! This is what we expected. ------------------ CLIENT C Sql = "DELETE FROM Test WHERE RecID=1" Res = app.mdb.SQLExecute(sql) No error? Record is deleted! We thought it was locked by Client A? ------------------ QUESTION: If record is currently locked by Client A, can another client still delete it? Thanks, Brandon From sunshine at public.kherson.ua Fri May 5 01:39:27 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Thu May 4 17:39:32 2006 Subject: Record Locking In-Reply-To: <000001c66fc5$b332f720$9601a8c0@Brandon> Message-ID: On 5/5/06 12:57 AM, "Brandon" wrote: Hi Brandon, > We just tested a multi-user application. We ran (3) applications at the > same time and accessed the same table. > > V4rb - Windows XP - vSERVER > ------------------ > CLIENT A > Sql = "Select * from Test WHERE RecID=1" > Cur = app.mdb.SQLSelect(Sql, EVCursorLocation.kServerSide, > EVLockType.kReadWrite) > No error - all is well! > ------------------ > CLIENT B > Sql = "Select * from Test WHERE RecID=1" > Cur = app.mdb.SQLSelect(Sql, EVCursorLocation.kServerSide, > EVLockType.kReadWrite) > Error occurs - record is locked - great! This is what we expected. > ------------------ > CLIENT C > Sql = "DELETE FROM Test WHERE RecID=1" > Res = app.mdb.SQLExecute(sql) > No error? Record is deleted! We thought it was locked by Client A? > ------------------ > > QUESTION: If record is currently locked by Client A, can another client > still delete it? Sounds like a bug. In fact this can be then reproduce even on local version... with cursors and SQL command. DELETE must try obtain WRITE lock on a record(s), then only delete it. -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From joakim at astrocalc.com Fri May 5 12:48:08 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Fri May 5 05:48:15 2006 Subject: BitSet operations In-Reply-To: Message-ID: <20060505104135.233267F990C@merc.astrocalc.net> > -----Original Message----- > From: valentina-bounces@lists.macserve.net > [mailto:valentina-bounces@lists.macserve.net] On Behalf Of > Ruslan Zasukhin > Sent: 04 May 2006 23:42 > To: valentina@lists.macserve.net > Subject: Re: BitSet operations > > On 5/5/06 12:15 AM, "Joakim Schramm" wrote: > > Hi Joakim, > > > Can you give some example on how to use BitSet operations? There is > > Already STOP. > > So we talk about SINLE table with fields f1 and f2 ? Yes. But you can do this with more then 1 table, right? > It seems about single table. Then FindLinked() is our of game here. > > > I have 2 value e.g 30 and 12, > > so I want to find all records that have these value 30 in > f1 and 12 in > > f2 - > > On SQL this looks simply: > > select * > from T1 > WHERE f1 = 30 AND f2 = 12 > > With Bitsets: > > res1 = f1.FindValue( 30 ) > res2 = f2.FindValue( 12 ) > > res1.Intersect( res2 ) // AND of 2 sets. > > // res1 - now keep result > > > or a range in one of them if nil is returned, like 30 AND 11-13? > > SQL > > select * > from T1 > WHERE f1 = 30 AND f2 BETWEEN 11 AND 13 > > With Bitsets: > > res1 = f1.FindValue( 30 ) > res2 = f2.FindRange( true, 11, 13, true ) // this is > math: [11, 13] > > res1.Intersect( res2 ) // AND of 2 sets. > > // res1 - now keep result > > The following code doesn't work, and I don't know why, it allways returns a NIL for the object to set. The Vset object passed to the function has over 5000 records and I know there is values in the range I look. But maybe you can see why? Public Function AddPlaceRec(uPlace As AtlDataUDT) As Boolean Dim NewId As Long, NewPtr As Long Dim lnk As VLink Dim Res As VSet Dim arr As VArraySet With uPlace If Len(Trim$(.TownName)) Then If .CountryID = 0 Then .CountryID = mCountryID End If Set lnk = mAtlasDB.Link(lnkCountryHasZones) Set arr = lnk.FindLinked(.CountryID, tCountry, tZones) Set Res = arr If Res.Count > 1 Then Set lnk = mAtlasDB.Link(lnkCountryHasPlaces) Set Res = lnk.FindLinked(.CountryID, tCountry, tPlaces) NewPtr = FindZoneDataID(.LatDeg, .LongDeg, .LatSign, .LongSign, Res)<---Function not working below Else NewPtr = arr.GetItemAt(1) End If tPlaces.SetBlank forAdd ...... End Function Private Function FindZoneDataID(ByVal Lat As Long, ByVal Lng As Long, ByVal SgnLat As Long, SgnLng As Long, oAllPlaces As VSet) As Long Dim diffM As Long, diffP As Long, Fact As Long, Pid As Long, ptr As Long Dim Itr As VSetIterator Dim oSet As Vset Dim oLatPlaces As VArraySet 'Try to use VBitSet gives arror on set below Dim oLngPlaces As VArraySet Set oLngPlaces = fLngDeg.FindValue(Lng, oAllPlaces)' always returns nil 'If no hit try close to values. If oLngPlaces Is Nothing Then diffM = Lng diffP = Lng Do diffP = diffP + 1 If diffP > 180 Then diffP = 180 Fact = Fact + 1 End If diffM = diffM - 1 If diffM < 0 Then diffM = 0 Fact = Fact + 1 End If Set oLngPlaces = fLngDeg.FindRangeAsArraySet(True, diffM, diffP, True, oAllPlaces) Loop While oLngPlaces Is Nothing End If Set oLatPlaces = fLatDeg.FindValue(Lat, oLngPlaces) ... End Function Joakim > > -- > Best regards, > > Ruslan Zasukhin > VP Engineering and New Technology > Paradigma Software, Inc > > Valentina - Joining Worlds of Information http://www.paradigmasoft.com > > [I feel the need: the need for speed] > > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina > From ivan_smahin at valentina-db.com Fri May 5 13:58:27 2006 From: ivan_smahin at valentina-db.com (Ivan Smahin) Date: Fri May 5 05:58:29 2006 Subject: BitSet operations In-Reply-To: <20060505104135.233267F990C@merc.astrocalc.net> References: <20060505104135.233267F990C@merc.astrocalc.net> Message-ID: <128986638.20060505135827@valentina-db.com> Hello Joakim, Friday, May 5, 2006, 1:48:08 PM, you wrote: > >> -----Original Message----- >> From: valentina-bounces@lists.macserve.net >> [mailto:valentina-bounces@lists.macserve.net] On Behalf Of >> Ruslan Zasukhin >> Sent: 04 May 2006 23:42 >> To: valentina@lists.macserve.net >> Subject: Re: BitSet operations >> >> On 5/5/06 12:15 AM, "Joakim Schramm" wrote: >> >> Hi Joakim, >> >> > Can you give some example on how to use BitSet operations? There is >> >> Already STOP. >> >> So we talk about SINLE table with fields f1 and f2 ? > Yes. But you can do this with more then 1 table, right? Practically - no. Assume you get some BitSet of records from table t1 and another Bitset from table t2. It is possible to intersect them, get difference and so on, but it has no sense. If you have deal with more then one table the best way is to use SQL. -- Best regards, Ivan mailto:ivan_smahin@valentina-db.com From ivan_smahin at valentina-db.com Fri May 5 14:36:48 2006 From: ivan_smahin at valentina-db.com (Ivan Smahin) Date: Fri May 5 06:36:47 2006 Subject: BitSet operations In-Reply-To: <20060505104135.233267F990C@merc.astrocalc.net> References: <20060505104135.233267F990C@merc.astrocalc.net> Message-ID: <1776182145.20060505143648@valentina-db.com> Hello Joakim, Friday, May 5, 2006, 1:48:08 PM, you wrote: > The following code doesn't work, and I don't know why, it allways returns a > NIL for the object to set. The Vset object passed to the function has over > 5000 records and I know there is values in the range I look. But maybe you > can see why? Set oLngPlaces = fLngDeg.FindValue(Lng, oAllPlaces)' always returns nil I do not see any mention about fLngDeg before. So I don't know which table this field belongs to. I think you understand that FindValue will be looking for records with fLngDeg==Lng in records' range defined as oAllPlaces. Ok, You get "passed set" from this call: Set Res = lnk.FindLinked(.CountryID, tCountry, tPlaces) Actually Res is ArraySet, but FindValue requires BitSet. So you could try something like this one: Set oLngPlaces = fLngDeg.FindValueAsArraySet(Lng, oAllPlaces) instead of: Set oLngPlaces = fLngDeg.FindValue(Lng, oAllPlaces)' always returns nil -- Best regards, Ivan mailto:ivan_smahin@valentina-db.com From sunshine at public.kherson.ua Fri May 5 15:15:52 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri May 5 07:15:58 2006 Subject: BitSet operations In-Reply-To: <20060505104135.233267F990C@merc.astrocalc.net> Message-ID: On 5/5/06 1:48 PM, "Joakim Schramm" wrote: >> So we talk about SINLE table with fields f1 and f2 ? > > Yes. But you can do this with more then 1 table, right? Joakim, May be it will be MUCH MORE easy for you use SQL ? Why you want to use BitSets? Work with Set require very good understanding of set math, And it require keep in brain each step and each result.. -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From sunshine at public.kherson.ua Fri May 5 15:37:13 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri May 5 07:37:18 2006 Subject: BitSet operations In-Reply-To: <20060505104135.233267F990C@merc.astrocalc.net> Message-ID: On 5/5/06 1:48 PM, "Joakim Schramm" wrote: What this function MUST TODO ?? You should have such comments ABOVE function Also it will be great if your code will have some comments I know YOU can read it, but IF you do wrong code then how I can guess what is your idea? You see? > Public Function AddPlaceRec(uPlace As AtlDataUDT) As Boolean > Dim NewId As Long, NewPtr As Long > Dim lnk As VLink > Dim Res As VSet > Dim arr As VArraySet > > With uPlace > > If Len(Trim$(.TownName)) Then > If .CountryID = 0 Then > .CountryID = mCountryID > End If > > Set lnk = mAtlasDB.Link(lnkCountryHasZones) > Set arr = lnk.FindLinked(.CountryID, tCountry, tZones) > Set Res = arr > > If Res.Count > 1 Then > Set lnk = mAtlasDB.Link(lnkCountryHasPlaces) > Set Res = lnk.FindLinked(.CountryID, tCountry, tPlaces) > NewPtr = FindZoneDataID(.LatDeg, .LongDeg, .LatSign, .LongSign, > Res)<---Function not working below > Else > NewPtr = arr.GetItemAt(1) > End If > > tPlaces.SetBlank forAdd ...... here stripped code to field fields and add records ? > End Function -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From bwarlick at sunbelt-graphics.com Fri May 5 10:08:50 2006 From: bwarlick at sunbelt-graphics.com (Brandon ) Date: Fri May 5 10:08:55 2006 Subject: Client Side versus Server Side Cursors In-Reply-To: Message-ID: <000001c67055$d126cd70$9601a8c0@Brandon> Our application displays a list of records from a table. The user can select one from the list and view it. Sometimes the list will have 10 records. Other times the list will have 50,000 records. The user cannot add, edit or delete any records. The server is located in a separate city so we are limited to the speed of a broadband internet connection. Should I use a client side cursor or a server side cursor when I run the sqlselect? Thank You, Brandon From sunshine at public.kherson.ua Fri May 5 18:40:14 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri May 5 10:40:25 2006 Subject: Client Side versus Server Side Cursors In-Reply-To: <000001c67055$d126cd70$9601a8c0@Brandon> Message-ID: On 5/5/06 6:08 PM, "Brandon" wrote: Hi Brandon, > Our application displays a list of records from a table. The user can > select one from the list and view it. Sometimes the list will have 10 > records. Other times the list will have 50,000 records. The user cannot > add, edit or delete any records. The server is located in a separate > city so we are limited to the speed of a broadband internet connection. > > Should I use a client side cursor or a server side cursor when I run the > sqlselect? Server side of course -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From bwarlick at sunbelt-graphics.com Fri May 5 11:47:41 2006 From: bwarlick at sunbelt-graphics.com (Brandon ) Date: Fri May 5 11:47:47 2006 Subject: Client Side versus Server Side Cursors In-Reply-To: Message-ID: <000001c67063$a086cd60$9601a8c0@Brandon> > Server side of course Ok. In a client/server application, when would a client side cursor be appropriate? Brandon From sunshine at public.kherson.ua Fri May 5 19:50:54 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri May 5 11:50:59 2006 Subject: Client Side versus Server Side Cursors In-Reply-To: <000001c67063$a086cd60$9601a8c0@Brandon> Message-ID: On 5/5/06 7:47 PM, "Brandon" wrote: >> Server side of course > > Ok. In a client/server application, when would a client side cursor be > appropriate? Only if you know that result is e.g. 5-10-20 records. Client cursor load result to RAM of client computer -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From maxprog at mac.com Fri May 5 22:07:40 2006 From: maxprog at mac.com (Stan Busk) Date: Fri May 5 15:07:51 2006 Subject: [V4RB] Snail speed Message-ID: <5597140E-0F8C-4757-9253-59F07197CB8E@mac.com> Hi, Just wonder why v2.3 is so slow comparing to v2.2. Queries that take between 1 and 3 seconds now take between 40 and 50 seconds, this is 16 times slower. I have rebuilt indexes of course but same problem appears in all my project and very simple queries. I am just asking here because I am sure that can't be possible, I am likely not aware of something that has changed (again). Any clue? I heard v2.3 includes optimizations. Stan From sunshine at public.kherson.ua Fri May 5 23:15:16 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri May 5 15:15:21 2006 Subject: [V4RB] Snail speed In-Reply-To: <5597140E-0F8C-4757-9253-59F07197CB8E@mac.com> Message-ID: On 5/5/06 11:07 PM, "Stan Busk" wrote: > Hi, > > Just wonder why v2.3 is so slow comparing to v2.2. Queries that take > between 1 and 3 seconds now take between 40 and 50 seconds, this is > 16 times slower. Not expect result! > I have rebuilt indexes of course but same problem > appears in all my project and very simple queries. > I am just asking here because I am sure that can't be possible, I am likely > not aware of something that has changed (again). Any clue? I heard v2.3 > includes optimizations. Right. What query for example? Guys for info of all. Right now I develop new feature for Valentina: EXAPLAIN of SQL query execution. It will produce very detailed and nice for read report on any SQL query. Also EACH step of query will be measured by time. This feature will give all us into hands tool to easy and fast determine Where some SQL query have breaks... I am on 40-50% of done now. -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From fitzbew at nc.rr.com Fri May 5 16:41:16 2006 From: fitzbew at nc.rr.com (Russ Tyndall) Date: Fri May 5 15:41:22 2006 Subject: [V4RB] Snail speed In-Reply-To: Message-ID: On 5/5/06 4:15 PM, "Ruslan Zasukhin" wrote: > On 5/5/06 11:07 PM, "Stan Busk" wrote: > >> Hi, >> >> Just wonder why v2.3 is so slow comparing to v2.2. Queries that take >> between 1 and 3 seconds now take between 40 and 50 seconds, this is >> 16 times slower. > > Not expect result! > >> I have rebuilt indexes of course but same problem >> appears in all my project and very simple queries. > >> I am just asking here because I am sure that can't be possible, I am likely >> not aware of something that has changed (again). Any clue? I heard v2.3 >> includes optimizations. > > Right. > > What query for example? > > > Guys for info of all. Right now I develop new feature for Valentina: > EXAPLAIN of SQL query execution. > > It will produce very detailed and nice for read report > on any SQL query. Also EACH step of query will be measured by time. > > This feature will give all us into hands tool to easy and fast determine > Where some SQL query have breaks... > > I am on 40-50% of done now. > Ruslan, Stan: "EXPLAIN" is going to be great. It does seem that there is something going on inside of 2.3 that makes some queries strangely slow. (See Mantis 0001575.) By the way, *sometimes* I have been able to restore Valentina to normal speed by changing some queries slightly. For example, this line causes one of my queries to be very slow (20+ secs): Where.... [I'm leaving out several statements] And State = 'NC' But if I replace that line with And State IN('NC') Normal valentina speed is restored (just tenths of a second). Such changes don't work in all cases, but sometimes. I'm sure Ruslan will figure out what is going on and fix this issue swiftly. Unfortunately, I haven't been able to figure out a way to restore some queries to normal valentina speed. Perhaps the EXPLAIN feature will help Ruslan and Co. find and fix such situations? -- Russ Tyndall Wake Forest, NC From sunshine at public.kherson.ua Fri May 5 23:49:05 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri May 5 15:49:09 2006 Subject: [V4RB] Snail speed In-Reply-To: Message-ID: On 5/5/06 11:41 PM, "Russ Tyndall" wrote: > > Ruslan, Stan: > > "EXPLAIN" is going to be great. Btw, this is how it looks now for query SELECT * FROM T1 WHERE f1 = 1 AND f2 > 4 ---------------------------------------------------------------------------- ------------------------- object = Predicate [AND] : USE INDEX = FALSE : TIME = 0 : ROWS = 2 ACTION = Proceed Indexed Operands : USE INDEX = FALSE : TIME = 0 : ROWS = 4 object = Field [f1] : ACTION = FindValue(1) : USE INDEX = TRUE : TIME = 0 : ROWS = 4 ACTION = Proceed Non-Indexed Operands : USE INDEX = FALSE : TIME = 0 : ROWS = 2 object = Field [f2] : ACTION = FindRange (4, +inf) : USE INDEX = FALSE : TIME = 0 : ROWS = 2 ---------------------------------------------------------------------------- ------------------------- -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From mjew at icnc.com Fri May 5 17:13:19 2006 From: mjew at icnc.com (Matthew Jew) Date: Fri May 5 19:13:29 2006 Subject: [ANN] Valentina for Cocoa 2.4 b1 uploaded Message-ID: Ruslan, I am trying to compile the simple example included with the Valentina for Cocoa 2.4b1 upload. I get the following error: /usr/bin/ld: warning can't open dynamic library: /Developer/SDKs/ MacOSX10.4u.sdk/usr/local/lib/vcomponents/VSDK.framework/Versions/A/ VSDK referenced from: /Library/Frameworks/V4CC.framework/V4CC (checking for undefined symbols may be affected) (No such file or directory, errno = 2) Am I really supposed to move a copy of the vcomponents into the / Developer/SDKs/MacOSX10.4u.sdk folder? Or am I supposed to do something else? - Matthew From Claudius at sailer-online.de Sat May 6 08:38:26 2006 From: Claudius at sailer-online.de (Claudius Sailer) Date: Sat May 6 01:38:29 2006 Subject: [V4RB] Snail speed In-Reply-To: References: Message-ID: Hi, Am 05.05.2006 um 22:41 schrieb Russ Tyndall: > Where.... [I'm leaving out several statements] > And State = 'NC' > > But if I replace that line with > > And State IN('NC') > > Normal valentina speed is restored (just tenths of a second). Such > changes > don't work in all cases, but sometimes. really.... IMHO the second statement should be much slower not vice versa!!! = is a much easier operator then IN!!! bye Claudius -- iMac CD 2GHz / MacOS X 10.4de / RB 2006r2/ Valentina 2.3 Homepage http://www.ClaSai.de iChat ryhoruk RealBasic ListBoxes: [ I feel the need...the need for speed!!! ] From sunshine at public.kherson.ua Sat May 6 13:35:01 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Sat May 6 05:35:16 2006 Subject: [ANN] Valentina Studio 2.3.2 uploaded. OS X 10.3 Supported! Message-ID: Hi All, This minor build fix * WIN - no help files. Mistake was in installer script * MAC - few glitches in the Create Field dialog and in strange failure to open db files. MAC USERS. Attention !!! Vstudio 2.3.1 and 2.3.2 is able to run on MAC OS X 10.3 !! -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From sunshine at public.kherson.ua Sat May 6 13:46:56 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Sat May 6 05:47:03 2006 Subject: [ANN] Valentina for Cocoa 2.4 b1 uploaded In-Reply-To: Message-ID: On 5/6/06 3:13 AM, "Matthew Jew" wrote: Hi Mathew, > I am trying to compile the simple example included with the Valentina > for Cocoa 2.4b1 upload. > > I get the following error: > > /usr/bin/ld: warning can't open dynamic library: /Developer/SDKs/ > MacOSX10.4u.sdk/usr/local/lib/vcomponents/VSDK.framework/Versions/A/ > VSDK referenced from: /Library/Frameworks/V4CC.framework/V4CC > (checking for undefined symbols may be affected) (No such file or > directory, errno = 2) > > Am I really supposed to move a copy of the vcomponents into the / > Developer/SDKs/MacOSX10.4u.sdk folder? > Or am I supposed to do something else? Do you work on MAC INTEL ? Justin have mention that currently on INTEL it needs make symbol link into that location -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From fitzbew at nc.rr.com Sat May 6 19:38:11 2006 From: fitzbew at nc.rr.com (Russ Tyndall) Date: Sat May 6 18:38:18 2006 Subject: [VSERVER/V4RB] - Vserver on X.4.6, V4RB 2.3 Client Connection Message-ID: Using V4RB 2.3b10 on a Win XP client and Vserver 2.3 (on Mac OS X.4.6): When connecting to a Vserver 2.3 served db on X.4.6 from an XP V4RB 2.3b10 client, does the V4RB app need to do anything special to account for Endianess or encoding, etc.? This is what I am experiencing, although I do not know the cause. I have an in-house app that's been used fairly heavily by two Mac OS X machines, and is working pretty good. Yesterday, I began to tweak the Win32 version of the client app. Unfortunately, whenever I open the db from Win32, the db becomes unusable by the OS X clients. When the OS X apps try to insert a record, all the string/varchar fields are not properly updated; numeric fields are updated properly. ThrowExceptions is set to True, but no exception occurs. It's just the fields are updated with "bad" data. A diagnose from Vstudio reports this problem: ***** ==========> Field: item_notes , type Text .RecID: 1440. Segment: 1441. already in use. ****** Interestingly, all the Win32 app does is open the DB from within a Vserver object, and update a "last login" type field that resides in a different table. If I replace the db with a backed up copy, I can then everything works great until I connect from Win32; then the problem starts again. Any suggestions? -- Russ Tyndall Wake Forest, NC From bwarlick at sunbelt-graphics.com Sat May 6 19:36:06 2006 From: bwarlick at sunbelt-graphics.com (Brandon ) Date: Sat May 6 19:36:16 2006 Subject: SQL Insert Blob In-Reply-To: Message-ID: <000401c6716e$3ad0edf0$9601a8c0@Brandon> How do you insert a BLOB field using sql? Brandon From mjew at icnc.com Sat May 6 20:33:51 2006 From: mjew at icnc.com (Matthew Jew) Date: Sat May 6 22:34:10 2006 Subject: [ANN] Valentina for Cocoa 2.4 b1 uploaded In-Reply-To: <20060506104712.9525B41D62A@edison.macserve.net> References: <20060506104712.9525B41D62A@edison.macserve.net> Message-ID: On May 6, 2006, at 3:47 AM, valentina-request@lists.macserve.net wrote: > Hi Mathew, > >> I am trying to compile the simple example included with the Valentina >> for Cocoa 2.4b1 upload. >> >> I get the following error: >> >> /usr/bin/ld: warning can't open dynamic library: /Developer/SDKs/ >> MacOSX10.4u.sdk/usr/local/lib/vcomponents/VSDK.framework/Versions/A/ >> VSDK referenced from: /Library/Frameworks/V4CC.framework/V4CC >> (checking for undefined symbols may be affected) (No such file or >> directory, errno = 2) >> >> Am I really supposed to move a copy of the vcomponents into the / >> Developer/SDKs/MacOSX10.4u.sdk folder? >> Or am I supposed to do something else? > > Do you work on MAC INTEL ? > > Justin have mention that currently on INTEL it needs make > symbol link into that location > > -- > Best regards, > > Ruslan Zasukhin Ruslan, Actually, I am working on PPC G5. I am using the latest version of 10.4.6 with all software updates applied. Must I also create a symbolic link in that location? - Matthew From sunshine at public.kherson.ua Sun May 7 10:14:59 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Sun May 7 02:15:10 2006 Subject: [ANN] Valentina for Cocoa 2.4 b1 uploaded In-Reply-To: Message-ID: On 5/7/06 6:33 AM, "Matthew Jew" wrote: >>> I am trying to compile the simple example included with the Valentina >>> for Cocoa 2.4b1 upload. >>> >>> I get the following error: >>> >>> /usr/bin/ld: warning can't open dynamic library: /Developer/SDKs/ >>> MacOSX10.4u.sdk/usr/local/lib/vcomponents/VSDK.framework/Versions/A/ >>> VSDK referenced from: /Library/Frameworks/V4CC.framework/V4CC >>> (checking for undefined symbols may be affected) (No such file or >>> directory, errno = 2) >>> >>> Am I really supposed to move a copy of the vcomponents into the / >>> Developer/SDKs/MacOSX10.4u.sdk folder? >>> Or am I supposed to do something else? >> >> Do you work on MAC INTEL ? >> >> Justin have mention that currently on INTEL it needs make >> symbol link into that location >> >> -- >> Best regards, >> >> Ruslan Zasukhin > > Ruslan, > > Actually, I am working on PPC G5. > > I am using the latest version of 10.4.6 with all software updates > applied. > > Must I also create a symbolic link in that location? No, it should work as is... Well try to make link there Please discuss this on BETA list. -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From sunshine at public.kherson.ua Sun May 7 10:16:44 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Sun May 7 02:16:51 2006 Subject: SQL Insert Blob In-Reply-To: <000401c6716e$3ad0edf0$9601a8c0@Brandon> Message-ID: On 5/7/06 3:36 AM, "Brandon" wrote: > How do you insert a BLOB field using sql? Using SQL Binding array arr(0) arr.add( blob ) db.SqlExecute( "INSERT INTO T(f1) VALUES(:1)", arr ) -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From sunshine at public.kherson.ua Sun May 7 11:05:32 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Sun May 7 03:05:39 2006 Subject: [VSERVER/V4RB] - Vserver on X.4.6, V4RB 2.3 Client Connection In-Reply-To: Message-ID: On 5/7/06 2:38 AM, "Russ Tyndall" wrote: > Using V4RB 2.3b10 on a Win XP client and Vserver 2.3 (on Mac OS X.4.6): > > When connecting to a Vserver 2.3 served db on X.4.6 from an XP V4RB 2.3b10 > client, does the V4RB app need to do anything special to account for > Endianess or encoding, etc.? NO -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From sunshine at public.kherson.ua Sun May 7 11:09:15 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Sun May 7 03:09:22 2006 Subject: [VSERVER/V4RB] - Vserver on X.4.6, V4RB 2.3 Client Connection In-Reply-To: Message-ID: On 5/7/06 2:38 AM, "Russ Tyndall" wrote: > This is what I am experiencing, although I do not know the cause. > > I have an in-house app that's been used fairly heavily by two Mac OS X > machines, and is working pretty good. > > Yesterday, I began to tweak the Win32 version of the client app. > > Unfortunately, whenever I open the db from Win32, the db becomes unusable by > the OS X clients. When the OS X apps try to insert a record, all the Do you mean by OPEN that AFTER WIN Client __connects__ to MAC Server, do some work disconnect Then future MAC Clients connections get problems? > string/varchar fields are not properly updated; numeric fields are updated > properly. ThrowExceptions is set to True, but no exception occurs. It's > just the fields are updated with "bad" data. > > A diagnose from Vstudio reports this problem: > > ***** > > ==========> Field: item_notes , type Text > .RecID: 1440. Segment: 1441. already in use. > > ****** > > Interestingly, all the Win32 app does is open the DB from within a Vserver > object, and update a "last login" type field that resides in a different > table. > If I replace the db with a backed up copy, I can then everything works great > until I connect from Win32; then the problem starts again. > > Any suggestions? -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From ernestogiannotta at tiscalinet.it Sun May 7 13:23:35 2006 From: ernestogiannotta at tiscalinet.it (Erne) Date: Sun May 7 06:23:43 2006 Subject: [V4RB] Clone method error Message-ID: Hello Ruslan, trying to execute the DB.Clone(newFile) method I get a VException with this message: Field name "_TMP_PTR_FIELD_VALENTINA249" is not unique. (using V4RB 2.3) Should I tell it to Mantis? Cool Runnings, Erne. / |\ |\ | / ? |/ | \ | ? \ |\ | \| \ From fitzbew at nc.rr.com Sun May 7 08:02:51 2006 From: fitzbew at nc.rr.com (Russ Tyndall) Date: Sun May 7 07:02:59 2006 Subject: [VSERVER/V4RB] - Vserver on X.4.6, V4RB 2.3 Client Connection In-Reply-To: Message-ID: On 5/7/06 4:05 AM, "Ruslan Zasukhin" wrote: > On 5/7/06 2:38 AM, "Russ Tyndall" wrote: > >> Using V4RB 2.3b10 on a Win XP client and Vserver 2.3 (on Mac OS X.4.6): >> >> When connecting to a Vserver 2.3 served db on X.4.6 from an XP V4RB 2.3b10 >> client, does the V4RB app need to do anything special to account for >> Endianess or encoding, etc.? > > NO I thought not, just wanted to make sure. -- Russ Tyndall Wake Forest, NC From fitzbew at nc.rr.com Sun May 7 08:14:32 2006 From: fitzbew at nc.rr.com (Russ Tyndall) Date: Sun May 7 07:14:38 2006 Subject: [VSERVER/V4RB] - Vserver on X.4.6, V4RB 2.3 Client Connection In-Reply-To: Message-ID: On 5/7/06 4:09 AM, "Ruslan Zasukhin" wrote: > On 5/7/06 2:38 AM, "Russ Tyndall" wrote: > >> This is what I am experiencing, although I do not know the cause. >> >> I have an in-house app that's been used fairly heavily by two Mac OS X >> machines, and is working pretty good. >> >> Yesterday, I began to tweak the Win32 version of the client app. >> >> Unfortunately, whenever I open the db from Win32, the db becomes unusable by >> the OS X clients. When the OS X apps try to insert a record, all the > > Do you mean by OPEN that AFTER WIN Client __connects__ to MAC Server, > do some work > disconnect > > Then future MAC Clients connections get problems? > Yes. But the only "work" being done by the Win32 app is connecting and opening the db and updating a single field in a User table that stores login date/time. After that, the Win32 app only creates a few ReadOnly vcursors and later closes the connection. Afterwards, when a Mac OS X (same RB 2006 app, just compiled for different target) machine tried to insert a record, bad data is inserted into the string and varchar fields. Numeric data is stored properly. The Vstudio diagnosis displays the problem described in the earlier excerpt (included below). >> string/varchar fields are not properly updated; numeric fields are updated >> properly. ThrowExceptions is set to True, but no exception occurs. It's >> just the fields are updated with "bad" data. >> >> A diagnose from Vstudio reports this problem: >> >> ***** >> >> ==========> Field: item_notes , type Text >> .RecID: 1440. Segment: 1441. already in use. >> >> ****** -- Russ Tyndall Wake Forest, NC From fitzbew at nc.rr.com Sun May 7 13:49:57 2006 From: fitzbew at nc.rr.com (Russ Tyndall) Date: Sun May 7 12:50:08 2006 Subject: [VSERVER/V4RB] - Vserver on X.4.6, V4RB 2.3 Client Connection In-Reply-To: Message-ID: On 5/7/06 8:14 AM, "Russ Tyndall" wrote: > On 5/7/06 4:09 AM, "Ruslan Zasukhin" wrote: > >> On 5/7/06 2:38 AM, "Russ Tyndall" wrote: >> >>> This is what I am experiencing, although I do not know the cause. >>> >>> I have an in-house app that's been used fairly heavily by two Mac OS X >>> machines, and is working pretty good. >>> >>> Yesterday, I began to tweak the Win32 version of the client app. >>> >>> Unfortunately, whenever I open the db from Win32, the db becomes unusable by >>> the OS X clients. When the OS X apps try to insert a record, all the >> >> Do you mean by OPEN that AFTER WIN Client __connects__ to MAC Server, >> do some work >> disconnect >> >> Then future MAC Clients connections get problems? >> > > Yes. But the only "work" being done by the Win32 app is connecting and > opening the db and updating a single field in a User table that stores login > date/time. After that, the Win32 app only creates a few ReadOnly vcursors > and later closes the connection. > > Afterwards, when a Mac OS X (same RB 2006 app, just compiled for different > target) machine tried to insert a record, bad data is inserted into the > string and varchar fields. Numeric data is stored properly. > > The Vstudio diagnosis displays the problem described in the earlier excerpt > (included below). > >>> string/varchar fields are not properly updated; numeric fields are updated >>> properly. ThrowExceptions is set to True, but no exception occurs. It's >>> just the fields are updated with "bad" data. >>> >>> A diagnose from Vstudio reports this problem: >>> >>> ***** >>> >>> ==========> Field: item_notes , type Text >>> .RecID: 1440. Segment: 1441. already in use. >>> >>> ****** > Interesting addendum: When I compile the app as a stand-alone, and just move it over to the Win32 machine, it throws a vexception of "table does not exist". Then when I remote debug the same project to the same Win32 machine, I get the behavior that I described earlier (subsequent attempts by OS X clients to add records generate messed up records). I'd like to also clarify that problems are found in the DB by Diagnose after the Win32 client opens and closes it, and *before* any OS X clients touch it. 2.3b10 is also installed on the Win32 machine, I assume. The latest modification date in the vcomponents file is April 9. The RB IDE has the V4RB carbon plugin installed. -- Russ Tyndall Wake Forest, NC From cbpelto at pcisys.net Mon May 8 02:33:36 2006 From: cbpelto at pcisys.net (Chuck Pelto) Date: Mon May 8 03:33:43 2006 Subject: Suggestions for Function Names & Documentation Message-ID: <0CB0E177-BD4E-46AB-9B6D-16E2C68BCE13@pcisys.net> Morning Ruslan, Not sure why you decided to replace GoToRecID() with RecordExists(). They don't mean the same thing in English. The former is titled to indicate using it will take the user directly to the record he wants to get to. The latter just means that the record is in there, somewhere. The latter does not indicate you are being taken to the record. It's confusing. And, as always, I counsel against confusion in programming languages/environments. It's enough trouble just keeping the code going instead of heaping transliterations and other obfuscations into the heap. Also, since you DID decide to make this misnomer, may I suggest that wherever you do such that you put better notes in the documentation to indicate that there have been significant changes? I spent a bit of time discovering you'd eliminated the GoToRecID() call, by way of an obscure note buried in the text of the section, while trying to update a project started early last year, before the change. It would also help to indicate deleted/superceded calls in the heading of each area, e.g., in VTable, something that reads like.... Navigation Methods FirstRecord() as Boolean LastRecord() as Boolean PrevRecord() as Boolean NextRecord() as Boolean RecordExists(inRecID as Integer) as Boolean // replaces GoToRecID() GoToRecID() // OBSOLETE, use RecordExists() Regards, Chuck Pelto From sunshine at public.kherson.ua Mon May 8 11:48:45 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Mon May 8 03:48:52 2006 Subject: Suggestions for Function Names & Documentation In-Reply-To: <0CB0E177-BD4E-46AB-9B6D-16E2C68BCE13@pcisys.net> Message-ID: On 5/8/06 11:33 AM, "Chuck Pelto" wrote: Hi Chuck, > Morning Ruslan, > > Not sure why you decided to replace GoToRecID() with RecordExists(). Actually Table.Goto() now is property Table.RecID = xx > They don't mean the same thing in English. The former is titled to > indicate using it will take the user directly to the record he wants > to get to. The latter just means that the record is in there, > somewhere. The latter does not indicate you are being taken to the > record. It's confusing. And, as always, I counsel against confusion > in programming languages/environments. It's enough trouble just > keeping the code going instead of heaping transliterations and other > obfuscations into the heap. --------------------- > Also, since you DID decide to make this misnomer, may I suggest that > wherever you do such that you put better notes in the documentation > to indicate that there have been significant changes? I think THIS change is mentioned in the How to convert 1.x to 2.x > I spent a bit of time discovering you'd eliminated the GoToRecID() call, by > way of an obscure note buried in the text of the section, while trying to > update a project started early last year, before the change. > > It would also help to indicate deleted/superceded calls in the > heading of each area, e.g., in VTable, something that reads like.... > > Navigation Methods > FirstRecord() as Boolean > LastRecord() as Boolean > PrevRecord() as Boolean > NextRecord() as Boolean > RecordExists(inRecID as Integer) as Boolean // replaces GoToRecID() > GoToRecID() // OBSOLETE, use RecordExists() -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From sunshine at public.kherson.ua Mon May 8 11:56:50 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Mon May 8 03:56:59 2006 Subject: [V4RB] Clone method error In-Reply-To: Message-ID: On 5/7/06 2:23 PM, "Erne" wrote: Hi Erne, > trying to execute the DB.Clone(newFile) method I get a VException > with this message: > > Field name "_TMP_PTR_FIELD_VALENTINA249" is not unique. > > (using V4RB 2.3) > > Should I tell it to Mantis? Yes and include db compressed. It seems in your case even .vdb enough. -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From cbpelto at pcisys.net Mon May 8 02:56:52 2006 From: cbpelto at pcisys.net (Chuck Pelto) Date: Mon May 8 03:57:03 2006 Subject: Suggestions for Function Names & Documentation In-Reply-To: References: Message-ID: <0E1D62EE-FB4A-4989-B555-A0D380BC90D9@pcisys.net> On May 8, 2006, at 2:48 AM, Ruslan Zasukhin wrote: > --------------------- >> Also, since you DID decide to make this misnomer, may I suggest that >> wherever you do such that you put better notes in the documentation >> to indicate that there have been significant changes? > > I think THIS change is mentioned in the > How to convert 1.x to 2.x Yes. I found it in THERE. I'm suggesting that it should ALSO be annotated/mentioned in the VTABLE section. Regards, Chuck Pelto From cbpelto at pcisys.net Mon May 8 03:38:14 2006 From: cbpelto at pcisys.net (Chuck Pelto) Date: Mon May 8 04:38:21 2006 Subject: Binary Link Many-to-Many Owner Message-ID: <586D77FC-8235-45AD-A1D2-8CE84C7D4A72@pcisys.net> Hi Again, Ruslan, In the creation of a binary link in a 1:1 or M:M situation, how does one declare which is the owner? I'm not seeing that specified in the documentation.... Parameter: Description: inName The name of the link. inLeftTable Pointer to the Left Table. inRightTable Pointer to the Right Table. inLeftPower Link type for the Left Table. inRightPower Link type for the Right Table. inOnDelete The behavior on deletion of record-owner. inStorageType Storage type of the link. inTemporary TRUE if the link is temp?rary. The behavior of the link on deletion of a record in the Table-Owner. - In the case of a 1 : M link, the ONE table is the owner table - In the other cases (1:1 and M:M) the developer can assign which table is to be the owner ...(see page 43 of V4RB Reference 2). Is it assumed to be the Left Table? The Right Table? Or is there another parameter or call that needs to be made? Regards, Chuck Pelto From sunshine at public.kherson.ua Mon May 8 13:55:27 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Mon May 8 05:55:34 2006 Subject: Binary Link Many-to-Many Owner In-Reply-To: <586D77FC-8235-45AD-A1D2-8CE84C7D4A72@pcisys.net> Message-ID: On 5/8/06 12:38 PM, "Chuck Pelto" wrote: Hi Chuck, > In the creation of a binary link in a 1:1 or M:M situation, how does > one declare which is the owner? First of all: YOU SURE your task require this ? Frankly saying I was not able find and real-life example for this case. > I'm not seeing that specified in the documentation.... > > Parameter: Description: > inName The name of the link. > inLeftTable Pointer to the Left Table. > inRightTable Pointer to the Right Table. > inLeftPower Link type for the Left Table. > inRightPower Link type for the Right Table. > inOnDelete The behavior on deletion of record-owner. > inStorageType Storage type of the link. > inTemporary TRUE if the link is temp?rary. > The behavior of the link on deletion of a record in the Table-Owner. > - In the case of a 1 : M link, the ONE table is the owner table > - In the other cases (1:1 and M:M) the developer can assign which > table is to be the owner > > ...(see page 43 of V4RB Reference 2). right > Is it assumed to be the Left Table? The Right Table? Or is there > another parameter or call that needs to be made? Exists "VLink.Owner as Vtable" property -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From sunshine at public.kherson.ua Mon May 8 14:56:54 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Mon May 8 06:57:01 2006 Subject: STATUS of EXPLAIN Development Message-ID: Hi All, Just want to inform how far I was able go with EXPLAIN Now it looks like this. Something wrong yet with JOIN info... ---------------------------------------------- FOR SQL QUERY [] TIME = 1776 : DO SELECT : TIME = 1776 : ROWS = 9 DO SIMPLE SELECT : TIME = 1776 : ROWS = 9 DO Single Table Without GROUP BY : TIME = 1776 : ROWS = 9 DO Build JoinTable : TIME = 1776 : ROWS = 9 DO For each Table from 7 resolve its WHERE conditions : TIME = 1 : FOR Table [birdrecords] DO SelectAllRecords : TIME = 0 : ROWS = 32268 FOR Table [locations] DO SelectAllRecords : TIME = 0 : ROWS = 1263 FOR Table [species] DO SelectAllRecords : TIME = 0 : ROWS = 1011 FOR Table [geozones] DO SelectAllRecords : TIME = 0 : ROWS = 8 FOR Table [statetable] DO resolve WHERE statement : TIME = 1 : ROWS = 1 FOR Field [state] DO FindValue(NC) : TIME = 1 : ROWS = 1 FOR Table [speciesforms] DO SelectAllRecords : TIME = 0 : ROWS = 37 FOR Table [sourcetable] DO SelectAllRecords : TIME = 0 : ROWS = 9 DO JOIN of 2 Tables : TIME = 402 : ROWS = 24112 -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From cbpelto at pcisys.net Mon May 8 09:49:53 2006 From: cbpelto at pcisys.net (Chuck Pelto) Date: Mon May 8 10:50:06 2006 Subject: Accessing Data in VLinked Records Message-ID: <23CC110C-7CCA-457A-A606-4B78C497A796@pcisys.net> I'm just a neophyte around here. Especially with this VLink/Binary- Link business. So, I feel like I'm floundering about here. My current question about this technique, in the API-way, is... How do I get to related records via a Binary-Link record? What sort of call is necessary to get the recID for a particular record from a Binary-Link? I imagine that one would already know the name of the file you're interested in and from there it would just be a matter of goto the recID in the table and get the data or set it. I'm just having trouble figuring out how to get the recID out, as I cannot see a call to accomplish that. Regards, Chuck Pelto From fitzbew at nc.rr.com Mon May 8 12:46:17 2006 From: fitzbew at nc.rr.com (Russ Tyndall) Date: Mon May 8 11:46:23 2006 Subject: [VSERVER/V4RB] - Vserver on X.4.6, V4RB 2.3 Client Connection In-Reply-To: Message-ID: On 5/7/06 1:49 PM, "Russ Tyndall" wrote: > On 5/7/06 8:14 AM, "Russ Tyndall" wrote: > >> On 5/7/06 4:09 AM, "Ruslan Zasukhin" wrote: >> >>> On 5/7/06 2:38 AM, "Russ Tyndall" wrote: >>> >>>> This is what I am experiencing, although I do not know the cause. >>>> >>>> I have an in-house app that's been used fairly heavily by two Mac OS X >>>> machines, and is working pretty good. >>>> >>>> Yesterday, I began to tweak the Win32 version of the client app. >>>> >>>> Unfortunately, whenever I open the db from Win32, the db becomes unusable >>>> by >>>> the OS X clients. When the OS X apps try to insert a record, all the >>> >>> Do you mean by OPEN that AFTER WIN Client __connects__ to MAC Server, >>> do some work >>> disconnect >>> >>> Then future MAC Clients connections get problems? >>> >> >> Yes. But the only "work" being done by the Win32 app is connecting and >> opening the db and updating a single field in a User table that stores login >> date/time. After that, the Win32 app only creates a few ReadOnly vcursors >> and later closes the connection. >> >> Afterwards, when a Mac OS X (same RB 2006 app, just compiled for different >> target) machine tried to insert a record, bad data is inserted into the >> string and varchar fields. Numeric data is stored properly. >> >> The Vstudio diagnosis displays the problem described in the earlier excerpt >> (included below). >> >>>> string/varchar fields are not properly updated; numeric fields are updated >>>> properly. ThrowExceptions is set to True, but no exception occurs. It's >>>> just the fields are updated with "bad" data. >>>> >>>> A diagnose from Vstudio reports this problem: >>>> >>>> ***** >>>> >>>> ==========> Field: item_notes , type Text >>>> .RecID: 1440. Segment: 1441. already in use. >>>> >>>> ****** >> > > Interesting addendum: When I compile the app as a stand-alone, and just move > it over to the Win32 machine, it throws a vexception of "table does not > exist". Then when I remote debug the same project to the same Win32 > machine, I get the behavior that I described earlier (subsequent attempts by > OS X clients to add records generate messed up records). > > I'd like to also clarify that problems are found in the DB by Diagnose after > the Win32 client opens and closes it, and *before* any OS X clients touch > it. > > 2.3b10 is also installed on the Win32 machine, I assume. The latest > modification date in the vcomponents file is April 9. > > The RB IDE has the V4RB carbon plugin installed. Working just within the RB Debugger and Vstudio: If I export just the structure of the db, and import it into a new db (mode 4, but the original db is mode 1) AND change a Text field in a table to VarChar, I can get cross-platform to work a *few* times, but eventually the Mac OS X client begins inserting what looks like gibberish (or some encoding I do not recognize). Before I spend more hours trying to narrow this down, may I ask: Is anyone using Vserver 2.3 on X.4.6 with RB 2006 clients from XP successfully? Updating tables with a mixture of varchar and text fields? I guess it would give me peace of mind to know that this *can* work, and that I am suffering from some local issue. The OS X RB clients (virtually the same app) continue to happily work with Vserver, no problems whatsoever (well, nothing like this Win32 show-stopper). -- Russ Tyndall Wake Forest, NC From sunshine at public.kherson.ua Mon May 8 19:55:53 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Mon May 8 11:55:59 2006 Subject: Accessing Data in VLinked Records In-Reply-To: <23CC110C-7CCA-457A-A606-4B78C497A796@pcisys.net> Message-ID: On 5/8/06 6:49 PM, "Chuck Pelto" wrote: Hi Cguck, > My current question about this technique, in the API-way, is... > > How do I get to related records via a Binary-Link record? What sort > of call is necessary to get the recID for a particular record from a > Binary-Link? dim LinkedRight as VBitSet linkedRight = vlink.FindLinked( RecID_Left, T1, T2 ) > I imagine that one would already know the name of the file you're > interested in and from there it would just be a matter of goto the > recID in the table and get the data or set it. Right. But to ALL linked childs > I'm just having trouble figuring out how to get the recID out, as I > cannot see a call to accomplish that. -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From cbpelto at pcisys.net Mon May 8 11:15:19 2006 From: cbpelto at pcisys.net (Chuck Pelto) Date: Mon May 8 12:15:27 2006 Subject: Accessing Data in VLinked Records In-Reply-To: References: Message-ID: <0D5B87E8-2416-4242-AA9F-371C57C2C00F@pcisys.net> On May 8, 2006, at 10:55 AM, Ruslan Zasukhin wrote: > On 5/8/06 6:49 PM, "Chuck Pelto" wrote: > > Hi Cguck, > >> My current question about this technique, in the API-way, is... >> >> How do I get to related records via a Binary-Link record? What sort >> of call is necessary to get the recID for a particular record from a >> Binary-Link? > > dim LinkedRight as VBitSet > > linkedRight = vlink.FindLinked( RecID_Left, T1, T2 ) Ach tso! VBitSet? I was looking at the VArraySet and scratching my head. >> I imagine that one would already know the name of the file you're >> interested in and from there it would just be a matter of goto the >> recID in the table and get the data or set it. > > Right. But to ALL linked childs So the VBitSet will return a set of recIDs to all the chid records. What I'd need to do, to isolate, a given child record is get that record's ID and then go after the data within that record. Is this correct? Regards, Chuck Pelto From joakim at astrocalc.com Mon May 8 21:00:46 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Mon May 8 14:00:47 2006 Subject: BitSet operations In-Reply-To: Message-ID: <20060508185406.638D3808E6F@merc.astrocalc.net> Ruslan, I am sorry if this email was trown away in a haste, I was preparing it to be fully understandable having a bus to catch in 40 min. when I customer called and took 20 min. of my time. I will look at this again taking your comments into count and see if I possibly have overlooked anything. Joakim > -----Original Message----- > From: valentina-bounces@lists.macserve.net > [mailto:valentina-bounces@lists.macserve.net] On Behalf Of > Ruslan Zasukhin > Sent: 05 May 2006 14:37 > To: valentina@lists.macserve.net > Subject: Re: BitSet operations > > On 5/5/06 1:48 PM, "Joakim Schramm" wrote: > > What this function MUST TODO ?? > You should have such comments ABOVE function Also it will be > great if your code will have some comments > > I know YOU can read it, but IF you do wrong code then how I > can guess what is your idea? You see? > > > Public Function AddPlaceRec(uPlace As AtlDataUDT) As > Boolean Dim NewId > > As Long, NewPtr As Long Dim lnk As VLink Dim Res As VSet Dim arr As > > VArraySet > > > > With uPlace > > > > If Len(Trim$(.TownName)) Then > > If .CountryID = 0 Then > > .CountryID = mCountryID > > End If > > > > Set lnk = mAtlasDB.Link(lnkCountryHasZones) > > Set arr = lnk.FindLinked(.CountryID, tCountry, tZones) > > Set Res = arr > > > > If Res.Count > 1 Then > > Set lnk = mAtlasDB.Link(lnkCountryHasPlaces) > > Set Res = lnk.FindLinked(.CountryID, tCountry, tPlaces) > > NewPtr = FindZoneDataID(.LatDeg, .LongDeg, .LatSign, > > .LongSign, Res)<---Function not working below > > Else > > NewPtr = arr.GetItemAt(1) > > End If > > > > tPlaces.SetBlank forAdd > ...... > > here stripped code to field fields and add records ? > > > End Function > > -- > Best regards, > > Ruslan Zasukhin > VP Engineering and New Technology > Paradigma Software, Inc > > Valentina - Joining Worlds of Information http://www.paradigmasoft.com > > [I feel the need: the need for speed] > > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina > From joakim at astrocalc.com Mon May 8 21:07:07 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Mon May 8 14:07:06 2006 Subject: BitSet operations In-Reply-To: Message-ID: <20060508190027.27739808E6F@merc.astrocalc.net> > -----Original Message----- > From: valentina-bounces@lists.macserve.net > [mailto:valentina-bounces@lists.macserve.net] On Behalf Of > Ruslan Zasukhin > Sent: 05 May 2006 14:16 > To: valentina@lists.macserve.net > Subject: Re: BitSet operations > > On 5/5/06 1:48 PM, "Joakim Schramm" wrote: > > >> So we talk about SINLE table with fields f1 and f2 ? > > > > Yes. But you can do this with more then 1 table, right? > > Joakim, > > May be it will be MUCH MORE easy for you use SQL ? > Why you want to use BitSets? > > Work with Set require very good understanding of set math, > And it require keep in brain each step and each result.. > Maybe easier to use SQL yes, but I like to learn the API way and use of bitsets and the way to learning and understanding in by practice. I look over the mail archive and find almost no comment on bit sets, still I know you have put a lot of thinking into create this new technique - so it would be a pitty if it isn't used! I like to learn new things... I think ones I have understood fully to use this it will be very useful for situations were a larger part of data is needed to process further from an even larger part (full table) and I have many such situations. Joakim > > -- > Best regards, > > Ruslan Zasukhin > VP Engineering and New Technology > Paradigma Software, Inc > > Valentina - Joining Worlds of Information http://www.paradigmasoft.com > > [I feel the need: the need for speed] > > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina > From sunshine at public.kherson.ua Tue May 9 00:16:34 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Mon May 8 16:16:42 2006 Subject: Accessing Data in VLinked Records In-Reply-To: <0D5B87E8-2416-4242-AA9F-371C57C2C00F@pcisys.net> Message-ID: On 5/8/06 8:15 PM, "Chuck Pelto" wrote: Hi Chuck, >> dim LinkedRight as VBitSet >> >> linkedRight = vlink.FindLinked( RecID_Left, T1, T2 ) > > Ach tso! > > VBitSet? > > I was looking at the VArraySet and scratching my head. Ops, I am wrong. FindLinked( inRecID as Integer, inTableA as VTable, inTableB as VTable, inRecursionDirection as Integer = 0 ) as VArraySet So ArraySet is returned. >>> I imagine that one would already know the name of the file you're >>> interested in and from there it would just be a matter of goto the >>> recID in the table and get the data or set it. >> >> Right. But to ALL linked childs > > So the VBitSet will return a set of recIDs to all the chid records. > What I'd need to do, to isolate, a given child record is get that > record's ID and then go after the data within that record. Is this > correct? -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From sunshine at public.kherson.ua Tue May 9 00:21:36 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Mon May 8 16:21:42 2006 Subject: BitSet operations In-Reply-To: <20060508190027.27739808E6F@merc.astrocalc.net> Message-ID: On 5/8/06 10:07 PM, "Joakim Schramm" wrote: Hi Joakim, >> May be it will be MUCH MORE easy for you use SQL ? >> Why you want to use BitSets? >> >> Work with Set require very good understanding of set math, >> And it require keep in brain each step and each result.. >> > Maybe easier to use SQL yes, but I like to learn the API way and use of > bitsets and the way to learning and understanding in by practice. No problems! :-) Just I want to be sure that you realize that exists SQL way. > I look over the mail archive and find almost no comment on bit sets, still I > know you have put a lot of thinking into create this new technique - so it > would be a pitty if it isn't used! I like to learn new things... Just BitSets and ArraySets - this is the main low-level tools of Valentina engine. We self use them in our SQL engine. In Valentina 2.x we have open these tools to all developers. They are more powerful, while require more coding and "think different" :-) > I think ones I have understood fully to use this it will be very useful for > situations were a larger part of data is needed to process further from an > even larger part (full table) and I have many such situations. This is right. Using sets it is possible write more effective data manipulations. -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From cbpelto at pcisys.net Mon May 8 15:29:54 2006 From: cbpelto at pcisys.net (Chuck Pelto) Date: Mon May 8 16:30:04 2006 Subject: Accessing Data in VLinked Records In-Reply-To: References: Message-ID: <35522DC6-905A-4AEA-9792-3DC92C95FA41@pcisys.net> On May 8, 2006, at 3:16 PM, Ruslan Zasukhin wrote: > >>> dim LinkedRight as VBitSet >>> >>> linkedRight = vlink.FindLinked( RecID_Left, T1, T2 ) >> >> Ach tso! >> >> VBitSet? >> >> I was looking at the VArraySet and scratching my head. > > Ops, I am wrong. > > FindLinked( > inRecID as Integer, inTableA as VTable, inTableB as VTable, > inRecursionDirection as Integer = 0 ) as VArraySet > > So ArraySet is returned. And WHERE in the ArraySet can I get the recIDs or the returned? Regards, Chuck Pelto From sunshine at public.kherson.ua Tue May 9 00:36:14 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Mon May 8 16:36:19 2006 Subject: Accessing Data in VLinked Records In-Reply-To: <35522DC6-905A-4AEA-9792-3DC92C95FA41@pcisys.net> Message-ID: On 5/9/06 12:29 AM, "Chuck Pelto" wrote: >> FindLinked( >> inRecID as Integer, inTableA as VTable, inTableB as VTable, >> inRecursionDirection as Integer = 0 ) as VArraySet >> >> So ArraySet is returned. > > And WHERE in the ArraySet can I get the recIDs or the returned? :-) answer in docs? * to get count of found records: c = set.Count * to get Nth item of array: ItemAt( inPosition as Integer ) as Integer -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From sunshine at public.kherson.ua Tue May 9 02:32:14 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Mon May 8 18:32:20 2006 Subject: [DOCS] few pages about Valentina C++ SDK on WIKI added Message-ID: Hi C++ Developers, http://www.valentina-db.com/dokuwiki/doku.php?id=paradigma:public:en:documen tation:vsdk:manual:architecture:architecture -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From joakim at astrocalc.com Tue May 9 10:00:41 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Tue May 9 03:00:48 2006 Subject: BitSet operations In-Reply-To: <1776182145.20060505143648@valentina-db.com> Message-ID: <20060509075401.34228808E47@merc.astrocalc.net> > -----Original Message----- > From: valentina-bounces@lists.macserve.net > [mailto:valentina-bounces@lists.macserve.net] On Behalf Of Ivan Smahin > Sent: 05 May 2006 13:37 > To: Valentina Developers > Subject: Re[2]: BitSet operations > > Hello Joakim, > > Friday, May 5, 2006, 1:48:08 PM, you wrote: > > > The following code doesn't work, and I don't know why, it allways > > returns a NIL for the object to set. The Vset object passed to the > > function has over 5000 records and I know there is values > in the range > > I look. But maybe you can see why? > > Set oLngPlaces = fLngDeg.FindValue(Lng, oAllPlaces)' always > returns nil > Hi, The problem remains after looking it over again taking comments into account. I was in a hurry before so will take it all again giving a better picture and commented code to better understand. As for above, fLngDeg is declared Private to the module it lives in. All code is in the same module. The core of the problem is that fLngDeg.FindValue (or fLngDeg.FindValueAsArraySet) does not return any records although it should - "somehow" it seem to lose its capability to do so along the way. So lets take it all from the beginning. All code is in the same module. The first function is Public (Global) and add a new record passed in an UDT structure to function. But, one important part of data is missing, this data sometimes have to be looked up from an existing record - when there is more then 1 alternative. To find this data I have to locate a record with some data in common with the new record, or within a certain range. So to be really clear, first module declarations. Option Explicit Public mAtlasDB As VDatabase Private tblCountry As String Const tblTimeZones As String = "TimeZones" Const tblCountryAlias As String = "CountryAlias" Const tblPlaces As String = "Places" Const tblZoneData As String = "ZoneData" Const ptrCountryAlias As String = "PtrAlias" Const ptrZonePlaces As String = "PtrZone" Const lnkCountryHasPlaces As String = "lnkCountryHasPlaces" Const lnkCountryHasZones As String = "lnkCountryHasZones" Const lnkZoneHasData As String = "lnkZoneHasData" Private ItrSearch As VSetIterator Private ResSearch As VSet Private ListSet As VArraySet 'Tables Private tPlaces As VTable Private tCountry As VTable Private tZones As VTable Private tZoneData As VTable 'Country name field Private fCountry As VField 'Place fields Private fPlace As VField 'Name Private fLatDeg As VField Private fLatMin As VField Private fLatSec As VField Private fLatSign As VField Private fLngDeg As VField Private fLngMin As VField Private fLngSec As VField Private fLngSign As VField Private fZoneId As VField Private fZonePtr As VField Private fZoneDate As VField Private fZoneDiff As VField Private mLink As VLink Private nZoneId As Long At program start, after Valentina been init, the sepcific database is opened and referenses to tables and fields are set. Database stays open until program close, all calls to database is routed through functions in this module. Public Function InitAtlasDB() As Boolean Dim DbPath As String Dim nResult As Long Dim tajny As String Dim uPlace As AtlDataUDT '************************************ 'Open database and init it by setting 'referenses for tables and fields for later use. Set mAtlasDB = New VDatabase With mAtlasDB .InitLocal .DateFormat = EVDateFormat.kYMD DbPath = AtlasDir + "Atlas.vdb" 'If Database not exists we create it. If Not FileExists(DbPath) Then .Create DbPath CreateStructure End If .Open DbPath If .IsOpen Then InitAtlasDB = True tblCountry = "Country_" & sLang Set tCountry = .Table(tblCountry) Set fCountry = tCountry.Field("CName") 'zones Set tZones = .Table(tblTimeZones) Set fZoneId = tZones.Field("ZID") Set tZoneData = .Table(tblZoneData) Set fZoneDate = tZoneData.Field("DateChange") Set fZoneDiff = tZoneData.Field("TimeDiff") Set tPlaces = .Table(tblPlaces) With tPlaces Set fPlace = .Field("PName") Set fLatDeg = .Field("LatDeg") Set fLatMin = .Field("LatMin") Set fLatSec = .Field("LatSec") Set fLatSign = .Field("LatSign") Set fLngDeg = .Field("LongDeg") Set fLngMin = .Field("LongMin") Set fLngSec = .Field("LongSec") Set fLngSign = .Field("LongSign") Set fZonePtr = .Field(ptrZonePlaces) End With End If End With End Function In a form data for new record is collected from input and passed to Public function to add it to database. But value for 1 field we don't know yet is missing and need to be found from existing record. Sometimes this is easy as there is only 1 alternative, but sometimes a subfunction is needed to find and return the correct data before record is added. Public Function AddPlaceRec(uPlace As AtlDataUDT) As Boolean Dim NewId As Long, NewPtr As Long Dim lnk As VLink Dim Res As VSet Dim arr As VArraySet 'uPlace is UDT with record data to add. Before adding new record, we need 'to obtain value from ObjectPtr in already existing record. 'We need to find 1 record with some data in common to get the right value. With uPlace If Len(Trim$(.TownName)) Then 'Name of place, check to not be empty. 'RecID for country place belong to. 'If not already set, we set default value. If .CountryID = 0 Then .CountryID = mCountryID End If 'Each contry is linked to 1 or more zones. 'set link for country and zones Set lnk = mAtlasDB.Link(lnkCountryHasZones) 'find zones linked to this country using RecID (=.CountryID) 'assign result to local VArraySet object Set arr = lnk.FindLinked(.CountryID, tCountry, tZones) 'We need to find how many records returned 'so set local VSet object to test if count > 1 Set Res = arr If Res.Count > 1 Then 'We have > 1 links (zones records) so need to figure out 'which zone to use RecID from in next step ' 'Get all links between Country and Places Set lnk = mAtlasDB.Link(lnkCountryHasPlaces) 'Now get all places for this specific country 'Put result in VArraySet object to pass subfunction 'together with search criterias Set arr = lnk.FindLinked(.CountryID, tCountry, tPlaces) 'We now should have a subset of table tPlaces for just one country 'Here start error happen. No matter if vSet,vArraySet or vBitSet passed 'and function argument is as vSet,VarraySet or vBitSet NewPtr = FindZoneDataID(.LatDeg, .LongDeg, .LatSign, .LongSign, arr) Else 'Only 1 link, task is easy, just get RecID of first item NewPtr = arr.GetItemAt(1) End If 'NewPtr as RecID in exsisting record. 'We want ObjectPtr from this record to use in new item to add. tPlaces.SetBlank forAdd fZonePtr.Value = NewPtr fPlace.Value = Trim$(.TownName) fLatDeg.Value = .LatDeg ... End Funtion Private Function FindZoneDataID(ByVal Lat As Long, ByVal Lng As Long, ByVal SgnLat As Long, SgnLng As Long, oAllPlaces As VArraySet) As Long Dim diffM As Long, diffP As Long, Fact As Long, Pid As Long, ptr As Long Dim Itr As VSetIterator Dim oSet As VSet Dim lnk As VLink Dim oLatPlaces As VArraySet Dim oLngPlaces As VArraySet 'oAllPlaces should have a subset of places from tPlaces table. 'we want to search in table for this subset for values of passed val Lng 'and put result in oLngPlaces ' 'oLngPlaces always come out as nil (Nothing in VB), 'no matter if used type is As VSet, VArraySet or VBitSet, in oAllPlaces 'have tried all types and variations off them. 'value of Lng exists in fLngDeg, but no matter if oAllPlaces 'is used to narrow scope or nil is passed to search all records of 'tPlaces 'return nil Set oLngPlaces = fLngDeg.FindValueAsArraySet(Lng, oAllPlaces) 'return nil Set oLngPlaces = fLngDeg.FindValueAsArraySet(Lng) 'return nil Set oLngPlaces = tPlaces.Field("LongDeg").FindValueAsArraySet(Lng, oAllPlaces) 'return nil Set oLngPlaces = tPlaces.Field("LongDeg").FindValueAsArraySet(Lng) 'return nil Set oLngPlaces = mAtlasDB.Table("Places").Field("LongDeg").FindValueAsArraySet(Lng, oAllPlaces) 'return nil Set oLngPlaces = mAtlasDB.Table("Places").Field("LongDeg").FindValueAsArraySet(Lng) If oLngPlaces Is Nothing Then ... End Function As you can see, even with full referense from Vdatabase object, nil is still returned. I even tested with current value of fLngDeg.Value is 85 and Lng is 85, still nil??? I hope this is more understandable this time. Joakim From sunshine at public.kherson.ua Tue May 9 11:27:17 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue May 9 03:27:24 2006 Subject: BitSet operations In-Reply-To: <20060509075401.34228808E47@merc.astrocalc.net> Message-ID: On 5/9/06 11:00 AM, "Joakim Schramm" wrote: > Hi, > > The problem remains after looking it over again taking comments into > account. I was in a hurry before so will take it all again giving a better > picture and commented code to better understand. Hi Joakim, Best of all if you will send some your VB project to me and CC to kirill_pekarov@valentina-db.com Kirill can check your project under VB to see where problem is. Okay ? -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From joakim at astrocalc.com Tue May 9 10:51:27 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Tue May 9 03:51:25 2006 Subject: BitSet operations In-Reply-To: Message-ID: <20060509084446.872277F9A2A@merc.astrocalc.net> > -----Original Message----- > From: valentina-bounces@lists.macserve.net > [mailto:valentina-bounces@lists.macserve.net] On Behalf Of > Ruslan Zasukhin > Sent: 09 May 2006 10:27 > To: valentina@lists.macserve.net > Subject: Re: Re[2]: BitSet operations > > On 5/9/06 11:00 AM, "Joakim Schramm" wrote: > > > Hi, > > > > The problem remains after looking it over again taking > comments into > > account. I was in a hurry before so will take it all again giving a > > better picture and commented code to better understand. > > Hi Joakim, > > Best of all if you will send some your VB project to me and > CC to kirill_pekarov@valentina-db.com > > Kirill can check your project under VB to see where problem is. > > Okay ? > Well it's going to be a bit difficult as it's a rather big and complex project, will see if I can narrow it down some how. But does this mean you can't see anything "wrong" with the code I presented? Joakim > -- > Best regards, > > Ruslan Zasukhin > VP Engineering and New Technology > Paradigma Software, Inc > > Valentina - Joining Worlds of Information http://www.paradigmasoft.com > > [I feel the need: the need for speed] > > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina > From sunshine at public.kherson.ua Tue May 9 16:49:50 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue May 9 08:49:55 2006 Subject: BitSet operations In-Reply-To: <20060509084446.872277F9A2A@merc.astrocalc.net> Message-ID: On 5/9/06 11:51 AM, "Joakim Schramm" wrote: >> Okay ? >> > Well it's going to be a bit difficult as it's a rather big and complex > project, will see if I can narrow it down some how. But does this mean you > can't see anything "wrong" with the code I presented? Joakim, It is HARD TO READ 3-4 screen of code without understanding its logic. -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From joakim at astrocalc.com Tue May 9 16:07:15 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Tue May 9 09:07:16 2006 Subject: BitSet operations In-Reply-To: Message-ID: <20060509140034.02E1F5304@merc.astrocalc.net> > -----Original Message----- > From: valentina-bounces@lists.macserve.net > [mailto:valentina-bounces@lists.macserve.net] On Behalf Of > Ruslan Zasukhin > Sent: 09 May 2006 15:50 > To: valentina@lists.macserve.net > Subject: Re: Re[2]: BitSet operations > > On 5/9/06 11:51 AM, "Joakim Schramm" wrote: > > >> Okay ? > >> > > Well it's going to be a bit difficult as it's a rather big > and complex > > project, will see if I can narrow it down some how. But > does this mean > > you can't see anything "wrong" with the code I presented? > > Joakim, > > It is HARD TO READ 3-4 screen of code without understanding its logic. > I understand, but I sent you a project with all code creating the database and a much simpler example, that give the same result. I also explain exactly under which circumstance this happens, which is that FindValue and FindValueAsArraySet returns nil in all cases, even when the value searched do exists. I sent this project to your sunshine address and CC to kirill. Joakim > > > -- > Best regards, > > Ruslan Zasukhin > VP Engineering and New Technology > Paradigma Software, Inc > > Valentina - Joining Worlds of Information http://www.paradigmasoft.com > > [I feel the need: the need for speed] > > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina > From sunshine at public.kherson.ua Tue May 9 17:37:38 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue May 9 09:37:43 2006 Subject: BitSet operations In-Reply-To: <20060509140034.02E1F5304@merc.astrocalc.net> Message-ID: On 5/9/06 5:07 PM, "Joakim Schramm" wrote: >> It is HARD TO READ 3-4 screen of code without understanding its logic. >> > > I understand, but I sent you a project with all code creating the database > and a much simpler example, that give the same result. I also explain > exactly under which circumstance this happens, which is that FindValue and > FindValueAsArraySet returns nil in all cases, even when the value searched > do exists. > > I sent this project to your sunshine address and CC to kirill. Yes I see it. Kirill will check it tomorrow - today here holidays. -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From cbpelto at pcisys.net Tue May 9 10:24:02 2006 From: cbpelto at pcisys.net (Chuck Pelto) Date: Tue May 9 11:24:13 2006 Subject: VarCharField Limitation of 5000? Message-ID: Doing a run on the app I created last year and am trying to move to the new environment of V4RB2. Getting an odd VException while building the fields of the tables in an API-way. Here's the call.... call tblSchedules.CreateVarCharField("schd_descript", 5000, EVFlag.fIndexed) // description of the scheduled event If the integer for the size of the field is 5000, the VException occurs. If it is 2000, there is no exception. What's causing this? Regards, Chuck Pelto From joakim at astrocalc.com Tue May 9 19:30:27 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Tue May 9 12:30:30 2006 Subject: BitSet operations In-Reply-To: Message-ID: <20060509172345.19B2534B3E3@merc.astrocalc.net> > -----Original Message----- > From: valentina-bounces@lists.macserve.net > [mailto:valentina-bounces@lists.macserve.net] On Behalf Of > Ruslan Zasukhin > Sent: 09 May 2006 16:38 > To: valentina@lists.macserve.net > Subject: Re: Re[2]: BitSet operations > > On 5/9/06 5:07 PM, "Joakim Schramm" wrote: > > >> It is HARD TO READ 3-4 screen of code without > understanding its logic. > >> > > > > I understand, but I sent you a project with all code creating the > > database and a much simpler example, that give the same > result. I also > > explain exactly under which circumstance this happens, > which is that > > FindValue and FindValueAsArraySet returns nil in all cases, > even when > > the value searched do exists. > > > > I sent this project to your sunshine address and CC to kirill. > > Yes I see it. Kirill will check it tomorrow - today here holidays. > I have done some further tests and think I have found it and I am pretty sure I can say this is a bug. I am trying to define the exact condition for how this to accure but is not sure yet as I couldn't complete my tests (see below). However it seem to do with when a record only have few and probably whole word in Capitals as one part of it's name. Some examples. There is a place named "Altona", then there is another named "Altona WA", Altona is found but NOT Altona WA There are many Altona in my database, 2 just as Altona (both found) but about 15 Altona + 2 letter abbrivation like IL, MN etc. of which none is found. Also a place called Altona VIC or Altona North VIC are not found. However, there is also Hamburg-Altona and Hamburg-Altona KH, the first is found but not the second. I experiment little to reproduce it, there is a place called Baulkham Hills, which is found. I add a copy and name it Baulkham, also found. I add one more copy Baulkham PA, not found. I add Baulkham Hills PA, not found. I change Baulkham Hills PA to Baulkham Hills PAP, not found, and to Baulkham Hills PAPA, still not found. I now got the idea that the CAPITAL letters of whole word caused problem. I changed Baulkham Hills PAPA to Baulkham Hills Papa, FOUND! Also Baulkham Pa now found with same change. So FindValue don't like when a word in field is all Capital letters. But is this all? No. I now change Baulkham Hills Papa to Baulkham Hills PApa, again NOT found. I change Baulkham Pa to Baulkham PaP, this also not found. Conclusion, FindValue and FindValueAsArraySet don't like when a world contains more then 1 capital letter, it make it blind, and the whole record is missed so values in other fileds like integers cannot be found as well. I can't say if this only is for special condition in structure or not but I also tried to remove all links, which I think before was the problem but it did not change it, so it was not the problem. You can see exact structure of database in project I sent before, I changed nothing there. I think I have saved Kirill some work :-) Joakim > -- > Best regards, > > Ruslan Zasukhin > VP Engineering and New Technology > Paradigma Software, Inc > > Valentina - Joining Worlds of Information http://www.paradigmasoft.com > > [I feel the need: the need for speed] > > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina > From sunshine at public.kherson.ua Tue May 9 23:39:39 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue May 9 15:39:47 2006 Subject: VarCharField Limitation of 5000? In-Reply-To: Message-ID: On 5/9/06 7:24 PM, "Chuck Pelto" wrote: > Doing a run on the app I created last year and am trying to move to > the new environment of V4RB2. > > Getting an odd VException while building the fields of the tables in > an API-way. > > Here's the call.... > > call tblSchedules.CreateVarCharField("schd_descript", 5000, > EVFlag.fIndexed) // description of the scheduled event > > If the integer for the size of the field is 5000, the VException > occurs. If it is 2000, there is no exception. > > What's causing this? VarChar has limit on 4K bytes => 2044 chars for UTF16. Check doc -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From sunshine at public.kherson.ua Tue May 9 23:44:11 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue May 9 15:44:17 2006 Subject: BitSet operations In-Reply-To: <20060509172345.19B2534B3E3@merc.astrocalc.net> Message-ID: On 5/9/06 8:30 PM, "Joakim Schramm" wrote: > I have done some further tests and think I have found it and I am pretty > sure I can say this is a bug. I am trying to define the exact condition for > how this to accure but is not sure yet as I couldn't complete my tests (see > below). However it seem to do with when a record only have few and probably > whole word in Capitals as one part of it's name. Some examples. > > There is a place named "Altona", then there is another named "Altona WA", > Altona is found but NOT Altona WA > > There are many Altona in my database, 2 just as Altona (both found) but > about 15 Altona + 2 letter abbrivation like IL, MN etc. of which none is > found. Also a place called Altona VIC or Altona North VIC are not found. > > However, there is also Hamburg-Altona and Hamburg-Altona KH, the first is > found but not the second. > > I experiment little to reproduce it, there is a place called Baulkham Hills, > which is found. I add a copy and name it Baulkham, also found. I add one > more copy Baulkham PA, not found. I add Baulkham Hills PA, not found. I > change Baulkham Hills PA to Baulkham Hills PAP, not found, and to Baulkham > Hills PAPA, still not found. I now got the idea that the CAPITAL letters of > whole word caused problem. I changed Baulkham Hills PAPA to Baulkham Hills > Papa, FOUND! Also Baulkham Pa now found with same change. So FindValue don't > like when a word in field is all Capital letters. But is this all? No. I now > change Baulkham Hills Papa to Baulkham Hills PApa, again NOT found. I change > Baulkham Pa to Baulkham PaP, this also not found. > > Conclusion, FindValue and FindValueAsArraySet don't like when a world > contains more then 1 capital letter, it make it blind, and the whole record > is missed so values in other fileds like integers cannot be found as well. I > can't say if this only is for special condition in structure or not but I > also tried to remove all links, which I think before was the problem but it > did not change it, so it was not the problem. You can see exact structure of > database in project I sent before, I changed nothing there. >From fast read of your letter it sounds like you confuse FindVlaue -- find EXACT match FindStartWith() - find strings that START WITH ... Please check this point. Also note that you can control if db/table/fied should do case-sensitive or case-insensetive searches and sorting. Use for this db.CollationaAttribute -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From joakim at astrocalc.com Tue May 9 22:53:42 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Tue May 9 15:53:40 2006 Subject: FindValueAsArraySet Message-ID: <20060509204659.F2D2578B258@merc.astrocalc.net> Ruslan, I get very strange return value from FindValueAsArraySet, in fact it doesn't seem to honor the "inSelection as IVSet = null" argument below when a set is passed but treat it as if was nil. The 2 oSet.Count below gives same value. Is this because the passed set is of type VArraySet? From previous reply from you I understood Vset was an abstraction for VArraySet and VBitSet so it should be OK to pass them to a Vset argument? >From conclusions in my previous given tests I have now been able to make FindValueAsArraySet actually return a set, but it returns too many items as always searching whole table. I haven't tested yet to make it a Vset to see what it returns, will do so, but want to be clear of if there is special rules in passing VArraySet and VBitSet as all argument parameters are defined as Vset. Private Function FindZoneDataID(ByVal Lat As Long, ByVal Lng As Long, ByVal SgnLat As Long, SgnLng As Long, oAllPlaces As VArraySet) As Long Dim diffM As Long, diffP As Long, Fact As Long, Pid As Long, ptr As Long Dim Itr As VSetIterator Dim oSet As VSet Dim lnk As VLink Dim oLatPlaces As VArraySet Dim oLngPlaces As VArraySet Set oLngPlaces = fLngDeg.FindValueAsArraySet(Lng, oAllPlaces) Set oSet = oLngPlaces Debug.Print oSet.Count ' 1176 Set oLngPlaces = fLngDeg.FindValueAsArraySet(Lng) Set oSet = oLngPlaces Debug.Print oSet.Count ' 1176 ... Joakim From joakim at astrocalc.com Tue May 9 23:08:45 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Tue May 9 16:08:44 2006 Subject: BitSet operations In-Reply-To: Message-ID: <20060509210202.7F22878B258@merc.astrocalc.net> > -----Original Message----- > From: valentina-bounces@lists.macserve.net > [mailto:valentina-bounces@lists.macserve.net] On Behalf Of > Ruslan Zasukhin > Sent: 09 May 2006 22:44 > To: valentina@lists.macserve.net > Subject: Re: Re[2]: BitSet operations > > On 5/9/06 8:30 PM, "Joakim Schramm" wrote: > > > I have done some further tests and think I have found it and I am > > pretty sure I can say this is a bug. I am trying to define > the exact > > condition for how this to accure but is not sure yet as I couldn't > > complete my tests (see below). However it seem to do with when a > > record only have few and probably whole word in Capitals as > one part of it's name. Some examples. > > > > There is a place named "Altona", then there is another > named "Altona > > WA", Altona is found but NOT Altona WA > > > > There are many Altona in my database, 2 just as Altona (both found) > > but about 15 Altona + 2 letter abbrivation like IL, MN etc. > of which > > none is found. Also a place called Altona VIC or Altona > North VIC are not found. > > > > However, there is also Hamburg-Altona and Hamburg-Altona > KH, the first > > is found but not the second. > > > > I experiment little to reproduce it, there is a place > called Baulkham > > Hills, which is found. I add a copy and name it Baulkham, > also found. > > I add one more copy Baulkham PA, not found. I add Baulkham > Hills PA, > > not found. I change Baulkham Hills PA to Baulkham Hills PAP, not > > found, and to Baulkham Hills PAPA, still not found. I now > got the idea > > that the CAPITAL letters of whole word caused problem. I changed > > Baulkham Hills PAPA to Baulkham Hills Papa, FOUND! Also Baulkham Pa > > now found with same change. So FindValue don't like when a word in > > field is all Capital letters. But is this all? No. I now change > > Baulkham Hills Papa to Baulkham Hills PApa, again NOT > found. I change Baulkham Pa to Baulkham PaP, this also not found. > > > > Conclusion, FindValue and FindValueAsArraySet don't like > when a world > > contains more then 1 capital letter, it make it blind, and > the whole > > record is missed so values in other fileds like integers cannot be > > found as well. I can't say if this only is for special condition in > > structure or not but I also tried to remove all links, > which I think > > before was the problem but it did not change it, so it was not the > > problem. You can see exact structure of database in project > I sent before, I changed nothing there. > > >From fast read of your letter it sounds like you confuse > > FindVlaue -- find EXACT match > Well it doesn't find an exact match either when more then 1 capital in a word, and otherwise it do find "exact" without caring about case. So if search is "abds" it also finds "Abds" but not "ABds", if search is "ABds" it finds "abds", "Abds" but not "ABds"? Also, when search in numeric field of records it finds nothing in records with a string field having more then 1 capital letter in a word. > FindStartWith() - find strings that START WITH ... > > Please check this point. > I have not used the string functions her as I was interested in an exact (case less) match and there is no specific string function returning an exact match so I "assume" FindValue and FindValueAsArraySet also should work with straings in this case? > Also note that you can control if db/table/fied should do > case-sensitive or case-insensetive searches and sorting. Use > for this db.CollationaAttribute > I haven't looked at this one though, guess it is as default, but should it have any impact on numeric searches? The "main" problem is that numeric searches also doesn't work if a string field has 2 or more capitals in same word. With word I mean string field can be like "Alice Springs" is 2 words, if this is "Alice Springs" no search what so ever work on that record. Joakim > > > -- > Best regards, > > Ruslan Zasukhin > VP Engineering and New Technology > Paradigma Software, Inc > > Valentina - Joining Worlds of Information http://www.paradigmasoft.com > > [I feel the need: the need for speed] > > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina > From sunshine at public.kherson.ua Wed May 10 00:39:43 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue May 9 16:39:48 2006 Subject: BitSet operations In-Reply-To: <20060509210202.7F22878B258@merc.astrocalc.net> Message-ID: On 5/10/06 12:08 AM, "Joakim Schramm" wrote: >> FindVlaue -- find EXACT match >> > Well it doesn't find an exact match either when more then 1 capital in a > word, and otherwise it do find "exact" without caring about case. So if > search is "abds" it also finds "Abds" but not "ABds", if search is "ABds" it > finds "abds", "Abds" but not "ABds"? But you talk about CASE INSENSETIVE SEARCH !!! You need set correct CollationAttrubute for you database. db.CollationAttribute( kStrength ) = kPrimary Check docs please. > Also, when search in numeric field of records it finds nothing in records > with a string field having more then 1 capital letter in a word. > >> FindStartWith() - find strings that START WITH ... >> >> Please check this point. >> > I have not used the string functions her as I was interested in an exact > (case less) match and there is no specific string function returning an > exact match so I "assume" FindValue and FindValueAsArraySet also should work > with straings in this case? > >> Also note that you can control if db/table/fied should do >> case-sensitive or case-insensetive searches and sorting. Use >> for this db.CollationaAttribute >> > I haven't looked at this one though, guess it is as default, but should it > have any impact on numeric searches? The "main" problem is that numeric > searches also doesn't work if a string field has 2 or more capitals in same > word. With word I mean string field can be like "Alice Springs" is 2 words, > if this is "Alice Springs" no search what so ever work on that record. Numeric searches DO NOT depend on collation. Only strings. -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From sunshine at public.kherson.ua Wed May 10 00:40:46 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue May 9 16:40:51 2006 Subject: FindValueAsArraySet In-Reply-To: <20060509204659.F2D2578B258@merc.astrocalc.net> Message-ID: On 5/9/06 11:53 PM, "Joakim Schramm" wrote: Hi Joakim, > I get very strange return value from FindValueAsArraySet, in fact it doesn't > seem to honor the "inSelection as IVSet = null" argument below when a set is This can be true...Kirill please check VCOM on this issue. > passed but treat it as if was nil. The 2 oSet.Count below gives same value. > Is this because the passed set is of type VArraySet? From previous reply > from you I understood Vset was an abstraction for VArraySet and VBitSet so > it should be OK to pass them to a Vset argument? > >> From conclusions in my previous given tests I have now been able to make > FindValueAsArraySet actually return a set, but it returns too many items as > always searching whole table. I haven't tested yet to make it a Vset to see > what it returns, will do so, but want to be clear of if there is special > rules in passing VArraySet and VBitSet as all argument parameters are > defined as Vset. > > Private Function FindZoneDataID(ByVal Lat As Long, ByVal Lng As Long, ByVal > SgnLat As Long, SgnLng As Long, oAllPlaces As VArraySet) As Long > Dim diffM As Long, diffP As Long, Fact As Long, Pid As Long, ptr As Long > Dim Itr As VSetIterator > Dim oSet As VSet > Dim lnk As VLink > > Dim oLatPlaces As VArraySet > Dim oLngPlaces As VArraySet > > Set oLngPlaces = fLngDeg.FindValueAsArraySet(Lng, oAllPlaces) > Set oSet = oLngPlaces > Debug.Print oSet.Count ' 1176 > > Set oLngPlaces = fLngDeg.FindValueAsArraySet(Lng) > Set oSet = oLngPlaces > Debug.Print oSet.Count ' 1176 -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From cbpelto at pcisys.net Tue May 9 15:49:13 2006 From: cbpelto at pcisys.net (Chuck Pelto) Date: Tue May 9 16:49:20 2006 Subject: VarCharField Limitation of 5000? In-Reply-To: References: Message-ID: <2EC70C31-CAFB-496D-81B7-E2E1CAC30387@pcisys.net> Hi Ruslan, On May 9, 2006, at 2:39 PM, Ruslan Zasukhin wrote: > On 5/9/06 7:24 PM, "Chuck Pelto" wrote: > >> Doing a run on the app I created last year and am trying to move to >> the new environment of V4RB2. >> >> Getting an odd VException while building the fields of the tables in >> an API-way. >> >> Here's the call.... >> >> call tblSchedules.CreateVarCharField("schd_descript", 5000, >> EVFlag.fIndexed) // description of the scheduled event >> >> If the integer for the size of the field is 5000, the VException >> occurs. If it is 2000, there is no exception. >> >> What's causing this? > > VarChar has limit on 4K bytes => 2044 chars for UTF16. > > Check doc Page 113 of the document I'm looking at, indicates 65K bytes. What am I not understanding here? What is the text storage item that will store 65K bytes? What is the call to establish it in an API-way database table? Regards, Chuck Pelto From joakim at astrocalc.com Wed May 10 00:34:10 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Tue May 9 17:34:18 2006 Subject: BitSet operations In-Reply-To: Message-ID: <20060509222731.117DB80C8D5@merc.astrocalc.net> > -----Original Message----- > From: valentina-bounces@lists.macserve.net > [mailto:valentina-bounces@lists.macserve.net] On Behalf Of > Ruslan Zasukhin > Sent: 09 May 2006 23:40 > To: valentina@lists.macserve.net > Subject: Re: Re[2]: BitSet operations > > On 5/10/06 12:08 AM, "Joakim Schramm" wrote: > > >> FindVlaue -- find EXACT match > >> > > Well it doesn't find an exact match either when more then 1 > capital in > > a word, and otherwise it do find "exact" without caring > about case. So > > if search is "abds" it also finds "Abds" but not "ABds", if > search is > > "ABds" it finds "abds", "Abds" but not "ABds"? > > But you talk about CASE INSENSETIVE SEARCH !!! > > You need set correct CollationAttrubute for you database. > > db.CollationAttribute( kStrength ) = kPrimary > > Check docs please. > Unfortunately I must say this doesn't matter, changing to db.CollationAttribute( kStrength ) = kPrimary makes no difference, the results are the same. Sorry, but it is still true - If a string field (first in record in this case) have a word (string) with 2 or more CAPITAL letters, the record is totally ignored by FindValue and FindValueAsArraySet AND this is also true when a numeric field is searched (Byte in this case), the value simply doesn't exists although it really does. This is VCOM2 Joakim > > > Also, when search in numeric field of records it finds nothing in > > records with a string field having more then 1 capital > letter in a word. > > > >> FindStartWith() - find strings that START WITH ... > >> > >> Please check this point. > >> > > I have not used the string functions her as I was interested in an > > exact (case less) match and there is no specific string function > > returning an exact match so I "assume" FindValue and > > FindValueAsArraySet also should work with straings in this case? > > > >> Also note that you can control if db/table/fied should do > >> case-sensitive or case-insensetive searches and sorting. Use for > >> this db.CollationaAttribute > >> > > I haven't looked at this one though, guess it is as default, but > > should it have any impact on numeric searches? The "main" > problem is > > that numeric searches also doesn't work if a string field has 2 or > > more capitals in same word. With word I mean string field > can be like > > "Alice Springs" is 2 words, if this is "Alice Springs" no > search what so ever work on that record. > > Numeric searches DO NOT depend on collation. Only strings. > > -- > Best regards, > > Ruslan Zasukhin > VP Engineering and New Technology > Paradigma Software, Inc > > Valentina - Joining Worlds of Information http://www.paradigmasoft.com > > [I feel the need: the need for speed] > > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina > From sunshine at public.kherson.ua Wed May 10 01:39:12 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue May 9 17:39:23 2006 Subject: VarCharField Limitation of 5000? In-Reply-To: <2EC70C31-CAFB-496D-81B7-E2E1CAC30387@pcisys.net> Message-ID: On 5/10/06 12:49 AM, "Chuck Pelto" wrote: >> VarChar has limit on 4K bytes => 2044 chars for UTF16. >> >> Check doc > > Page 113 of the document I'm looking at, indicates 65K bytes. > > What am I not understanding here? What document? This should be fixed. In 2.3 we have set limit to 4K for VarChar > What is the text storage item that will store 65K bytes? What is the > call to establish it in an API-way database table? TEXT -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From joakim at astrocalc.com Wed May 10 00:44:33 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Tue May 9 17:44:37 2006 Subject: BitSet operations In-Reply-To: <20060509222731.117DB80C8D5@merc.astrocalc.net> Message-ID: <20060509223751.2DD0980E9A6@merc.astrocalc.net> Correction. > -----Original Message----- > From: valentina-bounces@lists.macserve.net > [mailto:valentina-bounces@lists.macserve.net] On Behalf Of > Joakim Schramm > Sent: 10 May 2006 00:34 > To: 'Valentina Developers' > Subject: RE: Re[2]: BitSet operations > > > > > -----Original Message----- > > From: valentina-bounces@lists.macserve.net > > [mailto:valentina-bounces@lists.macserve.net] On Behalf Of Ruslan > > Zasukhin > > Sent: 09 May 2006 23:40 > > To: valentina@lists.macserve.net > > Subject: Re: Re[2]: BitSet operations > > > > On 5/10/06 12:08 AM, "Joakim Schramm" wrote: > > > > >> FindVlaue -- find EXACT match > > >> > > > Well it doesn't find an exact match either when more then 1 > > capital in > > > a word, and otherwise it do find "exact" without caring > > about case. So > > > if search is "abds" it also finds "Abds" but not "ABds", if > > search is > > > "ABds" it finds "abds", "Abds" but not "ABds"? > > > > But you talk about CASE INSENSETIVE SEARCH !!! > > > > You need set correct CollationAttrubute for you database. > > > > db.CollationAttribute( kStrength ) = kPrimary > > > > Check docs please. > > > Unfortunately I must say this doesn't matter, changing to > db.CollationAttribute( kStrength ) = kPrimary makes no > difference, the results are the same. Sorry, but it is still > true - If a string field (first in record in this case) have > a word (string) with 2 or more CAPITAL letters, the record is > totally ignored by FindValue and FindValueAsArraySet AND this > is also true when a numeric field is searched (Byte in this > case), the value simply doesn't exists although it really > does. This is VCOM2 > A correction, what heppened was I set db.CollationAttribute( kStrength ) = kPrimary BEFORE db was open but after the db object was initiated, like this Set DB = New VDatabase With DB .InitLocal .DateFormat = EVDateFormat.kYMD .CollationAttribute(kStrength) = kPrimary DbPath = AtlasDir + "Atlas.vdb" 'If Database not exists we create it. If Not FileExists(DbPath) Then .Create DbPath CreateStructure End If .Open DbPath If .IsOpen Then ... End With It MUST be set AFTER db is open, like this Set DB = New VDatabase With DB .InitLocal .DateFormat = EVDateFormat.kYMD DbPath = AtlasDir + "Atlas.vdb" 'If Database not exists we create it. If Not FileExists(DbPath) Then .Create DbPath CreateStructure End If .Open DbPath If .IsOpen Then .CollationAttribute(kStrength) = kPrimary ... End With Then it works. This need to be added to documentation. Joakim > Joakim > > > > > Also, when search in numeric field of records it finds nothing in > > > records with a string field having more then 1 capital > > letter in a word. > > > > > >> FindStartWith() - find strings that START WITH ... > > >> > > >> Please check this point. > > >> > > > I have not used the string functions her as I was > interested in an > > > exact (case less) match and there is no specific string function > > > returning an exact match so I "assume" FindValue and > > > FindValueAsArraySet also should work with straings in this case? > > > > > >> Also note that you can control if db/table/fied should do > > >> case-sensitive or case-insensetive searches and > sorting. Use for > > >> this db.CollationaAttribute > > >> > > > I haven't looked at this one though, guess it is as default, but > > > should it have any impact on numeric searches? The "main" > > problem is > > > that numeric searches also doesn't work if a string field > has 2 or > > > more capitals in same word. With word I mean string field > > can be like > > > "Alice Springs" is 2 words, if this is "Alice Springs" no > > search what so ever work on that record. > > > > Numeric searches DO NOT depend on collation. Only strings. > > > > -- > > Best regards, > > > > Ruslan Zasukhin > > VP Engineering and New Technology > > Paradigma Software, Inc > > > > Valentina - Joining Worlds of Information > http://www.paradigmasoft.com > > > > [I feel the need: the need for speed] > > > > > > _______________________________________________ > > Valentina mailing list > > Valentina@lists.macserve.net > > http://lists.macserve.net/mailman/listinfo/valentina > > > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina > From bwillius at gmx.de Wed May 10 08:12:34 2006 From: bwillius at gmx.de (Beatrix Willius) Date: Wed May 10 01:12:41 2006 Subject: Can't load library kernel_win32_final_cw.dll Message-ID: <31458.1147241554@www078.gmx.net> Trying to get my feet wet with Valentina 2.3 for Realbasic I tried to install it on my Windows machine. But I only get the above error message. What could be the reason for this? Why is the installer asking me for a location of the plugin folder? Can't the thing search for it? Why does the installer install additional stuff in a Paradigma Software folder without asking me first? Where is a log file from the installer? Where is the uninstaller? Realbasic is located at c:/local/progs/. I never use the default path. Realbasic is at version RB 2006r1. The Windows machine is running Windows 2000. I tried to move the Paradigma folder, but this didn't help. Putting it next to the plugin crashes Realbasic at startup. Regards Trixi willius PS: An archive for the mailing list superfluous without the capability to search. -- Analog-/ISDN-Nutzer sparen mit GMX SmartSurfer bis zu 70%! Kostenlos downloaden: http://www.gmx.net/de/go/smartsurfer From joakim at astrocalc.com Wed May 10 10:06:32 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Wed May 10 03:06:33 2006 Subject: FindLinkedAsBitSet documents error Message-ID: <20060510075948.ECB795C421A@merc.astrocalc.net> VCOM docs say FindLinkedAsBitSet returns VArraySet in description part of Interface IVLink. This is wrong, it returns VBitSet, which also first page of Interface IVLink correctly says. Joakim From sunshine at public.kherson.ua Wed May 10 11:20:30 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed May 10 03:20:40 2006 Subject: BitSet operations [TIP] In-Reply-To: <20060509223751.2DD0980E9A6@merc.astrocalc.net> Message-ID: On 5/10/06 1:44 AM, "Joakim Schramm" wrote: Hi Joakim, Well, actually ANY parameter should be changed AFTER open of db. You was confused that DateFormat do work even BEFORE. This is because DateFormat do not change anything on disk, only way how date/time values converted to/from strings on the fly. > A correction, what heppened was I set db.CollationAttribute( kStrength ) = > kPrimary BEFORE db was open but after the db object was initiated, like this > > Set DB = New VDatabase > > With DB > .InitLocal > .DateFormat = EVDateFormat.kYMD > .CollationAttribute(kStrength) = kPrimary > DbPath = AtlasDir + "Atlas.vdb" > > 'If Database not exists we create it. > If Not FileExists(DbPath) Then > .Create DbPath > CreateStructure > End If > > .Open DbPath > > If .IsOpen Then > ... > > End With > > It MUST be set AFTER db is open, like this > > Set DB = New VDatabase > > With DB > .InitLocal > .DateFormat = EVDateFormat.kYMD > DbPath = AtlasDir + "Atlas.vdb" > > 'If Database not exists we create it. > If Not FileExists(DbPath) Then > .Create DbPath > CreateStructure > End If > > .Open DbPath > > If .IsOpen Then > .CollationAttribute(kStrength) = kPrimary > > ... > End With > > Then it works. This need to be added to documentation. -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From joakim at astrocalc.com Wed May 10 10:21:40 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Wed May 10 03:21:39 2006 Subject: FindLinked and FindLinkedAsBitSet inconsistency Message-ID: <20060510081457.37A3F799664@merc.astrocalc.net> Hi, This is all VCOM I find the functions FindLinked and FindLinkedAsBitSet functions to be inconsistent. The names imply they do the same thing but that's not really true. FindLinked returns VArraySet based on parameters RecID as Integer , TableA as IVTable, TableBas IVTable FindLinkedAsBitSet returns VBitSet (fine so far) BUT based in parameters inSet as IVSet, TableA as IVTable, TableBas IVTable - with the current naming I expect first parameter to be RecID as Integer as well, which the other link functions do returning as set (if not apply to whole tables). Now FindLinkedAsBitSet rather looks like a type of "convertion" function to me, and honestly I am not really sure how this is supposed to work as the Example is for FindLinked Set res = Link.FindLinked( rec, TblA, TblB ) Which is same example as in other function. The mix of return sets IVBitSet and IVArraySet also makes these functions harder to use in an effective way, and harder to understand. Joakim From joakim at astrocalc.com Wed May 10 10:26:04 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Wed May 10 03:26:04 2006 Subject: BitSet operations [TIP] In-Reply-To: Message-ID: <20060510081921.54205799664@merc.astrocalc.net> > -----Original Message----- > From: valentina-bounces@lists.macserve.net > [mailto:valentina-bounces@lists.macserve.net] On Behalf Of > Ruslan Zasukhin > Sent: 10 May 2006 10:21 > To: valentina@lists.macserve.net > Subject: Re: Re[2]: BitSet operations [TIP] > > On 5/10/06 1:44 AM, "Joakim Schramm" wrote: > > Hi Joakim, > > Well, actually ANY parameter should be changed AFTER open of db. > > You was confused that DateFormat do work even BEFORE. > > This is because DateFormat do not change anything on disk, > only way how date/time values converted to/from strings on the fly. > Yes that makes sense. As not being one developing the tool it is easy though to get confused as a new user with so many different things. As the developer you easily oversee these small details that is clear to yourself but not from a user perspective. Joakim > > From sunshine at public.kherson.ua Wed May 10 11:33:12 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed May 10 03:33:18 2006 Subject: FindLinked and FindLinkedAsBitSet inconsistency In-Reply-To: <20060510081457.37A3F799664@merc.astrocalc.net> Message-ID: On 5/10/06 11:21 AM, "Joakim Schramm" wrote: Hi Joakim, > This is all VCOM > > I find the functions FindLinked and FindLinkedAsBitSet functions to be > inconsistent. The names imply they do the same thing but that's not really > true. > > FindLinked returns VArraySet based on parameters RecID as Integer , TableA > as IVTable, TableBas IVTable > > FindLinkedAsBitSet returns VBitSet (fine so far) BUT based in parameters > inSet as IVSet, TableA as IVTable, TableBas IVTable - with the current > naming I expect first parameter to be RecID as Integer as well, which the > other link functions do returning as set (if not apply to whole tables). > > Now FindLinkedAsBitSet rather looks like a type of "convertion" function to > me, and honestly I am not really sure how this is supposed to work as the You are RIGHT! In C++ this function even is named still as ConvertBitSet()... > Example is for FindLinked > > Set res = Link.FindLinked( rec, TblA, TblB ) > > Which is same example as in other function. > The mix of return sets IVBitSet and IVArraySet also makes these functions > harder to use in an effective way, and harder to understand. Explain me please, why you want to use BitSet ? As far as I see, in YOUR Task as in many others: you have some RecID on left table you need find SEVERAL linked records on right. FindLinked() returns ArraySet() because it is easy assume that number of childs linked to ONE left record will be not big. -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From sunshine at public.kherson.ua Wed May 10 11:36:30 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed May 10 03:36:35 2006 Subject: BitSet operations [TIP] In-Reply-To: <20060510081921.54205799664@merc.astrocalc.net> Message-ID: On 5/10/06 11:26 AM, "Joakim Schramm" wrote: >> Well, actually ANY parameter should be changed AFTER open of db. >> >> You was confused that DateFormat do work even BEFORE. >> >> This is because DateFormat do not change anything on disk, >> only way how date/time values converted to/from strings on the fly. >> > > Yes that makes sense. As not being one developing the tool it is easy though > to get confused as a new user with so many different things. As the > developer you easily oversee these small details that is clear to yourself > but not from a user perspective. Agree. Although try to think logically: HOW (???) you can expect to change ANY db parameter if db is closed yet ? The only legal way mentioned in docs to work BEFORE db,open() is assign of encryption key. P.S. * Please clarify: do you think yet that exists any bug ? If yes please explain it from start. Kirill say so far he have not found any bugs by your explanations. * I will try fix your access to mantis asap. -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From sunshine at public.kherson.ua Wed May 10 11:45:22 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed May 10 03:45:29 2006 Subject: Can't load library kernel_win32_final_cw.dll In-Reply-To: <31458.1147241554@www078.gmx.net> Message-ID: On 5/10/06 9:12 AM, "Beatrix Willius" wrote: Hi Beatrix, > Trying to get my feet wet with Valentina 2.3 for Realbasic I tried to > install it on my Windows machine. But I only get the above error message. > > What could be the reason for this? Why is the installer asking me for a > location of the plugin folder? Can't the thing search for it? No, because you can have 2-3 REALbasic versions to be installed on your computer. > Why does the installer install additional stuff in a Paradigma Software folder > without asking me first? Where is a log file from the installer? Why it should ask ??? /Program Files/ - is open area for installed software. > Where is the uninstaller? In docs is said - no uninstaller > Realbasic is located at c:/local/progs/. I never use the default path. This is one more reason to ask you plugin folder :-) > Realbasic is at version RB 2006r1. The Windows machine is running Windows > 2000. I tried to move the Paradigma folder, but this didn't help. Putting it > next to the plugin crashes Realbasic at startup. You should not move Paradigma folder, because installer have also setup The environment variable PATH to point VComponents folder. About not recognized dlls Look at last FAQ on this page. http://www.valentina-db.com/dokuwiki/doku.php?id=paradigma:public:en:documen tation:vkernel:faqs:faqs Few days ago one developer have told that restart of Windows did help. > Regards > > Trixi willius > > PS: An archive for the mailing list superfluous without the capability to > search. Check this http://leafe.com/archives/search/valentina -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From joakim at astrocalc.com Wed May 10 10:54:03 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Wed May 10 03:54:03 2006 Subject: FindLinked and FindLinkedAsBitSet inconsistency In-Reply-To: Message-ID: <20060510084719.413185C421A@merc.astrocalc.net> > -----Original Message----- > From: valentina-bounces@lists.macserve.net > [mailto:valentina-bounces@lists.macserve.net] On Behalf Of > Ruslan Zasukhin > Sent: 10 May 2006 10:33 > To: valentina@lists.macserve.net > Subject: Re: FindLinked and FindLinkedAsBitSet inconsistency > > On 5/10/06 11:21 AM, "Joakim Schramm" wrote: > > Hi Joakim, > > > This is all VCOM > > > > I find the functions FindLinked and FindLinkedAsBitSet > functions to be > > inconsistent. The names imply they do the same thing but that's not > > really true. > > > > FindLinked returns VArraySet based on parameters RecID as Integer , > > TableA as IVTable, TableBas IVTable > > > > FindLinkedAsBitSet returns VBitSet (fine so far) BUT based in > > parameters inSet as IVSet, TableA as IVTable, TableBas > IVTable - with > > the current naming I expect first parameter to be RecID as > Integer as > > well, which the other link functions do returning as set > (if not apply to whole tables). > > > > Now FindLinkedAsBitSet rather looks like a type of "convertion" > > function to me, and honestly I am not really sure how this > is supposed > > to work as the > > You are RIGHT! > > In C++ this function even is named still as ConvertBitSet()... > Ruslan, I am happy to hear I am not totally out in the blue on this :-) > > Example is for FindLinked > > > > Set res = Link.FindLinked( rec, TblA, TblB ) > > > > Which is same example as in other function. > > > The mix of return sets IVBitSet and IVArraySet also makes these > > functions harder to use in an effective way, and harder to > understand. > > > Explain me please, why you want to use BitSet ? > > As far as I see, in YOUR Task as in many others: > > you have some RecID on left table > you need find SEVERAL linked records on right. > > FindLinked() returns ArraySet() because it is easy assume > that number of childs linked to ONE left record will be not big. > Why? FindLinked() - Returns ArraySet FindAllLinked - Returns BitSet Look at this part in my code If mCountryID <> 0 Then Set Col = mLink.FindLinked(mCountryID, tCountry, tPlaces) Else Set Col = mLink.FindAllLinked(tCountry, tPlaces) End If I search places in either 1 or all countries and I want result in same object for later processing. Now I have use a Vset object (Col) to obtain this. If in next step I need an Array object I need to make a (unnecessary) conversion and it complicates my code. Ok I know, I can leave Col as nil just, but this may not always be convinient. I here process further, all these Find functions returns BitSet, except 2 being alternative. My point is the mix of ArraySet and BitSet for returned result makes theres functions harder and more complex to use together. It forces me to write extra, unnecessary I think, code. If ExactSearch <> 0 Then Set Res = fPlace.FindValueAsArraySet(PlaceName, Col) Else Set Res = fPlace.FindContains(PlaceName, Col) End If If there was ArraySet and BitSet alternatives for them all it is fine, but now it isn't. This is my point. I might be wrong or am missing something as I am still new to this tool. Joakim > > -- > Best regards, > > Ruslan Zasukhin > VP Engineering and New Technology > Paradigma Software, Inc > > Valentina - Joining Worlds of Information http://www.paradigmasoft.com > > [I feel the need: the need for speed] > > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina > From sunshine at public.kherson.ua Wed May 10 11:55:32 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed May 10 03:55:37 2006 Subject: BitSets and ArraySets important note! Message-ID: Hi Joakim, VERY IMPORTANT note which is mentioned in docs * when some function FindXXXXX( ..., set ) expect set it is expect BitSet usually. you CANNOT send here ArraySet because then result is simple ZERO. THIS IS known issue which should be improved on kernel level.. * [TIP] use in names of variables BitSet and ArraySet bitsSearchRes arrsSearchRes -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From sunshine at public.kherson.ua Wed May 10 12:03:49 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed May 10 04:03:53 2006 Subject: FindLinked and FindLinkedAsBitSet inconsistency In-Reply-To: <20060510084719.413185C421A@merc.astrocalc.net> Message-ID: On 5/10/06 11:54 AM, "Joakim Schramm" wrote: > Why? > > FindLinked() - Returns ArraySet It will find NOT MANY records usually, e.g. 1-50 from million table > FindAllLinked - Returns BitSet Because it will find A LOTS of records, e..g 900,000 from million table. This is why. -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From joakim at astrocalc.com Wed May 10 11:12:57 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Wed May 10 04:12:53 2006 Subject: BitSets and ArraySets important note! In-Reply-To: Message-ID: <20060510090613.4BA32799664@merc.astrocalc.net> > -----Original Message----- > From: > valentina-bounces+joakim=astrocalc.com@lists.macserve.net > [mailto:valentina-bounces+joakim=astrocalc.com@lists.macserve. net] On Behalf Of Ruslan Zasukhin > Sent: 10 May 2006 10:56 > To: valentina@lists.macserve.net > Subject: BitSets and ArraySets important note! > > Hi Joakim, > > VERY IMPORTANT note which is mentioned in docs > Can you tell me were this is said? The docs is huge mass of text so I may have missed it but I have read these parts many times, maybe too many times to see anything! > * when some function FindXXXXX( ..., set ) > expect set it is expect BitSet usually. > > you CANNOT send here ArraySet because then result is simple ZERO. > > THIS IS known issue which should be improved on kernel level.. > Well this stress further WHY I need FindLinkedAsBitSet in same style as FindLinked. I can't search further in the linked set if I not get a bitset. As for FindValueArraySet not being a bug it must in such case be it "demands" a bitset in the InSet as Vset, but I haven't been able to test as I can't get one from my linked records, only all linked records in tables and then I can just not set in inSet argument as all, getting same result. > > * [TIP] use in names of variables BitSet and ArraySet > > bitsSearchRes > > arrsSearchRes > Yes this may be a good point, guess I am just a bit lazy, especially when it's small functions with local vars. In VB it's also easy to just right click the var to see its type. Joakim > -- > Best regards, > > Ruslan Zasukhin > VP Engineering and New Technology > Paradigma Software, Inc > > Valentina - Joining Worlds of Information http://www.paradigmasoft.com > > [I feel the need: the need for speed] > > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina > From sunshine at public.kherson.ua Wed May 10 12:16:03 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed May 10 04:16:08 2006 Subject: FindLinked and FindLinkedAsBitSet inconsistency In-Reply-To: <20060510084719.413185C421A@merc.astrocalc.net> Message-ID: On 5/10/06 11:54 AM, "Joakim Schramm" wrote: > Why? > > FindLinked() - Returns ArraySet > FindAllLinked - Returns BitSet > > Look at this part in my code > If mCountryID <> 0 Then > Set Col = mLink.FindLinked(mCountryID, tCountry, tPlaces) > Else > Set Col = mLink.FindAllLinked(tCountry, tPlaces) > End If Must be as: again!! Use normal names for variables!!! you are not in CIA, yes? :-) If mCountryID <> 0 Then arrsLinkedPlaces = mLink.FindLinked(mCountryID, tCountry, tPlaces) bitsLinkedPlaces = VBitSet bitsLinkedPlaces.InitWithArray( arrsLinkedPlaces ) arrsLinkedPlaces = nil Else bitsLinkedPlaces = mLink.FindAllLinked(tCountry, tPlaces) End If Yes at least to get comforting codding we need add something like If mCountryID <> 0 Then bitsLinkedPlaces = mLink.FindLinkedAsBitSet(mCountryID, tCountry, tPlaces) Else bitsLinkedPlaces = mLink.FindAllLinked(tCountry, tPlaces) End If > I search places in either 1 or all countries and I want result in same > object for later processing. Now I have use a Vset object (Col) to obtain > this. If in next step I need an Array object I need to make a (unnecessary) > conversion and it complicates my code. Ok I know, I can leave Col as nil > just, but this may not always be convinient. > > I here process further, all these Find functions returns BitSet, except 2 > being alternative. My point is the mix of ArraySet and BitSet for returned > result makes theres functions harder and more complex to use together. It > forces me to write extra, unnecessary I think, code. > > If ExactSearch <> 0 Then > Set Res = fPlace.FindValueAsArraySet(PlaceName, Col) > Else > Set Res = fPlace.FindContains(PlaceName, Col) > End If > > If there was ArraySet and BitSet alternatives for them all it is fine, but > now it isn't. > > This is my point. I might be wrong or am missing something as I am still new > to this tool. -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From sunshine at public.kherson.ua Wed May 10 12:26:51 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed May 10 04:26:55 2006 Subject: [NEW] FindLinked and FindLinkedAsBitSet inconsistency In-Reply-To: <20060510081457.37A3F799664@merc.astrocalc.net> Message-ID: On 5/10/06 11:21 AM, "Joakim Schramm" wrote: We have to think here, we will improve right now FindLinkedAsBitSet() to allow accept RecID as first parameter. About 60 minutes to upload new VCOM beta > This is all VCOM > > I find the functions FindLinked and FindLinkedAsBitSet functions to be > inconsistent. The names imply they do the same thing but that's not really > true. > > FindLinked returns VArraySet based on parameters RecID as Integer , TableA > as IVTable, TableBas IVTable > > FindLinkedAsBitSet returns VBitSet (fine so far) BUT based in parameters > inSet as IVSet, TableA as IVTable, TableBas IVTable - with the current > naming I expect first parameter to be RecID as Integer as well, which the > other link functions do returning as set (if not apply to whole tables). > > Now FindLinkedAsBitSet rather looks like a type of "convertion" function to > me, and honestly I am not really sure how this is supposed to work as the > Example is for FindLinked > > Set res = Link.FindLinked( rec, TblA, TblB ) -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From joakim at astrocalc.com Wed May 10 11:35:10 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Wed May 10 04:35:07 2006 Subject: FindLinked and FindLinkedAsBitSet inconsistency In-Reply-To: Message-ID: <20060510092826.5C2EB799664@merc.astrocalc.net> > -----Original Message----- > From: valentina-bounces@lists.macserve.net > [mailto:valentina-bounces@lists.macserve.net] On Behalf Of > Ruslan Zasukhin > Sent: 10 May 2006 11:04 > To: valentina@lists.macserve.net > Subject: Re: FindLinked and FindLinkedAsBitSet inconsistency > > On 5/10/06 11:54 AM, "Joakim Schramm" wrote: > > > Why? > > > > FindLinked() - Returns ArraySet > > It will find NOT MANY records usually, e.g. 1-50 from million table > > > FindAllLinked - Returns BitSet > > Because it will find A LOTS of records, e..g 900,000 from > million table. > > This is why. > Yes I can understand that point, but it's still inconcistent, especially if I can't pass an ArraySet to inSet as Vset to narrow further searches - don't you agree? I will try to show you again, I have tried to make this function work 100% but it seem imposible. This version is a bit changed as it's another try to make it work. All comments below is my explaination of the problem, to make it clear in place. Function SearchPlace(ByVal PlaceName As String, ByVal ExactSearch As Long) As Long Dim Col As VSet Dim Res As VBitSet Dim FirstRec As Long Dim cnt As Long Dim mLink As VLink Set mLink = mAtlasDB.Link(lnkCountryHasPlaces) 'I want to get all linked records from 1 country, to search for a place 'I need to set Col to either VArraySet or VSet, VBitSet doesn't work 'If I want places from all countries I just leave Col as nil. If mCountryID <> 0 Then Set Col = mLink.FindLinked(mCountryID, tCountry, tPlaces) End If 'Based on the returned set of records, I like to do either an Exact OR Partial search 'I must have Res as VBitSet here as all String functions only return BitSet 'Problem is just that If NOT Col Is Nothing Then FindValue will return nil, probably because Col is NOT VBitSet 'If Col Is Nothing Then FindValue will return records, althoug Col not is VBitSet If ExactSearch <> 0 Then Set Res = fPlace.FindValue(PlaceName, Col) Else Set Res = fPlace.FindContains(PlaceName, Col) End If 'If I change above so Res is Varray or VSet, and use FindValueAsArraySet 'records are returned, but Col is not honored. It returns as if it was nil. 'Find Contains will error if Res is Varray. 'The rest is just further processing, not relevant here. Set ResSearch = Res If Not ResSearch Is Nothing Then cnt = ResSearch.Count Set ItrSearch = ResSearch.MakeNewIterator FirstRec = ItrSearch.FirstItem uCurrPlace = GetPlaceUDT(FirstRec) End If SearchPlace = cnt End Function Joakim > -- > Best regards, > > Ruslan Zasukhin > VP Engineering and New Technology > Paradigma Software, Inc > > Valentina - Joining Worlds of Information http://www.paradigmasoft.com > > [I feel the need: the need for speed] > > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina > From joakim at astrocalc.com Wed May 10 11:40:53 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Wed May 10 04:40:49 2006 Subject: [NEW] FindLinked and FindLinkedAsBitSet inconsistency In-Reply-To: Message-ID: <20060510093409.CF458799664@merc.astrocalc.net> > -----Original Message----- > From: valentina-bounces@lists.macserve.net > [mailto:valentina-bounces@lists.macserve.net] On Behalf Of > Ruslan Zasukhin > Sent: 10 May 2006 11:27 > To: valentina@lists.macserve.net > Subject: Re: [NEW] FindLinked and FindLinkedAsBitSet inconsistency > > On 5/10/06 11:21 AM, "Joakim Schramm" wrote: > > We have to think here, we will improve right now FindLinkedAsBitSet() > to allow accept RecID as first parameter. > > About 60 minutes to upload new VCOM beta > Ok sounds good. And sorry for sending yet another example with CIA vars :-) I will change this further on. Let me know when beta is available, I also want to test if inSet now honor the NOT NIL set passed. Puh I just realiase I haven't had coffee yet today due to all this emailing, so time for coffee break. Joakim > > This is all VCOM > > > > I find the functions FindLinked and FindLinkedAsBitSet > functions to be > > inconsistent. The names imply they do the same thing but that's not > > really true. > > > > FindLinked returns VArraySet based on parameters RecID as Integer , > > TableA as IVTable, TableBas IVTable > > > > FindLinkedAsBitSet returns VBitSet (fine so far) BUT based in > > parameters inSet as IVSet, TableA as IVTable, TableBas > IVTable - with > > the current naming I expect first parameter to be RecID as > Integer as > > well, which the other link functions do returning as set > (if not apply to whole tables). > > > > Now FindLinkedAsBitSet rather looks like a type of "convertion" > > function to me, and honestly I am not really sure how this > is supposed > > to work as the Example is for FindLinked > > > > Set res = Link.FindLinked( rec, TblA, TblB ) > > -- > Best regards, > > Ruslan Zasukhin > VP Engineering and New Technology > Paradigma Software, Inc > > Valentina - Joining Worlds of Information http://www.paradigmasoft.com > > [I feel the need: the need for speed] > > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina > From sunshine at public.kherson.ua Wed May 10 14:20:47 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed May 10 06:20:56 2006 Subject: [ANN] VCOM 2.4 b5 uploaded Message-ID: http://paradigmasoft.com/en/products/download/beta/VCOM VCOM - 2.4 b5 ============= - 0001595: [API] VTable.CreateVarChar() in fact have create String field. (Kirill) - 0001594: [Links] [NEW] VLink.FindLinkedAsBitSet() now can accept RecID in first param (Kirill) VCOM - 2.4 b3 ============= - 0001572: [API] [NEW] Methods VLink2.LinkRecords and VLink2.UnlinkRecords (Kirill) -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From fitzbew at nc.rr.com Wed May 10 07:53:03 2006 From: fitzbew at nc.rr.com (Russ Tyndall) Date: Wed May 10 06:53:15 2006 Subject: [VSERVER/V4RB] - Vserver on X.4.6, V4RB 2.3 Client Connection In-Reply-To: Message-ID: On 5/8/06 12:46 PM, "Russ Tyndall" wrote: > Is anyone using Vserver 2.3 on X.4.6 with RB 2006 clients from XP > successfully? Updating tables with a mixture of varchar and text fields? I > guess it would give me peace of mind to know that this *can* work, and that > I am suffering from some local issue. Surprisingly (perhaps only to me), I never got any response to this question. Public or private. For the time being, I've abandoned trying to get V4RB Win32 to work with Vserver on Mac OS X. I noticed a recent email: **** VCOM - 2.4 b5 ============= - 0001595: [API] VTable.CreateVarChar() in fact have create String field. (Kirill) **** Could this bug have something to do with my problem? I know we are talking about two different products (V4RB vs. VCOM), but if this was in the kernel, wouldn't it affect everything that uses the kernel? -- Russ Tyndall Wake Forest, NC From sunshine at public.kherson.ua Wed May 10 15:12:33 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed May 10 07:12:41 2006 Subject: [DOCS] VCOM_2_Reference.pdf updated Message-ID: Fixed FindLinkedAsBitSet Also reflect new change to VARIANT in FindLinkedAsBitSet -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From fitzbew at nc.rr.com Wed May 10 08:14:21 2006 From: fitzbew at nc.rr.com (Russ Tyndall) Date: Wed May 10 07:14:28 2006 Subject: [V4RB, Vserver 2.3, OS X] - Crash on Vcursor.DeleteRecord() Message-ID: Using V4RB 2.3b10 and Vserver 2.3, both on Mac OS X.4.6: I'm getting this crash about one time out of five-ten times or so I call Vcursor.deleterecord(). The whole application crashes into Crash Reporter. Vserver subsequently logs a message saying that the cursor was not destroyed, so Vserver is destroying it. The record being deleted when the crash occurs *is* successfully deleted (gone from the db). My code also checks to make sure V4RB believes that the cursor is writeable and contains a record, is not Nil, etc.. All the crash logs look mostly identical, at least the top 15-20 lines. PID: 225 Thread: 0 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_INVALID_ADDRESS (0x0001) at 0x000c2000 Thread 0 Crashed: 0 MSL_All_Carbon.Shlb 0x0456a568 0x4555000 + 87400 1 vshared_carbon_cw.shlb 0x04604358 put_String__Q23fbl15Value_text_nullFPCcPCcPQ23fbl11I_Converter + 84 2 vshared_carbon_cw.shlb 0x04600104 put_String__Q23fbl12Value_stringFPCcPCc + 28 3 vclient_carbon_cw.shlb 0x04c3d4c4 0x4c19000 + 148676 4 vclient_carbon_cw.shlb 0x04c43c28 0x4c19000 + 175144 5 vclient_carbon_cw.shlb 0x04c42c30 0x4c19000 + 171056 6 vclient_carbon_cw.shlb 0x04c2846c 0x4c19000 + 62572 7 Plugin 0x044f3ae0 Cursor_DeleteRecord__FP16REALobjectStruct + 220 8 main 0x0050d694 0x405000 + 1083028 9 main 0x004557a0 0x405000 + 329632 10 0x01075dcc 0x1008000 + 449996 11 0x010e4378 0x1008000 + 902008 12 0x010e13cc 0x1008000 + 889804 13 0x010e197c 0x1008000 + 891260 14 0x011a8408 0x1008000 + 1704968 15 0x011a7494 0x1008000 + 1701012 16 0x011a68b8 0x1008000 + 1697976 17 com.apple.HIToolbox 0x9321d794 DispatchEventToHandlers(EventTargetRec*, OpaqueEventRef*, HandlerCallRec*) + 692 18 com.apple.HIToolbox 0x9321ceec SendEventToEventTargetInternal(OpaqueEventRef*, OpaqueEventTargetRef*, HandlerCallRec*) + 372 19 com.apple.HIToolbox 0x93223c8c SendEventToEventTarget + 40 20 com.apple.HIToolbox 0x93331cf8 HandleTextInputEvent(OpaqueEventRef*) + 56 -- Russ Tyndall Wake Forest, NC From sunshine at public.kherson.ua Wed May 10 15:15:03 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed May 10 07:15:08 2006 Subject: [VSERVER/V4RB] - Vserver on X.4.6, V4RB 2.3 Client Connection In-Reply-To: Message-ID: On 5/10/06 2:53 PM, "Russ Tyndall" wrote: >> Is anyone using Vserver 2.3 on X.4.6 with RB 2006 clients from XP >> successfully? Updating tables with a mixture of varchar and text fields? I >> guess it would give me peace of mind to know that this *can* work, and that >> I am suffering from some local issue. > > Surprisingly (perhaps only to me), I never got any response to this > question. Public or private. It looks RB developers mostly work on MAC. Even in non-server configuration. Russ, I keep this on hold, because we except in nearest days to get new Vclient. Then we will make new betas, and make sure that issue you mention work ther. > For the time being, I've abandoned trying to get V4RB Win32 to work with > Vserver on Mac OS X. > > I noticed a recent email: > > **** > > VCOM - 2.4 b5 > ============= > - 0001595: [API] VTable.CreateVarChar() in fact have create String field. > (Kirill) > > **** > > Could this bug have something to do with my problem? I know we are talking > about two different products (V4RB vs. VCOM), but if this was in the kernel, > wouldn't it affect everything that uses the kernel? But this is VCOM, you use V4RB -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From fitzbew at nc.rr.com Wed May 10 08:27:38 2006 From: fitzbew at nc.rr.com (Russ Tyndall) Date: Wed May 10 07:27:43 2006 Subject: [VSERVER/V4RB] - Vserver on X.4.6, V4RB 2.3 Client Connection In-Reply-To: Message-ID: On 5/10/06 8:15 AM, "Ruslan Zasukhin" wrote: >> VCOM - 2.4 b5 >> ============= >> - 0001595: [API] VTable.CreateVarChar() in fact have create String field. >> (Kirill) >> >> **** >> >> Could this bug have something to do with my problem? I know we are talking >> about two different products (V4RB vs. VCOM), but if this was in the kernel, >> wouldn't it affect everything that uses the kernel? > > But this is VCOM, you use V4RB Yes, I was just wishful thinking. These different Valentina products share some code, correct? It may not be the case this time, but isn't it possible for some glitch in Valentina to be shared in all products? Of course, I am mainly just being curious here, there is no practical reason for me to understand this --- even if I was able! -- Russ Tyndall Wake Forest, NC From sunshine at public.kherson.ua Wed May 10 16:11:11 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed May 10 08:11:18 2006 Subject: [VSERVER/V4RB] - Vserver on X.4.6, V4RB 2.3 Client Connection In-Reply-To: Message-ID: On 5/10/06 3:27 PM, "Russ Tyndall" wrote: >>> VCOM - 2.4 b5 >>> ============= >>> - 0001595: [API] VTable.CreateVarChar() in fact have create String field. >>> (Kirill) >>> >>> **** >>> >>> Could this bug have something to do with my problem? I know we are talking >>> about two different products (V4RB vs. VCOM), but if this was in the kernel, >>> wouldn't it affect everything that uses the kernel? >> >> But this is VCOM, you use V4RB > > Yes, I was just wishful thinking. > > These different Valentina products share some code, correct? It may not be > the case this time, but isn't it possible for some glitch in Valentina to be > shared in all products? If bug is fixed in SHARD code, then we put it into [KERNEL] > Of course, I am mainly just being curious here, there is no practical reason > for me to understand this --- even if I was able! -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From sunshine at public.kherson.ua Wed May 10 16:20:22 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed May 10 08:20:28 2006 Subject: [NEW FAQ] about how to choose project when report bug Message-ID: http://www.valentina-db.com/dokuwiki/doku.php?id=paradigma:public:en:documen tation:vgeneral:faqs:faqs -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From fitzbew at nc.rr.com Wed May 10 11:33:32 2006 From: fitzbew at nc.rr.com (Russ Tyndall) Date: Wed May 10 10:33:39 2006 Subject: [NEW FAQ] about how to choose project when report bug In-Reply-To: Message-ID: On 5/10/06 9:20 AM, "Ruslan Zasukhin" wrote: > > http://www.valentina-db.com/dokuwiki/doku.php?id=paradigma:public:en:documen > tation:vgeneral:faqs:faqs Ruslan, Great information. I believe all mine are classified correctly except for: 0001487 2.x DB Open for 200mb DB File Takes Unusually Long I put this in V4RB but since it happens with Vstudio also, it should be kernel. Can you change it? (I don't believe I can.) By the way, it is a good time to remind users that they should *always* make an entry in Mantis for bugs, etc.. EVEN if Paradigma staff were instrumental in verifying the problem. I have had to learn this lesson more than once -- but that's my problem. I would love to have a better understanding of how Paradigma prioritizes items. I have sometimes found myself reluctant to file a report because I'm afraid it might delay fixing other reports I have made, which are more important to me. I imagine that with so many products, prioritization of such items must be extremely difficult. -- Russ Tyndall Wake Forest, NC From joakim at astrocalc.com Wed May 10 17:44:37 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Wed May 10 10:44:38 2006 Subject: FindValue does not return nil when no record found Message-ID: <20060510153753.B388677F400@merc.astrocalc.net> The code Set objVset = f1.FindValue(lngVar) If no record is found give result objVset Is Nothing Well it actually leave it as Nothing The code Set objVset = f1.FindValue(lngVar, objVset2) If no record is found give result objVset Not Is Nothing I guess it, technically speaking, returns an empty set, initialing the object to not be nil. This is inconsistent and makes it impossible to test the state of the object in a proper way. It should in my opinion return nil (Nothing in VB). I think the same thing is true with FindValueAsArraySet() Joakim From cbpelto at pcisys.net Wed May 10 09:56:30 2006 From: cbpelto at pcisys.net (Chuck Pelto) Date: Wed May 10 10:56:38 2006 Subject: VarCharField Limitation of 5000? In-Reply-To: References: Message-ID: <5AD47D3E-F1AC-4FF9-9C9F-EE432D19ED00@pcisys.net> Morning Ruslan, On May 9, 2006, at 4:39 PM, Ruslan Zasukhin wrote: >> Page 113 of the document I'm looking at, indicates 65K bytes. >> >> What am I not understanding here? > > What document? This should be fixed. This is in the V4RB_Reference_2_en.pdf, created 2/2/06. Paradigma Software Inc. www.paradigmasoft.com ? 1998 - 2006 Check page 113.... Properties Description MaxLength as Integer The Maximum length of a field can be in the range of values 1 .. 65535 bytes. It can be applied to VString, VVarChar, VFixedBinary, VVarBinary fields. > In 2.3 we have set limit to 4K for VarChar > >> What is the text storage item that will store 65K bytes? What is the >> call to establish it in an API-way database table? > > TEXT I'll look at it. Thank. Regards, Chuck Pelto From sunshine at public.kherson.ua Wed May 10 19:32:29 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed May 10 11:32:36 2006 Subject: VarCharField Limitation of 5000? In-Reply-To: <5AD47D3E-F1AC-4FF9-9C9F-EE432D19ED00@pcisys.net> Message-ID: On 5/10/06 6:56 PM, "Chuck Pelto" wrote: >> What document? This should be fixed. > > This is in the V4RB_Reference_2_en.pdf, created 2/2/06. Paradigma > Software Inc. www.paradigmasoft.com ? 1998 - 2006 > > Check page 113.... If this is latest then should be fixed. In Kenel.pdf and wiki it is fixed I thik. > Properties Description > MaxLength as Integer > The Maximum length of a field can be in the range of values 1 .. > 65535 bytes. It can be applied to VString, VVarChar, VFixedBinary, > VVarBinary fields. -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From sunshine at public.kherson.ua Wed May 10 19:41:27 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed May 10 11:41:34 2006 Subject: [NEW FAQ] about how to choose project when report bug In-Reply-To: Message-ID: On 5/10/06 6:33 PM, "Russ Tyndall" wrote: >> http://www.valentina-db.com/dokuwiki/doku.php?id=paradigma:public:en:documen >> tation:vgeneral:faqs:faqs > > Ruslan, > > Great information. I believe all mine are classified correctly except for: > > 0001487 2.x DB Open for 200mb DB File Takes Unusually Long > > I put this in V4RB but since it happens with Vstudio also, it should be > kernel. Can you change it? (I don't believe I can.) Yes we will move it KERNEL > By the way, it is a good time to remind users that they should *always* make > an entry in Mantis for bugs, etc.. EVEN if Paradigma staff were instrumental > in verifying the problem. I have had to learn this lesson more than once -- > but that's my problem. right > I would love to have a better understanding of how Paradigma prioritizes > items. I have sometimes found myself reluctant to file a report because I'm > afraid it might delay fixing other reports I have made, which are more > important to me. > I imagine that with so many products, prioritization of such items must be > extremely difficult. There is no exact rule how we set priority. Many factors: * how good bug is explained * how good and easy to reproduce bug is and project is. * how hard to fix bug. * how important we consider a client. VDN users and VServer users we try pay more attention. * if this bug is crash or simple glitch * if this bug is ADK or kernel * estimate how many people it can affect * how good bugs fit into the current stream of work for example, I DO NOT try now profile your bug Russ on speed, although this is fastest way to find where is problem. But I have decide implement EXPLAIN feature, to give powerful tool into hands of all us. But if you will start complain and say - "tomorrow my deadline", then I will go by faster way.. So a lots of factors :-) --- I will add this into FAQs also now :-) -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From ruslan at paradigmasoft.com Wed May 10 20:39:08 2006 From: ruslan at paradigmasoft.com (Ruslan Zasukhin) Date: Wed May 10 12:40:05 2006 Subject: [FAQ] Valentina Server requirements In-Reply-To: <005301c6744f$3caeb9c0$8408fa0a@lexia.int> Message-ID: On 5/10/06 7:31 PM, "Debby Gillespie" wrote: > This is the RAM size that is in the ini file. How much RAM should the > Computer have? Modern computers have much more RAM than needed > Does the Valentina server only use 20mb of RAM? No, this is CACHE only. Also Valentina uses RAM for BitSets and ArraySets. E.g. Million records bitSet this is 128K Million records ArraySet - this is 4Mb So what is average size of your dbs? What is MAXIMAL size of your dbs? This info can give you WORSE CASE of RAM usage. > I thought I > saw that the computer should have 1G of RAM for 1-250 concurrent users. > Does this sound familiar? Debby I think I have remove that info. Somebody else have add it before You see. You cannot count on users !!! One user can touch one record only per query. Other user can touch 10 millions records. You see? > -----Original Message----- > From: Ruslan Zasukhin [mailto:ruslan@paradigmasoft.com] > Sent: Wednesday, May 10, 2006 12:24 PM > To: debby@lexialearning.com > Subject: Re: Valentina Server requirements > > > On 5/10/06 6:56 PM, "Debby Gillespie" wrote: > > Hi Debby, > > Recommendation is simple: > > Since you use 1.x cache size should be 10-20MB > No need set it bigger. -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From sunshine at public.kherson.ua Wed May 10 20:42:35 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed May 10 12:42:43 2006 Subject: [ANN] Valentina for Cocoa 2.4 b1 uploaded In-Reply-To: Message-ID: On 5/10/06 6:49 PM, "Matthew Jew" wrote: >> Mathew try C++ SDK on G5 PPC >> > > I am familiar with using the C++ SDK, but am very much interested in > using the Cocoa version. > > Aside from the compiling issues, is there a significant advantage in > using one over the other? Cocoa - is wrapper. So it expose only subset. But this subset give complete logical model. It is correct to assume that Cocoa will give you faster way to develop App. But e.g. C++ give you cross-platform way. -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From fitzbew at nc.rr.com Wed May 10 15:36:15 2006 From: fitzbew at nc.rr.com (Russ Tyndall) Date: Wed May 10 14:36:21 2006 Subject: [NEW FAQ] about how to choose project when report bug In-Reply-To: Message-ID: On 5/10/06 12:41 PM, "Ruslan Zasukhin" wrote: > On 5/10/06 6:33 PM, "Russ Tyndall" wrote: > >>> http://www.valentina-db.com/dokuwiki/doku.php?id=paradigma:public:en:documen >>> tation:vgeneral:faqs:faqs >> >> Ruslan, >> >> Great information. I believe all mine are classified correctly except for: >> >> 0001487 2.x DB Open for 200mb DB File Takes Unusually Long >> >> I put this in V4RB but since it happens with Vstudio also, it should be >> kernel. Can you change it? (I don't believe I can.) > > Yes we will move it KERNEL > >> By the way, it is a good time to remind users that they should *always* make >> an entry in Mantis for bugs, etc.. EVEN if Paradigma staff were instrumental >> in verifying the problem. I have had to learn this lesson more than once -- >> but that's my problem. > > right > >> I would love to have a better understanding of how Paradigma prioritizes >> items. I have sometimes found myself reluctant to file a report because I'm >> afraid it might delay fixing other reports I have made, which are more >> important to me. > >> I imagine that with so many products, prioritization of such items must be >> extremely difficult. > > There is no exact rule how we set priority. > Many factors: > > * how good bug is explained > > * how good and easy to reproduce bug is and project is. > > * how hard to fix bug. > > * how important we consider a client. > VDN users and VServer users we try pay more attention. > > * if this bug is crash or simple glitch > > * if this bug is ADK or kernel > > * estimate how many people it can affect > > * how good bugs fit into the current stream of work > I believe most developers would agree these are sensible and prudent. > for example, I DO NOT try now profile your bug Russ on speed, > although this is fastest way to find where is problem. > I am not too worried about it; I have only had a few complaints. My real fear is that folks have been seeing this problem in my software all along and have *not* been complaining --- just deciding that it is lousily designed software and they never use it again. But even you and I had not noticed this problem, so perhaps it is not causing that much pain. Besides, my deployed app is still using 1.x, and the problem is not as noticeable (it only takes about 20 secs to open my DB in 1.x, instead of the 40 seconds to open the converted DB in 2.x). > But I have decide implement EXPLAIN feature, to give powerful > tool into hands of all us. > Yes, we will all benefit from this. > But if you will start complain and say - "tomorrow my deadline", > then I will go by faster way.. > Complain? If I was facing such a deadline, we would work out some business arrangement. In this case, it makes more sense financially to simply delay migrating to 2.x. I believe (now that you are aware of it) that you will not tolerate this slow-opening problem very long; that is where I am placing my bets. :-) -- Russ Tyndall Wake Forest, NC From ernestogiannotta at tiscalinet.it Thu May 11 00:11:14 2006 From: ernestogiannotta at tiscalinet.it (Erne) Date: Wed May 10 17:11:24 2006 Subject: [V4RB] Clone method error In-Reply-To: References: Message-ID: <68570D64-2BEB-4B4A-83B4-FEC0AE56EEE3@tiscalinet.it> Hi Ruslan, On 8-mag-06, at 10:56, Ruslan Zasukhin wrote: > On 5/7/06 2:23 PM, "Erne" wrote: > > Hi Erne, > >> trying to execute the DB.Clone(newFile) method I get a VException >> with this message: >> >> Field name "_TMP_PTR_FIELD_VALENTINA249" is not unique. >> >> (using V4RB 2.3) >> >> Should I tell it to Mantis? > > Yes and include db compressed. > It seems in your case even .vdb enough. > at last I've managed to set up an example, here's the report details: Summary 0001596: [V4RB] Clone method error Description trying to execute the DB.Clone(newFile) method I get a VException with this message: Field name "_TMP_PTR_FIELD_VALENTINA249" is not unique. Steps To Reproduce run the attached project (Just couldn't reproduce it in the standard clone example) Additional Information Trying to reproduce it in the standard Clone example I was not able to do it but have found a raliable way to get a crash: Build a Cursor that joins 2 tables Execute the DB.Clone method <- CRASH! Reported as 0001597 Cool Runnings, Erne. / |\ |\ | / ? |/ | \ | ? \ |\ | \| \ From joakim at astrocalc.com Thu May 11 01:14:11 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Wed May 10 18:14:11 2006 Subject: FindValue does not return nil when no record found In-Reply-To: <20060510153753.B388677F400@merc.astrocalc.net> Message-ID: <20060510230726.A4C8977F5A3@merc.astrocalc.net> I don't get this! I have tried to create a simple project reproducing this - but cannot. Still I get result as below in my code for real app, and it drives me crazy! Can devs tell if there is anything that possibly can effect this? My code is rather simple and I can't for my life understand what causing this. Dim lnk As VLink Dim bitPlaces As VBitSet Dim bitLatPlaces As VBitSet Dim bitLngPlaces As VBitSet 'set the link Set lnk = mAtlasDB.Link(lnkCountryHasPlaces) 'Now get all linked places for this specific country 'and put in VBitSet object. Rec is passed Long and has RecID for tCountry 'tCountry and tPlaces declared in module level Set bitPlaces = lnk.FindLinkedAsBitSet(Rec, tCountry, tPlaces) 'bitPlaces should have a subset of places from tPlaces table, and have. 'we want to search in bitPlaces set for the passed Long value Longitude 'and put result in bitLngPlaces 'fLangDeg is field of tPlaces, declared in module level Set bitLngPlaces = fLngDeg.FindValue(Longitude, bitPlaces) If bitLngPlaces Is Nothing Then I pass a value that with guaranty not exists in table, neither in field. Hence, bitLngPlaces is expected to Nothing (Nil), but it is not. If I remove bitPlaces so I have fLngDeg.FindValue(Longitude) I get Nothing as result. I try to reproduce this in simple test project, without success. I am stumped! Joakim > -----Original Message----- > From: valentina-bounces@lists.macserve.net > [mailto:valentina-bounces@lists.macserve.net] On Behalf Of > Joakim Schramm > Sent: 10 May 2006 17:45 > To: 'Valentina Developers' > Subject: FindValue does not return nil when no record found > > The code > > Set objVset = f1.FindValue(lngVar) > > If no record is found give result > > objVset Is Nothing > > Well it actually leave it as Nothing > > The code > > Set objVset = f1.FindValue(lngVar, objVset2) > > If no record is found give result > > objVset Not Is Nothing > > I guess it, technically speaking, returns an empty set, > initialing the object to not be nil. > > This is inconsistent and makes it impossible to test the > state of the object in a proper way. It should in my opinion > return nil (Nothing in VB). > > I think the same thing is true with FindValueAsArraySet() > > Joakim > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina > From bmurf at comcast.net Wed May 10 18:20:50 2006 From: bmurf at comcast.net (Brendan Murphy) Date: Wed May 10 18:20:56 2006 Subject: [ANN] VInstaller 1.0 Message-ID: VInstaller is a helper utility to simplify the creation of Mach-O applications for Mac OS X that use Valentina 2.x or later. When you create a Mach-O application with REALbasic, you need to insert the VComponents libraries into the application package after the build is complete. VInstaller makes this a one step process. Installing the VComponents folder is a very easy thing to do manually, but becomes a pain in the rear end since it is tedious to open up the application package and navigate to the ?Contents? folder and then copy the VComponents folder to that location. Also, if you are like me and you infrequently build a final application for distribution or testing, it is easy to accidently install the wrong VComponents folder (i.e., the one for carbon builds) and spend time trying to figure out why your application is crashing. VInstaller turns this into a one step ?no brainer? operation. System Requirements: Mac OS X 10.2 or later Price: VInstaller is free. Enjoy! http://www.truenorthsoftware.com/Realbasic/VInstaller.html From sunshine at public.kherson.ua Thu May 11 02:29:57 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed May 10 18:30:04 2006 Subject: FindValue does not return nil when no record found In-Reply-To: <20060510230726.A4C8977F5A3@merc.astrocalc.net> Message-ID: On 5/11/06 2:14 AM, "Joakim Schramm" wrote: > I pass a value that with guaranty not exists in table, neither in field. > Hence, bitLngPlaces is expected to Nothing (Nil), but it is not. Is it an empty set ? I assume yes. Kiril, this also should be polished in VCOM I am sure that in other ADKs we have clean up this issue already -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From joakim at astrocalc.com Thu May 11 01:37:06 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Wed May 10 18:37:01 2006 Subject: FindValue does not return nil when no record found In-Reply-To: Message-ID: <20060510233020.10B6877F56B@merc.astrocalc.net> > -----Original Message----- > From: valentina-bounces@lists.macserve.net > [mailto:valentina-bounces@lists.macserve.net] On Behalf Of > Ruslan Zasukhin > Sent: 11 May 2006 01:30 > To: valentina@lists.macserve.net; kirill_pekarov > Subject: Re: FindValue does not return nil when no record found > > On 5/11/06 2:14 AM, "Joakim Schramm" wrote: > > > I pass a value that with guaranty not exists in table, > neither in field. > > Hence, bitLngPlaces is expected to Nothing (Nil), but it is not. > > Is it an empty set ? > I assume yes. Yes, and Empty set. I can set it to a VSet and see .IsEmpty = True But that step isn't really wanted as it "clutter" the code. > > Kiril, this also should be polished in VCOM > > I am sure that in other ADKs we have clean up this issue already > So it's a known issue then I don't report it in Mantis? Can this fix be made available as soon as possible? I hope to release a new version of my app beginning of next week replacing my current database engine with Valentina. As far as I have noticed with new beta this is the only issue I can find. Joakim > > -- > Best regards, > > Ruslan Zasukhin > VP Engineering and New Technology > Paradigma Software, Inc > > Valentina - Joining Worlds of Information http://www.paradigmasoft.com > > [I feel the need: the need for speed] > > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina > From lfredricks at proactive-intl.com Wed May 10 18:10:47 2006 From: lfredricks at proactive-intl.com (Lynn Fredricks) Date: Thu May 11 01:16:37 2006 Subject: Valentina for Revolution 2.4b5 Brings RevDB Compatibility Message-ID: Valentina for Revolution 2.4b5 May 10th, 2006. Paradigma Software is updating Valentina for Revolution to increase compatibility with Revolution 2.x. This release includes the following features: * Support for RevDB. Now it is possible to use RevDB exactly like any other supported database (such as Valentina XCMD 1.11) * Installer for Revolution Stack. A new stack that eases installing Valentina 2.x. This removes the tedium of having to manually set up the external. * Test Project. A new test project which automates testing each feature of Valentina 2.x for Revolution. * RevDB API Bridge. Use the RevDB API yet still have access to direct calls to Valentina (to access the many advanced features of Valentina that cannot otherwise be exposed through query builder). * Explain Feature. A new kernel feature can optionally allow each SQL query to be written to a log to help diagnose and track the results of queries. Several other new features are in the works. If you already have a license for Valentina 2.x for Revolution, this is a free upgrade. Download from http://www.paradigmasoft.com. _______________________________________________ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution From sunshine at public.kherson.ua Thu May 11 09:50:12 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Thu May 11 01:50:20 2006 Subject: FW: Valentina for Revolution 2.4b5 Brings RevDB Compatibility In-Reply-To: <20060511011056.C4050111E28@spunkymail-a3.dreamhost.com> Message-ID: Valentina for Revolution 2.4b5 May 10th, 2006. Paradigma Software is updating Valentina for Revolution to increase compatibility with Revolution 2.x. This release includes the following features: * Support for RevDB. Now it is possible to use RevDB exactly like any other supported database (such as Valentina XCMD 1.11) * Installer for Revolution Stack. A new stack that eases installing Valentina 2.x. This removes the tedium of having to manually set up the external. * Test Project. A new test project which automates testing each feature of Valentina 2.x for Revolution. * RevDB API Bridge. Use the RevDB API yet still have access to direct calls to Valentina (to access the many advanced features of Valentina that cannot otherwise be exposed through query builder). * Explain Feature. A new kernel feature can optionally allow each SQL query to be written to a log to help diagnose and track the results of queries. Several other new features are in the works. If you already have a license for Valentina 2.x for Revolution, this is a free upgrade. Download from http://www.paradigmasoft.com. From kirill_pekarov at valentina-db.com Thu May 11 11:06:55 2006 From: kirill_pekarov at valentina-db.com (Kirill Pekarov) Date: Thu May 11 03:07:33 2006 Subject: FindValue does not return nil when no record found In-Reply-To: <20060510230726.A4C8977F5A3@merc.astrocalc.net> References: <20060510153753.B388677F400@merc.astrocalc.net> <20060510230726.A4C8977F5A3@merc.astrocalc.net> Message-ID: <38850165.20060511110655@valentina-db.com> Hi, Joakim. You wrote 11 ??? 2006 ?., 2:14:11: > I pass a value that with guaranty not exists in table, neither in field. > Hence, bitLngPlaces is expected to Nothing (Nil), but it is not. I can't reproduce. Could you send a project to me for reproducing? -- With best regards Kirill mailto:kirill_pekarov@valentina-db.com From joakim at astrocalc.com Thu May 11 11:55:19 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Thu May 11 04:55:33 2006 Subject: FindValue does not return nil when no record found In-Reply-To: <38850165.20060511110655@valentina-db.com> Message-ID: <20060511094846.21C1677F37C@merc.astrocalc.net> Hi Kirill, This is the problem, I can't reproduce it either when creating an example project, then it work as I think it should. Yet, in my production code this problem appear and I can't for my life see what possibly is different with the coding in my production code, compared to the example code - except there are much other code involved - but it doesn't involve this part. My only bet (hope) is that you can see in you Com/kernel code and "condition" that may result in return of an empty object set? This is what happen, FindValue return an empty object instead of nil/nothing. The only other thing I can think of is that there is something special in creation of my database file (or it's data) that causes this? This as well a pain to code around as I can't test for nothing, instead I have to cast the VBitSet object to a VSet object and test for .Count = 0 or .IsEmpty = True BUT if it some case, under some circumstanse will return Nothing then that test will case an exception. The strange thing is this: Set bitLngPlaces = fLngDeg.FindValue(Longitude, bitPlaces) ' Return Empty object if not found Set bitLngPlaces = fLngDeg.FindValue(Longitude) 'Return Nothing if not found Joakim > -----Original Message----- > From: > valentina-bounces+joakim=astrocalc.com@lists.macserve.net > [mailto:valentina-bounces+joakim=astrocalc.com@lists.macserve. > net] On Behalf Of Kirill Pekarov > Sent: 11 May 2006 10:07 > To: Valentina Developers > Subject: Re[2]: FindValue does not return nil when no record found > > Hi, Joakim. > > You wrote 11 ??? 2006 ?., 2:14:11: > > > I pass a value that with guaranty not exists in table, > neither in field. > > Hence, bitLngPlaces is expected to Nothing (Nil), but it is not. > > I can't reproduce. Could you send a project to me for reproducing? > > > -- > With best regards > Kirill > mailto:kirill_pekarov@valentina-db.com > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina > From sunshine at public.kherson.ua Thu May 11 14:50:29 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Thu May 11 06:50:38 2006 Subject: FindValue does not return nil when no record found In-Reply-To: <20060511094846.21C1677F37C@merc.astrocalc.net> Message-ID: On 5/11/06 12:55 PM, "Joakim Schramm" wrote: > This is the problem, I can't reproduce it either when creating an example > project, then it work as I think it should. Yet, in my production code this > problem appear and I can't for my life see what possibly is different with > the coding in my production code, compared to the example code - except > there are much other code involved - but it doesn't involve this part. My > only bet (hope) is that you can see in you Com/kernel code and "condition" > that may result in return of an empty object set? > > This is what happen, FindValue return an empty object instead of > nil/nothing. > > The only other thing I can think of is that there is something special in > creation of my database file (or it's data) that causes this? > > This as well a pain to code around as I can't test for nothing, instead I > have to cast the VBitSet object to a VSet object and test for .Count = 0 or > .IsEmpty = True BUT if it some case, under some circumstanse will return > Nothing then that test will case an exception. > > The strange thing is this: > > Set bitLngPlaces = fLngDeg.FindValue(Longitude, bitPlaces) ' Return Empty > object if not found > > Set bitLngPlaces = fLngDeg.FindValue(Longitude) 'Return Nothing if not found I see next ability. Confirm pleasE: bitPlaces = ... // it is not empty and not nil Set bitLngPlaces = fLngDeg.FindValue(Longitude, bitPlaces) // s2 = FindValue(Longitude) returns also non nil and not empty but intersection of bitPlaces AND s2 => gives empty set. Which you get. Do you see such picture? I think yes... -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From joakim at astrocalc.com Thu May 11 14:24:11 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Thu May 11 07:24:21 2006 Subject: FindValue does not return nil when no record found In-Reply-To: Message-ID: <20060511121738.1D48D7D769C@merc.astrocalc.net> > -----Original Message----- > From: valentina-bounces@lists.macserve.net > [mailto:valentina-bounces@lists.macserve.net] On Behalf Of > Ruslan Zasukhin > Sent: 11 May 2006 13:50 > To: valentina@lists.macserve.net > Subject: Re: Re[2]: FindValue does not return nil when no record found > > On 5/11/06 12:55 PM, "Joakim Schramm" wrote: > > > This is the problem, I can't reproduce it either when creating an > > example project, then it work as I think it should. Yet, in my > > production code this problem appear and I can't for my life > see what > > possibly is different with the coding in my production > code, compared > > to the example code - except there are much other code > involved - but > > it doesn't involve this part. My only bet (hope) is that > you can see in you Com/kernel code and "condition" > > that may result in return of an empty object set? > > > > This is what happen, FindValue return an empty object instead of > > nil/nothing. > > > > The only other thing I can think of is that there is > something special > > in creation of my database file (or it's data) that causes this? > > > > This as well a pain to code around as I can't test for nothing, > > instead I have to cast the VBitSet object to a VSet object and test > > for .Count = 0 or .IsEmpty = True BUT if it some case, under some > > circumstanse will return Nothing then that test will case > an exception. > > > > The strange thing is this: > > > > Set bitLngPlaces = fLngDeg.FindValue(Longitude, bitPlaces) ' Return > > Empty object if not found > > > > Set bitLngPlaces = fLngDeg.FindValue(Longitude) 'Return > Nothing if not > > found > > I see next ability. Confirm pleasE: > > bitPlaces = ... > > // it is not empty and not nil > > Set bitLngPlaces = fLngDeg.FindValue(Longitude, bitPlaces) > > // s2 = FindValue(Longitude) returns also non nil and > not empty > > > but intersection of bitPlaces AND s2 => gives empty set. > Which you get. > > Do you see such picture? > > I think yes... > You mean I search with var Longitude for a value that exists, first with bitPlaces as "limiter" and then with just Latitude, then make an intersection of the 2? I get .count = 664 (out of 5047) .IsEmpty = False Or have I missunderstood? Joakim > > -- > Best regards, > > Ruslan Zasukhin > VP Engineering and New Technology > Paradigma Software, Inc > > Valentina - Joining Worlds of Information http://www.paradigmasoft.com > > [I feel the need: the need for speed] > > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina > From joakim at astrocalc.com Thu May 11 14:33:47 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Thu May 11 07:33:55 2006 Subject: FindValue does not return nil when no record found In-Reply-To: Message-ID: <20060511122713.7F61E7D769C@merc.astrocalc.net> > > > > Set bitLngPlaces = fLngDeg.FindValue(Longitude) 'Return > Nothing if not > > found > > I see next ability. Confirm pleasE: > > bitPlaces = ... > > // it is not empty and not nil > > Set bitLngPlaces = fLngDeg.FindValue(Longitude, bitPlaces) > > // s2 = FindValue(Longitude) returns also non nil and > not empty > > > but intersection of bitPlaces AND s2 => gives empty set. > Which you get. > > Do you see such picture? > > I think yes... > I think I understand now, I search Set bitLngPlaces = fLngDeg.FindValue(Longitude, bitPlaces) Where Longitude not exists in bitPlaces and get empty set. I search Set bitLngPlaces = fLngDeg.FindValue(Longitude) Got hit in table filed outside of bitPlaces I do intersection and get empty set. Is this what you wanted to hear? Joakim > > -- > Best regards, > > Ruslan Zasukhin > VP Engineering and New Technology > Paradigma Software, Inc > > Valentina - Joining Worlds of Information http://www.paradigmasoft.com > > [I feel the need: the need for speed] > > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina > From joakim at astrocalc.com Thu May 11 14:41:33 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Thu May 11 07:41:45 2006 Subject: FindValue does not return nil when no record found In-Reply-To: Message-ID: <20060511123459.D468277F542@merc.astrocalc.net> I might have found something! I search for value that not exists in field of whole table, I get Nothing in return (with bitPlaces as inSet) I do same thing but for a value exists in table field but not in bitPlaces, I get Empty set in return. I think this is why example not reproduce, because I think logically and search for a value not in table! Joakim > -----Original Message----- > From: valentina-bounces@lists.macserve.net > [mailto:valentina-bounces@lists.macserve.net] On Behalf Of > Ruslan Zasukhin > Sent: 11 May 2006 13:50 > To: valentina@lists.macserve.net > Subject: Re: Re[2]: FindValue does not return nil when no record found > > On 5/11/06 12:55 PM, "Joakim Schramm" wrote: > > > This is the problem, I can't reproduce it either when creating an > > example project, then it work as I think it should. Yet, in my > > production code this problem appear and I can't for my life > see what > > possibly is different with the coding in my production > code, compared > > to the example code - except there are much other code > involved - but > > it doesn't involve this part. My only bet (hope) is that > you can see in you Com/kernel code and "condition" > > that may result in return of an empty object set? > > > > This is what happen, FindValue return an empty object instead of > > nil/nothing. > > > > The only other thing I can think of is that there is > something special > > in creation of my database file (or it's data) that causes this? > > > > This as well a pain to code around as I can't test for nothing, > > instead I have to cast the VBitSet object to a VSet object and test > > for .Count = 0 or .IsEmpty = True BUT if it some case, under some > > circumstanse will return Nothing then that test will case > an exception. > > > > The strange thing is this: > > > > Set bitLngPlaces = fLngDeg.FindValue(Longitude, bitPlaces) ' Return > > Empty object if not found > > > > Set bitLngPlaces = fLngDeg.FindValue(Longitude) 'Return > Nothing if not > > found > > I see next ability. Confirm pleasE: > > bitPlaces = ... > > // it is not empty and not nil > > Set bitLngPlaces = fLngDeg.FindValue(Longitude, bitPlaces) > > // s2 = FindValue(Longitude) returns also non nil and > not empty > > > but intersection of bitPlaces AND s2 => gives empty set. > Which you get. > > Do you see such picture? > > I think yes... > > > -- > Best regards, > > Ruslan Zasukhin > VP Engineering and New Technology > Paradigma Software, Inc > > Valentina - Joining Worlds of Information http://www.paradigmasoft.com > > [I feel the need: the need for speed] > > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina > From sunshine at public.kherson.ua Thu May 11 15:51:50 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Thu May 11 07:51:57 2006 Subject: FindValue does not return nil when no record found In-Reply-To: <20060511123459.D468277F542@merc.astrocalc.net> Message-ID: On 5/11/06 3:41 PM, "Joakim Schramm" wrote: > I might have found something! > > I search for value that not exists in field of whole table, I get Nothing in > return (with bitPlaces as inSet) > > I do same thing but for a value exists in table field but not in bitPlaces, > I get Empty set in return. > > I think this is why example not reproduce, because I think logically and > search for a value not in table! In any case I have fix that branch of code. Probably today later I will make new build, Testing for now all tests -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From joakim at astrocalc.com Thu May 11 14:58:58 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Thu May 11 07:59:07 2006 Subject: FindValue does not return nil when no record found In-Reply-To: Message-ID: <20060511125225.22207757656@merc.astrocalc.net> > -----Original Message----- > From: valentina-bounces@lists.macserve.net > [mailto:valentina-bounces@lists.macserve.net] On Behalf Of > Ruslan Zasukhin > Sent: 11 May 2006 14:52 > To: valentina@lists.macserve.net > Subject: Re: Re[2]: FindValue does not return nil when no record found > > On 5/11/06 3:41 PM, "Joakim Schramm" wrote: > > > I might have found something! > > > > I search for value that not exists in field of whole table, I get > > Nothing in return (with bitPlaces as inSet) > > > > I do same thing but for a value exists in table field but not in > > bitPlaces, I get Empty set in return. > > > > I think this is why example not reproduce, because I think > logically > > and search for a value not in table! > > In any case I have fix that branch of code. > > Probably today later I will make new build, Testing for now all tests > > OK sounds great! Joakim > -- > Best regards, > > Ruslan Zasukhin > VP Engineering and New Technology > Paradigma Software, Inc > > Valentina - Joining Worlds of Information http://www.paradigmasoft.com > > [I feel the need: the need for speed] > > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina > From joakim at astrocalc.com Fri May 12 10:30:21 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Fri May 12 03:30:27 2006 Subject: FindValue does not return nil when no record found In-Reply-To: Message-ID: <20060512082346.46CF67D76BD@merc.astrocalc.net> > -----Original Message----- > From: valentina-bounces@lists.macserve.net > [mailto:valentina-bounces@lists.macserve.net] On Behalf Of > Ruslan Zasukhin > Sent: 11 May 2006 14:52 > To: valentina@lists.macserve.net > Subject: Re: Re[2]: FindValue does not return nil when no record found > > > and search for a value not in table! > > In any case I have fix that branch of code. > > Probably today later I will make new build, Testing for now all tests > Hi Ruslan, Have you had time to make a new build? It's a show stopper to me right now as I must be able to test for Nothing in my routine or I will end up with all wrong values and errors. So would be really greatful if this will be available at least within a few hours. Btw, I have now made a deal with Lynn regarding VDN Win Foundation, but you maybe know. There was a bug on the line with my bank but it should be solved now. Joakim > > -- > Best regards, > > Ruslan Zasukhin > VP Engineering and New Technology > Paradigma Software, Inc > > Valentina - Joining Worlds of Information http://www.paradigmasoft.com > > [I feel the need: the need for speed] > > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina > From sunshine at public.kherson.ua Fri May 12 14:48:53 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri May 12 06:48:58 2006 Subject: FindValue does not return nil when no record found In-Reply-To: <20060512082346.46CF67D76BD@merc.astrocalc.net> Message-ID: On 5/12/06 11:30 AM, "Joakim Schramm" wrote: Hi Joakim, > Have you had time to make a new build? It's a show stopper to me right now > as I must be able to test for Nothing in my routine or I will end up with > all wrong values and errors. So would be really greatful if this will be > available at least within a few hours. Please subscribe to beta list b6 is on site uploaded -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From joakim at astrocalc.com Fri May 12 14:01:47 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Fri May 12 07:01:56 2006 Subject: FindValue does not return nil when no record found In-Reply-To: Message-ID: <20060512115513.A17807D769F@merc.astrocalc.net> > -----Original Message----- > From: valentina-bounces@lists.macserve.net > [mailto:valentina-bounces@lists.macserve.net] On Behalf Of > Ruslan Zasukhin > Sent: 12 May 2006 13:49 > To: valentina@lists.macserve.net > Subject: Re: Re[2]: FindValue does not return nil when no record found > > On 5/12/06 11:30 AM, "Joakim Schramm" wrote: > > Hi Joakim, > > > Have you had time to make a new build? It's a show stopper > to me right > > now as I must be able to test for Nothing in my routine or > I will end > > up with all wrong values and errors. So would be really greatful if > > this will be available at least within a few hours. > > Please subscribe to beta list > OK > b6 is on site uploaded > Thanks and it looks as it work ok now. Joakim > -- > Best regards, > > Ruslan Zasukhin > VP Engineering and New Technology > Paradigma Software, Inc > > Valentina - Joining Worlds of Information http://www.paradigmasoft.com > > [I feel the need: the need for speed] > > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina > From sunshine at public.kherson.ua Fri May 12 15:16:21 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri May 12 07:16:24 2006 Subject: FindValue does not return nil when no record found In-Reply-To: <20060512115513.A17807D769F@merc.astrocalc.net> Message-ID: On 5/12/06 3:01 PM, "Joakim Schramm" wrote: >> b6 is on site uploaded >> > Thanks and it looks as it work ok now. Good, Not remember, Mantis have report on this ? If yes let me know its number on beta list please. I will close it -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From joakim at astrocalc.com Fri May 12 14:22:45 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Fri May 12 07:22:52 2006 Subject: FindValue does not return nil when no record found In-Reply-To: Message-ID: <20060512121610.DA86F7F9E72@merc.astrocalc.net> > -----Original Message----- > From: valentina-bounces@lists.macserve.net > [mailto:valentina-bounces@lists.macserve.net] On Behalf Of > Ruslan Zasukhin > Sent: 12 May 2006 14:16 > To: valentina@lists.macserve.net > Subject: Re: Re[2]: FindValue does not return nil when no record found > > On 5/12/06 3:01 PM, "Joakim Schramm" wrote: > > >> b6 is on site uploaded > >> > > Thanks and it looks as it work ok now. > > Good, > > Not remember, Mantis have report on this ? > If yes let me know its number on beta list please. > I will close it > No I never added it as I got the impression it was an already known issue. Do you want me to add it for the records? Joakim > -- > Best regards, > > Ruslan Zasukhin > VP Engineering and New Technology > Paradigma Software, Inc > > Valentina - Joining Worlds of Information http://www.paradigmasoft.com > > [I feel the need: the need for speed] > > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina > From sunshine at public.kherson.ua Fri May 12 15:42:46 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri May 12 07:42:50 2006 Subject: FindValue does not return nil when no record found In-Reply-To: <20060512121610.DA86F7F9E72@merc.astrocalc.net> Message-ID: On 5/12/06 3:22 PM, "Joakim Schramm" wrote: >> Not remember, Mantis have report on this ? >> If yes let me know its number on beta list please. >> I will close it >> > No I never added it as I got the impression it was an already known issue. > Do you want me to add it for the records? I self -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From fitzbew at nc.rr.com Fri May 12 09:27:19 2006 From: fitzbew at nc.rr.com (Russ Tyndall) Date: Fri May 12 08:27:25 2006 Subject: [V4RB, Vserver 2.3, OS X] - Crash on Vcursor.DeleteRecord() In-Reply-To: Message-ID: On 5/10/06 8:14 AM, "Russ Tyndall" wrote: > Using V4RB 2.3b10 and Vserver 2.3, both on Mac OS X.4.6: > > I'm getting this crash about one time out of five-ten times or so I call > Vcursor.deleterecord(). > > The whole application crashes into Crash Reporter. > > Vserver subsequently logs a message saying that the cursor was not > destroyed, so Vserver is destroying it. > > The record being deleted when the crash occurs *is* successfully deleted > (gone from the db). My code also checks to make sure V4RB believes that the > cursor is writeable and contains a record, is not Nil, etc.. > > All the crash logs look mostly identical, at least the top 15-20 lines. > > PID: 225 > Thread: 0 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_INVALID_ADDRESS (0x0001) at 0x000c2000 > > Thread 0 Crashed: > 0 MSL_All_Carbon.Shlb 0x0456a568 0x4555000 + 87400 > 1 vshared_carbon_cw.shlb 0x04604358 > put_String__Q23fbl15Value_text_nullFPCcPCcPQ23fbl11I_Converter + 84 > 2 vshared_carbon_cw.shlb 0x04600104 > put_String__Q23fbl12Value_stringFPCcPCc + 28 > 3 vclient_carbon_cw.shlb 0x04c3d4c4 0x4c19000 + 148676 > 4 vclient_carbon_cw.shlb 0x04c43c28 0x4c19000 + 175144 > 5 vclient_carbon_cw.shlb 0x04c42c30 0x4c19000 + 171056 > 6 vclient_carbon_cw.shlb 0x04c2846c 0x4c19000 + 62572 > 7 Plugin 0x044f3ae0 > Cursor_DeleteRecord__FP16REALobjectStruct + 220 > 8 main 0x0050d694 0x405000 + 1083028 > 9 main 0x004557a0 0x405000 + 329632 > 10 0x01075dcc 0x1008000 + 449996 > 11 0x010e4378 0x1008000 + 902008 > 12 0x010e13cc 0x1008000 + 889804 > 13 0x010e197c 0x1008000 + 891260 > 14 0x011a8408 0x1008000 + 1704968 > 15 0x011a7494 0x1008000 + 1701012 > 16 0x011a68b8 0x1008000 + 1697976 > 17 com.apple.HIToolbox 0x9321d794 > DispatchEventToHandlers(EventTargetRec*, OpaqueEventRef*, HandlerCallRec*) + > 692 > 18 com.apple.HIToolbox 0x9321ceec > SendEventToEventTargetInternal(OpaqueEventRef*, OpaqueEventTargetRef*, > HandlerCallRec*) + 372 > 19 com.apple.HIToolbox 0x93223c8c SendEventToEventTarget + > 40 > 20 com.apple.HIToolbox 0x93331cf8 > HandleTextInputEvent(OpaqueEventRef*) + 56 Interestingly, I got the same crash yesterday while working with the same db in local mode (no Vserver interaction). The crash log is pretty different, as I would expect. For testing purposes, I've deleted records from the same table in Vstudio, with no problems. The record *is* successfully deleted. Still, the crash only happens sometimes (about 1 out of 5 DeleteRecord calls). I'll put it in Mantis if I can reliably produce it in a local db. I guess I could Mantis it using a Vserver-based db, but is it worth the extra steps? If this is a V4RB bug, a fix for it would likely also fix the Vserver-based app too? ******* PID: 848 Thread: 0 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_INVALID_ADDRESS (0x0001) at 0x0a494918 Thread 0 Crashed: 0 MSL_All_Carbon.Shlb 0x046ddfa8 0x46d4000 + 40872 1 MSL_All_Carbon.Shlb 0x046de5ec 0x46d4000 + 42476 2 MSL_All_Carbon.Shlb 0x046deef8 0x46d4000 + 44792 3 MSL_All_Carbon.Shlb 0x046df08c 0x46d4000 + 45196 4 MSL_All_Carbon.Shlb 0x046ddb9c 0x46d4000 + 39836 5 MSL_All_Carbon.Shlb 0x046ddc34 0x46d4000 + 39988 6 vshared_carbon_cw.shlb 0x0474a9cc _dt__Q23fbl8ArraySetFv + 68 7 vshared_carbon_cw.shlb 0x0474b018 Release__Q23fbl3SetCFv + 56 8 Kernel_Carbon_Final.shlb 0x04959b20 _dt__Q23fbl21TableStorage_ArraySetFv + 64 9 Kernel_Carbon_Final.shlb 0x04953fd4 Release__Q23fbl38I_Unknown_ImplCFv + 52 10 Kernel_Carbon_Final.shlb 0x04908e3c _dt__Q23fbl5TableFv + 452 11 Kernel_Carbon_Final.shlb 0x04908c10 _dt__Q23fbl14Table_IndirectFv + 264 12 Kernel_Carbon_Final.shlb 0x04908fb0 Release__Q23fbl5TableCFv + 52 13 Kernel_Carbon_Final.shlb 0x0497e0b0 _dt__Q33fbl4vsql6CursorFv + 432 14 Kernel_Carbon_Final.shlb 0x0497e80c Release__Q23fbl63I_Unknown_Impl2CFv + 52 15 Plugin 0x04671384 Cursor_Destructor__FP16REALobjectStructPv + 332 16 main 0x01130354 0x1008000 + 1213268 17 RBFramework 0x0132aa0c 0x11cf350 + 1423036 18 RBFramework 0x0132ab28 0x11cf350 + 1423320 19 RBFramework 0x0132ab68 0x11cf350 + 1423384 20 main 0x01065c84 0x1008000 + 384132 -- Russ Tyndall Wake Forest, NC From sunshine at public.kherson.ua Fri May 12 22:48:01 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri May 12 14:48:07 2006 Subject: [V4RB, Vserver 2.3, OS X] - Crash on Vcursor.DeleteRecord() In-Reply-To: Message-ID: On 5/12/06 4:27 PM, "Russ Tyndall" wrote: Hi Russ, > I guess I could Mantis it using a Vserver-based db, but is it worth the > extra steps? If this is a V4RB bug, a fix for it would likely also fix the > Vserver-based app too? If you can reproduce on local version THEN yes of course please mantis it. -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From sunshine at public.kherson.ua Tue May 16 23:06:05 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue May 16 15:06:14 2006 Subject: [ANN] V4REV WIN 2.4 b6 uploaded In-Reply-To: Message-ID: On 5/16/06 5:38 PM, "Trevor DeVore" wrote: Hi Trevor, > I noticed the new Valentina installer installs to "/usr/local/lib/ > vcomponents". Do we need to install here when deploying Rev/ > Valentina projects or can we put the vcomponents folder somewhere > relative to the executable? You can of course. Brendan have develop Drop-in application in RB to help this. Look on our news page: http://www.valentina-db.com/wp/ I believe his utility will work for REV builds also. It just copy VComponents folder inside of .app And change install-path for dlls. Also it is possible write terminal script for this operation. I will make example of such script into our WIKI soon. ---- Brendan, to clarify, This is really for MACHO apps ? You correct install-path of all dlls from VComponents folder ? -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From gogaworm at tut.by Thu May 18 12:36:04 2006 From: gogaworm at tut.by (Lilu) Date: Thu May 18 04:36:14 2006 Subject: goToRecord method Message-ID: Hello! I wonder what happend to the goToRecord method in VNET? Is there anything similiar? Or I should iterate through all records each time I need to find a record with the specified recId? Best, Ilona Karpova --- ????? ????? ??????????? Great Wall ? ????????. ?????? ? ?????????? China Motors, ?????, ????????? ????? 21/1, ???. 262-22-75, e-mail: cm-2005@tut.by, http://www.great-wall.by From sunshine at public.kherson.ua Thu May 18 13:32:49 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Thu May 18 05:32:56 2006 Subject: goToRecord method In-Reply-To: Message-ID: On 5/18/06 12:36 PM, "Lilu" wrote: Hi Illona, > I wonder what happend to the goToRecord method in VNET? Is there > anything similiar? Or I should iterate through all records each time I > need to find a record with the specified recId? Now exists property Vtable.RecID = xxxx To get functionalit of old Goto code can be as if( tbl.Exists( recid ) ) tbk.RecID = recid -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From joakim at astrocalc.com Sat May 20 01:39:18 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Fri May 19 18:39:25 2006 Subject: VStudio Message-ID: <20060519233244.4BD5D2936AB@merc.astrocalc.net> Hi, I just downloaded and installed latest version of Valentina Studio, now when I run I get "Invalid file!" errors on start up. First "Plugin vs_plugin_kernel_2.dll is not valid!" followed by "Plugin vs_plugin_server_2.dll is not valid!" It then starts up but complains it can't open my database, which it remembers since before. Then when I go to File menu I see "Open Local database... Ctrl+O" is greyed out - what's up? Looking at the About dialog it looks as it actually is the same version I had installed before, 2.3.1 Build 27 April although the website says May 6 and 2.3.2 It is strange as if it's the same it was running fine before and the only thing that "differs" since I installed it previously is that I have given it a registration code to unlock it. However, I don't think it's the same version as the reason I downloaded was the previous version always complained about a missing help file which I hoped for to be gone in latest available and right it seem to be gone now - but replaced with a much worse error... It's also kinda confusing with the version numbers, not only the above diffs but looking at properties of the exe file it says 2.3.0.0 It's the Win32 version by the way. Joakim From joakim at astrocalc.com Sat May 20 02:12:17 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Fri May 19 19:12:24 2006 Subject: VStudio In-Reply-To: <20060519233244.4BD5D2936AB@merc.astrocalc.net> Message-ID: <20060520000543.039372738D3@merc.astrocalc.net> Atually, removing the whole Valentina Studio folder and then install again solved the problem. Appearntly, installing on top of old install screw things up. Well I am back on track again. Joakim > -----Original Message----- > From: valentina-bounces@lists.macserve.net > [mailto:valentina-bounces@lists.macserve.net] On Behalf Of > Joakim Schramm > Sent: 20 May 2006 01:39 > To: 'Valentina Developers' > Subject: VStudio > > Hi, > > I just downloaded and installed latest version of Valentina > Studio, now when I run I get "Invalid file!" errors on start > up. First "Plugin vs_plugin_kernel_2.dll is not valid!" > followed by "Plugin vs_plugin_server_2.dll is not valid!" > > It then starts up but complains it can't open my database, > which it remembers since before. Then when I go to File menu > I see "Open Local database... Ctrl+O" is greyed out - what's up? > > Looking at the About dialog it looks as it actually is the > same version I had installed before, 2.3.1 Build 27 April > although the website says May 6 and 2.3.2 > > It is strange as if it's the same it was running fine before > and the only thing that "differs" since I installed it > previously is that I have given it a registration code to > unlock it. However, I don't think it's the same version as > the reason I downloaded was the previous version always > complained about a missing help file which I hoped for to be > gone in latest available and right it seem to be gone now - > but replaced with a much worse error... It's also kinda > confusing with the version numbers, not only the above diffs > but looking at properties of the exe file it says 2.3.0.0 > > It's the Win32 version by the way. > > Joakim > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina > From sunshine at public.kherson.ua Tue May 23 10:20:06 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue May 23 02:20:19 2006 Subject: hello In-Reply-To: <000601c67e2b$35620e70$0401a8c0@m5> Message-ID: On 5/23/06 8:39 AM, "dave" wrote: Hi Dave, > just a question, simple i hope. > > i have a database used as a playlist, i basicly just keep adding a new record > for each song played, and delete each one as they are played, FIFO. > what i would like to do is to add a record to the beginning of the list, like > a priority play. > > now i did try to set the cursor with the FirstRecord command and added a > record but it ended up at the end. > what do i need to do to get this to work? You cannot control the PHYSICAL ORDER of records in any way. You can control only LOGICAL order. To setup LOGICAL ORDER you can add on more column And here assign order position for a record. And you will use ORDER BY in your SELECT to get records sorted by order > the only thing i can think of would be to read out all records, > clear the database, then write them all back in in the order that i want. This will not work for big dbs > i cant just like reverse the order of play either because the other songs need > to remain in the order that they were inserted. is there like some way to > ripple the records down while forcing one in at the top? > > once again > thanks for you help > > dave. -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From sunshine at public.kherson.ua Tue May 23 11:17:52 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue May 23 03:18:02 2006 Subject: [NEW] very fast REINDEX -- 100+ times faster! Message-ID: Hi All! we are happy inform you that we have got success with implementation of a new REINDEX algorithms for Valentina. They work in 100+ times faster than the old. For example, 5 millions records old algorithm did reindex in 10+ minutes New in 6-9 seconds (I think still possible improve this result). G5 DUAL/2.0 Also this algorithm create indexes much more compact. Usually about 2 times less. So now you have way SIGNIFICANTLY REDUCE THE SIZE of your database before you put it on CD/DVD (also it is clear that the smaller indexes the faster speed of search/access). --------------------------------- EXAMPLE: we have user with tables that have 10 and 20 millions records in each. For ULONG fields: 10M table -- old index = 240MB new index = 120MB 20M table -- old index = 480MB new index = 240MB Note, this is only for ONE index. If you have e.g. 10 indexes, it is easy calculate how big economy is. ----------------------------------- For now this algorithm works IF: * this is a numeric field <= 4 bytes i.e. Byte, Short, Ushort, Medium, Medium, Long, ULong, Float, Date, Time. The next task for us is to develop similar algorithms for string fields... This new algorithm will be available in the next beta build of Valentina products and in 2.4 release. -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From joakim at astrocalc.com Tue May 23 12:11:36 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Tue May 23 05:11:45 2006 Subject: Link error Message-ID: <20060523100457.666D12936AB@merc.astrocalc.net> Hi, I have run into a some what hard to track and dignose error which also makes it difficult to give a reproducable example. The thing is that the instance in code that errors works fine the 3 first times it is executed but then fail although the conditions basically is the same. Values has changed but they do exists in dbs in same correct relation as the previous succesful ones. The code piece as such is a part of a function involved in a larger repeated pattern so there might be something there causing it and this request for help is mainly to get some hint of "what" to look for. The code in question is rather straith forward Set mLink = mAtlasDB.Link(lnkZoneHasData) Set ZoneArrSet = mLink.FindLinked(ZoneId, tZones, tZoneData) Set ZoneSet = ZoneBitSet Set itr = ZoneSet.MakeNewIterator On 4th call to this function the "FindLinked" generates an Automation error -2147418113, this is when a ArraySet is used. If I change it to use a BitSet instead (using FindLinkedAsBitSet), on 4th time the program simply "hangs" at this point and eventually crashes. If I set FindLinked direct to a Vset the object is set to nothing, but if I set FindLinkedAsBitSet to a Vset the same hang and crash apprears. I know it has nothing to do with the records as such, they work independently or if they "happen" to be before the 4th in iteration order. Worth to mention as well is that this is a part of a search routine. Initially this routine is called: Function SearchPlace(ByVal PlaceName As String, CountryID As Long, ByVal SearchScope As Long, ByVal SearchCriteria As Long) As Long Dim Col As VBitSet Dim Res As VBitSet Dim ResSearch As VSet Dim FirstRec As Long Dim cnt As Long Dim mLink As VLink Set ItrSearch = Nothing Set mLink = mAtlasDB.Link(lnkCountryHasPlaces) If Not CBool(SearchScope) Then Set Col = mLink.FindLinkedAsBitSet(CountryID, tCountry, tPlaces) End If Select Case SearchCriteria Case 0& Set Res = fPlace.FindValue(PlaceName, Col) Case 1 Set Res = fPlace.FindStartsWith(PlaceName, Col) Case 2 Set Res = fPlace.FindEndsWith(PlaceName, Col) Case Else Set Res = fPlace.FindContains(PlaceName, Col) End Select If Not Res Is Nothing Then Set ResSearch = Res cnt = ResSearch.Count Set ItrSearch = ResSearch.MakeNewIterator FirstRec = ItrSearch.FirstItem uCurrPlace = GetPlaceUDT(FirstRec) End If SearchPlace = cnt End Function The search results are stored in the global iterator ItrSearch, which then are stepped though and a value from the record is used to pull a set of linked records for processing. It seem to me as it almost is a memory collition or "leak" involved here, but I can't tell for sure if it's in my code or in Valentina. And again, it's very hard for me to produce an working example of this, I need some "hints" and maybe the automation error number can give some lead? Regards, Joakim From kirill_pekarov at valentina-db.com Tue May 23 14:39:12 2006 From: kirill_pekarov at valentina-db.com (Kirill Pekarov) Date: Tue May 23 06:39:38 2006 Subject: Link error In-Reply-To: <20060523100457.666D12936AB@merc.astrocalc.net> References: <20060523100457.666D12936AB@merc.astrocalc.net> Message-ID: <766941938.20060523143912@valentina-db.com> Hi, Joakim. You wrote 23 ??? 2006 ?., 13:11:36: > On 4th call to this function the "FindLinked" generates an Automation error > -2147418113, this is when a ArraySet is used. Please look at the log file. May be it will tell where promlem is. Automation error -2147418113 (8000FFFF) it is "Catastrophic failure". If log file don't help, please send me project and database with describe howto reproduce. -- With best regards Kirill mailto:kirill_pekarov@valentina-db.com From joakim at astrocalc.com Tue May 23 14:41:14 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Tue May 23 07:41:18 2006 Subject: Link error In-Reply-To: <766941938.20060523143912@valentina-db.com> Message-ID: <20060523123434.EC68A811551@merc.astrocalc.net> Hi Kirill, > -----Original Message----- > From: valentina-bounces@lists.macserve.net > [mailto:valentina-bounces@lists.macserve.net] On Behalf Of > Kirill Pekarov > Sent: 23 May 2006 13:39 > To: Valentina Developers > Subject: Re: Link error > > Hi, Joakim. > > You wrote 23 ??? 2006 ?., 13:11:36: > > > On 4th call to this function the "FindLinked" generates an > Automation > > error -2147418113, this is when a ArraySet is used. > > Please look at the log file. May be it will tell where promlem is. > The log ends in a ERROR: 0x99000 Internal error. I have attached the complete log in case it can tell you something, not sure I can get much out of it though... It repeats the same pattern and suddenly there is an internal error, no hint. > Automation error -2147418113 (8000FFFF) it is "Catastrophic failure". > Yes I sure notice that :-) > If log file don't help, please send me project and database > with describe howto reproduce. > Well I am not sure how to do this, it's so much code and dbs is rather big (50M) to send. I had hoped to isolate the "nature" of it to better know what to look for. I don't know, I am bit frustrated right now and don't know which end to start in... But I will try to isolate the functions involved into a project and bump it all together but were can I upload this "package" as it's too big to email? But can you please take a look at the log first and see if it hints you anywere? By the way, a few obeservations with the Debug function kLogFunctions and kLogParams seem to produce exactly the same things and also the handle to the log file is not released until the IDE is closed down unless the database object is set to nil when the program terminates. Not sure if this is "ok", but thought when a program closes it shall kill all object referenses automatically or? Joakim > -- > With best regards > Kirill > mailto:kirill_pekarov@valentina-db.com > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina > From sunshine at public.kherson.ua Tue May 23 16:38:12 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue May 23 08:38:15 2006 Subject: Link error In-Reply-To: <20060523123434.EC68A811551@merc.astrocalc.net> Message-ID: On 5/23/06 3:41 PM, "Joakim Schramm" wrote: >> Please look at the log file. May be it will tell where promlem is. >> > The log ends in a > > ERROR: 0x99000 Internal error. Joakim, Please make diagnose of db. If bad then Try do CLONE of database. Then make diagnose again. If all right try your app again on it -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From joakim at astrocalc.com Tue May 23 16:12:13 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Tue May 23 09:12:17 2006 Subject: Link error In-Reply-To: Message-ID: <20060523140534.1CD0981154E@merc.astrocalc.net> Ruslan, When I diagnose db in vstudio I get error: 15:43:51: File ..\..\..\sources\VStudio\Plugins\Valentina_2\vsV2_Database.cpp, Line 1563 15:43:51: Kernel error: 0x99000 15:43:51: Internal error. Maybe that tell you something? I have actually tried to diagnose before but then vstudio always have crashed, this time I unticked "Show report in textwindow" and it run to report this error. I will try to clone and see if that changes anything, also one other test. When importing my data I had speacial fields for my old keys to help create proper links for existing data. I once tried to remove these fields as no longer needed but then I got error on some linkings, same as involved here actually. I then tried again in a somewhat different fashion and it worked but possibly it just "sheeted" the error. So I will see if my code works without removing these unused fields. Joakim > -----Original Message----- > From: valentina-bounces@lists.macserve.net > [mailto:valentina-bounces@lists.macserve.net] On Behalf Of > Ruslan Zasukhin > Sent: 23 May 2006 15:38 > To: valentina@lists.macserve.net > Subject: Re: Link error > > On 5/23/06 3:41 PM, "Joakim Schramm" wrote: > > >> Please look at the log file. May be it will tell where promlem is. > >> > > The log ends in a > > > > ERROR: 0x99000 Internal error. > > Joakim, > > Please make diagnose of db. > If bad then > > Try do CLONE of database. > Then make diagnose again. > > If all right try your app again on it > > -- > Best regards, > > Ruslan Zasukhin > VP Engineering and New Technology > Paradigma Software, Inc > > Valentina - Joining Worlds of Information http://www.paradigmasoft.com > > [I feel the need: the need for speed] > > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina > From sunshine at public.kherson.ua Tue May 23 17:14:34 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue May 23 09:14:38 2006 Subject: Link error In-Reply-To: <20060523140534.1CD0981154E@merc.astrocalc.net> Message-ID: On 5/23/06 5:12 PM, "Joakim Schramm" wrote: > Ruslan, > > When I diagnose db in vstudio I get error: > > 15:43:51: File > ..\..\..\sources\VStudio\Plugins\Valentina_2\vsV2_Database.cpp, Line 1563 > 15:43:51: Kernel error: 0x99000 > 15:43:51: Internal error. > > Maybe that tell you something? You have corruption. I think in FAT Tree. I already spent a week in this area. And will continue. You need try to CLONE your database if it have vital data Or create new fresh one -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From joakim at astrocalc.com Tue May 23 16:32:07 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Tue May 23 09:32:10 2006 Subject: Link error In-Reply-To: Message-ID: <20060523142528.347D47C3061@merc.astrocalc.net> > > > > Maybe that tell you something? > > You have corruption. I think in FAT Tree. Ok but I think this corruption is created by Valentina, sorry to say so but read on. > I already spent a week in this area. > And will continue. > > You need try to CLONE your database if it have vital data Or > create new fresh one > I did a Clone and guess what after some time it ended with same error I got initially after removing fields with vstudio not used anymore. These fields are only used while creating and populating the dbs to set links and pointers - they are never involved in any links though, they are pure foregine keys not needed once the links are set and they are not references to in my code. They are indexed though, some of them, can this be the problem? I just recreated my database keeping the "unnecesarry" fields and my code runs fine :-) but with a 25M overhead. It must be that Valentina are doing something wrong when removing these fields or in allowing me to do something that is not ok when I build the database??? As far as I can see, if fields are not used in any way and not linked or part of any set relationship it should be safe to remove them or? Joakim > -- > Best regards, > > Ruslan Zasukhin > VP Engineering and New Technology > Paradigma Software, Inc > > Valentina - Joining Worlds of Information http://www.paradigmasoft.com > > [I feel the need: the need for speed] > > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina > From joakim at astrocalc.com Tue May 23 21:20:14 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Tue May 23 14:20:21 2006 Subject: Link error In-Reply-To: Message-ID: <20060523191335.D454F81183A@merc.astrocalc.net> I think I have tracked down what this is now, it's the compacting of dbs that breakes binary links. Not all though for some still works. I started all over again, removed a field and reindexed the dbs untill all unneeded fields was removed. The database works fine ine my code. Diagnose also is fine. I Compact database, run diagnose and get error as below, also same error when running my code. So you need to look at compact code, it seem to be a link slauther now. Please let me know if you need any structure and link data if this is a speacial case with my dbs. Joakim > -----Original Message----- > From: valentina-bounces@lists.macserve.net > [mailto:valentina-bounces@lists.macserve.net] On Behalf Of > Ruslan Zasukhin > Sent: 23 May 2006 16:15 > To: valentina@lists.macserve.net > Subject: Re: Link error > > On 5/23/06 5:12 PM, "Joakim Schramm" wrote: > > > Ruslan, > > > > When I diagnose db in vstudio I get error: > > > > 15:43:51: File > > > ..\..\..\sources\VStudio\Plugins\Valentina_2\vsV2_Database.cpp, Line > > 1563 > > 15:43:51: Kernel error: 0x99000 > > 15:43:51: Internal error. > > > > Maybe that tell you something? > > You have corruption. I think in FAT Tree. > I already spent a week in this area. > And will continue. > > You need try to CLONE your database if it have vital data Or > create new fresh one > > -- > Best regards, > > Ruslan Zasukhin > VP Engineering and New Technology > Paradigma Software, Inc > > Valentina - Joining Worlds of Information http://www.paradigmasoft.com > > [I feel the need: the need for speed] > > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina > From sunshine at public.kherson.ua Tue May 23 23:04:15 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue May 23 15:04:21 2006 Subject: Link error In-Reply-To: <20060523191335.D454F81183A@merc.astrocalc.net> Message-ID: On 5/23/06 10:20 PM, "Joakim Schramm" wrote: Hi Joakim, > I think I have tracked down what this is now, it's the compacting of dbs > that breakes binary links. Not all though for some still works. > > I started all over again, removed a field and reindexed the dbs untill all > unneeded fields was removed. The database works fine ine my code. Diagnose > also is fine. > > I Compact database, run diagnose and get error as below, also same error > when running my code. So you need to look at compact code, it seem to be a > link slauther now. > > Please let me know if you need any structure and link data if this is a > speacial case with my dbs. Aha, what kinds of links do you use ? -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From joakim at astrocalc.com Tue May 23 22:22:32 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Tue May 23 15:22:40 2006 Subject: Link error In-Reply-To: Message-ID: <20060523201554.901E381187B@merc.astrocalc.net> Hi Ruslan, > -----Original Message----- > From: valentina-bounces@lists.macserve.net > [mailto:valentina-bounces@lists.macserve.net] On Behalf Of > Ruslan Zasukhin > Sent: 23 May 2006 22:04 > To: valentina@lists.macserve.net > Subject: Re: Link error > > On 5/23/06 10:20 PM, "Joakim Schramm" wrote: > > Hi Joakim, > > > I think I have tracked down what this is now, it's the > compacting of > > dbs that breakes binary links. Not all though for some still works. > > > > I started all over again, removed a field and reindexed the > dbs untill > > all unneeded fields was removed. The database works fine > ine my code. > > Diagnose also is fine. > > > > I Compact database, run diagnose and get error as below, also same > > error when running my code. So you need to look at compact code, it > > seem to be a link slauther now. > > > > Please let me know if you need any structure and link data > if this is > > a speacial case with my dbs. > > Aha, > > what kinds of links do you use ? > I use 3 binary links and 1 ObjectPtr, here is complete structure from my little program that creates and populates database. Private Sub CreateStructure() Dim mTblCountry As VTable 'Dim mTblCountryAlias As VTable Dim mTblZones As VTable Dim mTblPlaces As VTable Dim mTblZoneData As VTable Dim blink As VLink Set mTblCountry = mDatabase.CreateTable(tblCountry) With mTblCountry .CreateVarCharField "Name_en", 200, fIndexed .CreateVarCharField "Name_es", 200, fIndexed .CreateVarCharField "Name_se", 200, fIndexed .CreateVarCharField "Name_de", 200, fIndexed .CreateVarCharField "Name_no", 200, fIndexed .CreateVarCharField "CID", 12, fIndexed <-- REMOVED WHEN ALL LINKING IS DONE End With 'Not in use 'Set mTblCountryAlias = mDatabase.CreateTable(tblCountryAlias) ' 'With mTblCountryAlias ' .CreateVarCharField "CName", 200, fIndexed ' .CreateVarCharField "CID", 12, fIndexed ' .CreateObjectPtrField ptrCountryAlias, mTblCountry, kCascade + kRestrict, , ptrCountryAlias 'End With Set mTblZones = mDatabase.CreateTable(tblTimeZones) With mTblZones .CreateVarCharField "FK_CID", 12, fIndexed <-- REMOVED WHEN ALL LINKING IS DONE .CreateShortField "ZID" End With Set mTblPlaces = mDatabase.CreateTable(tblPlaces) With mTblPlaces .CreateVarCharField "PName", 200, fIndexed .CreateByteField "LongDeg", fIndexed .CreateByteField "LongMin" .CreateByteField "LongSec" .CreateByteField "LongSign", fIndexed '0 = West, 1 = East .CreateByteField "LatDeg", fIndexed .CreateByteField "LatMin" .CreateByteField "LatSec" .CreateByteField "LatSign", fIndexed '0 = South, 1 = North .CreateVarCharField "FK_CID", 12, fIndexed <-- REMOVED WHEN ALL LINKING IS DONE .CreateShortField "FK_ZID", fIndexed <-- REMOVED WHEN ALL LINKING IS DONE .CreateBooleanField "CustRec" Set fldZonePtr = .CreateObjectPtrField(ptrZonePlaces, mTblZones, kCascade, , ptrZonePlaces) End With Set mTblZoneData = mDatabase.CreateTable(tblZoneData) With mTblZoneData .CreateDateTimeField "DateChange", fIndexed .CreateVarCharField "TimeDiff", 24, fNone .CreateVarCharField "FK_CID", 12, fIndexed <-- REMOVED WHEN ALL LINKING IS DONE .CreateShortField "FK_ZID", fIndexed <-- REMOVED WHEN ALL LINKING IS DONE End With End Sub Sub CreateLinks() Dim mTblCountry As VTable Dim mTblPlaces As VTable Dim mTblZoneData As VTable Dim mTblZones As VTable Dim blink As VLink ' get table references Set mTblCountry = mDatabase.Table(tblCountry) Set mTblZones = mDatabase.Table(tblTimeZones) Set mTblPlaces = mDatabase.Table(tblPlaces) Set mTblZoneData = mDatabase.Table(tblZoneData) ' create BINARY LINK between 2 tables. Set blink = mDatabase.CreateBinaryLink(lnkCountryHasPlaces, mTblCountry, mTblPlaces, EVLinkType.kOne, EVLinkType.kMany) Set blink = mDatabase.CreateBinaryLink(lnkCountryHasZones, mTblCountry, mTblZones, EVLinkType.kOne, EVLinkType.kMany) Set blink = mDatabase.CreateBinaryLink(lnkZoneHasData, mTblZones, mTblZoneData, EVLinkType.kOne, EVLinkType.kMany) End Sub It is the last link that seem to get into trouble after Compact. If you need further info on how the whole thing is populated and linked please let me know. I will be out most of the day tomorrow but back in the evening. Just a short explaination of how it works, each recPlace has an ObjectPtr to a record in tblTimeZones. This TimeZones record has several links to records in TimeZoneData. This ObjectPtr is so Place knows from were to pull TimeZoneData, via TimeZone binary link. It is this structure Compact breaks in some way. I hope this helps. I am still here for an hours or so btw. Joakim > -- > Best regards, > > Ruslan Zasukhin > VP Engineering and New Technology > Paradigma Software, Inc > > Valentina - Joining Worlds of Information http://www.paradigmasoft.com > > [I feel the need: the need for speed] > > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina > From mjew at icnc.com Tue May 23 19:42:12 2006 From: mjew at icnc.com (Matthew Jew) Date: Tue May 23 21:42:21 2006 Subject: How to use put_DateTime In-Reply-To: <20060523202242.35F6B4282BF@edison.macserve.net> References: <20060523202242.35F6B4282BF@edison.macserve.net> Message-ID: Hello, I cannot figure out what to call instead of "get_Value" so that I can use "put_DateTime" on my "loginDateTime" field. I_Field_Ptr loginDateTime; aAuthLogTable.loginDateTime->get_Value(forAdd)->put_DateTime ( aDateTimeRec->year, aDateTimeRec->month, aDateTimeRec->day, aDateTimeRec->hour, aDateTimeRec->minute, aDateTimeRec->second, 0 ); Should this field be declared as an "I_Field_Ptr" or as something else? How do I make the call to "put_DateTime" work? - Matthew From sunshine at public.kherson.ua Wed May 24 10:15:45 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed May 24 02:15:57 2006 Subject: How to use put_DateTime In-Reply-To: Message-ID: On 5/24/06 5:42 AM, "Matthew Jew" wrote: Hi Mathew, http://www.valentina-db.com/dokuwiki/doku.php?id=paradigma:public:en:documen tation:vsdk:manual:architecture:architecture Here go to Valentina C++ SDK Interfaces Here at end of page: Switching between Interfaces > I cannot figure out what to call instead of "get_Value" so that I can > use "put_DateTime" on my "loginDateTime" field. > > I_Field_Ptr loginDateTime; > > aAuthLogTable.loginDateTime->get_Value(forAdd)->put_DateTime > ( aDateTimeRec->year, aDateTimeRec->month, aDateTimeRec->day, > aDateTimeRec->hour, aDateTimeRec->minute, aDateTimeRec->second, 0 ); > > Should this field be declared as an "I_Field_Ptr" or as something else? > How do I make the call to "put_DateTime" work? loginDateTime ->get_Value() Returns you I_Value You want put_DateTime() function, which is in I_ValueDateTime interface located at FBL_I_ValueDateTime.h So you need do switch between interfaces: I_Value_Ptr pv = aAuthLogTable.loginDateTime->get_Value(forAdd); I_ValueDateTime_Ptr pvdt = fbl_dynamic_cast(pv); pvdt->put_DateTime( ....... ); -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From sunshine at public.kherson.ua Wed May 24 11:50:27 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed May 24 03:50:33 2006 Subject: Link error In-Reply-To: <20060523201554.901E381187B@merc.astrocalc.net> Message-ID: On 5/23/06 11:22 PM, "Joakim Schramm" wrote: Hi Joakim, > Just a short explaination of how it works, each recPlace has an ObjectPtr to > a record in tblTimeZones. This TimeZones record has several links to records > in TimeZoneData. This ObjectPtr is so Place knows from were to pull > TimeZoneData, via TimeZone binary link. It is this structure Compact breaks > in some way. It is not important how it works... I think problem can be Compact + Binary Link -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From joakim at astrocalc.com Wed May 24 17:41:40 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Wed May 24 10:41:44 2006 Subject: Link error In-Reply-To: Message-ID: <20060524153500.B4A5C8119F0@merc.astrocalc.net> > -----Original Message----- > From: valentina-bounces@lists.macserve.net > [mailto:valentina-bounces@lists.macserve.net] On Behalf Of > Ruslan Zasukhin > Sent: 24 May 2006 10:50 > To: valentina@lists.macserve.net > Subject: Re: Link error > > On 5/23/06 11:22 PM, "Joakim Schramm" wrote: > > Hi Joakim, > > > Just a short explaination of how it works, each recPlace has an > > ObjectPtr to a record in tblTimeZones. This TimeZones record has > > several links to records in TimeZoneData. This ObjectPtr is > so Place > > knows from were to pull TimeZoneData, via TimeZone binary > link. It is > > this structure Compact breaks in some way. > > It is not important how it works... > > I think problem can be Compact + Binary Link > Ok anyway to fix it? It seem some binary links survive it but not others. Joakim > -- > Best regards, > > Ruslan Zasukhin > VP Engineering and New Technology > Paradigma Software, Inc > > Valentina - Joining Worlds of Information http://www.paradigmasoft.com > > [I feel the need: the need for speed] > > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina > From sunshine at public.kherson.ua Wed May 24 19:21:12 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed May 24 11:21:15 2006 Subject: Link error In-Reply-To: <20060524153500.B4A5C8119F0@merc.astrocalc.net> Message-ID: On 5/24/06 6:41 PM, "Joakim Schramm" wrote: >> It is not important how it works... >> >> I think problem can be Compact + Binary Link >> > Ok anyway to fix it? It seem some binary links survive it but not others. Mantis. :) I think problem happens when you have DELETED records in a table. During COMPACT records are moved, but BinaryLinks probably are not updated. -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From joakim at astrocalc.com Wed May 24 18:24:48 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Wed May 24 11:24:50 2006 Subject: Link error In-Reply-To: Message-ID: <20060524161806.B7CF38119F0@merc.astrocalc.net> > -----Original Message----- > From: valentina-bounces@lists.macserve.net > [mailto:valentina-bounces@lists.macserve.net] On Behalf Of > Ruslan Zasukhin > Sent: 24 May 2006 18:21 > To: valentina@lists.macserve.net > Subject: Re: Link error > > On 5/24/06 6:41 PM, "Joakim Schramm" wrote: > > >> It is not important how it works... > >> > >> I think problem can be Compact + Binary Link > >> > > Ok anyway to fix it? It seem some binary links survive it > but not others. > > Mantis. :) > Ok will put into Mantis. > I think problem happens when you have DELETED records in a table. > During COMPACT records are moved, but BinaryLinks probably > are not updated. > I have not deleted any records, only fields. Joakim > > > -- > Best regards, > > Ruslan Zasukhin > VP Engineering and New Technology > Paradigma Software, Inc > > Valentina - Joining Worlds of Information http://www.paradigmasoft.com > > [I feel the need: the need for speed] > > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina > From sunshine at public.kherson.ua Wed May 24 19:31:16 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed May 24 11:31:19 2006 Subject: Link error In-Reply-To: <20060524161806.B7CF38119F0@merc.astrocalc.net> Message-ID: On 5/24/06 7:24 PM, "Joakim Schramm" wrote: >> Mantis. :) >> > Ok will put into Mantis. > >> I think problem happens when you have DELETED records in a table. >> During COMPACT records are moved, but BinaryLinks probably >> are not updated. >> > I have not deleted any records, only fields. Hmm, then I do not see where it can be broken. -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From mjew at icnc.com Wed May 24 11:27:05 2006 From: mjew at icnc.com (Matthew Jew) Date: Wed May 24 13:27:16 2006 Subject: OK to upgrade to XCode 2.3? In-Reply-To: <20060523202242.35F6B4282BF@edison.macserve.net> References: <20060523202242.35F6B4282BF@edison.macserve.net> Message-ID: Hello, Is is OK for Mac OS X developers to upgrade to XCode 2.3 for Valentina development? - Matthew From sunshine at public.kherson.ua Wed May 24 23:14:10 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed May 24 15:14:19 2006 Subject: OK to upgrade to XCode 2.3? In-Reply-To: Message-ID: On 5/24/06 9:27 PM, "Matthew Jew" wrote: > Hello, > > Is is OK for Mac OS X developers to upgrade to XCode 2.3 for > Valentina development? Hi Mathew, It seems yes. As I see they are binary compatible. I also have install 2.3 today, and already rebuild all our projects in xcode using it, and using new debug format, but have not try yet it in debugger. But debug format do not affect you, because we ship Valentina libs in release mode... So go ahead. And note words of Jochen: > And it seems they have also solved this /Library/Framework problem when > working with 10.4 SDK. They say you can now link against Frameworks in > /Library/Frameworks even if you use the 10.4 SDK setting. -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From mjew at icnc.com Wed May 24 18:44:56 2006 From: mjew at icnc.com (Matthew Jew) Date: Wed May 24 20:45:04 2006 Subject: How to use put_DateTime In-Reply-To: <20060523202242.35F6B4282BF@edison.macserve.net> References: <20060523202242.35F6B4282BF@edison.macserve.net> Message-ID: <72577590-0744-4AED-8CD4-E23FF62569A5@icnc.com> > On 5/24/06 5:42 AM, "Matthew Jew" wrote: > > Hi Mathew, > > http://www.valentina-db.com/dokuwiki/doku.php? > id=paradigma:public:en:documen > tation:vsdk:manual:architecture:architecture > > Here go to Valentina C++ SDK Interfaces > > Here at end of page: Switching between Interfaces > > > > I cannot figure out what to call instead of "get_Value" so that I > can > > use "put_DateTime" on my "loginDateTime" field. > > > > I_Field_Ptr loginDateTime; > > > > aAuthLogTable.loginDateTime->get_Value(forAdd)->put_DateTime > > ( aDateTimeRec->year, aDateTimeRec->month, aDateTimeRec->day, > > aDateTimeRec->hour, aDateTimeRec->minute, aDateTimeRec->second, 0 ); > > > > Should this field be declared as an "I_Field_Ptr" or as something > else? > > How do I make the call to "put_DateTime" work? > > loginDateTime ->get_Value() > > Returns you I_Value > > You want put_DateTime() function, which is in I_ValueDateTime > interface > located at FBL_I_ValueDateTime.h > > So you need do switch between interfaces: > > I_Value_Ptr pv = aAuthLogTable.loginDateTime->get_Value(forAdd); > > I_ValueDateTime_Ptr pvdt = fbl_dynamic_cast(pv); > > pvdt->put_DateTime( ....... ); > > > -- > Best regards, > > Ruslan Zasukhin > Ruslan, That works very well when adding records; however, it does not work for simply reading values. When I use: Const_I_Value_Ptr pv = aAuthLogTable.loginDateTime->get_Value(); I_ValueDateTime_Ptr pvdt = fbl_dynamic_cast(pv); pvdt->get_DateTime( .... ); I get a compilation error. I have tried various combinations and changes, but I still cannot make it work. What is the syntax for reading? - Matthew From kirill_pekarov at valentina-db.com Thu May 25 10:08:03 2006 From: kirill_pekarov at valentina-db.com (Kirill Pekarov) Date: Thu May 25 02:08:16 2006 Subject: V4REV - RevDB Bridge Question In-Reply-To: References: <2809BC48-A0B0-491E-9A8A-9E62C15E5B26@mangomultimedia.com> Message-ID: <613499200.20060525100803@valentina-db.com> Hi, Trevor. > Right now we have way only from RevDB to V4REV API > So you want reverse also? > I will ask Kirill check if we can implement this . It is almost finished, it will look so: put revOpenDatabase("Valentina2","",dbRef,"","") into mDbID > >> Also, can you open a connection to valentina server using RevDB or >> just a local database? > You must be able work with Vserver also of course. > Kirill, have you test this ? No. In current build it not work. Tonight will be new build with V4REV to RevDB bridge and with RevDB to VServer resolved bug. -- With best regards Kirill mailto:kirill_pekarov@valentina-db.com From sunshine at public.kherson.ua Thu May 25 11:44:42 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Thu May 25 03:44:48 2006 Subject: How to use put_DateTime In-Reply-To: <72577590-0744-4AED-8CD4-E23FF62569A5@icnc.com> Message-ID: On 5/25/06 4:44 AM, "Matthew Jew" wrote: > That works very well when adding records; however, it does not work > for simply reading values. > > When I use: > > Const_I_Value_Ptr pv = aAuthLogTable.loginDateTime->get_Value(); > > I_ValueDateTime_Ptr pvdt = fbl_dynamic_cast(pv); > > pvdt->get_DateTime( .... ); Can you show full your code here? > I get a compilation error. What error? virtual void get_DateTime( long& outYear, ushort& outMonth, ushort& outDay, ushort& outHours, ushort& outMinutes, ushort& outSeconds, ushort& outMilliseconds ) const Note, It returns references via parameters. -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From sunshine at public.kherson.ua Thu May 25 20:40:40 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Thu May 25 12:40:45 2006 Subject: New wiki page about VField flags. Message-ID: http://www.valentina-db.com/dokuwiki/doku.php?id=paradigma:public:en:documen tation:vkernel:vfield:flags -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From mjew at icnc.com Fri May 26 13:08:52 2006 From: mjew at icnc.com (Matthew Jew) Date: Fri May 26 15:09:05 2006 Subject: How to use put_DateTime In-Reply-To: <72577590-0744-4AED-8CD4-E23FF62569A5@icnc.com> References: <20060523202242.35F6B4282BF@edison.macserve.net> <72577590-0744-4AED-8CD4-E23FF62569A5@icnc.com> Message-ID: <888521B0-0743-43A3-AE75-74C55B418F8D@icnc.com> > On 5/25/06 4:44 AM, "Matthew Jew" wrote: > > > That works very well when adding records; however, it does not work > > for simply reading values. > > > > When I use: > > > > Const_I_Value_Ptr pv = aAuthLogTable.loginDateTime->get_Value(); > > > > I_ValueDateTime_Ptr pvdt = fbl_dynamic_cast(pv); > > > > pvdt->get_DateTime( .... ); > > Can you show full your code here? > > > I get a compilation error. > > What error? > > > > virtual void get_DateTime( > long& outYear, > ushort& outMonth, > ushort& outDay, > ushort& outHours, > ushort& outMinutes, > ushort& outSeconds, > ushort& outMilliseconds ) const > > > Note, It returns references via parameters. > > > -- Best regards, > > Ruslan Zasukhin Ruslan, The error I get is NOT in the get_DateTime(...) line; that is why I did not include it. The error is with the line I_ValueDateTime_Ptr pvdt = fbl_const_cast ( aRelaunchLogTable.relaunchDateTime->get_Value() ); sources/VShared/FBL/publ/Templates/FBL_Smart_Ptr.h:51: error: cannot convert 'const fbl::I_Value*' to 'const fbl::I_ValueDateTime*' in initialization - Matthew From sunshine at public.kherson.ua Sat May 27 00:56:18 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri May 26 16:56:27 2006 Subject: How to use put_DateTime In-Reply-To: <888521B0-0743-43A3-AE75-74C55B418F8D@icnc.com> Message-ID: On 5/26/06 11:08 PM, "Matthew Jew" wrote: > The error I get is NOT in the get_DateTime(...) line; that is why I > did not include it. > > The error is with the line > > I_ValueDateTime_Ptr pvdt = fbl_const_cast > ( aRelaunchLogTable.relaunchDateTime->get_Value() ); Const_cast<> is wrong here. > sources/VShared/FBL/publ/Templates/FBL_Smart_Ptr.h:51: error: cannot > convert 'const fbl::I_Value*' to 'const fbl::I_ValueDateTime*' in > initialization When you read value you work with const value. Right? Code must be as: Const_I_Value_Ptr pValue = data->mpField->get_Value(); Const_I_ValueDateTime_Ptr pValueDateTime = fbl_dynamic_cast( pValue ); -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From ernestogiannotta at tiscalinet.it Sun May 28 20:43:10 2006 From: ernestogiannotta at tiscalinet.it (Erne) Date: Sun May 28 13:43:14 2006 Subject: EacapeString and Like search Message-ID: <38D0FA89-27A4-49A9-8F6C-6C4FAF0AD948@tiscalinet.it> Hello Ruslan, making some test I want to find this text: a'\s so I pass it to Valentina.EscapeString and I get: a\'\\s seems correct to me but if I search Like '%a\'\\s%' I get no match (seems wrong to me) so I input a'\\s and pass it to Valentina.EscapeString and get: a\'\\\\s again it's correct to me but when I do search: Like '%a\'\\\\s%' I get match with a'\s (and again it seems wrong to me, I should get no match here) what do you think? Cool Runnings, Erne. / |\ |\ | / ? |/ | \ | ? \ |\ | \| \ From sunshine at public.kherson.ua Sun May 28 23:06:01 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Sun May 28 15:06:08 2006 Subject: EacapeString and Like search In-Reply-To: <38D0FA89-27A4-49A9-8F6C-6C4FAF0AD948@tiscalinet.it> Message-ID: On 5/28/06 9:43 PM, "Erne" wrote: Hi Erne, > making some test I want to find this text: > > a'\s > > so I pass it to Valentina.EscapeString and I get: > > a\'\\s > > seems correct to me but if I search > > Like '%a\'\\s%' > > I get no match (seems wrong to me) No, this is correct answer. > so I input > > a'\\s > > and pass it to Valentina.EscapeString and get: > > a\'\\\\s > > again it's correct to me but when I do search: > > Like '%a\'\\\\s%' > > I get match with a'\s (and again it seems wrong to me, I should get > no match here) Why you think it is wrong? Let's think in next way. You have some function DoLike( str1, patternStr ) as boolean You need use next pattern DoLike( "a'\s", "a'\\s" ) => true Right? In your case complexity comes that you need do 2 kinds of escape 1) for Like itself 2) for SQL parser. >> this job to ValentinaEscape -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From ernestogiannotta at tiscalinet.it Mon May 29 00:28:05 2006 From: ernestogiannotta at tiscalinet.it (Erne) Date: Sun May 28 17:28:11 2006 Subject: EacapeString and Like search In-Reply-To: References: Message-ID: Thanx! On 28-mag-06, at 22:06, Ruslan Zasukhin wrote: > On 5/28/06 9:43 PM, "Erne" wrote: > > Hi Erne, > >> making some test I want to find this text: >> >> a'\s >> >> so I pass it to Valentina.EscapeString and I get: >> >> a\'\\s >> >> seems correct to me but if I search >> >> Like '%a\'\\s%' >> >> I get no match (seems wrong to me) > > No, this is correct answer. > >> so I input >> >> a'\\s >> >> and pass it to Valentina.EscapeString and get: >> >> a\'\\\\s >> >> again it's correct to me but when I do search: >> >> Like '%a\'\\\\s%' >> >> I get match with a'\s (and again it seems wrong to me, I should get >> no match here) > > Why you think it is wrong? > > Let's think in next way. You have some function > > DoLike( str1, patternStr ) as boolean > > You need use next pattern > > DoLike( "a'\s", "a'\\s" ) => true > > Right? > > In your case complexity comes that you need do 2 kinds of escape > 1) for Like itself > 2) for SQL parser. >> this job to ValentinaEscape > > > -- > Best regards, > > Ruslan Zasukhin > VP Engineering and New Technology > Paradigma Software, Inc > > Valentina - Joining Worlds of Information > http://www.paradigmasoft.com > > [I feel the need: the need for speed] > > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina Cool Runnings, Erne. / |\ |\ | / ? |/ | \ | ? \ |\ | \| \ From ernestogiannotta at tiscalinet.it Mon May 29 11:36:30 2006 From: ernestogiannotta at tiscalinet.it (Erne) Date: Mon May 29 04:36:37 2006 Subject: EacapeString and Like search In-Reply-To: References: Message-ID: Hello Ruslan, On 28-mag-06, at 22:06, Ruslan Zasukhin wrote: > > In your case complexity comes that you need do 2 kinds of escape > 1) for Like itself > 2) for SQL parser. >> this job to ValentinaEscape > can you please list all the Like wildcards used in Valentina? so far I know only \ % _ are other patterns supported (and thus must be escaped)? such as: [ ] * # ! Thanks for your kind attention Cool Runnings, Erne. / |\ |\ | / ? |/ | \ | ? \ |\ | \| \ From sunshine at public.kherson.ua Mon May 29 14:13:18 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Mon May 29 06:13:23 2006 Subject: EacapeString and Like search In-Reply-To: Message-ID: On 5/29/06 12:36 PM, "Erne" wrote: Hi Erne, > On 28-mag-06, at 22:06, Ruslan Zasukhin wrote: > >> >> In your case complexity comes that you need do 2 kinds of escape >> 1) for Like itself >> 2) for SQL parser. >> this job to ValentinaEscape >> > > can you please list all the Like wildcards used in Valentina? > > so far I know only > \ > % > _ For LIKE that is all. > are other patterns supported (and thus must be escaped)? > > such as: > [ ] > * > # > ! This are not from LIKE but from REGEX syntax. -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From sunshine at public.kherson.ua Mon May 29 14:37:18 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Mon May 29 06:37:23 2006 Subject: Does REALbasic have 'unsigned integer' ? Message-ID: We need return ULONG_MAX value this is about 4 billions -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From ernestogiannotta at tiscalinet.it Mon May 29 16:13:28 2006 From: ernestogiannotta at tiscalinet.it (erne) Date: Mon May 29 09:13:39 2006 Subject: EacapeString and Like search In-Reply-To: Message-ID: on 29-05-2006 13:13, Ruslan Zasukhin at sunshine@public.kherson.ua wrote: > On 5/29/06 12:36 PM, "Erne" wrote: > > Hi Erne, > >> On 28-mag-06, at 22:06, Ruslan Zasukhin wrote: >> >>> >>> In your case complexity comes that you need do 2 kinds of escape >>> 1) for Like itself >>> 2) for SQL parser. >> this job to ValentinaEscape >>> >> >> can you please list all the Like wildcards used in Valentina? >> >> so far I know only >> \ >> % >> _ > > For LIKE that is all. > thanks! > >> are other patterns supported (and thus must be escaped)? >> >> such as: >> [ ] >> * >> # >> ! > > This are not from LIKE but from REGEX syntax. > Well I googled a little around and found lots of flavors for SQL Like syntax, so I thought I better ask BTW what specs is Valentina Like implementation compliant to? Cool Runnings, Erne. -- / |\ |\ | / ? |/ | \ | ? \ |\ | \| \ From sunshine at public.kherson.ua Mon May 29 20:05:50 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Mon May 29 12:05:56 2006 Subject: EacapeString and Like search In-Reply-To: Message-ID: On 5/29/06 5:13 PM, "erne" wrote: > Well I googled a little around and found lots of flavors for SQL Like > syntax, so I thought I better ask > > BTW what specs is Valentina Like implementation compliant to? SQL92 standard. Do you know others spec? -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From ernestogiannotta at tiscalinet.it Mon May 29 19:22:54 2006 From: ernestogiannotta at tiscalinet.it (erne) Date: Mon May 29 12:23:06 2006 Subject: EacapeString and Like search In-Reply-To: Message-ID: on 29-05-2006 19:05, Ruslan Zasukhin at sunshine@public.kherson.ua wrote: > On 5/29/06 5:13 PM, "erne" wrote: > >> Well I googled a little around and found lots of flavors for SQL Like >> syntax, so I thought I better ask >> >> BTW what specs is Valentina Like implementation compliant to? > > SQL92 standard. > > Do you know others spec? > Nope! I just ask :-) Cool Runnings, Erne. -- | e r | Ernesto Giannotta | n e | Musical Box - a media store From macsforever2000 at goodeast.com Mon May 29 17:28:06 2006 From: macsforever2000 at goodeast.com (Frank Schima) Date: Mon May 29 18:28:19 2006 Subject: Does REALbasic have 'unsigned integer' ? In-Reply-To: References: Message-ID: Hi Ruslan, On May 29, 2006, at 5:37 AM, Ruslan Zasukhin wrote: > We need return ULONG_MAX value this is about 4 billions Since RB2006, I believe, RB has support for unsigned integers (UInt32) and 64-bit long integers (signed and unsigned). Best regards, Frank Schima From sunshine at public.kherson.ua Wed May 31 01:44:59 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue May 30 17:45:10 2006 Subject: [WIKI] 2 new pages added Message-ID: Hi All, http://www.valentina-db.com/dokuwiki/doku.php?id=paradigma:public:en:documen tation:vkernel:vlink:vlink At bottom you can find 2 new links about Automatic Optimization of links. -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From mjew at icnc.com Tue May 30 17:47:21 2006 From: mjew at icnc.com (Matthew Jew) Date: Tue May 30 19:47:34 2006 Subject: Crash 'EXC_BAD_ACCESS' when calling CreateDatabase() in C++ VSDK In-Reply-To: <20060529141345.A5E2842AB28@edison.macserve.net> References: <20060529141345.A5E2842AB28@edison.macserve.net> Message-ID: <38588ABC-66CC-45AE-A582-58DBD8415C26@icnc.com> Hello, I know I am doing something wrong, but I cannot figure it out. I have been using VSDK for C++ v1 for a long time, and am converting to use VSDK for C++ v2. I finally got my app converted and to compile and link, but when I call CreateDatabase() there is a 'EXC_BAD_ACCESS' signal. The stack looks like this: #0 0x0065ac88 in fbl::String::String #1 0x010d3514 in fbl::Localizable_Imp::MakeDefaultLocale #2 0x010d3f0c in fbl::Localizable_Imp::InitRoot #3 0x010d4138 in fbl::Localizable_Imp::Localizable_Imp #4 0x010cb360 in fbl::Database::Database #5 0x0100d200 in fbl::CreateDatabase I called ValentinaInit() before my call to CreateDatabase(). I'm not sure what I'm missing. I am using the latest Valentina VSDK for C++ universal build and I am using XCode 2.3 on Mac OS X 10.4.6 with the latest patches applied. - Matthew From sunshine at public.kherson.ua Wed May 31 10:33:34 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed May 31 02:33:44 2006 Subject: Crash 'EXC_BAD_ACCESS' when calling CreateDatabase() in C++ VSDK In-Reply-To: <38588ABC-66CC-45AE-A582-58DBD8415C26@icnc.com> Message-ID: On 5/31/06 3:47 AM, "Matthew Jew" wrote: Hi Matthew, > I know I am doing something wrong, but I cannot figure it out. > > I have been using VSDK for C++ v1 for a long time, and am converting > to use VSDK for C++ v2. > > I finally got my app converted and to compile and link, big step forward! > but when I call CreateDatabase() there is > a 'EXC_BAD_ACCESS' signal. > The stack looks like this: > > #0 0x0065ac88 in fbl::String::String > #1 0x010d3514 in fbl::Localizable_Imp::MakeDefaultLocale > #2 0x010d3f0c in fbl::Localizable_Imp::InitRoot > #3 0x010d4138 in fbl::Localizable_Imp::Localizable_Imp > #4 0x010cb360 in fbl::Database::Database > #5 0x0100d200 in fbl::CreateDatabase > > I called ValentinaInit() before my call to CreateDatabase(). I'm not > sure what I'm missing. > I am using the latest Valentina VSDK for C++ universal build > and I am using XCode 2.3 on Mac OS X 10.4.6 with the latest patches > applied. Have you try run VSDK examples? Are they working ? I ask to see if problem is in VSDK itself or in your code ... -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From sunshine at public.kherson.ua Wed May 31 12:15:32 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed May 31 04:15:40 2006 Subject: [ANN] Vserver DEMO license files for June uploaded Message-ID: -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From joakim at astrocalc.com Wed May 31 14:25:26 2006 From: joakim at astrocalc.com (Joakim Schramm) Date: Wed May 31 07:25:29 2006 Subject: [WIKI] 2 new pages added In-Reply-To: Message-ID: <20060531121845.8DEFE818389@merc.astrocalc.net> Ruslan, The second article (Automatic optimation) refer to 2.4b10, is this the latest beta, also for COM? I currently have b6 but when trying to get a beta from site it just seem to point to the 2.3 release version, the links kinda takes you round in circles... Joakim > -----Original Message----- > From: valentina-bounces@lists.macserve.net > [mailto:valentina-bounces@lists.macserve.net] On Behalf Of > Ruslan Zasukhin > Sent: 31 May 2006 00:45 > To: valentina-beta@lists.macserve.net; > valentina@lists.macserve.net; Andre Garzia > Subject: [WIKI] 2 new pages added > > Hi All, > > http://www.valentina-db.com/dokuwiki/doku.php?id=paradigma:pub lic:en:documen > tation:vkernel:vlink:vlink > > > At bottom you can find 2 new links about > Automatic Optimization of links. > > > -- > Best regards, > > Ruslan Zasukhin > VP Engineering and New Technology > Paradigma Software, Inc > > Valentina - Joining Worlds of Information http://www.paradigmasoft.com > > [I feel the need: the need for speed] > > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina > From sunshine at public.kherson.ua Wed May 31 17:44:58 2006 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed May 31 09:45:03 2006 Subject: [WIKI] 2 new pages added In-Reply-To: <20060531121845.8DEFE818389@merc.astrocalc.net> Message-ID: On 5/31/06 3:25 PM, "Joakim Schramm" wrote: > Ruslan, > > The second article (Automatic optimation) refer to 2.4b10, is this the > latest beta, also for COM? I currently have b6 but when trying to get a > beta from site it just seem to point to the 2.3 release version, the links > kinda takes you round in circles... Hi Joakim, I new that you will be interested in this feature :-) Although again note, it is not implemented yet. We only have start movement to it. I hope to be able make 2.4 beta builds of Windows products today in nearest few hours. Please watch for beta list. >> Hi All, >> >> http://www.valentina-db.com/dokuwiki/doku.php?id=paradigma:pub >> lic:en:documentation:vkernel:vlink:vlink >> >> >> At bottom you can find 2 new links about >> Automatic Optimization of links. -- Best regards, Ruslan Zasukhin VP Engineering and New Technology Paradigma Software, Inc Valentina - Joining Worlds of Information http://www.paradigmasoft.com [I feel the need: the need for speed] From mjew at icnc.com Wed May 31 14:45:32 2006 From: mjew at icnc.com (Matthew Jew) Date: Wed May 31 16:45:40 2006 Subject: Crash 'EXC_BAD_ACCESS' when calling CreateDatabase() in C++ VSDK Message-ID: > On 5/31/06 3:47 AM, "Matthew Jew" wrote: > > Hi Matthew, > > > I know I am doing something wrong, but I cannot figure it out. > > > > I have been using VSDK for C++ v1 for a long time, and am converting > > to use VSDK for C++ v2. > > > > I finally got my app converted and to compile and link, > > big step forward! > > > but when I call CreateDatabase() there is > > a 'EXC_BAD_ACCESS' signal. > > > The stack looks like this: > > > > #0 0x0065ac88 in fbl::String::String > > #1 0x010d3514 in fbl::Localizable_Imp::MakeDefaultLocale > > #2 0x010d3f0c in fbl::Localizable_Imp::InitRoot > > #3 0x010d4138 in fbl::Localizable_Imp::Localizable_Imp > > #4 0x010cb360 in fbl::Database::Database > > #5 0x0100d200 in fbl::CreateDatabase > > > > I called ValentinaInit() before my call to CreateDatabase(). I'm not > > sure what I'm missing. > > > I am using the latest Valentina VSDK for C++ universal build > > and I am using XCode 2.3 on Mac OS X 10.4.6 with the latest patches > > applied. > > Have you try run VSDK examples? > Are they working ? > > I ask to see if problem is in VSDK itself or in your code ... > Ruslan, Yes, I can compile and run the VSDK examples. I wish I could figure out what about my project is wrong... - Matthew From mjew at icnc.com Wed May 31 15:07:45 2006 From: mjew at icnc.com (Matthew Jew) Date: Wed May 31 17:07:52 2006 Subject: Crash 'EXC_BAD_ACCESS' when calling CreateDatabase() in C++ VSDK In-Reply-To: <20060531215141.D89F442BB75@edison.macserve.net> References: <20060531215141.D89F442BB75@edison.macserve.net> Message-ID: On May 31, 2006, at 2:51 PM, Ruslan Zasukhin wrote: > On 6/1/06 12:45 AM, "Matthew Jew" wrote: > >>>> #0 0x0065ac88 in fbl::String::String >>>> #1 0x010d3514 in fbl::Localizable_Imp::MakeDefaultLocale >>>> #2 0x010d3f0c in fbl::Localizable_Imp::InitRoot >>>> #3 0x010d4138 in fbl::Localizable_Imp::Localizable_Imp >>>> #4 0x010cb360 in fbl::Database::Database >>>> #5 0x0100d200 in fbl::CreateDatabase >>>> >>>> I called ValentinaInit() before my call to CreateDatabase(). I'm >>>> not >>>> sure what I'm missing. >>> >>>> I am using the latest Valentina VSDK for C++ universal build >>>> and I am using XCode 2.3 on Mac OS X 10.4.6 with the latest patches >>>> applied. >>> >>> Have you try run VSDK examples? >>> Are they working ? >>> >>> I ask to see if problem is in VSDK itself or in your code ... >>> >> >> Ruslan, >> >> Yes, I can compile and run the VSDK examples. >> >> I wish I could figure out what about my project is wrong... > > So you are sure that Valentina.Init() was called...okay > > Do you create database as > FBL::CreateDatabase() > Or > VSQL::CreateDatabase() > > > May be show me your code from init Valentina to CreateDatabase. > > I really have no idea why it crashes for you. > Crash in string. Sounds like ValentinaInit was not done. > > > > -- > Best regards, > > Ruslan Zasukhin The database is created when my C++ object is created. The object constructor is: DbValentinaBase::DbValentinaBase() { // This routine knows not to initialize more than once PVInitializeDBSystem(); DB = FBL::CreateDatabase(); } // And the initializing routine is: static long gPVDBSystemRefCount = 0; static unsigned long gPVSizeOfDBCache = 0; static unsigned long gPVDefaultSizeOfDBCache = 16 * 1024 * 1024; void PVInitializeDBSystem( unsigned long cacheSize ) { unsigned long cacheSizeToUse; if ( gPVDBSystemRefCount <= 0 ) { if ( cacheSize > 0 ) { cacheSizeToUse = cacheSize; } else { cacheSizeToUse = gPVDefaultSizeOfDBCache; } // initialize the Valentina kernel: cache size, MacOS serial number, Windows serial number gPVSizeOfDBCache = ValentinaInit( cacheSize, kOurValentinaSerialNumber, NULL ); printf( "ValentinaInit: gPVSizeOfDBCache = %lu\n", gPVSizeOfDBCache ); // DEBUG: REMOVE LATER Prove we initialized gPVDBSystemRefCount = 1; } else { ++gPVDBSystemRefCount; } } - Matthew