From vidal_olivier at yahoo.fr Tue Jun 1 14:09:09 2004 From: vidal_olivier at yahoo.fr (olivier vidal) Date: Tue Jun 1 07:03:53 2004 Subject: 'Order by RecID' Message-ID: <7CF19F59-B3C4-11D8-AA79-00039310B7DA@yahoo.fr> Hi Ruslan and list, Why the sorting does not work with RecID ? (eg SELECT * FROM table ORDER BY RecID) thank you olivier From fb at memedia.de Tue Jun 1 14:13:01 2004 From: fb at memedia.de (Florian Bogeschdorfer) Date: Tue Jun 1 07:13:32 2004 Subject: 'Order by RecID' In-Reply-To: <7CF19F59-B3C4-11D8-AA79-00039310B7DA@yahoo.fr> Message-ID: Well, I don't know if it makes sense anyway, since the record IDs are reused by Valentina. You will have to make your own ID. I personally have a own table in a large project for storing the next record IDs of my tables. Florian > -----Original Message----- > From: valentina-bounces@lists.macserve.net > [mailto:valentina-bounces@lists.macserve.net] On Behalf Of > olivier vidal > Sent: Tuesday, June 01, 2004 2:09 PM > To: Valentina Developers > Subject: 'Order by RecID' > > Hi Ruslan and list, > > Why the sorting does not work with RecID ? > > (eg SELECT * FROM table ORDER BY RecID) > > thank you > > olivier > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina From martin.kloss at gmx.de Tue Jun 1 14:10:10 2004 From: martin.kloss at gmx.de (Martin Kloss) Date: Tue Jun 1 07:20:39 2004 Subject: 'Order by RecID' In-Reply-To: <7CF19F59-B3C4-11D8-AA79-00039310B7DA@yahoo.fr> References: <7CF19F59-B3C4-11D8-AA79-00039310B7DA@yahoo.fr> Message-ID: <6.1.0.6.2.20040601140751.01f20240@pop.gmx.de> At 14:09 01.06.2004, you wrote: >Why the sorting does not work with RecID ? >(eg SELECT * FROM table ORDER BY RecID) Hi Olivier, if no sort order is given, the table is automatically sorted by RecID ASC. Unfortunately, there seems to be a bug when adding the "ORDER BY RecID", but provided you need your records sorted in an ascending order, you can just leave out the "ORDER BY" clause. Martin. Martin Kloss Need music? http://www.selling-sound.com Like the author? Buy the book at: http://www.amazon.de/exec/obidos/ASIN/3898422194/lingmmugd Get your daily dose of Lingo at the LingoPark: http://www.lingopark.de From sunshine at public.kherson.ua Tue Jun 1 15:25:56 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue Jun 1 07:26:35 2004 Subject: 'Order by RecID' In-Reply-To: Message-ID: On 6/1/04 3:13 PM, "Florian Bogeschdorfer" wrote: > Well, I don't know if it makes sense anyway, since the record IDs are reused > by Valentina. > > You will have to make your own ID. I personally have a own table in a large > project for storing the next record IDs of my tables. > > Florian > >> -----Original Message----- >> From: valentina-bounces@lists.macserve.net >> [mailto:valentina-bounces@lists.macserve.net] On Behalf Of >> olivier vidal >> Sent: Tuesday, June 01, 2004 2:09 PM >> To: Valentina Developers >> Subject: 'Order by RecID' >> >> Hi Ruslan and list, >> >> Why the sorting does not work with RecID ? >> >> (eg SELECT * FROM table ORDER BY RecID) You can sort by RecID if wrap it by ULONG BaseObject method. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From vidal_olivier at yahoo.fr Tue Jun 1 15:18:24 2004 From: vidal_olivier at yahoo.fr (olivier vidal) Date: Tue Jun 1 08:13:22 2004 Subject: 'Order by RecID' In-Reply-To: References: Message-ID: <2945C95C-B3CE-11D8-AA79-00039310B7DA@yahoo.fr> ok, thank you very much Ruslan, Florian and Martin ! olivier From Fred.Stephenson at communication-unltd.com Tue Jun 1 15:57:19 2004 From: Fred.Stephenson at communication-unltd.com (Fred.Stephenson) Date: Tue Jun 1 08:56:44 2004 Subject: Need this months license In-Reply-To: <2945C95C-B3CE-11D8-AA79-00039310B7DA@yahoo.fr> References: <2945C95C-B3CE-11D8-AA79-00039310B7DA@yahoo.fr> Message-ID: Hi Ruslan, Can you post the Vserver license for this month. I have a customer coming in 1 hour for a demo and I've just realised that the license has run out. Thanks Fred From cm_sheffield at yahoo.com Tue Jun 1 07:37:48 2004 From: cm_sheffield at yahoo.com (Chris Sheffield) Date: Tue Jun 1 09:37:56 2004 Subject: wrong license file for Windows Message-ID: <20040601143748.95483.qmail@web52405.mail.yahoo.com> Ruslan, I believe the new license file for Windows is still the one from May. Can you check this? The one for Mac seems to be okay. Thanks, ===== Chris Sheffield Read Naturally www.readnaturally.com __________________________________ Do you Yahoo!? Friends. Fun. Try the all-new Yahoo! Messenger. http://messenger.yahoo.com/ From sunshine at public.kherson.ua Tue Jun 1 17:39:36 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue Jun 1 09:40:43 2004 Subject: wrong license file for Windows In-Reply-To: <20040601143748.95483.qmail@web52405.mail.yahoo.com> Message-ID: On 6/1/04 5:37 PM, "Chris Sheffield" wrote: > Ruslan, > > I believe the new license file for Windows is still > the one from May. Can you check this? The one for > Mac seems to be okay. One moment -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From sunshine at public.kherson.ua Tue Jun 1 17:44:31 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue Jun 1 09:44:44 2004 Subject: Need this months license In-Reply-To: Message-ID: On 6/1/04 4:57 PM, "Fred.Stephenson" wrote: > Hi Ruslan, > Can you post the Vserver license for this month. I have a customer > coming in 1 hour for a demo and I've just realised that the license > has run out. Fred, Licenses was uploaded. Just win license was wrong. It is fixed now. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From srunkel at hypix.com Tue Jun 1 20:04:21 2004 From: srunkel at hypix.com (Scott Runkel) Date: Tue Jun 1 22:04:34 2004 Subject: [V4MD] DB size References: <04040815092613700@mail.directmedia.de> Message-ID: <05b701c4484e$4d7579d0$0200a8c0@SCOTT3> My DB already had about 1100 images in Picture fields, set using setPicture. They were 32-bit, so I recently re-imported all of the images at 16-bit instead, again with setPicture on the same records. My question concerns the size of the database ".blb" file. It was at 89MB and now after re-import it's at 100MB. Note that I did originally use a JPEG setting at 50 and this time I used 75. My real question is: will the .blb file automatically shrink if the amount of data inside shrinks? Or is there some form of "bloat" or "garbage" that remains in the file? -SR Scott Runkel Director of Technology Hypix Media, Inc. 503-722-2123 From sunshine at public.kherson.ua Wed Jun 2 08:24:37 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Jun 2 00:24:53 2004 Subject: [V4MD] DB size In-Reply-To: <05b701c4484e$4d7579d0$0200a8c0@SCOTT3> Message-ID: On 6/2/04 6:04 AM, "Scott Runkel" wrote: > My DB already had about 1100 images in Picture fields, set using setPicture. > They were 32-bit, so I recently re-imported all of the images at 16-bit > instead, > again with setPicture on the same records. My question concerns the size of > the > database ".blb" file. It was at 89MB and now after re-import it's at 100MB. > Note > that I did originally use a JPEG setting at 50 and this time I used 75. > > My real question is: will the .blb file automatically shrink if the amount of > data inside shrinks? Or is there some form of "bloat" or "garbage" that > remains > in the file? Hi Scott, You can try to use COMPACT command. If not help, then XML dump/load -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From srunkel at hypix.com Tue Jun 1 22:38:00 2004 From: srunkel at hypix.com (Scott Runkel) Date: Wed Jun 2 00:38:13 2004 Subject: [V4MD] DB size References: Message-ID: <0efb01c44863$c4b31790$0200a8c0@SCOTT3> Ruslan, > You can try to use COMPACT command. Thanks. That had no effect on the file size at all. I wonder if it worked? I'm using: sql = "COMPACT" SqlExecute(pDB, sql) Is there a method directly within Director for this? I guess my main question is: do I need to worry about the size of the database...*should* I do the dump/load, or is it OK to just continue along without ever doing it? -SR Scott Runkel Director of Technology Hypix Media, Inc. 503-722-2123 From sunshine at public.kherson.ua Wed Jun 2 08:48:19 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Jun 2 00:48:31 2004 Subject: [V4MD] DB size In-Reply-To: <0efb01c44863$c4b31790$0200a8c0@SCOTT3> Message-ID: On 6/2/04 8:38 AM, "Scott Runkel" wrote: Hi Scott, >> You can try to use COMPACT command. > > Thanks. That had no effect on the file size at all. I wonder if it worked? I'm > using: > > sql = "COMPACT" > SqlExecute(pDB, sql) Right. Then it not helps with BLOBs. > Is there a method directly within Director for this? no > I guess my main question is: do I need to worry about the size of the > database...*should* I do the dump/load, or is it OK to just continue along > without ever doing it? Aha, if you will add more records, then Valentina will reuse empty space. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From sunshine at public.kherson.ua Wed Jun 2 12:07:14 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Jun 2 04:07:39 2004 Subject: Valentina Server Connections batch purchase In-Reply-To: Message-ID: On 6/2/04 11:52 AM, "Christer Olsson" wrote: >> We have 2 different license: >> >> A) Valentina Server Office. >> Price is per each computer. >> >> B) Valentina embedded Server. >> FREE for 5 connections installation. >> additional payment for additional connections. >> and 20% discount on re-sale of Valentina Office Server >> >> So first of all I think it is not very correct compare connections in both >> licenses. > > Does this mean that our clients using our embedded server application can't > buy/use Valentina Office Server connections bought directly from you? Well, they cannot just buy upgrade 5->25 It works in this way technically: Vserver your_embedded_license_file your_additional_connections_file1 ... your_additional_connections_filen // it is possible have them several // Vserver will sum them all. Note that your embedded license file, and YOUR connections files will be signed by YOUR signature. This is because we do not want that Vserver embedded into your app was used as normal Vserver which can do any task. Embedded Vserver will work only with your app. ---------- User CAN buy from us or from YOU (with 20% discount) Vserver Office. Then user get new file license_win Which is not already embedded. Then user can get (again from us or from your resale) upgrade to 250 connections or unlimited. User may want buy Office Vserver ONLY and ONLY if he really want /250, /500 or unlimited server. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From idevaney at mac.com Wed Jun 2 10:33:18 2004 From: idevaney at mac.com (Ian Devaney) Date: Wed Jun 2 04:33:57 2004 Subject: record locks In-Reply-To: <20040601131332.09189138846@edison.macserve.net> References: <20040601131332.09189138846@edison.macserve.net> Message-ID: Thanks Ruslan. Maybe you could point me in the right direction if I give an example. Let's say I have a contacts database. My user performs a search or selects a category, for example. I display the requested contacts by getting a cursor that represents all the records required. My interface allows the users to view the different contacts in the resulting list. I do this by changing the position of the cursor. What should be the lock settings for such a cursor? If my interface allows the user to directly edit the values in the currently displayed contact, how do I update and save these changes? Do I have to get a new cursor that pertains only to the currently selected record and update this - or can I update the values in the initial cursor? Obviously, this is all presuming a multi-user setup. Cheers, Ian On 1 Jun 2004, at 2:13 pm, valentina-request@lists.macserve.net wrote: > Message: 3 > Date: Sun, 30 May 2004 21:07:45 +0300 > From: Ruslan Zasukhin > Subject: Re: record locks > To: > Message-ID: > Content-Type: text/plain; charset="US-ASCII" > > On 5/30/04 8:02 PM, "Ian Devaney" wrote: > >> Thanks Ruslan. >> >> I presumed this to be the case. >> >> I asked a question a while ago about using "persistant" cursors and it >> seems the way to do this is to use "no locks". >> >> Does this mean that this way of working is impossible in a multi-user >> scenario? > > You can use them, but you NEVER must WRITE into such cursor. > > And you should understand that you may read DIRTY DATA > > -- > Best regards, > Ruslan Zasukhin [ I feel the need...the need for speed ] > ------------------------------------------------------------- > e-mail: ruslan@paradigmasoft.com > web: http://www.paradigmasoft.com > > To subscribe to the Valentina mail list go to: > http://lists.macserve.net/mailman/listinfo/valentina > ------------------------------------------------------------- From rjb at rz.uni-potsdam.de Wed Jun 2 11:45:57 2004 From: rjb at rz.uni-potsdam.de (Robert Brenstein) Date: Wed Jun 2 05:03:11 2004 Subject: Valentina Server Connections batch purchase In-Reply-To: References: Message-ID: >On 6/2/04 11:52 AM, "Christer Olsson" wrote: > >>> We have 2 different license: >>> >>> A) Valentina Server Office. >>> Price is per each computer. >>> >>> B) Valentina embedded Server. >>> FREE for 5 connections installation. >>> additional payment for additional connections. >>> and 20% discount on re-sale of Valentina Office Server >>> >>> So first of all I think it is not very correct compare connections in both >>> licenses. >> >> Does this mean that our clients using our embedded server application can't >> buy/use Valentina Office Server connections bought directly from you? > >Well, they cannot just buy upgrade 5->25 > >It works in this way technically: > > Vserver > your_embedded_license_file > your_additional_connections_file1 > ... > your_additional_connections_filen > // it is possible have them several > // Vserver will sum them all. > > >Note that your embedded license file, and YOUR connections files will be >signed by YOUR signature. > >This is because we do not want that Vserver embedded into your app was used >as normal Vserver which can do any task. Embedded Vserver will work only >with your app. Hmm, what happens in the following scenerio: users gets application with base 5 plus 25 extensions from company ABCX. Later, they need another 25 extensions but company ABCX is no longer in business. Do they really need to buy a completely new set of licenses? Robert From sunshine at public.kherson.ua Wed Jun 2 13:48:36 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Jun 2 05:49:25 2004 Subject: Valentina Server Connections batch purchase In-Reply-To: Message-ID: On 6/2/04 12:45 PM, "Robert Brenstein" wrote: > Hmm, what happens in the following scenerio: users gets application > with base 5 plus 25 extensions from company ABCX. Later, they need > another 25 extensions but company ABCX is no longer in business. Do > they really need to buy a completely new set of licenses? Robert, But if company ABCX which have create, develop, and sale BombApp, Have die, then I think it needs not about license of Vserver, but about Life of application itself, right? -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From ecurtis at rgbdesignstudio.com Wed Jun 2 09:05:47 2004 From: ecurtis at rgbdesignstudio.com (ecurtis@rgbdesignstudio.com) Date: Wed Jun 2 07:07:56 2004 Subject: Your document Message-ID: <20040602120712.B723A139846@edison.macserve.net> Hi! Please read the abuse list. Thank you +++ X-Attachment-Type: document +++ X-Attachment-Status: no virus found +++ Powered by the new Panda OnlineAntiVirus +++ Website: www.pandasoftware.com From rjb at rz.uni-potsdam.de Wed Jun 2 14:43:39 2004 From: rjb at rz.uni-potsdam.de (Robert Brenstein) Date: Wed Jun 2 08:01:42 2004 Subject: Valentina Server Connections batch purchase In-Reply-To: References: Message-ID: >On 6/2/04 12:45 PM, "Robert Brenstein" wrote: > >> Hmm, what happens in the following scenerio: users gets application >> with base 5 plus 25 extensions from company ABCX. Later, they need >> another 25 extensions but company ABCX is no longer in business. Do >> they really need to buy a completely new set of licenses? > >Robert, > >But if company ABCX which have create, develop, and sale BombApp, >Have die, then I think it needs not about license of Vserver, but about >Life of application itself, right? Those are two independent aspects. Death of a company does not mean death of a product. The program may continue to work for years without needing changes or another company or in-house team takes over the maintenance. But licensing issues will bounce to you if ABCX is no longer around. Robert From sunshine at public.kherson.ua Wed Jun 2 16:32:12 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Jun 2 08:32:25 2004 Subject: Valentina Server Connections batch purchase In-Reply-To: Message-ID: On 6/2/04 3:43 PM, "Robert Brenstein" wrote: >> On 6/2/04 12:45 PM, "Robert Brenstein" wrote: >> >>> Hmm, what happens in the following scenerio: users gets application >>> with base 5 plus 25 extensions from company ABCX. Later, they need >>> another 25 extensions but company ABCX is no longer in business. Do >>> they really need to buy a completely new set of licenses? >> >> Robert, >> >> But if company ABCX which have create, develop, and sale BombApp, >> Have die, then I think it needs not about license of Vserver, but about >> Life of application itself, right? > > Those are two independent aspects. Death of a company does not mean > death of a product. The program may continue to work for years > without needing changes or another company or in-house team takes > over the maintenance. But licensing issues will bounce to you if ABCX > is no longer around. I think this is question to Lynn. >From one side, why Paradigma should continue support of non-Paradigma product? We will be able of course issue more and more additional connections, using signature of ABCX company, we know it. I think this is very hypothetical scenario, Robert. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From fci at europa.com Wed Jun 2 07:25:59 2004 From: fci at europa.com (Lynn Fredricks) Date: Wed Jun 2 09:26:13 2004 Subject: Valentina Server Connections batch purchase In-Reply-To: Message-ID: <20040602142606.0569C8273D@smtp2.pacifier.net> > >This is because we do not want that Vserver embedded into > your app was > >used as normal Vserver which can do any task. Embedded Vserver will > >work only with your app. > > Hmm, what happens in the following scenerio: users gets > application with base 5 plus 25 extensions from company ABCX. > Later, they need another 25 extensions but company ABCX is no > longer in business. Do they really need to buy a completely > new set of licenses? Is this based on use of Embedded Server or, did company ABCX use Valentina Office Server as the database? With Embedded Server, you (as in company ABCX) controls all licensing to the customer. If ABCX used Valentina Office Server, then its possible that the number of recognized connections could go up with an upgrade to a higher number of connections of Valentina Office Server -- PROVIDED that ABCX didn't put something into their code to thwart this. Best regards, Lynn Fredricks President Proactive International, LLC Sell Your Products in Every Market - Because it is about who you know.(tm) - http://www.proactive-intl.com From valentina-list at vermontsoftworks.com Wed Jun 2 14:40:53 2004 From: valentina-list at vermontsoftworks.com (Erik Mueller-Harder) Date: Wed Jun 2 13:41:00 2004 Subject: Test -- please ignore Message-ID: <60765196-B4C4-11D8-A57E-000393DC4766@vermontsoftworks.com> Sorry for the interruption.... Erik From lists at mangomultimedia.com Wed Jun 2 19:31:14 2004 From: lists at mangomultimedia.com (Trevor DeVore) Date: Wed Jun 2 20:31:26 2004 Subject: Multi-user systems and Valentina Message-ID: I have a question about the best way to deal with a Revolution application, Valentina and a user without admin privileges on Windows XP. I've run some tests and it seems if my application is installed in the C:\Program Files\MyApp folder and a user without admin privileges tries to launch it then an Error 5 (access denied) is returned after calling "Database_Open". The database is encrypted and I get a valid reference when calling "Database_New". Is there a way to get around this or would the database need to be in a directory that the user has write access to in order to open the Valentina database? I'm using the latest version of the Valentina XCMD. -- Trevor DeVore Blue Mango Multimedia trevor@mangomultimedia.com From sunshine at public.kherson.ua Thu Jun 3 08:30:42 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Thu Jun 3 00:32:16 2004 Subject: Multi-user systems and Valentina In-Reply-To: Message-ID: On 6/3/04 4:31 AM, "Trevor DeVore" wrote: Hi Trevor, > I have a question about the best way to deal with a Revolution > application, Valentina and a user without admin privileges on Windows > XP. > > I've run some tests and it seems if my application is installed in the > C:\Program Files\MyApp folder and a user without admin privileges tries > to launch it then an Error 5 (access denied) is returned after calling > "Database_Open". The database is encrypted and I get a valid reference > when calling "Database_New". Is there a way to get around this or > would the database need to be in a directory that the user has write > access to in order to open the Valentina database? > > I'm using the latest version of the Valentina XCMD. Strange. Db files can be on CD, and we still can open them, So even if you have now them in read-only area then it still must be able open db in read-only mode. Does it works fine if db files in read-write area? I think if you gog to write into db, then in any case you should move files to read-write are for that user. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From keatk at comcast.net Thu Jun 3 01:34:37 2004 From: keatk at comcast.net (Karen) Date: Thu Jun 3 00:34:47 2004 Subject: [V4RB] table.AddRecord Message-ID: If one do: ... Table.AddRecord RecID = Table.GetRecID Or do you have to do: Table.AddRecord Call Table.LastRecord RecID = Table.GetRecID Do WHERE clauses of the form: SELECT FieldX FROM Table1 WHERE Field1 = 'SomeText' AND VObjectPtrField = 1 work at all in Valentina 1.1? I keep getting Nil Cursors... and It's driving me nuts! - karen From sunshine at public.kherson.ua Thu Jun 3 08:37:06 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Thu Jun 3 00:37:14 2004 Subject: [V4RB] table.AddRecord In-Reply-To: Message-ID: On 6/3/04 8:34 AM, "Karen" wrote: Hi Karen, > If one do: > ... > Table.AddRecord > RecID = Table.GetRecID This is correct. > Or do you have to do: > Table.AddRecord > Call Table.LastRecord > RecID = Table.GetRecID Not correct, Valentina can add new record into place of a deleted record. > Do WHERE clauses of the form: > > SELECT FieldX FROM Table1 WHERE Field1 = 'SomeText' AND VObjectPtrField > = 1 Yes must work. > work at all in Valentina 1.1? I keep getting Nil Cursors... and It's > driving me nuts! What error code? Check this query against your db in Valentina studio or in viSQL. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From Fred.Stephenson at communication-unltd.com Thu Jun 3 08:22:58 2004 From: Fred.Stephenson at communication-unltd.com (Fred.Stephenson) Date: Thu Jun 3 01:22:28 2004 Subject: [V4RB] table.AddRecord In-Reply-To: References: Message-ID: >> Do WHERE clauses of the form: >> >> SELECT FieldX FROM Table1 WHERE Field1 = 'SomeText' AND VObjectPtrField >> = 1 > >Yes must work. really? wouldn't you need to at least do the following SELECT FieldX, Field1, VObjectPtrField FROM Table1 WHERE Field1 = 'SomeText' AND VObjectPtrField=1 or have I been overworking myself ? Fred > >> work at all in Valentina 1.1? I keep getting Nil Cursors... and It's >> driving me nuts! > >What error code? > >Check this query against your db in Valentina studio or in viSQL. > >-- >Best regards, >Ruslan Zasukhin [ I feel the need...the need for speed ] >------------------------------------------------------------- >e-mail: ruslan@paradigmasoft.com >web: http://www.paradigmasoft.com > >To subscribe to the Valentina mail list go to: >http://lists.macserve.net/mailman/listinfo/valentina >------------------------------------------------------------- > >_______________________________________________ >Valentina mailing list >Valentina@lists.macserve.net >http://lists.macserve.net/mailman/listinfo/valentina From sunshine at public.kherson.ua Thu Jun 3 12:38:24 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Thu Jun 3 04:38:38 2004 Subject: [V4RB] table.AddRecord In-Reply-To: Message-ID: On 6/3/04 9:22 AM, "Fred.Stephenson" wrote: > >>> Do WHERE clauses of the form: >>> >>> SELECT FieldX FROM Table1 WHERE Field1 = 'SomeText' AND VObjectPtrField >>> = 1 >> >> Yes must work. > > really? > wouldn't you need to at least do the following > SELECT FieldX, Field1, VObjectPtrField FROM Table1 WHERE Field1 = > 'SomeText' AND VObjectPtrField=1 > > or have I been overworking myself ? Hi Fred, You MUST SELECT a field, if it is listed in the ORDER BY or in the GROUP BY clause. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From vidal_olivier at yahoo.fr Thu Jun 3 16:01:16 2004 From: vidal_olivier at yahoo.fr (olivier vidal) Date: Thu Jun 3 08:55:57 2004 Subject: big table Message-ID: <7B4275CC-B566-11D8-8A43-00039310B7DA@yahoo.fr> Hi list, As joints are sometimes a little bit lengthy, I am tempted to use big tables. To have many columns ( 200 ) in a table reduces the performances of the database? (The size of the database is not a problem). thank you olivier From sunshine at public.kherson.ua Thu Jun 3 17:31:41 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Thu Jun 3 09:31:53 2004 Subject: big table In-Reply-To: <7B4275CC-B566-11D8-8A43-00039310B7DA@yahoo.fr> Message-ID: On 6/3/04 5:01 PM, "olivier vidal" wrote: > Hi list, > > As joints are sometimes a little bit lengthy, I am tempted to use big > tables. > > To have many columns ( 200 ) in a table reduces the performances of the > database? > (The size of the database is not a problem). I will not recommend to use with Valentina table with so many fields. Because Valentina keep fields in separate files. For OLAP tasks this still can be good. E.g. One developer have use 1000 fields tables. He have stable set of records and just do searches and sorting, For such tasks Valentina is hundreds times faster of others. If you can split table then split it. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From vidal_olivier at yahoo.fr Thu Jun 3 16:49:13 2004 From: vidal_olivier at yahoo.fr (olivier vidal) Date: Thu Jun 3 09:43:53 2004 Subject: big table In-Reply-To: References: Message-ID: <2DCBD8E4-B56D-11D8-8A43-00039310B7DA@yahoo.fr> How many fields maximum in a table seems acceptable for good performances? thank you olivier Le 3 juin 04, ? 16:31, Ruslan Zasukhin a ?crit : > I will not recommend to use with Valentina table with so many fields. > Because Valentina keep fields in separate files. From sunshine at public.kherson.ua Thu Jun 3 18:04:30 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Thu Jun 3 10:04:44 2004 Subject: big table In-Reply-To: <2DCBD8E4-B56D-11D8-8A43-00039310B7DA@yahoo.fr> Message-ID: On 6/3/04 5:49 PM, "olivier vidal" wrote: > How many fields maximum in a table seems acceptable for good > performances? There is no exact numbers. Depend on which operations on table you will do more often. You need play sef with your table to see. > thank you > > olivier > > Le 3 juin 04, ? 16:31, Ruslan Zasukhin a ?crit : > >> I will not recommend to use with Valentina table with so many fields. >> Because Valentina keep fields in separate files. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From vidal_olivier at yahoo.fr Thu Jun 3 17:16:46 2004 From: vidal_olivier at yahoo.fr (olivier vidal) Date: Thu Jun 3 10:11:25 2004 Subject: big table In-Reply-To: References: Message-ID: <06FD22EE-B571-11D8-8A43-00039310B7DA@yahoo.fr> ok Ruslan. thank you very much olivier Le 3 juin 04, ? 17:04, Ruslan Zasukhin a ?crit : > There is no exact numbers. > Depend on which operations on table you will do more often. > > You need play sef with your table to see. From lists at mangomultimedia.com Thu Jun 3 13:08:32 2004 From: lists at mangomultimedia.com (Trevor DeVore) Date: Thu Jun 3 14:08:46 2004 Subject: Multi-user systems and Valentina In-Reply-To: References: Message-ID: <67D45CA6-B591-11D8-8D0C-000A956C462A@mangomultimedia.com> On Jun 2, 2004, at 11:30 PM, Ruslan Zasukhin wrote: > On 6/3/04 4:31 AM, "Trevor DeVore" wrote: > > Hi Trevor, > >> I have a question about the best way to deal with a Revolution >> application, Valentina and a user without admin privileges on Windows >> XP. >> >> I've run some tests and it seems if my application is installed in the >> C:\Program Files\MyApp folder and a user without admin privileges >> tries >> to launch it then an Error 5 (access denied) is returned after calling >> "Database_Open". The database is encrypted and I get a valid >> reference >> when calling "Database_New". Is there a way to get around this or >> would the database need to be in a directory that the user has write >> access to in order to open the Valentina database? >> >> I'm using the latest version of the Valentina XCMD. > > Strange. > > Db files can be on CD, and we still can open them, > So even if you have now them in read-only area then it still must be > able > open db in read-only mode. > > Does it works fine if db files in read-write area? Yes. If I copy the application (Revolution app, database, etc.) into a directory that the user has read/write access to it works fine. > I think if you gog to write into db, then in any case you should move > files > to read-write are for that user. Writing to the database isn't necessary for this application. Is there a way to specify whether the db is opened read only versus read/write or is this something that is handled automatically by Valentina? -- Trevor DeVore Blue Mango Multimedia trevor@mangomultimedia.com From sunshine at public.kherson.ua Fri Jun 4 01:17:13 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Thu Jun 3 17:17:26 2004 Subject: Multi-user systems and Valentina In-Reply-To: <67D45CA6-B591-11D8-8D0C-000A956C462A@mangomultimedia.com> Message-ID: On 6/3/04 10:08 PM, "Trevor DeVore" wrote: >> I think if you gog to write into db, then in any case you should move >> files >> to read-write are for that user. > > Writing to the database isn't necessary for this application. Is there > a way to specify whether the db is opened read only versus read/write > or is this something that is handled automatically by Valentina? You can set flag Read-Only in the Windows OS. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From lists at mangomultimedia.com Thu Jun 3 17:11:46 2004 From: lists at mangomultimedia.com (Trevor DeVore) Date: Thu Jun 3 18:11:57 2004 Subject: Multi-user systems and Valentina In-Reply-To: References: Message-ID: <62A0A284-B5B3-11D8-8D0C-000A956C462A@mangomultimedia.com> On Jun 3, 2004, at 4:17 PM, Ruslan Zasukhin wrote: > On 6/3/04 10:08 PM, "Trevor DeVore" wrote: > >>> I think if you gog to write into db, then in any case you should move >>> files >>> to read-write are for that user. >> >> Writing to the database isn't necessary for this application. Is >> there >> a way to specify whether the db is opened read only versus read/write >> or is this something that is handled automatically by Valentina? > > You can set flag Read-Only in the Windows OS. Okay, switching the flags on all 4 Valentina DB files did the trick. Is this the only way of opening a DB in read only mode? If I want to switch between read only and read/write do I have to switch the flag of the DB files? -- Trevor DeVore Blue Mango Multimedia trevor@mangomultimedia.com From sunshine at public.kherson.ua Fri Jun 4 08:47:03 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Jun 4 00:47:23 2004 Subject: Multi-user systems and Valentina In-Reply-To: <62A0A284-B5B3-11D8-8D0C-000A956C462A@mangomultimedia.com> Message-ID: On 6/4/04 2:11 AM, "Trevor DeVore" wrote: >>>> I think if you gog to write into db, then in any case you should move >>>> files >>>> to read-write are for that user. >>> >>> Writing to the database isn't necessary for this application. Is >>> there >>> a way to specify whether the db is opened read only versus read/write >>> or is this something that is handled automatically by Valentina? >> >> You can set flag Read-Only in the Windows OS. > > Okay, switching the flags on all 4 Valentina DB files did the trick. Is > this the only way of opening a DB in read only mode? If I want to > switch between read only and read/write do I have to switch the flag of > the DB files? Valentina self also recognize read-only volumes as CD. I think you have meet bug, that Valentina not recognize folder with some privileges. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From deane.venske at eduss.com Fri Jun 4 15:53:39 2004 From: deane.venske at eduss.com (Deane Venske) Date: Fri Jun 4 00:53:49 2004 Subject: Multi-user systems and Valentina In-Reply-To: References: Message-ID: On Fri, 04 Jun 2004 08:47:03 +0300, Ruslan Zasukhin wrote: > On 6/4/04 2:11 AM, "Trevor DeVore" wrote: > >>>>> I think if you gog to write into db, then in any case you should move >>>>> files >>>>> to read-write are for that user. >>>> >>>> Writing to the database isn't necessary for this application. Is >>>> there >>>> a way to specify whether the db is opened read only versus read/write >>>> or is this something that is handled automatically by Valentina? >>> >>> You can set flag Read-Only in the Windows OS. >> >> Okay, switching the flags on all 4 Valentina DB files did the trick. Is >> this the only way of opening a DB in read only mode? If I want to >> switch between read only and read/write do I have to switch the flag of >> the DB files? > > Valentina self also recognize read-only volumes as CD. > > I think you have meet bug, that Valentina not recognize folder with some > privileges. I was thinking the same thing. We have the same problem when there are user permissions set on the operating system level, not just the read-only property of a file. This was on OSX and Windows. Deane From vidal_olivier at yahoo.fr Fri Jun 4 18:57:46 2004 From: vidal_olivier at yahoo.fr (olivier vidal) Date: Fri Jun 4 11:52:28 2004 Subject: big table In-Reply-To: References: Message-ID: <4D7E93DD-B648-11D8-B792-00039310B7DA@yahoo.fr> Sorry to talk again of this problem but in my tests (with it is true few recordings), my database is faster (in reading) with a table of 150 columns than with 10 tables of 15 columns. Join them are a little bit slow in that case. > I will not recommend to use with Valentina table with so many fields. > Because Valentina keep fields in separate files. That is the risk of a big table (e.g. 150 columns)? A less stable database? slower savings and writing ? My customers will have approximately 500 to 5000 recordings in this big table. It is a POS software, there will be thus often small modifications in the table (e.g. in every sale, modification of the column 'stock' of every sold product). thank you olivier From cm_sheffield at yahoo.com Fri Jun 4 10:00:34 2004 From: cm_sheffield at yahoo.com (Chris Sheffield) Date: Fri Jun 4 12:00:43 2004 Subject: weird BLOB problem Message-ID: <20040604170034.56885.qmail@web52403.mail.yahoo.com> Okay, let's see if I can describe this. :-) I'm working with VXCMD and Revolution. I've got a database with two tables. One table contains only one field, "Data", which is a BLOB field. The other table contains two fields: "data", which is BLOB, and "StoryNumber", which is UShort. Now, when I use a local database with VXCMD, I can get the BLOB data just fine from both tables. But when I use a network database with VXCMD_Client and VServer, I can get the BLOB data from the first table, but not the second table. Well, I shouldn't say I can't get it. My app appears to freeze for about 4 minutes, and then finally moves on and runs normally. It seems to be taking that long to retrieve a BLOB field from that table. The BLOB data in the second table is only about 2.5 MB, so it's not way huge. It should not take that long to transfer over my network. Right now the segment size is only set to the default (1024 bytes). Would increasing that make any difference? I can't figure out why I would have the problem with one table and not the other, when the only differences are that the second table has one additional field, and the data in the first table is not as large. And I can't figure out why the problem would only occur while using VXCMD_Client. If it helps, my code is as follows: -- database already opened previously put Valentina("SQLSelect", gDBID, "SELECT data FROM Stories WHERE StoryNumber=" & StoryRecData("StoryNumber")) into tRecID put Valentina("Cursor_GetFieldRef", tRecID, "data") into tFldRef get Valentina("Binary_ReadData", tFldRef, "gStackContents", rnDB("BLOB_GetDataSize", tFldRef)) get Valentina("RemoveCursor", tRecID) -- database is closed after this I know this is kind of ugly, but maybe it'll help. If anyone has any ideas, I would greatly appreciate it. Thanks, ===== Chris Sheffield Read Naturally www.readnaturally.com __________________________________ Do you Yahoo!? Friends. Fun. Try the all-new Yahoo! Messenger. http://messenger.yahoo.com/ From vidal_olivier at yahoo.fr Fri Jun 4 19:16:15 2004 From: vidal_olivier at yahoo.fr (olivier vidal) Date: Fri Jun 4 12:10:51 2004 Subject: big table In-Reply-To: <4D7E93DD-B648-11D8-B792-00039310B7DA@yahoo.fr> References: <4D7E93DD-B648-11D8-B792-00039310B7DA@yahoo.fr> Message-ID: > but in my tests (with it is true few recordings), my database is > faster (in reading) with a table of 150 columns than with 10 tables of > 15 columns. Join them are a little bit slow in that case. The POS softwares is often installed on small specialized PC. This small PCs often has slow hard disks 2 " 1/2. It is for it that join them are slow I think, the hard disk slows down the operation a lot. In my tests, I noticed that a big table was faster because it sought less the hard disk. From lists at mangomultimedia.com Fri Jun 4 11:21:08 2004 From: lists at mangomultimedia.com (Trevor DeVore) Date: Fri Jun 4 12:21:20 2004 Subject: Multi-user systems and Valentina In-Reply-To: References: Message-ID: <91820A59-B64B-11D8-B7AA-000A956C462A@mangomultimedia.com> On Jun 3, 2004, at 11:47 PM, Ruslan Zasukhin wrote: > On 6/4/04 2:11 AM, "Trevor DeVore" wrote: > >>>>> I think if you gog to write into db, then in any case you should >>>>> move >>>>> files >>>>> to read-write are for that user. >>>> >>>> Writing to the database isn't necessary for this application. Is >>>> there >>>> a way to specify whether the db is opened read only versus >>>> read/write >>>> or is this something that is handled automatically by Valentina? >>> >>> You can set flag Read-Only in the Windows OS. >> >> Okay, switching the flags on all 4 Valentina DB files did the trick. >> Is >> this the only way of opening a DB in read only mode? If I want to >> switch between read only and read/write do I have to switch the flag >> of >> the DB files? > > Valentina self also recognize read-only volumes as CD. > > I think you have meet bug, that Valentina not recognize folder with > some > privileges. Is it possible to get a bug fix for this or should I just code around it in my app? -- Trevor DeVore Blue Mango Multimedia trevor@mangomultimedia.com From sunshine at public.kherson.ua Fri Jun 4 21:37:20 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Jun 4 13:37:28 2004 Subject: big table In-Reply-To: <4D7E93DD-B648-11D8-B792-00039310B7DA@yahoo.fr> Message-ID: On 6/4/04 7:57 PM, "olivier vidal" wrote: > Sorry to talk again of this problem but in my tests (with it is true > few recordings), my database is faster (in reading) with a table of 150 > columns than with 10 tables of 15 columns. Join them are a little bit > slow in that case. Well, then go with 150 columns table! It looks to me that you ALWAYS do join of 10 tables? Just usually if you have 10 tables, you can for some task join only this 2-3 tables, for other tasks join that 2-3 tables... >> I will not recommend to use with Valentina table with so many fields. >> Because Valentina keep fields in separate files. > > That is the risk of a big table (e.g. 150 columns)? > A less stable database? No of course > slower savings and writing ? Yes, Add/Delete can be slower. > My customers will have approximately 500 to 5000 recordings in this big > table. Well, then this is not many. You can make cache size 10-20 MB and all your data will be in cache. > It is a POS software, there will be thus often small modifications in > the table (e.g. in every sale, modification of the column 'stock' of > every sold product). -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From sunshine at public.kherson.ua Fri Jun 4 21:37:52 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Jun 4 13:37:59 2004 Subject: big table In-Reply-To: Message-ID: On 6/4/04 8:16 PM, "olivier vidal" wrote: > >> but in my tests (with it is true few recordings), my database is >> faster (in reading) with a table of 150 columns than with 10 tables of >> 15 columns. Join them are a little bit slow in that case. > > The POS softwares is often installed on small specialized PC. This > small PCs often has slow hard disks 2 " 1/2. It is for it that join > them are slow I think, the hard disk slows down the operation a lot. In > my tests, I noticed that a big table was faster because it sought less > the hard disk. But have you specify bigger cache size ? -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From sunshine at public.kherson.ua Fri Jun 4 21:38:41 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Jun 4 13:38:49 2004 Subject: Multi-user systems and Valentina In-Reply-To: <91820A59-B64B-11D8-B7AA-000A956C462A@mangomultimedia.com> Message-ID: On 6/4/04 8:21 PM, "Trevor DeVore" wrote: >> I think you have meet bug, that Valentina not recognize folder with >> some >> privileges. > > Is it possible to get a bug fix for this or should I just code around > it in my app? Trevor, If you can make workaround please make. I very want not touch 1.10 codebase -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From sunshine at public.kherson.ua Fri Jun 4 21:47:39 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Jun 4 13:47:48 2004 Subject: weird BLOB problem In-Reply-To: <20040604170034.56885.qmail@web52403.mail.yahoo.com> Message-ID: On 6/4/04 8:00 PM, "Chris Sheffield" wrote: Hi Chris, > Okay, let's see if I can describe this. :-) > > I'm working with VXCMD and Revolution. I've got a > database with two tables. One table contains only one > field, "Data", which is a BLOB field. The other table > contains two fields: "data", which is BLOB, and > "StoryNumber", which is UShort. > > Now, when I use a local database with VXCMD, I can get > the BLOB data just fine from both tables. But when I > use a network database with VXCMD_Client and VServer, > I can get the BLOB data from the first table, but not > the second table. Well, I shouldn't say I can't get > it. My app appears to freeze for about 4 minutes, and > then finally moves on and runs normally. It seems to > be taking that long to retrieve a BLOB field from that > table. idea1: May be you have specify for second table CLIENT-SIDE cursor? And you have made big selection? Then all found data will be copied to CLIENT computer. idea2: May be your first table have very small BLOB data, But second table have very big BLOBs? And again, keep in mind that with client/side cursor BLOBs ae copied to RAM of client. Use Server - side cursor. ------------- Another tip: Assume you want to have BIG BLOBs. Then to prevent loading of BLOB in say 10 MB to client computer, You can move BLOB field into separate table with ONE BLOB field only, Link it to original table. Now when you read a record from original table, it will not load BLOB data. To load it, on user request, you need create cursor on second table, this will load BLOB. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From cm_sheffield at yahoo.com Fri Jun 4 12:12:21 2004 From: cm_sheffield at yahoo.com (Chris Sheffield) Date: Fri Jun 4 14:12:29 2004 Subject: weird BLOB problem In-Reply-To: Message-ID: <20040604191221.20411.qmail@web52402.mail.yahoo.com> Thanks, Ruslan. I will try a server-side cursor and see if that helps. I've just been doing the default, which is client-side correct? I did find that increasing the segment size on the field helped tremendously. But I noticed that the max segment size that can be set by VApp is 999999. Is there any way to make this larger? Would it be bad to make it larger? Thank again, Chris Sheffield --- Ruslan Zasukhin wrote: > On 6/4/04 8:00 PM, "Chris Sheffield" > wrote: > > Hi Chris, > > > Okay, let's see if I can describe this. :-) > > > > I'm working with VXCMD and Revolution. I've got a > > database with two tables. One table contains only > one > > field, "Data", which is a BLOB field. The other > table > > contains two fields: "data", which is BLOB, and > > "StoryNumber", which is UShort. > > > > Now, when I use a local database with VXCMD, I can > get > > the BLOB data just fine from both tables. But > when I > > use a network database with VXCMD_Client and > VServer, > > I can get the BLOB data from the first table, but > not > > the second table. Well, I shouldn't say I can't > get > > it. My app appears to freeze for about 4 minutes, > and > > then finally moves on and runs normally. It seems > to > > be taking that long to retrieve a BLOB field from > that > > table. > > idea1: > > May be you have specify for second table CLIENT-SIDE > cursor? > And you have made big selection? > Then all found data will be copied to CLIENT > computer. > > idea2: > > May be your first table have very small BLOB data, > But second table have very big BLOBs? > And again, keep in mind that with client/side cursor > BLOBs ae copied to RAM > of client. > > Use Server - side cursor. > > > ------------- > Another tip: > > Assume you want to have BIG BLOBs. > Then to prevent loading of BLOB in say 10 MB to > client computer, > You can move BLOB field into separate table with ONE > BLOB field only, > Link it to original table. Now when you read a > record from original table, > it will not load BLOB data. To load it, on user > request, you need create > cursor on second table, this will load BLOB. > > > > -- > Best regards, > Ruslan Zasukhin [ I feel the need...the need > for speed ] > ------------------------------------------------------------- > e-mail: ruslan@paradigmasoft.com > web: http://www.paradigmasoft.com > > To subscribe to the Valentina mail list go to: > http://lists.macserve.net/mailman/listinfo/valentina > ------------------------------------------------------------- > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com From vidal_olivier at yahoo.fr Fri Jun 4 22:09:38 2004 From: vidal_olivier at yahoo.fr (olivier vidal) Date: Fri Jun 4 15:04:18 2004 Subject: big table In-Reply-To: References: Message-ID: <1B366F56-B663-11D8-B792-00039310B7DA@yahoo.fr> Le 4 juin 04, ? 20:37, Ruslan Zasukhin a ?crit : > But have you specify bigger cache size ? 3*1024*1024 But I have only about twenty recordings in my test base. > It looks to me that you ALWAYS do join of 10 tables? > > Just usually if you have 10 tables, you can for some task join only > this 2-3 > tables, for other tasks join that 2-3 tables... E.G. : A product can be sold in 4 stores. In every store, the prices can be different for the same product. He can also have there 4 different prices by product! ( That is 16 possibilities: 4 stores x 4 sort_prices) But every product can have 2 VAT. These 2 VAT can be different according to shops! ( That is 2 x 16: 32 possibilities) If I normalize my relational database : BO_PRODUCT -Name (vstring) BO_VAT -Name (vstring) -Rate (vfloat) BO_SORT_VAT -Name (vstring) -Rate (float) BO_SORT_PRICE -Name (vstring) BO_SORT_STORE -Name (vstring) BO_PRICE - Price (vfloat) BO_PRODUCT_SORTSTORE_SORTPRICE_PRICE - Product_PTR - Sort_Store_PTR - Sort_Price_PTR - Price_PTR BO_PRODUCT_SORTVAT_SORTSTORE_VAT - Product_PTR - Sort_Vat_PTR - Sort_Store_PTR - Vat_Ptr The requests : SELECT a.name, b.name, c.name, d.price FROM boProduct a, bo_price d, boSortPrice b, boSortStore c , bo_product_sortstore_sortprice_price WHERE a.RecID=1 and SELECT a.name, b.name, c.name, d.rate FROM boProduct a, bo_sort_vat b, bo_sort_store c, bo_vat d, bo_product_sortvat_sortstore_vat WHERE a.recID=1 The requests work slowly. If I modify my database in a not very academic way... : BO_PRODUCT -Name -Price_1_Store_A _Price_2_Store_A _Price_3_Store_A _Price_4_Store_A -Vat_1_Store_A _Vat_2_Store_A -Price_1_Store_B _Price_2_Store_B _Price_3_Store_B _Price_4_Store_B -Vat_1_Store_B _Vat_2_Store_B ........................... SELECT price_1_store_A, price_2_store_A, price_3_store_A, price_4_store_A........... FROM BO_Product The request works very quickly! The reading is fast. If the writing of 2/3 columns in a field is fast also, it is very well. If the addition or the deletion of a field is a little slower (LITTLE ???),it is not very important, because they are operations of management. It is the operations of sale that must be very fast (reading, writing on some columns). Furthermore, it is much easier to manage for me. I do not feel comfortable with many tables. what do you think of it? > You can make cache size 10-20 MB and all your data will be in cache. I do not know if I could put a lot of cache memory. On POS PC, there is not enough memory. thank you olivier From sunshine at public.kherson.ua Fri Jun 4 23:26:23 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Jun 4 15:26:37 2004 Subject: big table In-Reply-To: <1B366F56-B663-11D8-B792-00039310B7DA@yahoo.fr> Message-ID: On 6/4/04 11:09 PM, "olivier vidal" wrote: > The requests : > > SELECT a.name, b.name, c.name, d.price > FROM boProduct a, bo_price d, boSortPrice b, boSortStore c , > bo_product_sortstore_sortprice_price > WHERE a.RecID=1 > > and > > SELECT a.name, b.name, c.name, d.rate > FROM boProduct a, bo_sort_vat b, bo_sort_store c, bo_vat d, > bo_product_sortvat_sortstore_vat > WHERE a.recID=1 > > > The requests work slowly. Hmm, you __see__ that it works slowly on 12 records only ??? Something wrong. There was developers which have do joins on 20 tables and the say they it fast. Try set cache 15MB > If I modify my database in a not very academic way... : > > BO_PRODUCT > -Name > -Price_1_Store_A > _Price_2_Store_A > _Price_3_Store_A > _Price_4_Store_A > -Vat_1_Store_A > _Vat_2_Store_A > -Price_1_Store_B > _Price_2_Store_B > _Price_3_Store_B > _Price_4_Store_B > -Vat_1_Store_B > _Vat_2_Store_B > ........................... > > > SELECT price_1_store_A, price_2_store_A, price_3_store_A, > price_4_store_A........... > FROM BO_Product > > The request works very quickly! -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From valentina at brainchild.nl Fri Jun 4 22:25:32 2004 From: valentina at brainchild.nl (Richard Altenburg) Date: Fri Jun 4 15:27:44 2004 Subject: [V4RB] Updating index of newly imported records seems to fail for me Message-ID: (development on Mac OS 9, RB 5.5.2, V4RB 1.10 - testing on Windows XP) Ruslan (and others), just as with our previous release of our software, we are in big troubles right before the release weekend. The same thing is bugging me again! I import a large textfile with 50,000 newsgroup names into a table, and I can not set the index of this table to a certain value. In previous cases, I used a REINDEX of the table to solve the issue, but that does not help me now. What I do is import groupnames into a table that has the serverURL as the key. When I try to set the key of all groupnames with a serverURL of empty to the current serverURL, I get 0 rows affected returned. Please, please help me! This is the code: If ( tmrNewGroups.listSuccessful ) Then pbtRemoveGroupFromFavourites.Enabled = False pbtRemoveGroupFromFavourites.Refresh lbxFavoriteGroups.Enabled = False lbxFavoriteGroups.Refresh fdiTemp = GetTemporaryFolderItem If ( fdiTemp <> Nil ) Then vcsAvailableGroup = Nil tosBufferStream = fdiTemp.CreateTextFile If ( tosBufferStream <> Nil ) Then cvsPreferencesStatus.SetKey("lng", kWritingNewsgroupsToTemporaryFile ) #If TargetCarbon Self.UpdateNow #Endif tosBufferStream.Write tmrNewGroups.theListOfGroups tosBufferStream.Close ' Delete previous entries for the current news server from the database. cvsPreferencesStatus.setkey("lng", kDeletingPreviousDatabaseEntriesFrom + " " + newsServerURL ) #If TargetCarbon Self.UpdateNow #Endif rowsAffected = thePPOBase.SqlExecute("DELETE FROM Newsgroup WHERE ServerURL='" + newsServerURL + "'") ' Import temporary textfile with all groupnames into the database. cvsPreferencesStatus.SetKey("lng", kImportingTemporaryFileIntoDatabase ) #If TargetCarbon Self.UpdateNow #Endif vcsImportGroup = New VCursor(thePPOBase, "SELECT GroupName FROM Newsgroup WHERE ServerURL = ''", kV_Client, kV_ReadWrite) If ( vcsImportGroup <> Nil ) Then vcsImportGroup.ImportText(fdiTemp, " ", (Chr(13)+Chr(10))) vcsImportGroup = Nil thePPOBase.Flush ' Delete the last imported row, which has a name of "." rowsAffected = thePPOBase.SqlExecute("DELETE FROM Newsgroup WHERE GroupName = '.'") ' Delete any row that has an empty GroupName (sometimes happens) rowsAffected = thePPOBase.SqlExecute("DELETE FROM Newsgroup WHERE GroupName = ''") ' Link the newly imported groupnames to the current news server URL. cvsPreferencesStatus.SetKey("lng", kLinkingNewGroupsToCurrentNewsServer ) #If TargetCarbon Self.UpdateNow #Endif ' ********** RUSLAN PLEASE LOOK HERE ! ********** ' ********** THIS SQL EXECUTE RETURNS 0 (ZERO) IN rowsAffected ********** rowsAffected = thePPOBase.SqlExecute("UPDATE Newsgroup SET ServerURL = '" + newsServerURL + "' WHERE ServerURL = ''") '' Because of a bug in Valentina (I think), reindex the server_recid field, and then all is fine. ' 'cvsPreferencesStatus.SetKey("lng", "Re-index the newsgroups table") ' '#If TargetCarbon ' 'Self.UpdateNow ' '#Endif ' 'rowsAffected = thePPOBase.SqlExecute("REINDEX TABLE Newsgroup") thePPOBase.Flush cvsPreferencesStatus.SetKey("lng", "") Else If ( DebugBuild ) Then MsgBox "Could not create import cursor in stopListNewGroups, please contact Brainchild" End If End If Else If ( DebugBuild ) Then MsgBox "Could not create disk stream in stopListNewGroups, please contact Brainchild" End If End If ' Make sure the temporary FolderItem is deleted when we are ready importing it. fdiTemp.Delete populateListboxAvailableGroups Else If ( DebugBuild ) Then MsgBox "Could not create disk file in stopListNewGroups, please contact Brainchild" End If End If pbtRemoveGroupFromFavourites.Enabled = True lbxFavoriteGroups.Enabled = True End If From sunshine at public.kherson.ua Fri Jun 4 23:28:47 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Jun 4 15:29:04 2004 Subject: weird BLOB problem In-Reply-To: <20040604191221.20411.qmail@web52402.mail.yahoo.com> Message-ID: On 6/4/04 10:12 PM, "Chris Sheffield" wrote: > Thanks, Ruslan. I will try a server-side cursor and > see if that helps. I've just been doing the default, > which is client-side correct? yes > I did find that increasing the segment size on the > field helped tremendously. But I noticed that the max > segment size that can be set by VApp is 999999. Is > there any way to make this larger? Would it be bad to > make it larger? Wow. Never do that ! 999999 bytes for segment ??? This means that even if you store 10Kb into BLOB it will eat 999999 bytes on disk. Very not reasonable! And I do not think that this may help. May be such big segment have cause error inside of sever, And data was not sent?! then it looks to you to be faster. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From valentina at brainchild.nl Fri Jun 4 22:55:15 2004 From: valentina at brainchild.nl (Richard Altenburg) Date: Fri Jun 4 15:57:25 2004 Subject: [V4RB] Updating index of newly imported records seems to fail for me In-Reply-To: Message-ID: On 04-06-2004 22:25, "Richard Altenburg" wrote: > ' ********** THIS SQL EXECUTE RETURNS 0 (ZERO) IN rowsAffected > ********** > rowsAffected = thePPOBase.SqlExecute("UPDATE Newsgroup SET > ServerURL = '" + newsServerURL + "' WHERE ServerURL = ''") I forgot to tell you that the code I posted, and especially this line, only returns 0 affected rows on Windows. All is working very fine on Mac OS 9 and Mac OS X. This is exactly the same situation as a few months ago in RB 5.2.4. I did not pay attention to it after our move to RB 5.5.2 but suddenly I saw it happen again in one of my latest beta tests. If I open this database with an older version of our software, and run the same code on it, it does see the already imported records and assigns the proper serverURL to their index fields, so the data is really in there, but the key is just not set in our new version! After the old version has set the key field, I can open the database with the newer version of our software and all displays fine, so once the index field is filled, all is well. There are no code changes since the previous version. From cm_sheffield at yahoo.com Fri Jun 4 14:21:11 2004 From: cm_sheffield at yahoo.com (Chris Sheffield) Date: Fri Jun 4 16:21:19 2004 Subject: weird BLOB problem In-Reply-To: Message-ID: <20040604212111.38308.qmail@web52409.mail.yahoo.com> No, that's not the case. The data was sent. I know because everything I do in my application after that point requires that data to be present. It was incredibly faster after increasing the segment size. All data stored in this field will be at least 2.5 MB, so I wouldn't think making the segment size that large would hurt, and it doesn't make my database file any larger. Chris --- Ruslan Zasukhin wrote: > On 6/4/04 10:12 PM, "Chris Sheffield" > wrote: > > > Thanks, Ruslan. I will try a server-side cursor > and > > see if that helps. I've just been doing the > default, > > which is client-side correct? > > yes > > > I did find that increasing the segment size on the > > field helped tremendously. But I noticed that the > max > > segment size that can be set by VApp is 999999. > Is > > there any way to make this larger? Would it be > bad to > > make it larger? > > Wow. Never do that ! > > 999999 bytes for segment ??? > > This means that even if you store 10Kb into BLOB it > will eat > 999999 bytes on disk. Very not reasonable! > > And I do not think that this may help. > > May be such big segment have cause error inside of > sever, > And data was not sent?! then it looks to you to be > faster. > > > -- > Best regards, > Ruslan Zasukhin [ I feel the need...the need > for speed ] > ------------------------------------------------------------- > e-mail: ruslan@paradigmasoft.com > web: http://www.paradigmasoft.com > > To subscribe to the Valentina mail list go to: > http://lists.macserve.net/mailman/listinfo/valentina > ------------------------------------------------------------- > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina __________________________________ Do you Yahoo!? Friends. Fun. Try the all-new Yahoo! Messenger. http://messenger.yahoo.com/ From sunshine at public.kherson.ua Sat Jun 5 00:21:37 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Jun 4 16:21:51 2004 Subject: [V4RB] Updating index of newly imported records seems to fail for me In-Reply-To: Message-ID: On 6/4/04 11:55 PM, "Richard Altenburg" wrote: > On 04-06-2004 22:25, "Richard Altenburg" wrote: > >> ' ********** THIS SQL EXECUTE RETURNS 0 (ZERO) IN rowsAffected >> ********** >> rowsAffected = thePPOBase.SqlExecute("UPDATE Newsgroup SET >> ServerURL = '" + newsServerURL + "' WHERE ServerURL = ''") > > I forgot to tell you that the code I posted, and especially this line, only > returns 0 affected rows on Windows. > > All is working very fine on Mac OS 9 and Mac OS X. > > This is exactly the same situation as a few months ago in RB 5.2.4. I did > not pay attention to it after our move to RB 5.5.2 but suddenly I saw it > happen again in one of my latest beta tests. > > If I open this database with an older version of our software, and run the > same code on it, it does see the already imported records and assigns the > proper serverURL to their index fields, so the data is really in there, but > the key is just not set in our new version! > > After the old version has set the key field, I can open the database with > the newer version of our software and all displays fine, so once the index > field is filled, all is well. > > There are no code changes since the previous version. Try to add after import fld.indexed = false fld.indexed = true To rebuild its index. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From sunshine at public.kherson.ua Sat Jun 5 00:24:47 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Jun 4 16:24:54 2004 Subject: weird BLOB problem In-Reply-To: <20040604212111.38308.qmail@web52409.mail.yahoo.com> Message-ID: On 6/5/04 12:21 AM, "Chris Sheffield" wrote: > No, that's not the case. The data was sent. I know > because everything I do in my application after that > point requires that data to be present. It was > incredibly faster after increasing the segment size. > > All data stored in this field will be at least 2.5 MB, > so I wouldn't think making the segment size that large > would hurt, and it doesn't make my database file any > larger. Once again, So EACH blob value have minim 2.5MB size?! So big BLOBs? Then you can make segment 1MB. Or may be better 1.3 to get 1.3 * 2 = 2.6 -- little more of your minimum. Also you can test 2.55MB as segment size. Then your minimal BLOB value will fit into ONE segment. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From valentina at brainchild.nl Sat Jun 5 00:09:07 2004 From: valentina at brainchild.nl (Richard Altenburg) Date: Fri Jun 4 17:11:14 2004 Subject: [V4RB] Updating index of newly imported records seems to fail for me In-Reply-To: Message-ID: On 04-06-2004 23:21, "Ruslan Zasukhin" wrote: > > Try to add after import > > fld.indexed = false > fld.indexed = true > > To rebuild its index. I tried various variants, including this one: thePPOBase.BaseObject("Newsgroup").Field("ServerURL").Indexed = False thePPOBase.BaseObject("Newsgroup").Field("GroupName").Indexed = False vcsImportGroup.ImportText(fdiTemp, " ", (Chr(13)+Chr(10))) thePPOBase.Flush thePPOBase.BaseObject("Newsgroup").Field("ServerURL").Indexed = True thePPOBase.BaseObject("Newsgroup").Field("GroupName").Indexed = True It just does not work, while every variant I try works great on Mac OS 9 and Mac OS X. Searching for all records that have an empty ServerURL, and setting them to the current ServerURL, returns 0 (zero) records affected on Windows all the time. -- Richard Altenburg Brainchild Picture Patrol From valentina-list at vermontsoftworks.com Fri Jun 4 20:47:15 2004 From: valentina-list at vermontsoftworks.com (Erik Mueller-Harder) Date: Fri Jun 4 19:47:17 2004 Subject: [V4RB] Updating index of newly imported records seems to fail for me In-Reply-To: References: Message-ID: Hi, Richard -- Is it possible that the serverURL field in your Windows implementation isn't actually completely empty? Perhaps there are stray CRs, LFs, or spaces in the field. Try this instead: rowsAffected = thePPOBase.SqlExecute("UPDATE Newsgroup SET ServerURL = '" + newsServerURL + "' WHERE ServerURL < '!'") That will update all records where the first character is any of the ASCII control values or a space. HTH, -- Erik > ' ********** RUSLAN PLEASE LOOK HERE ! ********** > > ' ********** THIS SQL EXECUTE RETURNS 0 (ZERO) IN > rowsAffected > ********** > rowsAffected = thePPOBase.SqlExecute("UPDATE Newsgroup SET > ServerURL = '" + newsServerURL + "' WHERE ServerURL = ''") > > '' Because of a bug in Valentina (I think), reindex the > server_recid field, and then all is fine. > ' From valentina at brainchild.nl Sat Jun 5 03:29:45 2004 From: valentina at brainchild.nl (Richard Altenburg) Date: Fri Jun 4 20:31:52 2004 Subject: [V4RB] Updating index of newly imported records seems to fail for me In-Reply-To: Message-ID: On 05-06-2004 02:47, "Erik Mueller-Harder" wrote: > Is it possible that the serverURL field in your Windows implementation > isn't actually completely empty? Perhaps there are stray CRs, LFs, or > spaces in the field. Try this instead: > > rowsAffected = thePPOBase.SqlExecute("UPDATE Newsgroup SET > ServerURL = '" + newsServerURL + "' WHERE ServerURL < '!'") > > That will update all records where the first character is any of the > ASCII control values or a space. This is a good suggestion, thanks. But in my case, something else must be going on. After I import the list of newsgroups from a textfile, I can not find any record with a GroupName '.' or '' and I also can not UPDATE all records with a ServerURL '' to make it 'news.newshosting.com' (for example). But when I quit the application and open the same database with ViSQL, I see 44,300 records with empty ServerURL fields and filled GroupName fields, one of them being '.' !!! In ViSQL, when I search for records where ServerURL = '' I get all 44,300 records. When I delete the one record WHERE GroupName = '.' it affects one record (like it should). When I UPDATE all records WHERE ServerURL = '' it affects all remaining records. So in my application, the data is getting imported OK, but after the import, none of the searches on the indexed fields return any record. There is - as a result - also no way of updating them. ViSQL proves that the data is in the database, and that the ServerURL field is really empty. Everything works great on Mac, and Windows does not want to help me. I experienced exactly the same a few months ago, and I don't know what I did, but in the end it worked. I even tried to shutdown Valentina after the import and initialize it again, but it just is not helping me. This was totally unexpected for me, and severly messes up my project release schedule (I have to release tomorrow, and had other things to finish, but this error has to be resolved before I can send this version to clients). Please help me, you gurus out there! -- Richard Altenburg Brainchild Picture Patrol From sunshine at public.kherson.ua Sat Jun 5 08:43:40 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Sat Jun 5 00:43:47 2004 Subject: [V4RB] Updating index of newly imported records seems to fail for me In-Reply-To: Message-ID: On 6/5/04 4:29 AM, "Richard Altenburg" wrote: > Everything works great on Mac, and Windows does not want to help me. I > experienced exactly the same a few months ago, and I don't know what I did, > but in the end it worked. Richard, do you use VarChar field? Do you ___copy___ db files __created__ on MAC to WIN ? If yes, then may be you are affected by bug which was fixed 10 days ago. If yes, then I will send you new build, or better upload it. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From vidal_olivier at yahoo.fr Sat Jun 5 07:52:30 2004 From: vidal_olivier at yahoo.fr (olivier vidal) Date: Sat Jun 5 00:47:15 2004 Subject: big table V4RB 1.10, RB 5.52, OS X 10.3 In-Reply-To: References: Message-ID: <8828AA2B-B6B4-11D8-B969-00039310B7DA@yahoo.fr> > Hmm, you __see__ that it works slowly on 20 records only ??? Let us say that the result is not immediate (with my powerbook 400, 4500trn hard disk), and in the operations of sale I need an immediate result. > Try set cache 15MB I do not know if my customers will have many RAM. Then I prefer to make tests with not enough cache memory. > Yes, Add/Delete can be slower. > I will not recommend to use with Valentina table with so many fields. > Because Valentina keep fields in separate files. > > If you can split table then split it. I does not understand. -Why the change at 1 column would set more time (significantly) in a table of 150 columns than in a table of 30 columns? -Why the addition of 1 line in 1 table of 150 columns would take much more time than the addition of 1 line in 1 table of 30 columns + 9 tables of some columns ? thank you very much olivier From sunshine at public.kherson.ua Sat Jun 5 09:48:07 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Sat Jun 5 01:48:22 2004 Subject: big table V4RB 1.10, RB 5.52, OS X 10.3 In-Reply-To: <8828AA2B-B6B4-11D8-B969-00039310B7DA@yahoo.fr> Message-ID: On 6/5/04 8:52 AM, "olivier vidal" wrote: Hi Oliver, >> Yes, Add/Delete can be slower. > >> I will not recommend to use with Valentina table with so many fields. >> Because Valentina keep fields in separate files. >> >> If you can split table then split it. > > I does not understand. > > -Why the change at 1 column would set more time (significantly) in a > table of 150 columns than in a table of 30 columns? Because Valentina store each filed into separate logical file. So the more columns the more files, the more disk writes. When you make cursor with 5 fields on table with 150 fields, Such cursor will work in 30 times faster of cursor with all fields. > -Why the addition of 1 line in 1 table of 150 columns would take much > more time than the addition of 1 line in 1 table of 30 columns + 9 > tables of some columns ? As you describe it will be the same. But I have told, USUALLY we do not fill all 10 tables. IF in your case one each AddRecord() you get 150 parameters, Then use one table. IF you never delete 30 parameters leaving 120 in table, Then use one table. I.e. If your 150 parameters really form a SINGLE record, Which can born and die all together then use one table. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From vidal_olivier at yahoo.fr Sat Jun 5 09:49:45 2004 From: vidal_olivier at yahoo.fr (olivier vidal) Date: Sat Jun 5 02:44:23 2004 Subject: big table V4RB 1.10, RB 5.52, OS X 10.3 In-Reply-To: References: Message-ID: > Because Valentina store each filed into separate logical file. > So the more columns the more files, the more disk writes. > > When you make cursor with 5 fields on table with 150 fields, > Such cursor will work in 30 times faster of cursor with all fields. > > Thus, if I use a table with 150 fields, to be effective, it would be necessary never to use " SELECT * ", but to try to select still only the necessary fields? - A cursor of 10 fields will thus work much more quickly in reading that a cursor of 60 fields because there will be 6 times less of logical files to be read. But if I write the value of a SINGLE field. My cursor has 10 or 60 fields, the writing will be made only on 1 logical file? If 1 single logical file ( 1 single field) is modified, why the writing would set more time with a cursor of 60 fields than with a cursor of 10 fields? Because there is only 1 logical file which is modified and not 10 or 60. > > thank you Ruslan olivier From valentina at brainchild.nl Sat Jun 5 11:24:09 2004 From: valentina at brainchild.nl (Richard Altenburg) Date: Sat Jun 5 04:26:17 2004 Subject: [V4RB] Updating index of newly imported records seems to fail for me In-Reply-To: Message-ID: On 05-06-2004 07:43, "Ruslan Zasukhin" wrote: > Richard, do you use VarChar field? Yes, both the ServerURL and GroupName fields are VarChar(504) ones. > Do you ___copy___ db files __created__ on MAC to WIN ? Nope, the Windows version of our software creates its own database on its own platform, no copying from one to the other is done. > If yes, then may be you are affected by bug which was fixed 10 days ago. > If yes, then I will send you new build, or better upload it. You may send it, and I will try, but I have only 24 hours left to solve all issues, and this valentina thing bugs me most. This way, I can not release on Windows tomorrow, and that would be a major pain :-( From valentina at brainchild.nl Sat Jun 5 12:39:35 2004 From: valentina at brainchild.nl (Richard Altenburg) Date: Sat Jun 5 05:41:47 2004 Subject: [V4RB] Updating index of newly imported records seems to fail for me In-Reply-To: Message-ID: On 05-06-2004 00:09, "Richard Altenburg" wrote: > Searching for all records that have an empty ServerURL, and setting them to > the current ServerURL, returns 0 (zero) records affected on Windows all the > time. I changed my code, and now I add the ServerURL to the text file that I import, for every record. So once I import this, there is not only a GroupName in every record, but also the right ServerURL. And still, when I do a SELECT on this ServerURL, I get no records returned. All SQL operations before the ImportText work OK (like deleting the old records), but every SQL operation after the ImportText fails. Seems like a bug alright... From Claudius at sailer-online.de Sat Jun 5 12:44:57 2004 From: Claudius at sailer-online.de (Claudius Sailer) Date: Sat Jun 5 05:45:09 2004 Subject: [V4RB] Updating index of newly imported records seems to fail for me In-Reply-To: References: Message-ID: <631A3962-B6DD-11D8-9B53-00039365848C@sailer-online.de> Am 05. Jun 2004 um 12:39 Uhr schrieb Richard Altenburg: > On 05-06-2004 00:09, "Richard Altenburg" > wrote: > >> Searching for all records that have an empty ServerURL, and setting >> them to >> the current ServerURL, returns 0 (zero) records affected on Windows >> all the >> time. > > I changed my code, and now I add the ServerURL to the text file that I > import, for every record. So once I import this, there is not only a > GroupName in every record, but also the right ServerURL. > > And still, when I do a SELECT on this ServerURL, I get no records > returned. > > All SQL operations before the ImportText work OK (like deleting the old > records), but every SQL operation after the ImportText fails. > > Seems like a bug alright... After Inserting all. Did you Try REINDEX DATABASE bye Claudius From valentina at brainchild.nl Sat Jun 5 13:05:42 2004 From: valentina at brainchild.nl (Richard Altenburg) Date: Sat Jun 5 06:07:48 2004 Subject: [V4RB] Updating index of newly imported records seems to fail for me In-Reply-To: <631A3962-B6DD-11D8-9B53-00039365848C@sailer-online.de> Message-ID: On 05-06-2004 12:44, "Claudius Sailer" wrote: >> All SQL operations before the ImportText work OK (like deleting the old >> records), but every SQL operation after the ImportText fails. >> >> Seems like a bug alright... > > After Inserting all. Did you Try > > REINDEX DATABASE Thanks for this idea, I tested your suggestion, earlier I tested REINDEX TABLE Newsgroup, and I also just tested REINDEX FIELD Newsgroup.ServerURL and REINDEX FIELD Newsgroup.GroupName. All is not helping. Now I did something else too: instead of trying to fix it myself, I used the DIAGNOSE DATABASE command, and I got something weird: Problems found! ******************************************************************** **** * BaseObject: "sysItemDescription" ******************************************************* ***************** All right. -----> Field: "Kind' of type Long All right. -----> Field: "ParentPtr' of type ObjectPtr All right. -----> Field: "ColumnName' of type VarChar All right. -----> Field: "ColumnType' of type Byte All right. ****************************************************************** ****** * BaseObject: "sysItem" ****************************************************************** ****** Problems found. -----> Field: "ItemDescrPtr' of type ObjectPtr Problems found! (!) Table has 42 physical records but field has 256 -----> Field: "Value' of type VarChar All right. -----> Field: "TextValue' of type Text All right. -----> Field: "ParentPtr' of type ObjectPtr Problems found! (!) Table has 42 physical records but field has 256 ******************************************************************** **** * BaseObject: "Newsgroup" **************************************************************** ******** All right. -----> Field: "ServerURL' of type VarChar All right. -----> Field: "GroupName' of type VarChar All right. From sunshine at public.kherson.ua Sat Jun 5 12:38:04 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Sat Jun 5 06:39:37 2004 Subject: big table V4RB 1.10, RB 5.52, OS X 10.3 In-Reply-To: Message-ID: On 6/5/04 10:49 AM, "olivier vidal" wrote: >> Because Valentina store each filed into separate logical file. >> So the more columns the more files, the more disk writes. >> >> When you make cursor with 5 fields on table with 150 fields, >> Such cursor will work in 30 times faster of cursor with all fields. >> >> > Thus, if I use a table with 150 fields, to be effective, it would be > necessary never to use " SELECT * ", but to try to select still only > the necessary fields? Yes of course! This is general rule for ANY DBMS. For Valentina this is even more important. > - A cursor of 10 fields will thus work much more quickly in reading > that a cursor of 60 fields because there will be 6 times less of > logical files to be read. yes > But if I write the value of a SINGLE field. My cursor has 10 or 60 > fields, the writing will be made only on 1 logical file? It seems yes. You talk here about UPDATE, yes? Add Record of course must write into each 60. > If 1 single logical file ( 1 single field) is modified, why the writing > would set more time with a cursor of 60 fields than with a cursor of 10 > fields? Right. Must be the same. Faster will be iteration of such cursor, Next()/Prev() -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From vidal_olivier at yahoo.fr Sat Jun 5 14:23:04 2004 From: vidal_olivier at yahoo.fr (olivier vidal) Date: Sat Jun 5 07:17:42 2004 Subject: big table V4RB 1.10, RB 5.52, OS X 10.3 In-Reply-To: References: Message-ID: <17DD4C42-B6EB-11D8-B969-00039310B7DA@yahoo.fr> ok, thank you very much Ruslan ! Magic Support !! last question : What do you think about this : "the software use an access to the mass memory very specific (hard disk). Indeed, the files of its database are all in "direct access". That is that these files are all created, in the installation, in their maximal dimension. Then, any writing made in the database makes no change in the position of a file on the disk and thus, consistently, no modification of FAT of the OS is not generated." This POS software indicates in its documentation a big security thanks to its "direct access ". If there is a crash, there is sharply less risk of corrupting FAT and the data. Is it true? If yes, you advise this way of working with Valentina ? i.e. , in the installation of the software, create automatically the totality of the recordings (products...)? The software will never use ADD / DELETE but only UPDATE. thank you olivier From idevaney at mac.com Sat Jun 5 14:19:55 2004 From: idevaney at mac.com (Ian Devaney) Date: Sat Jun 5 08:20:55 2004 Subject: Multiple Server Databases Message-ID: <093A45DA-B6F3-11D8-ABC7-000A9566DC14@mac.com> "Now all client products can work with many databases located on VServer inside of one logical connection. To support this added VDatabase contructors that accept object of Vserver class. " What are the implications of this? Does it mean I can have multiple databases and talk to them "as one" - i.e. via SQL queries - or is this not the point? Thanks, Ian From valentina at brainchild.nl Sat Jun 5 19:24:24 2004 From: valentina at brainchild.nl (Richard Altenburg) Date: Sat Jun 5 12:26:38 2004 Subject: [V4RB] Updating index of newly imported records seems to fail for me In-Reply-To: Message-ID: On 05-06-2004 12:39, "Richard Altenburg" wrote: > I changed my code, and now I add the ServerURL to the text file that I > import, for every record. So once I import this, there is not only a > GroupName in every record, but also the right ServerURL. After a total rewrite of the method that adds more than 40,000 newsgroup names to a table, I still have no success in my Windows builds. And again, my new strategy works just fine on Mac OS. What I did is remove the ImportText routine, and now I do a SQL INSERT INTO command for every group on its own, so that is a total of 44,300 INSERT INTO actions. The records are added, the data is actually there, but the indices are not working on Windows. I can't search for the groups by their name and ServerURL, and I am totally lost now. I have spent a full 10 hours (!) debugging this situation, and screwed up my release schedule completely :-( And what really makes me crazy, is this: I took the source of the previous version of our software, compiled it in the new environment (going from RB 5.2.4 to 5.5.2), and it worked, even on WIndows! That is great, but when I copy and paste the exact same code over to my new project, it does not work! All modules, constants and code are exactly the same, and still it does not work. I need some rest, and could use some good advice too! I won't let this problem mess up a third release. It is now or never, because I really had it :-( Ruslan, if you help me now, you will have a very loyal client :-) -- Richard Altenburg Brainchild Picture Patrol From sunshine at public.kherson.ua Sat Jun 5 21:52:13 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Sat Jun 5 13:52:24 2004 Subject: [V4RB] Updating index of newly imported records seems to fail for me In-Reply-To: Message-ID: On 6/5/04 8:24 PM, "Richard Altenburg" wrote: >> I changed my code, and now I add the ServerURL to the text file that I >> import, for every record. So once I import this, there is not only a >> GroupName in every record, but also the right ServerURL. > > After a total rewrite of the method that adds more than 40,000 newsgroup > names to a table, I still have no success in my Windows builds. And again, > my new strategy works just fine on Mac OS. > > What I did is remove the ImportText routine, and now I do a SQL INSERT INTO > command for every group on its own, so that is a total of 44,300 INSERT INTO > actions. > > The records are added, the data is actually there, but the indices are not > working on Windows. I can't search for the groups by their name and > ServerURL, and I am totally lost now. > > I have spent a full 10 hours (!) debugging this situation, and screwed up my > release schedule completely :-( > > And what really makes me crazy, is this: I took the source of the previous > version of our software, compiled it in the new environment (going from RB > 5.2.4 to 5.5.2), and it worked, even on WIndows! That is great, but when I > copy and paste the exact same code over to my new project, it does not work! > All modules, constants and code are exactly the same, and still it does not > work. Richard, please clarify, you have use THE SAME V4RB plugin, And you have change only REALbasic version? RB 5.2.4 + Valentina do work RB 5.5.2 + Valentina cause bug ? > I need some rest, and could use some good advice too! > > I won't let this problem mess up a third release. It is now or never, > because I really had it :-( > > Ruslan, if you help me now, you will have a very loyal client :-) * You have made REINDEX, not helps. * you not move dbs from MAC, then this is not that fixed VarChar bug. * you have found problems in Diagnose...let's think. do you create db each time new ? do you import into NEW FRESH empty db ? and after import diagnose() say problems? The worse is that we have combination REALbasic + Windows. During 5 years not me, nobody else cannot push REAL to create plugins in such way that we could debug it on Windows. For example, I can debug with no problems Director and V4MD, but not V4RB. So I afraid you and me have big problems. Even if you will send me project and db to reproduce, this not helps. We cannot debug REALbasic plugins on Windows. * Are you doing own parsing of text file ? it seems yes. so you parse it, and self do INSERT into table. * I have almost no idea. - increase cache. - make sure you work on empty fresh db. - make diagnose() before you start import. * Also I do not understand, you do import. if you close db and open it in viSQL or Valentina Studio then queries works? After reindex? * are you doing flush, say after each 500 records inserts ? -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From sunshine at public.kherson.ua Sat Jun 5 21:57:02 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Sat Jun 5 13:57:11 2004 Subject: big table V4RB 1.10, RB 5.52, OS X 10.3 In-Reply-To: <17DD4C42-B6EB-11D8-B969-00039310B7DA@yahoo.fr> Message-ID: On 6/5/04 3:23 PM, "olivier vidal" wrote: Hi Oliver, > last question : > > > What do you think about this : > > "the software use an access to the mass memory very specific (hard > disk). > Indeed, the files of its database are all in "direct access". That is > that these files are all created, in the installation, in their maximal > dimension. > Then, any writing made in the database makes no change in the position > of a file on the disk and thus, consistently, no modification of FAT of > the OS is not generated." > > This POS software indicates in its documentation a big security thanks > to its "direct access ". If there is a crash, there is sharply less > risk of corrupting FAT and the data. > Is it true? Frankly saying I am not very care about this. For e.g. my last 10 years of work with computers, I have never see corruption in OS's FAT which cause losing of data in the file. In theory, yes, this reduce risk of course. > If yes, you advise this way of working with Valentina ? > i.e. , in the installation of the software, create automatically the > totality of the recordings (products...)? > The software will never use ADD / DELETE but only UPDATE. I will recommend you just to have separate .ind file in your db. Then changes of DATA will go into .dat file And all other changes will go to .ind file -> reducing risks. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From sunshine at public.kherson.ua Sat Jun 5 22:00:27 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Sat Jun 5 14:00:36 2004 Subject: Multiple Server Databases In-Reply-To: <093A45DA-B6F3-11D8-ABC7-000A9566DC14@mac.com> Message-ID: On 6/5/04 4:19 PM, "Ian Devaney" wrote: > "Now all client products can work with many databases located on > VServer inside of one logical connection. To support this added > VDatabase contructors that accept object of Vserver class. " > > What are the implications of this? > > Does it mean I can have multiple databases and talk to them "as one" - > i.e. via SQL queries - or is this not the point? Yes Ian, This means that if Vserver have e.g 10 databases, You can from client create CONNECTION object, Then open several dbs inside of this one connection. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From valentina at brainchild.nl Sat Jun 5 22:47:45 2004 From: valentina at brainchild.nl (Richard Altenburg) Date: Sat Jun 5 15:49:51 2004 Subject: [V4RB] Updating index of newly imported records seems to fail for me In-Reply-To: Message-ID: On 05-06-2004 20:52, "Ruslan Zasukhin" wrote: > RB 5.2.4 + Valentina do work > RB 5.5.2 + Valentina cause bug ? I changed my new project so that it can run in 5.2.4, and it does not work. Just as in 5.5.2. When I tried an older 5.2.4 project in 5.5.2 it did work on Windows at one time. Copying that working code from to the old project into the new project breaks the working. > * You have made REINDEX, not helps. No, REINDEX DATABASE, TABLE and FIELD do not help. > * you not move dbs from MAC, then this is not that fixed VarChar bug. OK. > * you have found problems in Diagnose...let's think. > do you create db each time new ? > do you import into NEW FRESH empty db ? > and after import diagnose() say problems? I use the same database every time the user starts the program. During testing, I have removed the database before running the program, but it did not help. The diagnose gives problems after ImportText. > So I afraid you and me have big problems. > Even if you will send me project and db to reproduce, this not helps. > We cannot debug REALbasic plugins on Windows. I will not send you our complete source, but I see it will not help too. Then we are in major troubles, this will froce me to abandon the Windows release this week! > * Are you doing own parsing of text file ? > it seems yes. First I tried with various variations on the ImportText routine. In later tests I did my own parsing and inserting into the database. Both do not work. > * I have almost no idea. > - increase cache. > - make sure you work on empty fresh db. > - make diagnose() before you start import. This evening I have tested much bigger and smaller cache, both do not work. I test in an empty database, this does not help. > * Also I do not understand, you do import. > if you close db and open it in viSQL or Valentina Studio > then queries works? After reindex? When I stop my application and open the just created database in ViSQL I can see that the data is there and I can search and update and delete records. This does not work in the program itself. > * are you doing flush, say after each 500 records inserts ? Not during ImportText, I did test it during my own parsing, and it did not work. Still, all is working fine and fast on Mac OS X and Mac OS 9. I see only one option now: quit working on this bug and rush out the X and 9 releases of our software. I promised to release them tomorrow, and I hope it will still go as planned. We have to talk to each other later to work on the Windows bug. Thanks for trying to help me. This is a very bad situation for my Windows clients and for me! I hope we soon find a way to work around this problem. Any ideas and suggestions are welcome. -- Richard Altenburg Brainchild Picture Patrol From sunshine at public.kherson.ua Sat Jun 5 23:59:26 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Sat Jun 5 15:59:39 2004 Subject: [V4RB] Updating index of newly imported records seems to fail for me In-Reply-To: Message-ID: On 6/5/04 11:47 PM, "Richard Altenburg" wrote: >> * Also I do not understand, you do import. >> if you close db and open it in viSQL or Valentina Studio >> then queries works? After reindex? > > When I stop my application and open the just created database in ViSQL I can > see that the data is there and I can search and update and delete records. > This does not work in the program itself. WAIT. So after your import, viSQL correctly show data, And it correctly do searches?! And it do this even although Diagnose() say problems? is your db encrypted? it seems no. But your app opens the same db later, And fails to read and search ??? Very very strange. Then it sounds like bug in part of your app which do reading. Right? It sounds like bug NOT in Valentina kernel. Because they viSQL also must fail. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From valentina at brainchild.nl Sun Jun 6 00:54:14 2004 From: valentina at brainchild.nl (Richard Altenburg) Date: Sat Jun 5 17:56:20 2004 Subject: [V4RB] Updating index of newly imported records seems to fail for me In-Reply-To: Message-ID: On 05-06-2004 22:59, "Ruslan Zasukhin" wrote: >> When I stop my application and open the just created database in ViSQL I can >> see that the data is there and I can search and update and delete records. >> This does not work in the program itself. > So after your import, viSQL correctly show data, > And it correctly do searches?! ViSQL shows that the groupnames are present, but it also shows that my program did not manage to set the ServerURL for all records. They are all empty. When I type the same SQL into ViSQL from my application to set all ServerURL values, it correctly works. This does not work from within my app on Windows. > And it do this even although Diagnose() say problems? > is your db encrypted? > it seems no. Originally my database structure was encrypted, not the data. I tested an hour without encryption on the structure, and it made no difference to the result. > But your app opens the same db later, > And fails to read and search ??? No, once ViSQL has set the ServerURL values in all records, my app reads them OK. It is just the problem that I can not set these values, or do anything else, after I have created so many thousands of newsgroups in the table. > Very very strange. > Then it sounds like bug in part of your app which do reading. > Right? No, the reading is OK. When I set the values in ViSQL, my program shows all data OK. When I create the database with an older version of my app, the new one shows the data OK. The problem is in the creation and modification of the data on Windows machines. > It sounds like bug NOT in Valentina kernel. > Because they viSQL also must fail. When I use the same code on Mac OS 9, Mac OS X and Windows, and only Windows fails since now, then there must be a bug in a place I can not control. All work arounds failed in the past 24 hours. I have no idea where to go from here... Can it be possible that since RB 5.5.2 other cursors, which I set to Nil before importing the data, are not released in time or something like that? From vidal_olivier at yahoo.fr Sun Jun 6 07:50:19 2004 From: vidal_olivier at yahoo.fr (olivier vidal) Date: Sun Jun 6 00:44:54 2004 Subject: big table V4RB 1.10, RB 5.52, OS X 10.3 In-Reply-To: References: Message-ID: <64CBCDD4-B77D-11D8-B8A7-00039310B7DA@yahoo.fr> Hi Ruslan, ok, thank you very much ! have a good day. Olivier From sunshine at public.kherson.ua Sun Jun 6 10:04:38 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Sun Jun 6 02:04:54 2004 Subject: [V4RB] Updating index of newly imported records seems to fail for me In-Reply-To: Message-ID: On 6/6/04 1:54 AM, "Richard Altenburg" wrote: >>> When I stop my application and open the just created database in ViSQL I can >>> see that the data is there and I can search and update and delete records. >>> This does not work in the program itself. > >> So after your import, viSQL correctly show data, >> And it correctly do searches?! > > ViSQL shows that the groupnames are present, but it also shows that my > program did not manage to set the ServerURL for all records. They are all > empty. > > When I type the same SQL into ViSQL from my application to set all ServerURL > values, it correctly works. This does not work from within my app on > Windows. What type of ServerURL field? Text ? -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From sunshine at public.kherson.ua Sun Jun 6 10:13:34 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Sun Jun 6 02:13:45 2004 Subject: [V4RB] Updating index of newly imported records seems to fail for me In-Reply-To: Message-ID: On 6/6/04 1:54 AM, "Richard Altenburg" wrote: >> But your app opens the same db later, >> And fails to read and search ??? > > No, once ViSQL has set the ServerURL values in all records, my app reads > them OK. It is just the problem that I can not set these values, or do > anything else, after I have created so many thousands of newsgroups in the > table. > >> Very very strange. >> Then it sounds like bug in part of your app which do reading. >> Right? > > No, the reading is OK. > > When I set the values in ViSQL, my program shows all data OK. > > When I create the database with an older version of my app, the new one > shows the data OK. > > The problem is in the creation and modification of the data on Windows > machines. I see, so fail WRITE into field ServerURL. Ok. 1) I think import here is not important. you can make small project which create the same db, and the same table and do the same INSERTs, well, may be getting them from the same import file. You see? This should be not hard to make such project and send to me. I want to see what you add and how. Send it me in not compiled form also. >> It sounds like bug NOT in Valentina kernel. >> Because they viSQL also must fail. > > When I use the same code on Mac OS 9, Mac OS X and Windows, and only Windows > fails since now, then there must be a bug in a place I can not control. > > All work arounds failed in the past 24 hours. I have no idea where to go > from here... > > Can it be possible that since RB 5.5.2 other cursors, which I set to Nil > before importing the data, are not released in time or something like that? Well, you can SEE this self! Set DebugLevel = 2 and run console app on Windows. You must be able see log output from V4RB. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From valentina at brainchild.nl Sun Jun 6 12:08:41 2004 From: valentina at brainchild.nl (Richard Altenburg) Date: Sun Jun 6 05:10:50 2004 Subject: [V4RB] Updating index of newly imported records seems to fail for me In-Reply-To: Message-ID: On 06-06-2004 09:04, "Ruslan Zasukhin" wrote: >> When I type the same SQL into ViSQL from my application to set all ServerURL >> values, it correctly works. This does not work from within my app on >> Windows. > > What type of ServerURL field? > Text ? It is a VarChar(504), and I also tested it with a String field. Same results. From valentina at brainchild.nl Sun Jun 6 12:10:16 2004 From: valentina at brainchild.nl (Richard Altenburg) Date: Sun Jun 6 05:12:25 2004 Subject: [V4RB] Updating index of newly imported records seems to fail for me In-Reply-To: Message-ID: On 06-06-2004 09:13, "Ruslan Zasukhin" wrote: > Set DebugLevel = 2 and run console app on Windows. > You must be able see log output from V4RB. This I forgot, I will (later this week) debug on Windows with this console app and see what it tells me. When I start working on this problem again, I will also create a small project to send to you (or others who want to help me). From sunshine at public.kherson.ua Sun Jun 6 14:33:30 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Sun Jun 6 06:33:42 2004 Subject: [V4RB] Updating index of newly imported records seems to fail for me In-Reply-To: Message-ID: On 6/6/04 1:08 PM, "Richard Altenburg" wrote: > On 06-06-2004 09:04, "Ruslan Zasukhin" wrote: > >>> When I type the same SQL into ViSQL from my application to set all ServerURL >>> values, it correctly works. This does not work from within my app on >>> Windows. >> >> What type of ServerURL field? >> Text ? > > It is a VarChar(504), and I also tested it with a String field. Same > results. Then this sounds simply incredible !!! FIXED String simply cannot be corrupted. You say that values are NOT stored into disk file. Only values of SOME field? Or values of ALL fields in that table? If you will tell me that 10 fields get values and store them. But one field not store values then I will not believe. Because you talk not about TEXT field, where can be developer mistake. Make sure that you really ASSIGN value into that field. Also to mind come issue: field is marked as unique, buy you assign not unique values. then kernel simply refuse adding of the whole record with 344 error I have see that you have send to RB list some code. Please send it in text file as attachment directly to me, Because in letters formatting of code is breaking. Not readable. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From sunshine at public.kherson.ua Sun Jun 6 14:36:22 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Sun Jun 6 06:36:32 2004 Subject: Any Valentina user out there care to look why this won't work on Windows? In-Reply-To: <20040606090236.CC92D227D16@lists.realsoftware.com> Message-ID: On 6/6/04 12:02 PM, "realbasic-nug-request@lists.realsoftware.com" wrote: > What I do is import groupnames into a table that has the serverURL as the > key. When I try to set the key of all groupnames with a serverURL of empty > to the current serverURL, I get 0 rows affected returned. A total rewrite of Richard, So you use this field as key. It is marked as unique? And if you use VarChar[504] please check in viSQL or in other way If the flag fIndexByWords is ON. If it is ON, then this can explain. Different URLs have the same words, and vl try build index by words, so you get not unique error. Check this point also. In console you must see error ... 344 -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From sunshine at public.kherson.ua Sun Jun 6 15:23:02 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Sun Jun 6 07:23:16 2004 Subject: Multiple Server Databases In-Reply-To: <53D5696C-B7B2-11D8-ABC7-000A9566DC14@mac.com> Message-ID: On 6/6/04 3:09 PM, "Ian Devaney" wrote: > RB. > > Thanks, > > Ian > > On 6 Jun 2004, at 8:03 am, Ruslan Zasukhin wrote: > >> Hi Ian, >> >> What API you use ? >> C++ or RB ? Now you do db = new Databse( IP, port, user, passw ) You should do connect = new Connection ( IP, port, user, passw ) db1 = new Database( connect ) db2 = new Database( connect ) I.e. You use object Connect when you create object of Database. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From vidal_olivier at yahoo.fr Tue Jun 8 11:57:28 2004 From: vidal_olivier at yahoo.fr (olivier vidal) Date: Tue Jun 8 09:59:25 2004 Subject: Valentina Server Message-ID: <40687617-B932-11D8-9FB4-00039310B7DA@yahoo.fr> Hello Ruslan, Me shall have before the end of the year, to make a version 'local network' of my POS software. My customers who will buy this version will have generally between 2 and 5 computers in network. How much will cost a Server version of Valentina? Have you advices of programming so that my Server version is as well reliable as the single-user version? Several persons will need to make several sales simultaneously on several computers. The database will thus have to be very reliable and very fast because several users can sell at the same moment the same article on different computers. thank you olivier From sunshine at public.kherson.ua Tue Jun 8 16:55:23 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue Jun 8 10:00:11 2004 Subject: Advice please: tools for docs development Message-ID: Hi All, We have try many different tools for docs writing and I am in big frustration. I'd like to hear how people do docs, especially complex docs in big companies, when many people evolved. ------------ Indesign -- one of the best DTP tool. From one side. but document is too monolithic. No way to have version control. no way to visually compare different versions. --------------- MS Visio -- really great tool for diagrams, but today I have found that it cannot draw tables in Excel style We need draw diagrams like this: f1 f2 f3 b1 b2 b3 b4 v1 v3 aaa * -------> ww rr tt hh v2 v4 bbb * ---------- Our dream is: * write docs as separate parts, paragraphs that are in many text files. then we can use CVS to store that files, monitor versions, see visually what lines/words was chaged in v1.4 comparing to 1.3 * make pictures as gif or jpg (to use them later in HTML format of docs). * may be use some XML-based editors to produce that text files. Interesting looks Xmetal of Corel. * We want later COMBINE that text file into final LAYOT app like inDesign, But problem with inDesign is that it insert a text file, and later do not see changes in it. * ability to produce from layout app both HTML and PDF. Yes inDesign can do this good, but we have above problems with it. * we want keep separate parts of docs in different languages, e.g. Russian, English, German, Japan. This means that CVS is ideal for this. Because mans who write/translate docs can be ion different parts of the world. Also CVS allow them easy to see where was changed 3 lines yesterday? * it is good idea to avoid expensive tools like inDesign, because then all translators must have it. This is not good. -------------- So we need - repository like CVS - version support - comparison of versions - inet access to repository - integration with layout software and auto-updates in layout when text changes. Something like this. Anybody can advice? ---------- Because right now, just with 2 docs: ValentinaKernel2_ru.indd ValentinaKernel_en.indd We have problems with synchronization. If me today add few pages into _ru document, or even worse, change few words in existed text, then tomorrow I can forget what exactly I have change, and then how translator can find that places? InDesign do not help here. :-( -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From christer at ljusaideer.se Tue Jun 8 17:09:59 2004 From: christer at ljusaideer.se (Christer Olsson) Date: Tue Jun 8 10:10:15 2004 Subject: Advice please: tools for docs development In-Reply-To: References: Message-ID: >We have try many different tools for docs writing and I am in big >frustration. I'd like to hear how people do docs, especially complex docs in >big companies, when many people evolved. > >------------ >Indesign -- one of the best DTP tool. From one side. > but document is too monolithic. > No way to have version control. > no way to visually compare different versions. You should take a look at Adobe Version Cue and Adobe InCopy, they would together with InDesign solve most of your needs. -- ************************************************************* Christer Olsson PO Box 9160 Phone +46 40 25 85 85 Ljusa Id?er AB SE-200 39 Malmo Fax +46 40 25 85 89 Kantyxegatan 5 Sweden http://www.ljusaideer.se From sunshine at public.kherson.ua Tue Jun 8 18:10:28 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue Jun 8 10:10:48 2004 Subject: Valentina Server In-Reply-To: <40687617-B932-11D8-9FB4-00039310B7DA@yahoo.fr> Message-ID: On 6/8/04 12:57 PM, "olivier vidal" wrote: > Hello Ruslan, > > Me shall have before the end of the year, to make a version 'local > network' of my POS software. > > My customers who will buy this version will have generally between 2 > and 5 computers in network. > > How much will cost a Server version of Valentina? > > Have you advices of programming so that my Server version is as well > reliable as the single-user version? > > Several persons will need to make several sales simultaneously on > several computers. > The database will thus have to be very reliable and very fast because > several users can sell at the same moment the same article on different > computers. Oliver, I will answer you off list. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From lists at innernine.com Tue Jun 8 11:50:57 2004 From: lists at innernine.com (Juergen Schreck) Date: Tue Jun 8 11:51:11 2004 Subject: Advice please: tools for docs development In-Reply-To: References: Message-ID: <03CBE6B1-B96C-11D8-A6E9-000A95868802@innernine.com> Ruslan, I agree with Christer. Indesign CS (3.0.1) should cover a good 80-90% of your dream. Version control via VersionCue, XML import/export, PDF generation, Story editing/manaegment via InCopy, Web exchange via XML capability, kick-ass table editor. The only thing I don't know about is multiple languages, but I wouldn't be surprised if it handled that somehow. If you're thinking content-generation of some sort anyways (via XML) then I'm certain you could control languages at that level already. This recommendation doesn't cover your last wish to avoid InDesign because of price. But it's the only one I can make from my experience. :-) Regards, Juergen -- ------------------------------------------------------------------------ ------ Innernine http://www.innernine.com Custom Software Solutions 262.781.5295 ------------------------------------------------------------------------ ------ From sunshine at public.kherson.ua Tue Jun 8 21:10:02 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue Jun 8 13:10:13 2004 Subject: Advice please: tools for docs development In-Reply-To: <03CBE6B1-B96C-11D8-A6E9-000A95868802@innernine.com> Message-ID: On 6/8/04 7:50 PM, "Juergen Schreck" wrote: Hi Juergen, > I agree with Christer. Indesign CS (3.0.1) should cover a good 80-90% > of your dream. > Version control via VersionCue, I will check it. > XML import/export, May be we have not understand its idea, but it work not in our dream. When I import XML file, it import it inside, it DO NOT see any future changes in that file. > PDF generation, yes > Story editing/manaegment via InCopy, Web exchange via XML > capability, kick-ass table editor. Hmm, just today I have try draw diagram as I need: 2 tables, left and right. Located on the same level. several records in each draw lines between records of 2 tables. It do fine ONE table, but it is inserted in text mode, I cannot free move it. I will look once again it. > The only thing I don't know about is > multiple languages, but I wouldn't be surprised if it handled that > somehow. > If you're thinking content-generation of some sort anyways > (via XML) then I'm certain you could control languages at that level > already. > This recommendation doesn't cover your last wish to avoid InDesign > because of price. But it's the only one I can make from my experience. > :-) :-) -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From christer at ljusaideer.se Tue Jun 8 20:24:07 2004 From: christer at ljusaideer.se (Christer Olsson) Date: Tue Jun 8 13:24:20 2004 Subject: Advice please: tools for docs development In-Reply-To: References: Message-ID: >> Story editing/manaegment via InCopy, Web exchange via XML >> capability, kick-ass table editor. > >Hmm, just today I have try draw diagram as I need: > > 2 tables, left and right. Located on the same level. > several records in each > draw lines between records of 2 tables. > >It do fine ONE table, but it is inserted in text mode, I cannot free move >it. I will look once again it. Not to insult you Ruslan, but every tool takes its time to master. You wouldn't expect a graphic designer to write fluent C even if he knew his InDesign inside out, would you? To get something like this done, I'd suggest you to hire a graphic designer. -- ************************************************************* Christer Olsson PO Box 9160 Phone +46 40 25 85 85 Ljusa Id?er AB SE-200 39 Malmo Fax +46 40 25 85 89 Kantyxegatan 5 Sweden http://www.ljusaideer.se From christer at ljusaideer.se Tue Jun 8 21:51:23 2004 From: christer at ljusaideer.se (Christer Olsson) Date: Tue Jun 8 14:51:33 2004 Subject: [V4RB] CurrentPosition Message-ID: Why is curs.Currentposition 1 at myBreakPointHere in my code below? i is 15, just as it should be. curs = db.SqlSelect( "SELECT RecID,* FROM table" ) curs.CurrentPosition = 15 i = curs.ULongField("RecID").Value myBreakPoinHere -- ************************************************************* Christer Olsson PO Box 9160 Phone +46 40 25 85 85 Ljusa Id?er AB SE-200 39 Malmo Fax +46 40 25 85 89 Kantyxegatan 5 Sweden http://www.ljusaideer.se From sunshine at public.kherson.ua Wed Jun 9 00:08:18 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue Jun 8 16:08:30 2004 Subject: Advice please: tools for docs development In-Reply-To: Message-ID: On 6/8/04 9:24 PM, "Christer Olsson" wrote: >>> Story editing/manaegment via InCopy, Web exchange via XML >>> capability, kick-ass table editor. >> >> Hmm, just today I have try draw diagram as I need: >> >> 2 tables, left and right. Located on the same level. >> several records in each >> draw lines between records of 2 tables. >> >> It do fine ONE table, but it is inserted in text mode, I cannot free move >> it. I will look once again it. > > Not to insult you Ruslan, but every tool takes its time to master. You > wouldn't expect a graphic designer to write fluent C even if he knew his > InDesign inside out, would you? > > To get something like this done, I'd suggest you to hire a graphic designer. Actually I have very good skills in Phothops, Illustrator, Quark, PageMaker, I have work 3 years in advertising agency helping them with MAC. We have made full-color jobs together, newspaper, just advertise ads. But InDesign is new to me now. Just its time, draw something on paper and later go to designer. Ok, we will look more deeply on Adobe. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From sunshine at public.kherson.ua Wed Jun 9 00:09:17 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue Jun 8 16:09:28 2004 Subject: [V4RB] CurrentPosition In-Reply-To: Message-ID: On 6/8/04 10:51 PM, "Christer Olsson" wrote: > Why is curs.Currentposition 1 at myBreakPointHere in my code below? i is 15, > just as it should be. > > curs = db.SqlSelect( "SELECT RecID,* FROM table" ) > curs.CurrentPosition = 15 > i = curs.ULongField("RecID").Value > myBreakPoinHere I think you need specify kRandomAccess when you create cursor. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From ktekinay at mactechnologies.com Tue Jun 8 17:18:58 2004 From: ktekinay at mactechnologies.com (Kem Tekinay) Date: Tue Jun 8 16:19:09 2004 Subject: ValentinaUtilites Message-ID: My copy of Valentina for RB v.1.10 contained a copy of ValentinaUtilities, but it was not recognized as a module when I inserted it into my RB project, nor did it have an icon. I had to add the proper type and creator codes ("CbCl" and "RBv2") to get it to work properly. Ruslan, you might want to change the way the archive is distributed so this information is not lost. __________________________________________________________________________ Kem Tekinay (212) 201-1465 MacTechnologies Consulting Fax (914) 242-7294 545 Eighth Avenue, Suite 401 Pager (917) 491-5546 New York, New York 10018 http://www.mactechnologies.com To join the MacTechnologies Consulting mailing list, send an e-mail to: mactechnologies_consulting-subscribe@yahoogroups.com From sunshine at public.kherson.ua Wed Jun 9 00:31:32 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue Jun 8 16:31:47 2004 Subject: ValentinaUtilites In-Reply-To: Message-ID: On 6/9/04 12:18 AM, "Kem Tekinay" wrote: Hi Kem, > My copy of Valentina for RB v.1.10 contained a copy of ValentinaUtilities, > but it was not recognized as a module when I inserted it into my RB project, > nor did it have an icon. I had to add the proper type and creator codes > ("CbCl" and "RBv2") to get it to work properly. > > Ruslan, you might want to change the way the archive is distributed so this > information is not lost. Let is a problem. I assume you work on MAC but you have download ZIP archive with RB 5 plugin format, yes? Actually for MAC is intended .sit.bin archive. ZIP archive is in the first turn for windows RB IDE users. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From softil at onlinehome.de Tue Jun 8 23:57:53 2004 From: softil at onlinehome.de (SoftIl) Date: Tue Jun 8 16:58:25 2004 Subject: [VNET] can't an baseobject method field be unique? Message-ID: <000e01c44da3$b74e5a70$f0e7e6d9@IPSBASIS> Hi all, is it right, that an baseobject method field can't be unique? If I set an baseobject method field "unique" and "indexd", but it hasn't an effect. It is possible to save double entries in that field. Why? Thanks for your answers. Carsten From ktekinay at mactechnologies.com Tue Jun 8 17:59:16 2004 From: ktekinay at mactechnologies.com (Kem Tekinay) Date: Tue Jun 8 16:59:27 2004 Subject: ValentinaUtilites In-Reply-To: Message-ID: On 6/8/04 5:31 PM, Ruslan Zasukhin at sunshine@public.kherson.ua wrote: > Actually for MAC is intended .sit.bin archive. > > ZIP archive is in the first turn for windows RB IDE users. Ah, I see. In that case, may I suggest you clarify the site? I thought I needed the second archive (the zip archive) if I use RB 5. __________________________________________________________________________ Kem Tekinay (212) 201-1465 MacTechnologies Consulting Fax (914) 242-7294 545 Eighth Avenue, Suite 401 Pager (917) 491-5546 New York, New York 10018 http://www.mactechnologies.com To join the MacTechnologies Consulting mailing list, send an e-mail to: mactechnologies_consulting-subscribe@yahoogroups.com From sunshine at public.kherson.ua Wed Jun 9 01:06:52 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue Jun 8 17:07:02 2004 Subject: [VNET] can't an baseobject method field be unique? In-Reply-To: <000e01c44da3$b74e5a70$f0e7e6d9@IPSBASIS> Message-ID: On 6/9/04 12:57 AM, "SoftIl" wrote: Hi Carsten, > Hi all, > is it right, that an baseobject method field can't be unique? It can be of course. But you must be VERY sure that it produce unique values. > If I set an baseobject method field "unique" and "indexd", but it hasn't an > effect. > It is possible to save double entries in that field. Why? Aha, you mean that you can set flags but it not protect from duplicates? Interesting. Must be tested. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From christer at ljusaideer.se Wed Jun 9 08:21:41 2004 From: christer at ljusaideer.se (Christer Olsson) Date: Wed Jun 9 01:21:52 2004 Subject: [V4RB] CurrentPosition In-Reply-To: References: Message-ID: >On 6/8/04 10:51 PM, "Christer Olsson" wrote: > >> Why is curs.Currentposition 1 at myBreakPointHere in my code below? i is 15, >> just as it should be. >> >> curs = db.SqlSelect( "SELECT RecID,* FROM table" ) >> curs.CurrentPosition = 15 >> i = curs.ULongField("RecID").Value >> myBreakPoinHere > >I think you need specify kRandomAccess when you create cursor. I tried that, too, before posting to the list - with the same result. But if I need to specify kRandomAccess, why is i = curs.ULongField("RecID").Value giving back the value for record 15 instead of record 1? -- ************************************************************* Christer Olsson PO Box 9160 Phone +46 40 25 85 85 Ljusa Id?er AB SE-200 39 Malmo Fax +46 40 25 85 89 Kantyxegatan 5 Sweden http://www.ljusaideer.se From sunshine at public.kherson.ua Wed Jun 9 10:38:02 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Jun 9 02:38:19 2004 Subject: [V4RB] CurrentPosition In-Reply-To: Message-ID: On 6/9/04 9:21 AM, "Christer Olsson" wrote: >> On 6/8/04 10:51 PM, "Christer Olsson" wrote: >> >>> Why is curs.Currentposition 1 at myBreakPointHere in my code below? i is 15, >>> just as it should be. >>> >>> curs = db.SqlSelect( "SELECT RecID,* FROM table" ) >>> curs.CurrentPosition = 15 >>> i = curs.ULongField("RecID").Value >>> myBreakPoinHere >> >> I think you need specify kRandomAccess when you create cursor. > > I tried that, too, before posting to the list - with the same result. > But if I need to specify kRandomAccess, why is i = > curs.ULongField("RecID").Value giving back the value for record 15 instead of > record 1? No idea, Christer, If you can please send me some project that reproduce. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From idevaney at mac.com Wed Jun 9 12:50:47 2004 From: idevaney at mac.com (Ian Devaney) Date: Wed Jun 9 06:51:29 2004 Subject: Multiple Server Databases In-Reply-To: <20040608165143.2A5EC14211B@edison.macserve.net> References: <20040608165143.2A5EC14211B@edison.macserve.net> Message-ID: <3F73C7A2-BA0B-11D8-88B2-000A9566DC14@mac.com> Thanks Ruslan. In this example: > connect = new Connection ( IP, port, user, passw ) > > db1 = new Database( connect ) > db2 = new Database( connect ) > > > I.e. You use object Connect when you create object of Database. Is the variable "connect" referring to a vServer? In other words: Dim connect as ??? Dim connection as ??? Just checking! Ian On 8 Jun 2004, at 5:51 pm, valentina-request@lists.macserve.net wrote: > Message: 6 > Date: Sun, 06 Jun 2004 15:23:02 +0300 > From: Ruslan Zasukhin > Subject: Re: Multiple Server Databases > To: Ian Devaney , > Message-ID: > Content-Type: text/plain; charset="US-ASCII" > > On 6/6/04 3:09 PM, "Ian Devaney" wrote: > >> RB. >> >> Thanks, >> >> Ian >> >> On 6 Jun 2004, at 8:03 am, Ruslan Zasukhin wrote: >> >>> Hi Ian, >>> >>> What API you use ? >>> C++ or RB ? > > Now you do > > db = new Databse( IP, port, user, passw ) > > You should do > > connect = new Connection ( IP, port, user, passw ) > > db1 = new Database( connect ) > db2 = new Database( connect ) > > > I.e. You use object Connect when you create object of Database. > > > -- > Best regards, > Ruslan Zasukhin [ I feel the need...the need for speed ] > ------------------------------------------------------------- > e-mail: ruslan@paradigmasoft.com > web: http://www.paradigmasoft.com > > To subscribe to the Valentina mail list go to: > http://lists.macserve.net/mailman/listinfo/valentina > ------------------------------------------------------------- From softil at onlinehome.de Wed Jun 9 14:36:56 2004 From: softil at onlinehome.de (SoftIl) Date: Wed Jun 9 07:37:39 2004 Subject: [VNET] can't an baseobject method field be unique? References: Message-ID: <000301c44e1e$84540220$0df4e6d9@IPSBASIS> Hi Ruslan, > > is it right, that an baseobject method field can't be unique? > It can be of course. Good. > But you must be VERY sure that it produce unique values. That's right and no problem. > > It is possible to save double entries in that field. Why? > Aha, you mean that you can set flags but it not protect from duplicates? Yes,but it is a little bit difficult: The unique control works only if I add a new Record. The unique control doesn't work if I change an existing record, or add the method field to an table with already existing records. In this case, it is possible to get duplicates. > Interesting. Must be tested. I hope you will find a little bit of time to do that. Best regards Carsten From sunshine at public.kherson.ua Wed Jun 9 15:42:12 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Jun 9 07:42:24 2004 Subject: [VNET] can't an baseobject method field be unique? In-Reply-To: <000301c44e1e$84540220$0df4e6d9@IPSBASIS> Message-ID: On 6/9/04 3:36 PM, "SoftIl" wrote: Hi Carsten, >>> It is possible to save double entries in that field. Why? >> Aha, you mean that you can set flags but it not protect from duplicates? > Yes,but it is a little bit difficult: > The unique control works only if I add a new Record. ok > The unique control doesn't work if I change an existing record, I see. > or add the > method field to an table with already existing records. Well, if you add method, then set flag unique, I think it will refuse index building. And this will be sign of something wrong. I agree, this area not very clean yet. > In this case, it is possible to get duplicates. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From sunshine at public.kherson.ua Wed Jun 9 16:04:23 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Jun 9 08:04:41 2004 Subject: Valentina 2 feature requests In-Reply-To: Message-ID: On 6/9/04 3:44 PM, "Peter De Berdt" wrote: Hi Peter, > Hi Ruslan > > I can't seem to post to the Valentina List anymore (spamcop blocks > all my ISP's mails apparently), so I apologize for sending you these > questions directly. I cc to lists. You are on Valentina beta list only ? > I was wondering if it could be possible to bundle the > standalone/client plug-in for REALbasic in one plug-in that could > access both a remote Valentina DB and a local one from the same > application. Yes, we are going to implement this in 2.0. Many developers EXPECTS this as easy thing, although it is very hard. Again, it seems we see the technical way do this. > Let me explain: I've written classes that allow my > REALbasic apps to change language while running (instead of compiling > a different application for each language). I use a local Valentina > database to store the different languages. To avoid unnecessary > overhead (the language file is static) on the network, I want to keep > this language database on the user's computer. > However, I use a different database to hold data from my CRM/ERP app > and this should be multi-user accessible (hosted on Valentina Server). > For the moment, I can't use Valentina for both, because you can only > use one plug-in at the time (OR the client, OR the standalone > version). ok > Could I add a feature request for an additional parameter in the > ImportText function, being the ability to specify the encoding of the > file that is being imported? Already implemented :-) > Most of the files I'll import will be > either MacRoman or WindowsLatin1, and I'll be using UTF-8 to store > all my data in the Valentina 2 DB. Without the possibility to specify > the encoding in ImportText, I have to fall back to: > 1. Converting the whole text file to UTF-8 using RB code, then use ImportText > 2. Write my own import routine in RB to read, convert and add data to > my Valentina DB. > Both will be much slower than being able to let Valentina Engine > handle the conversion I think. ------------------ > I'm eagerly awaiting the release of Valentina 2, have I read it > correctly that it will be released this weekend, or am I wrong? (I > desperately need UTF-8 native support in Valentina) No this is wrong. We are in early beta testing stage now. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From huancaya at wanadoo.fr Wed Jun 9 17:48:03 2004 From: huancaya at wanadoo.fr (Thierry Nauze) Date: Wed Jun 9 08:48:21 2004 Subject: An index with a size of 96 Gb ... Message-ID: My file "base.ind" has a size of 96 Gb, while the size of "base.dat" is less than 1 Mb! How is it possible? -- Thierry Nauze Saint-Denis de la R?union From sunshine at public.kherson.ua Wed Jun 9 16:58:21 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Jun 9 08:58:44 2004 Subject: An index with a size of 96 Gb ... In-Reply-To: Message-ID: On 6/9/04 4:48 PM, "Thierry Nauze" wrote: > My file "base.ind" has a size of 96 Gb, while the size of "base.dat" > is less than 1 Mb! > > How is it possible? Wow. You are first who have got this. Well, trash it and open db again. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From huancaya at wanadoo.fr Wed Jun 9 18:04:45 2004 From: huancaya at wanadoo.fr (Thierry Nauze) Date: Wed Jun 9 09:05:10 2004 Subject: An index with a size of 96 Gb ... In-Reply-To: References: Message-ID: Le 9 juin 04, ? 17:58, Ruslan Zasukhin a ?crit : > On 6/9/04 4:48 PM, "Thierry Nauze" wrote: > >> My file "base.ind" has a size of 96 Gb, while the size of "base.dat" >> is less than 1 Mb! >> >> How is it possible? > > Wow. You are first who have got this. > > Well, trash it and open db again. It is that I made. But I do not understand how it was able to arrive. Thank you -- Thierry Nauze Saint-Denis de la R?union From rjb at rz.uni-potsdam.de Wed Jun 9 16:36:20 2004 From: rjb at rz.uni-potsdam.de (Robert Brenstein) Date: Wed Jun 9 09:47:18 2004 Subject: [VNET] can't an baseobject method field be unique? In-Reply-To: References: Message-ID: > > or add the >> method field to an table with already existing records. > >Well, if you add method, then set flag unique, I think it will refuse index >building. And this will be sign of something wrong. > >I agree, this area not very clean yet. > Shouldn't an attempt to set unique flag when there are non-unique values just return 344 error? Figuring out whether index was created or not is not the way. Robert From bkeeney at everestkc.net Wed Jun 9 09:44:32 2004 From: bkeeney at everestkc.net (Bob Keeney) Date: Wed Jun 9 09:55:03 2004 Subject: [V4RB] Best way to implement Uniqueness Across 2 Fields In-Reply-To: <20040609073842.AD96D142B8E@edison.macserve.net> References: <20040609073842.AD96D142B8E@edison.macserve.net> Message-ID: <850660B7-BA23-11D8-8E59-000393020448@everestkc.net> I have a table that has 2 fields, a string and a ptr to another table. sWord, vstring ptrCase, vPtrObject What is the best way to implement a unique record based on sWord and ptrCase? For example, the values (Dog, 1) and (Dog, 2) are valid but I don't want the user to add another (Dog, 1). Am I going to have to do this via code? Will I have to do a SQL check before attempting to add the value? I need this to be as fast as possible because this table could be 500,000+ rows. Any help is appreciated. Thanks, Bob Keeney From sunshine at public.kherson.ua Wed Jun 9 18:11:16 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Jun 9 10:11:40 2004 Subject: [V4RB] Best way to implement Uniqueness Across 2 Fields In-Reply-To: <850660B7-BA23-11D8-8E59-000393020448@everestkc.net> Message-ID: On 6/9/04 5:44 PM, "Bob Keeney" wrote: > I have a table that has 2 fields, a string and a ptr to another table. > > sWord, vstring > ptrCase, vPtrObject > > What is the best way to implement a unique record based on sWord and > ptrCase? For example, the values (Dog, 1) and (Dog, 2) are valid but I > don't want the user to add another (Dog, 1). Am I going to have to do > this via code? Will I have to do a SQL check before attempting to add > the value? > > I need this to be as fast as possible because this table could be > 500,000+ rows. Any help is appreciated. 1) you can do this via SQL 2) and you can create BaseObject method with fUnique + fIndexed flags I think it can be of STRING type and have formula ptr + sWord So you get "1dog" There is chnace that second way will be faster, because you just try ADD new record, Valentina internally do checks, in case of failure you get refuse and error code. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From yeomans at desuetude.com Wed Jun 9 17:57:16 2004 From: yeomans at desuetude.com (Charles Yeomans) Date: Wed Jun 9 16:57:27 2004 Subject: web site down Message-ID: Is www.paradigmasoft.com generally down? I can't connect to it. -------------- Charles Yeomans From delong at redcort.com Wed Jun 9 15:07:43 2004 From: delong at redcort.com (Keith DeLong) Date: Wed Jun 9 17:08:00 2004 Subject: web site down In-Reply-To: Message-ID: > Is www.paradigmasoft.com generally down? I can't connect to it. It appears so. I cannot connect to ftp.paradigmasoft.com either... From maillist at darke.biz Thu Jun 10 11:32:08 2004 From: maillist at darke.biz (Ang Siow Chen) Date: Wed Jun 9 22:33:32 2004 Subject: web site down In-Reply-To: Message-ID: apparently not from Singapore! -----Original Message----- From: Keith DeLong [mailto:delong@redcort.com] Sent: Thursday, June 10, 2004 6:08 AM To: valentina@lists.macserve.net Subject: Re: web site down > Is www.paradigmasoft.com generally down? I can't connect to it. It appears so. I cannot connect to ftp.paradigmasoft.com either... _______________________________________________ Valentina mailing list Valentina@lists.macserve.net http://lists.macserve.net/mailman/listinfo/valentina From sunshine at public.kherson.ua Thu Jun 10 08:30:20 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Thu Jun 10 00:30:33 2004 Subject: V4Rb5, Japan user In-Reply-To: <603C95F6-BA8A-11D8-BCE9-000A95BE5C68@paradigmasoft.com> Message-ID: On 6/10/04 6:00 AM, "Paradigma Japan" wrote: Hi Keiji-san, > Hi Ruslan-san, > > It looks like if Rb is stored in a folder of which the name is in > Japanese, it will cause Rb not working with Valentina somehow. > It was OK with V4Rb4, so, something was changed for V4Rb5. ^^^^^^ you mean probably REALbasic 4. I will CC this letter to Valentina and REALbasic list for info of other developers. > Anyway, the problem was solved at this moment. Ok, good. > Sincerely yours, > Keiji > > On 2004/06/10, at 1:59, Ruslan Zasukhin wrote: > >> On 6/9/04 7:09 PM, "Paradigma Japan" wrote: >> >>> Hi Ruslan-san, >>> >>>> In the ZIP archive some files really may have absent extensions. To RB >>>> project must be added .rb extension, then it get icon of RB and start work. >>>> Just add .rb and open exmaple1, works? Please confirm. >>> >>> He is saying it did not work. >> >> I have go to WIN, >> Take LATEST ZIP archive, >> Drop V4RB.rbx plugin >> Run REALbasic >> >> Add .rb extention, open example. Works. >> >> May be that guy use OLD ZIP archive. >> Let he download latest from FTP. >> >> I remember that I have convert examples from RB v2 format to RB 4.5 >> format, Because RB WIN 5 do not open RB v2 projects. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From sunshine at public.kherson.ua Thu Jun 10 08:36:12 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Thu Jun 10 00:36:32 2004 Subject: web site down In-Reply-To: Message-ID: On 6/10/04 6:32 AM, "Ang Siow Chen" wrote: > apparently not from Singapore! Hi Ang, Am I right that few months ago we have discuss with you OO features of Valentina ? If you have interest please subscribe to Valentina beta list. We will be able discuss interesting points there. For example soon, we will introduce docs and examples (V4RB in the first turn) with new feature in Valentina 2.0, which I very like and which NOT present in any RDBMS of the world (because it not fit relational model). > -----Original Message----- > From: Keith DeLong [mailto:delong@redcort.com] > Sent: Thursday, June 10, 2004 6:08 AM > To: valentina@lists.macserve.net > Subject: Re: web site down > >> Is www.paradigmasoft.com generally down? I can't connect to it. > > It appears so. I cannot connect to ftp.paradigmasoft.com either... At least I see that work list and WEB site. FTP don't know -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From maillist at darke.biz Thu Jun 10 20:01:12 2004 From: maillist at darke.biz (Ang Siow Chen) Date: Thu Jun 10 07:02:38 2004 Subject: web site down In-Reply-To: Message-ID: Its an honor that you still remember me... Yes taht is me.. I have left my previous job and formed my own company doing very specialised stuff... Please do subscribe me to the list I will contribute what I can to help. Warmest Regards, Ang Siow Chen Managing Director Darke Entertainments Off: (65)67266101 Fax: (65)62344416 Mobile : (65)91466101 Email : siowchen@darke.biz Website : www.darke.biz CONFIDENTIALITY CAUTION: The information in this email is intended solely for the addressee(s) or entity to which it is addressed. The information contained within is privileged and confidential. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Access to this email by anyone else is unauthorised. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from your system. Any views, opinions, conclusions and other information expressed in this message are those of the individual sender and shall be understood as neither given nor endorsed by WebDials, except where the sender specifically states them to be the views of WebDials.If verification is required, please request a hard-copy version. -----Original Message----- From: Ruslan Zasukhin [mailto:sunshine@public.kherson.ua] Sent: Thursday, June 10, 2004 1:36 PM To: valentina@lists.macserve.net Subject: Re: web site down On 6/10/04 6:32 AM, "Ang Siow Chen" wrote: > apparently not from Singapore! Hi Ang, Am I right that few months ago we have discuss with you OO features of Valentina ? If you have interest please subscribe to Valentina beta list. We will be able discuss interesting points there. For example soon, we will introduce docs and examples (V4RB in the first turn) with new feature in Valentina 2.0, which I very like and which NOT present in any RDBMS of the world (because it not fit relational model). > -----Original Message----- > From: Keith DeLong [mailto:delong@redcort.com] > Sent: Thursday, June 10, 2004 6:08 AM > To: valentina@lists.macserve.net > Subject: Re: web site down > >> Is www.paradigmasoft.com generally down? I can't connect to it. > > It appears so. I cannot connect to ftp.paradigmasoft.com either... At least I see that work list and WEB site. FTP don't know -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- _______________________________________________ Valentina mailing list Valentina@lists.macserve.net http://lists.macserve.net/mailman/listinfo/valentina From sunshine at public.kherson.ua Thu Jun 10 16:05:46 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Thu Jun 10 08:06:32 2004 Subject: web site down In-Reply-To: Message-ID: On 6/10/04 3:01 PM, "Ang Siow Chen" wrote: > Its an honor that you still remember me... :-) you have talk about interesting things. > Yes taht is me.. I have left my previous job and formed my own company doing > very specialised stuff... Please do subscribe me to the list I will > contribute what I can to help. Subscribe here http://lists.macserve.net/mailman/listinfo/valentina-beta You need do this self. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From delong at redcort.com Thu Jun 10 10:23:29 2004 From: delong at redcort.com (Keith DeLong) Date: Thu Jun 10 12:23:47 2004 Subject: Reindex Success? Message-ID: I'm trying to switch from deleting the .ind file to using the reindex command for my V4RB 1.10 db. How can I tell if a reindex was successful? I am doing the following: dim res as integer = myDB.SqlExecute("REINDEX DATABASE") msgbox str(res) + EndOfLine + myDB.errstring I get res = 0 and a string of 'no error' However the modification date of the .ind file does not change. So I tried: dim res as integer = myDB.SqlExecute("Do Nothing") msgbox str(res) + EndOfLine + myDB.errstring Again, I get res = 0 and a string of 'no error' What am I missing? Keith DeLong From cm_sheffield at yahoo.com Thu Jun 10 11:49:39 2004 From: cm_sheffield at yahoo.com (Chris Sheffield) Date: Thu Jun 10 13:49:48 2004 Subject: restricting adding records based on existence of releated record Message-ID: <20040610184939.40655.qmail@web52401.mail.yahoo.com> I hope this makes sense. I'm wondering if there is an internal way of restricting the adding of records in one table based on the existence (or non-existence) of a related record in another table. For example, in Table1 I have several fields of data. In Table2 I have fields ObjectPtrToTable1 and Data. Is there internal way to restrict adding a record to Table2 if there is not a related record in Table1, or am I pretty much just stuck with doing this in my own code? It seems as though there should be another option for an ObjectPtr field like "Restrict of related record doesn't exist", or something like that. :-) Any ideas would be appreciated. Thanks, ===== Chris Sheffield Read Naturally www.readnaturally.com __________________________________ Do you Yahoo!? Friends. Fun. Try the all-new Yahoo! Messenger. http://messenger.yahoo.com/ From sunshine at public.kherson.ua Thu Jun 10 22:56:32 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Thu Jun 10 14:56:47 2004 Subject: Reindex Success? In-Reply-To: Message-ID: On 6/10/04 8:23 PM, "Keith DeLong" wrote: Hi Keith, > I'm trying to switch from deleting the .ind file to using the reindex > command for my V4RB 1.10 db. > > How can I tell if a reindex was successful? > > I am doing the following: > > dim res as integer = myDB.SqlExecute("REINDEX DATABASE") > msgbox str(res) + EndOfLine + myDB.errstring > > > I get res = 0 and a string of 'no error' > > However the modification date of the .ind file does not change. That is right. REINDEX do not trash .ind file, because it may contain files that are not indexes. It simply rebuild index after index. > So I tried: > > dim res as integer = myDB.SqlExecute("Do Nothing") > msgbox str(res) + EndOfLine + myDB.errstring > > Again, I get res = 0 and a string of 'no error' > > What am I missing? You know, it looks you have raise good question. Right now it is not possible to see if it was done fine. Btw, in 2.0 we will get working diagnose() for indexes! This will allow us open eyes: if index is good now. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From sunshine at public.kherson.ua Thu Jun 10 23:01:01 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Thu Jun 10 15:01:12 2004 Subject: restricting adding records based on existence of releated record In-Reply-To: <20040610184939.40655.qmail@web52401.mail.yahoo.com> Message-ID: On 6/10/04 9:49 PM, "Chris Sheffield" wrote: Hi Chris, > I hope this makes sense. > > I'm wondering if there is an internal way of > restricting the adding of records in one table based > on the existence (or non-existence) of a related > record in another table. > > For example, in Table1 I have several fields of data. > In Table2 I have fields ObjectPtrToTable1 and Data. > Is there internal way to restrict adding a record to > Table2 if there is not a related record in Table1, or > am I pretty much just stuck with doing this in my own > code? You mean 1) that you try to add into T2 value of ObjectPtr of non-existed record? Valentina 1.x will allow this. Valentina 2.0 will NOT allow this. 2) or you mean that you want not allow adding into T2 record which has ZERO objectPtr i.e. Do not have Parent ? > It seems as though there should be another option for > an ObjectPtr field like "Restrict of related record > doesn't exist", or something like that. :-) Yes, in 2.0 this will be ALWAYS. This is right.s It works in 2.0 for ObjectPtr and for FOREIGN KEY. In 1.x you can self check RecID that you assign. On the other hand why you need worry about its validity? Where from you get this RecID? -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From delong at redcort.com Thu Jun 10 13:11:57 2004 From: delong at redcort.com (Keith DeLong) Date: Thu Jun 10 15:12:18 2004 Subject: Reindex Success? In-Reply-To: Message-ID: Hi Ruslan, It's been a while since we've chatted. >> dim res as integer = myDB.SqlExecute("REINDEX DATABASE") >> msgbox str(res) + EndOfLine + myDB.errstring >> >> >> I get res = 0 and a string of 'no error' >> >> However the modification date of the .ind file does not change. > > That is right. REINDEX do not trash .ind file, because it may contain files > that are not indexes. > > It simply rebuild index after index. But when it rebuilds the index, this should be written to the .ind file so the modification date of the .ind file should change. Right? In my tests the file size and modification date do not change after a reindex. Can you explain this? > You know, it looks you have raise good question. > > Right now it is not possible to see if it was done fine. > > Btw, in 2.0 we will get working diagnose() for indexes! > This will allow us open eyes: if index is good now. I'm looking forward to 2.0 and I understand it is properly your focus. As I've mentioned before, I'll be shipping apps with version 1 for at least 6-9 months after 2.0 is finally released. I know you've disagreed, but there's so much new I will need to let version 2 mature and stabilize many months before rolling out a commercial release embedded with version 2. Because of this I would be very pleased if you'd make a short list of 1.10 fixes to be done at some point. I'd gladly pay a v1 upgrade fee to see version 1 continue to be supported and fixed as appropriate for the next year to 18 months. Keith DeLong From jda at his.com Thu Jun 10 16:21:11 2004 From: jda at his.com (jda) Date: Thu Jun 10 15:21:20 2004 Subject: Reindex Success? In-Reply-To: References: Message-ID: > > >I'm looking forward to 2.0 and I understand it is properly your focus. > >As I've mentioned before, I'll be shipping apps with version 1 for at least >6-9 months after 2.0 is finally released. I know you've disagreed, but >there's so much new I will need to let version 2 mature and stabilize many >months before rolling out a commercial release embedded with version 2. > >Because of this I would be very pleased if you'd make a short list of 1.10 >fixes to be done at some point. I'd gladly pay a v1 upgrade fee to see >version 1 continue to be supported and fixed as appropriate for the next >year to 18 months. > I wonder if it would be possible to incorporate Unicode into 1.x as well, of course for an upgrade fee. Or is that so much work that it would require a major overhaul, in which case it would make no sense. Jon From sunshine at public.kherson.ua Thu Jun 10 23:26:25 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Thu Jun 10 15:26:37 2004 Subject: Reindex Success? In-Reply-To: Message-ID: On 6/10/04 11:11 PM, "Keith DeLong" wrote: >> That is right. REINDEX do not trash .ind file, because it may contain files >> that are not indexes. >> >> It simply rebuild index after index. > > But when it rebuilds the index, this should be written to the .ind file so > the modification date of the .ind file should change. Right? > > In my tests the file size and modification date do not change after a > reindex. Can you explain this? Not sure. Please check docs. May be DATABASE REINDEX Your write >>> dim res as integer = myDB.SqlExecute("REINDEX DATABASE") -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From sunshine at public.kherson.ua Thu Jun 10 23:37:41 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Thu Jun 10 15:37:59 2004 Subject: Reindex Success? In-Reply-To: Message-ID: On 6/10/04 11:11 PM, "Keith DeLong" wrote: >> You know, it looks you have raise good question. >> >> Right now it is not possible to see if it was done fine. >> >> Btw, in 2.0 we will get working diagnose() for indexes! >> This will allow us open eyes: if index is good now. > > I'm looking forward to 2.0 and I understand it is properly your focus. > > As I've mentioned before, I'll be shipping apps with version 1 for at least > 6-9 months after 2.0 is finally released. I know you've disagreed, but > there's so much new I will need to let version 2 mature and stabilize many > months before rolling out a commercial release embedded with version 2. I agree. But because in any case adoption will take time. About maturing...you can see that in 2.0 we close big holes -- i.e. Semantic bugs that was in Valentina 1.x. E.g. This assignment to ObjectPtr of not-existed RecID. Just we all take RecID from table, so it must be there. But safety is safety. And we discover such holes thanks to huge number of tests that we prepare here. I think 50% of our work and code now -- this is tests. Another example. In Valentina 1.x, I have told many time on list: if you need 1:1 link, just make ObjectPtr field unique. We have made tests on this, thinking, hey, what here can be hard. But ops. Not works. And deep analyze have found that we need CHANGE semantic of ObjectPtr field !!! - ObjectPtr field will be nullable as any other field in 2.0. - ObjectPtr field in 99% must be created as nullable. - value ZERO for ObjectPtr will be PROHIBITED, because in T1 not exists record with RecID = ZERO. - to find records with no parent we must write now not WHERE ptr = 0 but WHERE ptr is NULL. And all this discovery, only thank that we are not lazy, and we try now TEST any and each aspect and feature of engine. This make me think that Valentina 2.0 from born will be very solid. Of course some issues can be found only in real life. And we have not yet even start develop similar huge system of benchmark tests, I mean such functions that are specially designed to help profile engine. > Because of this I would be very pleased if you'd make a short list of 1.10 > fixes to be done at some point. I'd gladly pay a v1 upgrade fee to see > version 1 continue to be supported and fixed as appropriate for the next > year to 18 months. Well, I think we will contain keep 1.x some time on FTP. Support will be not urgent. And from other side not so many bug reports we have for 1.x. And as I know right now we do not have show-stopper bugs. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From sunshine at public.kherson.ua Thu Jun 10 23:42:41 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Thu Jun 10 15:42:51 2004 Subject: Reindex Success? In-Reply-To: Message-ID: On 6/10/04 11:21 PM, "jda" wrote: >> I'm looking forward to 2.0 and I understand it is properly your focus. >> >> As I've mentioned before, I'll be shipping apps with version 1 for at least >> 6-9 months after 2.0 is finally released. I know you've disagreed, but >> there's so much new I will need to let version 2 mature and stabilize many >> months before rolling out a commercial release embedded with version 2. >> >> Because of this I would be very pleased if you'd make a short list of 1.10 >> fixes to be done at some point. I'd gladly pay a v1 upgrade fee to see >> version 1 continue to be supported and fixed as appropriate for the next >> year to 18 months. >> > > I wonder if it would be possible to incorporate Unicode into 1.x as > well, of course for an upgrade fee. Or is that so much work that it > would require a major overhaul, in which case it would make no sense. No way. I explain as developer to developer. Valentina 1.x C++ sources are based on single-byte strings. This means that we have everywhere char* getname() void setname( char* ) Now we switch all engine and all functions to 2-byte UTF16 wchar_t wchar_t* getname() void setname( wchar_t* ) And this is not find/replace. Everything changes! each string-related function use now other functions to work with unicode strings. Just impossible, Jon. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From delong at redcort.com Thu Jun 10 14:15:23 2004 From: delong at redcort.com (Keith DeLong) Date: Thu Jun 10 16:15:47 2004 Subject: Reindex Success? In-Reply-To: Message-ID: Hi Ruslan, > About maturing...you can see that in 2.0 we close big holes -- i.e. Semantic > bugs that was in Valentina 1.x. > And all this discovery, only thank that we are not lazy, and we try now TEST > any and each aspect and feature of engine. > > This make me think that Valentina 2.0 from born will be very solid. > Of course some issues can be found only in real life. Valentina 1 was amazingly solid even you were just getting started and working alone in the early days. It's reasonable that the time, experience, testing and team working on 2.0 will make it much better from the very first day. And, as you said, only real life will reveal other issues ;-). >> Because of this I would be very pleased if you'd make a short list of 1.10 >> fixes to be done at some point. I'd gladly pay a v1 upgrade fee to see >> version 1 continue to be supported and fixed as appropriate for the next >> year to 18 months. > > Well, I think we will contain keep 1.x some time on FTP. > Support will be not urgent. And from other side not so many bug reports we > have for 1.x. > And as I know right now we do not have show-stopper bugs. I agree that v1 support should fix only show stoppers and easily addressed issues. I appreciate again hearing you're still committed to your developers. :-) Keith From smorse at rtpi.org Fri Jun 11 01:36:06 2004 From: smorse at rtpi.org (Solon Morse) Date: Fri Jun 11 00:36:23 2004 Subject: [V4WS] UPDATE...WHERE problem Message-ID: <20040611013606441735.GyazMail.smorse@rtpi.org> I reported this some time ago, and I'm wondering if there might be a fix (or maybe my syntax is wrong with V4WS?): V4WS 1.10. f is a nullable field. valSqlExecute(dB,"UPDATE tbl SET f = null WHERE f = 'whatever'"); sets f to string "null" for varchar sets f to 0 for numeric It seems to be treating null as the string "null". Thanks, Solon -- Solon Morse Assistant Director of Education Roger Tory Peterson Institute 311 Curtis Street Jamestown, NY 14701 Jamestown: (716) 665-2473 ext 243 Buffalo: (716) 886-1920 smorse@rtpi.org From sunshine at public.kherson.ua Fri Jun 11 08:56:11 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Jun 11 00:56:47 2004 Subject: [V4WS] UPDATE...WHERE problem In-Reply-To: <20040611013606441735.GyazMail.smorse@rtpi.org> Message-ID: On 6/11/04 8:36 AM, "Solon Morse" wrote: > I reported this some time ago, and I'm wondering if there might be a fix (or > maybe my syntax is wrong with V4WS?): > > V4WS 1.10. > > f is a nullable field. > > valSqlExecute(dB,"UPDATE tbl SET f = null WHERE f = 'whatever'"); > > sets f to string "null" for varchar > sets f to 0 for numeric > > It seems to be treating null as the string "null". Syntax is wrong, Solon. Correct is WHERE fld is NULL ^^^ -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From vidal_olivier at yahoo.fr Fri Jun 11 10:12:53 2004 From: vidal_olivier at yahoo.fr (olivier vidal) Date: Fri Jun 11 03:07:20 2004 Subject: V4RB 1.1 RB 5.5 Some questions about language Message-ID: <2331BD61-BB7F-11D8-B50D-00039310B7DA@yahoo.fr> Hi Ruslan and list, Some questions about language 1-the property " language " serves only for sortings? 2 - my software has to work on Mac and PC, in divers western languages. EACH customer uses the software on a SINGLE platform (mac or pc) and in a SINGLE language. The software does not need to be multilingual, he can be sold every time for a precise platform and in a precise language. What is the best way of proceeding? In terms of speed and security ? Realbasic working now there unicode UTF8, it is necessary to verify and to change the coding (e.g. UTF8-> MacRoman or UTF8-> WindowsLatin1...) before any writing/updating in the valentina database ? Is it necessary for every reading of a data in Valentina, to re-change the coding of the string (e.g. macRoman - > UTF8) so that realbasic exploit it correctly? If, one day, I wish that my software works with oriental languages, I have to take precautions from now on? thank you olivier From smorse at rtpi.org Fri Jun 11 07:41:52 2004 From: smorse at rtpi.org (Solon Morse) Date: Fri Jun 11 06:42:02 2004 Subject: [V4WS] UPDATE...WHERE problem In-Reply-To: References: Message-ID: <20040611074152944425.GyazMail.smorse@rtpi.org> > Correct is > > WHERE fld is NULL > ^^^ But I'm tyring to SET f to null, I'm not searching for null field, as in UPDATE tbl SET f = NULL WHERE f = 'whatever' "f IS NULL" produces an error (Expected '=') in this case. Thanks, Solon -- Solon Morse Assistant Director of Education Roger Tory Peterson Institute 311 Curtis Street Jamestown, NY 14701 Jamestown: (716) 665-2473 ext 243 Buffalo: (716) 886-1920 smorse@rtpi.org From deane.venske at eduss.com Fri Jun 11 22:20:11 2004 From: deane.venske at eduss.com (Deane Venske) Date: Fri Jun 11 07:20:16 2004 Subject: Linux Version? Message-ID: Hi Guys! How things going? Just wondering, now that RB is supporting linux, are we going to see a linux version of Valentina coming out? I really hope so, this is something that I'm going to need as I move to an online model to use on our linux servers... well that or I'm going to have to use another database system for the online version (And I'd prefer to stick to Valentina). Deane From sunshine at public.kherson.ua Fri Jun 11 15:21:01 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Jun 11 07:21:13 2004 Subject: [V4WS] UPDATE...WHERE problem In-Reply-To: <20040611074152944425.GyazMail.smorse@rtpi.org> Message-ID: On 6/11/04 2:41 PM, "Solon Morse" wrote: >> Correct is >> >> WHERE fld is NULL >> ^^^ > > But I'm tyring to SET f to null, I'm not searching for null field, as in > > UPDATE tbl SET f = NULL WHERE f = 'whatever' > > "f IS NULL" produces an error (Expected '=') in this case. Aha, sorry for misreading. Remind me please, in viSQL the same problem? Then this is bug. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From sunshine at public.kherson.ua Fri Jun 11 15:24:49 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Jun 11 07:24:59 2004 Subject: V4RB 1.1 RB 5.5 Some questions about language In-Reply-To: <2331BD61-BB7F-11D8-B50D-00039310B7DA@yahoo.fr> Message-ID: On 6/11/04 11:12 AM, "olivier vidal" wrote: Hi Oliver, > Some questions about language > > 1-the property " language " serves only for sortings? No, e.g. Functions upper() also take it into account. And SEARCH also use that, because it compare() strings using language. > 2 - my software has to work on Mac and PC, in divers western languages. > EACH customer uses the software on a SINGLE platform (mac or pc) and in > a SINGLE language. The software does not need to be multilingual, he > can be sold every time for a precise platform and in a precise > language. > > What is the best way of proceeding? In terms of speed and security ? No difference. Each your string-related field should have language property. > Realbasic working now there unicode UTF8, it is necessary to verify and > to change the coding (e.g. UTF8-> MacRoman or UTF8-> WindowsLatin1...) > before any writing/updating in the valentina database ? It seems yes Try isolate this into 2 functions, for easy changing in Valentina 2.0 > Is it necessary for every reading of a data in Valentina, to re-change > the coding of the string (e.g. macRoman - > UTF8) so that realbasic > exploit it correctly? yes > If, one day, I wish that my software works with oriental languages, I > have to take precautions from now on? Frankly saying don't know. I think UTF16/UTF8 must solve problems. Direction of drawing is question of GUI. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From sunshine at public.kherson.ua Fri Jun 11 15:26:13 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Jun 11 07:26:22 2004 Subject: Linux Version? In-Reply-To: Message-ID: On 6/11/04 3:20 PM, "Deane Venske" wrote: Hi Deane, > How things going? Just wondering, now that RB is supporting linux, are we > going to see a linux version of Valentina coming out? I really hope so, > this is something that I'm going to need as I move to an online model to > use on our linux servers... well that or I'm going to have to use another > database system for the online version (And I'd prefer to stick to > Valentina). Plan is: * ship Valentina 2.0 * next month we work on Linux version. I think must be not very hard. We work on OS X now. and Valentina Server on OS X right now uses POSIX model. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From valentina at brainchild.nl Fri Jun 11 14:27:28 2004 From: valentina at brainchild.nl (Richard Altenburg) Date: Fri Jun 11 07:29:42 2004 Subject: [V4WS] UPDATE...WHERE problem In-Reply-To: Message-ID: On 11-06-2004 07:56, "Ruslan Zasukhin" wrote: > Correct is > > WHERE fld is NULL I hoped this would de the solution to my show stopper problem on Windows, where the update and indexing still does not work, but when I tried this syntax, I got errors. The proper way is WHERE fld = NULL I guess... Where can I download an older version of the V4RB stuff that is still compatible with RB 5.5? I now have 1.10 and want to see if something older does work, because I have shipped Windows releases that did not have this 'bug'. I also found some emails from March 2003 where I had the exact same problem :-( The Mac version of our software has been released last Monday, and no problems were found, so I have no complaints about Valentina on Mac, just like more than a year ago... -- Richard Altenburg Brainchild Picture Patrol From sunshine at public.kherson.ua Fri Jun 11 15:35:40 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Jun 11 07:35:46 2004 Subject: [V4WS] UPDATE...WHERE problem In-Reply-To: Message-ID: On 6/11/04 3:27 PM, "Richard Altenburg" wrote: > On 11-06-2004 07:56, "Ruslan Zasukhin" wrote: > >> Correct is >> >> WHERE fld is NULL > > I hoped this would de the solution to my show stopper problem on Windows, > where the update and indexing still does not work, but when I tried this > syntax, I got errors. The proper way is WHERE fld = NULL I guess... No no. fld is NULL We cannot use operator = with NULL value,. This is rule of standard. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From sunshine at public.kherson.ua Fri Jun 11 15:51:24 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Jun 11 07:51:40 2004 Subject: [V4WS] UPDATE...WHERE problem In-Reply-To: Message-ID: On 6/11/04 3:27 PM, "Richard Altenburg" wrote: > Where can I download an older version of the V4RB stuff that is still > compatible with RB 5.5? In fact RB 5.5 work with any old Valentina for RB plugin. > I now have 1.10 and want to see if something older > does work, because I have shipped Windows releases that did not have this > 'bug'. I have copy of 1.9.8 on CD. > I also found some emails from March 2003 where I had the exact same problem > :-( > > The Mac version of our software has been released last Monday, and no > problems were found, so I have no complaints about Valentina on Mac, just > like more than a year ago... Richard, We need project from you. I cannot get any ideas without nothing. P.S. Btw, it seems in Valentina for RB 2.0 we will be able debug V4RB on windows, at least KERNEL.dll, because now KERNEL.dll will be separated from plugin itself. This is good news! I have not try yet, but technically must work. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From vidal_olivier at yahoo.fr Fri Jun 11 15:04:04 2004 From: vidal_olivier at yahoo.fr (olivier vidal) Date: Fri Jun 11 07:58:32 2004 Subject: V4RB 1.1 RB 5.5 Some questions about language In-Reply-To: References: Message-ID: ok, thank you Ruslan ! olivier From valentina at brainchild.nl Fri Jun 11 14:59:31 2004 From: valentina at brainchild.nl (Richard Altenburg) Date: Fri Jun 11 08:01:44 2004 Subject: [V4WS] UPDATE...WHERE problem In-Reply-To: Message-ID: On 11-06-2004 14:51, "Ruslan Zasukhin" wrote: > In fact RB 5.5 work with any old Valentina for RB plugin. > I have copy of 1.9.8 on CD. I don't have the 1.9.8 anymore, if you can email the plug-in (without docs, still have them) I will try it. > We need project from you. > I cannot get any ideas without nothing. I am creating a project right now. It will be in RB 5.5.2, alright? > P.S. Btw, it seems in Valentina for RB 2.0 we will be able debug V4RB on > windows, at least KERNEL.dll, because now KERNEL.dll will be separated from > plugin itself. This is good news! I have not try yet, but technically must > work. OK, this is good. From sunshine at public.kherson.ua Fri Jun 11 16:09:29 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Jun 11 08:09:38 2004 Subject: [V4WS] UPDATE...WHERE problem In-Reply-To: Message-ID: On 6/11/04 3:59 PM, "Richard Altenburg" wrote: > On 11-06-2004 14:51, "Ruslan Zasukhin" wrote: > >> In fact RB 5.5 work with any old Valentina for RB plugin. >> I have copy of 1.9.8 on CD. > > I don't have the 1.9.8 anymore, if you can email the plug-in (without docs, > still have them) I will try it. ok >> We need project from you. >> I cannot get any ideas without nothing. > > I am creating a project right now. It will be in RB 5.5.2, alright? Yes. Again, I need project in sources to read what you are doing and how. Most probably I will need redo it in Director to debug on windows. So please please please: as simple as possible, in ideal: open db, do one command, -> problem. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From smorse at rtpi.org Fri Jun 11 09:17:14 2004 From: smorse at rtpi.org (Solon Morse) Date: Fri Jun 11 08:17:21 2004 Subject: [V4WS] UPDATE...WHERE problem In-Reply-To: References: Message-ID: <20040611091714998819.GyazMail.smorse@rtpi.org> > Remind me please, in viSQL the same problem? > Then this is bug. I have the same problem in viSQL. Solon -- Solon Morse Assistant Director of Education Roger Tory Peterson Institute 311 Curtis Street Jamestown, NY 14701 Jamestown: (716) 665-2473 ext 243 Buffalo: (716) 886-1920 smorse@rtpi.org From valentina at brainchild.nl Fri Jun 11 15:52:48 2004 From: valentina at brainchild.nl (Richard Altenburg) Date: Fri Jun 11 08:54:58 2004 Subject: [V4WS] UPDATE...WHERE problem In-Reply-To: Message-ID: On 11-06-2004 15:09, "Ruslan Zasukhin" wrote: > Again, I need project in sources to read what you are doing and how. > Most probably I will need redo it in Director to debug on windows. > > So please please please: as simple as possible, > in ideal: open db, do one command, -> problem. Yeah, that would be ideal, but impossible. I already had something simple, but way too much still, so tomorrow I will try to find time to create a simple version that does not communicatie with the Usenet (the real one does this all the time, you know). So instead of receiving data from Usenet and putting it in the database, I will create a file on disk a button on-screen to start the import and show the bug. Thanks for helping me. Without a solution, our product can no longer be sold on Windows, so it is already costing me enough money and most of all my clients are not happy because they want to use the new version soon. We'll fix it, I guess... -- Richard Altenburg Brainchild Picture Patrol From sunshine at public.kherson.ua Fri Jun 11 17:04:19 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Jun 11 09:07:36 2004 Subject: [V4WS] UPDATE...WHERE problem In-Reply-To: Message-ID: On 6/11/04 4:52 PM, "Richard Altenburg" wrote: > On 11-06-2004 15:09, "Ruslan Zasukhin" wrote: > >> Again, I need project in sources to read what you are doing and how. >> Most probably I will need redo it in Director to debug on windows. >> >> So please please please: as simple as possible, >> in ideal: open db, do one command, -> problem. > > Yeah, that would be ideal, but impossible. > > I already had something simple, but way too much still, so tomorrow I will > try to find time to create a simple version that does not communicatie with > the Usenet (the real one does this all the time, you know). Of course no need for usenet! As I see it, you can in simply project just use some garbage values Like I do in Example1. > So instead of receiving data from Usenet and putting it in the database, I > will create a file on disk a button on-screen to start the import and show > the bug. Ok. Although this still will include YOUR PARSING of that file. How many records must be added before problem come? May be you can use simply loop for strvalue = "some string" + str(i) To generate garbage values. Look, USENET -- is not important for me Your parsing is not important for me. I need simple -> db, cursor, how you do insert, your table structure. your flags, your field types.... Your simple example should have just one table. And as few fields as possible, in ideal just one field. > Thanks for helping me. Without a solution, our product can no longer be sold > on Windows, so it is already costing me enough money and most of all my > clients are not happy because they want to use the new version soon. > > We'll fix it, I guess.. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From kevo at gatorgraphics.com Fri Jun 11 12:44:46 2004 From: kevo at gatorgraphics.com (Kevin Windham) Date: Fri Jun 11 12:44:57 2004 Subject: V4RB 1.1 RB 5.5 Some questions about language In-Reply-To: <2331BD61-BB7F-11D8-B50D-00039310B7DA@yahoo.fr> References: <2331BD61-BB7F-11D8-B50D-00039310B7DA@yahoo.fr> Message-ID: <075E452C-BBCF-11D8-B9F6-000393B29272@gatorgraphics.com> On Jun 11, 2004, at 3:12 AM, olivier vidal wrote: > Hi Ruslan and list, > > Some questions about language > > 1-the property " language " serves only for sortings? > > 2 - my software has to work on Mac and PC, in divers western > languages. EACH customer uses the software on a SINGLE platform (mac > or pc) and in a SINGLE language. The software does not need to be > multilingual, he can be sold every time for a precise platform and in > a precise language. > > What is the best way of proceeding? In terms of speed and security ? > > Realbasic working now there unicode UTF8, it is necessary to verify > and to change the coding (e.g. UTF8-> MacRoman or UTF8-> > WindowsLatin1...) before any writing/updating in the valentina > database ? > Is it necessary for every reading of a data in Valentina, to re-change > the coding of the string (e.g. macRoman - > UTF8) so that realbasic > exploit it correctly? There is quite a bit of confusion regarding encodings, but basically there are two methods for dealing with strings that are important. There is DefineEncoding, and ConvertEncoding. In your case, I believe you should be using DefineEncoding, *NOT* ConvertEncoding. DefineEncoding simply tells RB what encoding to use with your string. It does not modify the bytes in the string. ConvertEncoding will modify the bytes in the string to change it from one encoding to another. So if you are getting data into your app from RB it should be in UTF8 by default. Then you can just stuff it into Valentina as is. Then when you get the data out of Valentina you simply let RB know that it is UTF8 by using DefineEncoding. That should be all you need to do. At least that is my understanding. You should only use ConvertEncoding to change from one encoding to another, and in the scenario you described, I don't think you should need to change anything. Just use UTF8 and you should be fine. HTH, Kevin From frank-list2 at mindstarprods.com Fri Jun 11 21:31:12 2004 From: frank-list2 at mindstarprods.com (Frank Schima) Date: Fri Jun 11 20:31:23 2004 Subject: [V4WS] UPDATE...WHERE problem In-Reply-To: <20040611091714998819.GyazMail.smorse@rtpi.org> References: <20040611091714998819.GyazMail.smorse@rtpi.org> Message-ID: <309CBB79-BC10-11D8-B7C5-000A95BE1A8E@mindstarprods.com> Hi Ruslan and Solon, On Jun 11, 2004, at 9:17 AM, Solon Morse wrote: > >> Remind me please, in viSQL the same problem? >> Then this is bug. > > I have the same problem in viSQL. I see the problem too. The workaround is to use the API to set fields to Null. Personally I can wait for Valentina 2 for the SQL fix. Best regards, Frank From sunshine at public.kherson.ua Sat Jun 12 12:14:35 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Sat Jun 12 04:14:50 2004 Subject: Bug? on insert into previously deleted recid In-Reply-To: <0B83917C-BBFC-11D8-9B93-000A95A4D918@bigpond.net.au> Message-ID: On 6/12/04 2:07 AM, "Tim James" wrote: Hi Tim, I have found 2 problems in your project. 1) minor mistake. table Crheaders, field NumberU have formula text "=upper()" ^^^ operator = must not present here. you can easy see this in viSQL or in VAPP. such mistake means that method will not work. 2) now serious mistake. You see problem with insert after delete BECAUSE in table onlines you have BaseObject method Numberu created in table BEFORE the field it refers the 'Number'. this is mistake similar to programming languages you refer to variable before it is created. as far I see Valentina 2.0 will be able work correctly in such situation, It is hard to see creation order, I should say. ViSQL sort fields in alphabetical order VAPP show fields in methods in different TABs of dialog. Hmm. I think you can see this only in XML dump. Jochen, I think Valentina Studio must allow see fields a) in alphabetical order b) in order of creation. c) later we want add custom order. Tim, are you in the mode development? If yes, then change order of creation of fields in your code. > In Visql I listed all olines > > SELECT RECID,* FROM OLINES > > I then chose a recid (55) and noted and wrote down all the values of > the fields > > (of relevance number = 0265,isbn=0140503986,title=Bad-Tempered > Ladybird) > > I then deleted that recid by > > DELETE FROM OLINES WHERE RECID = 55 > > I then checked to see that recid =55 was gone > > SELECT RECID,* FROM OLINES > > I then immediately executed the following INSERT COMMAND (copied from > my log/debug file of my app) > > INSERT INTO Olines > (Number,LineNo,ISBN,Qty,Price,QReceived,DReceived,Status,OLMastPtr,Title > ,CostPrice,OLSpecPtr,OLAcctPtr,Rectype,Supptr,InvoiceHdrPtr,OLReorPtr) > VALUES (31906,1,'0732277310',2,22.95,0,'00/00/00',0,154,'Due > Preparations For The Plague','13.08','0','0',3,77,0,0) > > I then listed the recid as follows > > select from olines where recid = 55 > > I then noted that the following fields had assumed the value of the old > values of the record I had deleted > > number = 0265,isbn=0140503986,title=Bad-Tempered Ladybird -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From smorse at rtpi.org Sat Jun 12 09:55:03 2004 From: smorse at rtpi.org (Solon Morse) Date: Sat Jun 12 08:55:13 2004 Subject: [V4WS] UPDATE...WHERE problem In-Reply-To: <20040611091714998819.GyazMail.smorse@rtpi.org> References: <20040611091714998819.GyazMail.smorse@rtpi.org> Message-ID: <20040612095503929662.GyazMail.smorse@rtpi.org> >> Remind me please, in viSQL the same problem? >> Then this is bug. > > I have the same problem in viSQL. > Ruslan, Is there any chance of a fix in the 1.x version? Thanks, Solon -- Solon Morse Assistant Director of Education Roger Tory Peterson Institute 311 Curtis Street Jamestown, NY 14701 Jamestown: (716) 665-2473 ext 243 Buffalo: (716) 886-1920 smorse@rtpi.org From sunshine at public.kherson.ua Sat Jun 12 17:40:02 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Sat Jun 12 09:40:12 2004 Subject: [V4WS] UPDATE...WHERE problem In-Reply-To: <20040612095503929662.GyazMail.smorse@rtpi.org> Message-ID: On 6/12/04 4:55 PM, "Solon Morse" wrote: >>> Remind me please, in viSQL the same problem? >>> Then this is bug. >> >> I have the same problem in viSQL. >> > > Ruslan, > > Is there any chance of a fix in the 1.x version? Yes, I will debug this today. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From info at bloomedia.de Sun Jun 13 02:12:28 2004 From: info at bloomedia.de (bloomedia) Date: Sat Jun 12 19:12:36 2004 Subject: Problem to open my db on Windows Message-ID: Hi, I realize my application in Realbasic 5.5.1 and Valentina 1.9.8 and now I have the following problem: With the app it is possible to switch between different db?s on different places in the file system. With MacOSX there are no problems! But with Win2000/WinXp I can?t open a db with german ?Umlaute? within the path. But the folderitem was interprated correctly under Windows!! path = ?C:\testapp\m?nner und frauen\myDB.vdb? f = GetFolderItem(path) // get the folderitem if f <> nil AND f.Exists then MsgBox(f.AbsolutePath) // output: ?C:\testapp\m?nner und frauen\myDB.vdb? res = pModulDB.Open(f) if res then MsgBox("OK") // on macosx ever ok!! else MsgBox("Error") // on windows ever an error!! end if if app.pModulDB.BaseObjectsCount > 0 then return true else return false end if end if Best regards Thomas -- Fa. bloomedia Dipl. Medieninformatiker Thomas Gebhardt Bozener Str. 11 D-38640 Goslar Phone: +49 (0)5321 - 306677 Fax: +49 (0)5321 - 306676 Mobil: 0172 - 5469940 Mail: info@bloomedia.de Web: http://www.bloomedia.de From sunshine at public.kherson.ua Sun Jun 13 09:41:29 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Sun Jun 13 01:41:39 2004 Subject: Problem to open my db on Windows In-Reply-To: Message-ID: On 6/13/04 3:12 AM, "bloomedia" wrote: > Hi, > > I realize my application in Realbasic 5.5.1 and Valentina 1.9.8 and now I > have the following problem: > With the app it is possible to switch between different db?s on different > places in the file system. With MacOSX there are no problems! But with > Win2000/WinXp I can?t open a db with german ?Umlaute? within the path. But > the folderitem was interprated correctly under Windows!! This is known issue. Should be fixed in Valentina 2.0 Valentina for MAC also will not open db with name that have some e.g. Russian letters. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From info at bloomedia.de Sun Jun 13 13:49:35 2004 From: info at bloomedia.de (bloomedia) Date: Sun Jun 13 06:49:58 2004 Subject: Problem to open my db on Windows Message-ID: > Hi, > > I realize my application in Realbasic 5.5.1 and Valentina 1.9.8 and now I > have the following problem: > With the app it is possible to switch between different db?s on different > places in the file system. With MacOSX there are no problems! But with > Win2000/WinXp I can?t open a db with german ?Umlaute? within the path. But > the folderitem was interprated correctly under Windows!! >>This is known issue. >>Should be fixed in Valentina 2.0 >>Valentina for MAC also will not open db with name that have some e.g. >>Russian letters. Hi Ruslan, thanks a lot for your help! I?m looking forward for Valentina 2.0 and try it again. Best regards Thomas -- Fa. bloomedia Dipl. Medieninformatiker Thomas Gebhardt Bozener Str. 11 D-38640 Goslar Phone: +49 (0)5321 - 306676 Fax: +49 (0)5321 - 306676 Mobil: 0172 - 5469940 Mail: info@bloomedia.de Web: http://www.bloomedia.de From sunshine at public.kherson.ua Mon Jun 14 08:46:24 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Mon Jun 14 00:46:37 2004 Subject: [ANN] VSDK for Xcode 1.2 uploaded // Re: Cocoa wrapper In-Reply-To: Message-ID: Hi All, On the C++ SDK download page you can now find archive with VSDK.framework built by xCode 1.2 (GCC 3.3) -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From vidal_olivier at yahoo.fr Mon Jun 14 08:05:54 2004 From: vidal_olivier at yahoo.fr (olivier vidal) Date: Mon Jun 14 01:00:15 2004 Subject: V4RB 1.10 RB 5.5 cursors and server Message-ID: Hi Ruslan and list, I shall want later that my application works in client-server mode. (With Valentina server) I have the impression, that to have a good client-server behavior, it would be necessary, often, that cursors (read only or read / write) remain opened little time. But in that case, it obliges to open and to close, often, little cursors a lot. Right? That does not slow down too much the application? I suppose that the solution is to have a lot of cache memory, when it is possible... thank you olivier From sunshine at public.kherson.ua Mon Jun 14 09:20:13 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Mon Jun 14 01:20:54 2004 Subject: V4RB 1.10 RB 5.5 cursors and server In-Reply-To: Message-ID: On 6/14/04 9:05 AM, "olivier vidal" wrote: Hi Oliver, > I shall want later that my application works in client-server mode. > (With Valentina server) > > I have the impression, that to have a good client-server behavior, it > would be necessary, often, that cursors (read only or read / write) > remain opened little time. > > But in that case, it obliges to open and to close, often, little > cursors a lot. Right? > That does not slow down too much the application? Right. The main slow down will give you network. And since you talk about Server solution, then you think in the first turn about multi-user access. In this case important is that one user have affect other users as little as possible. The main rule in multi-user solution: - select as few record as possible - select as few fields as possible - release resources (cursors) as fast as possible. > I suppose that the solution is to have a lot of cache memory, when it > is possible... No bigger than with local in fact. Assume you have db 50MB then the best cache size for it 50 MB + little more just in case. Then your db will act very fast. Although keep in mind Valentina 1.x is not very effective with cache more than 20-25MB. Valentina 2.0 have fix this. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From vidal_olivier at yahoo.fr Mon Jun 14 08:28:51 2004 From: vidal_olivier at yahoo.fr (olivier vidal) Date: Mon Jun 14 02:26:07 2004 Subject: V4RB 1.1 RB 5.5 cursors Message-ID: <1A4F9AEE-BDCC-11D8-835C-00039310B7DA@yahoo.fr> - in kernel doc : "in the case Valentina cannot obtain lock for at least one record of cursor, it return error kCannotSetLock and cursor is not created" Nevertheless, if I create e.g., a cursor with a READ / WRITE lock on 1 recording, and which I try then to create a READ cursor on the same recording, my application crashes. It is normal that the second cursor is not created, but how to avoid the crash? - Even if I create small cursors opened little time. How the server is going to react when two users will try to put a lock at the same time on the same recording? If the first cursor is fast and is opened little time, the demand of lock of the second cursor is put in wait and is treated as soon as possible? Or there is an error and the second cursor is not created? thank you olivier From sunshine at public.kherson.ua Mon Jun 14 11:40:44 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Mon Jun 14 03:40:59 2004 Subject: V4RB 1.1 RB 5.5 cursors In-Reply-To: <1A4F9AEE-BDCC-11D8-835C-00039310B7DA@yahoo.fr> Message-ID: On 6/14/04 9:28 AM, "olivier vidal" wrote: > - in kernel doc : > > "in the case Valentina cannot obtain lock for at least one record of > cursor, it return error kCannotSetLock and cursor is not created" > > Nevertheless, if I create e.g., a cursor with a READ / WRITE lock on 1 > recording, and which I try then to create a READ cursor on the same > recording, my application crashes. It is normal that the second cursor > is not created, but how to avoid the crash? I think 2 ways 1) curs = db.SqlSelect() Now you must check if cursor is not nil if( curs <> nil ) then you use it 2) also you can and should check error code after SqlSelect() > - Even if I create small cursors opened little time. How the server is > going to react when two users will try to put a lock at the same time > on the same recording? There is no IN THE SAME TIME. Exists queue. > If the first cursor is fast and is opened little time, the demand of > lock of the second cursor is put in wait and is treated as soon as > possible? Or there is an error and the second cursor is not created? You get error. I think future we will add some e.g. 3 seconds delay And ability to control this. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From rjb at rz.uni-potsdam.de Mon Jun 14 11:52:53 2004 From: rjb at rz.uni-potsdam.de (Robert Brenstein) Date: Mon Jun 14 04:55:15 2004 Subject: [vxcmd] Cursor_AddRecords mangles field content Message-ID: I know you are focused on 2 and hate to deal with bugs in 1 but here is one for you. I have a function that relies on Cursor_AddRecords to duplicate a set of records in a table 'boName'. This function is used to duplicate all records associated with a given item when users duplicate an existing database entry -- the program loops through all associated bo's duplicating appropriate records. I have been using it for a few years. However, it has always sporadically produced bogus results -- content of fields was messed up. This was hard to nail down because each bo has different structure and number of fields, some required and some optional. I kept repairing this by hand but I think I have finally realized why the data is mangled: some of the field values fetched by Database_SQLSelectRecords are empty (which is valid). However, those empty values make Cursor_AddRecords to shift the content between fields. At first glance, it seems to simply skip the empty input and pick the next value in the list. The last value is filled with something random, usually left empty. Here is my function (sans error checking to make reading easier) in case you want to see the usage. You could add this to your testing suite as well, Ruslan. This is very efficient way to clone entries. on doDupBo boName, refFld,idOld,idNew,refCol -- duplicate a set of records from a single baseobject while changing their course ref set the itemDelimiter to tab put "SELECT * FROM" && boName && "WHERE" && refFld && " = " & idOld into query put Valentina("Database_SQLSelectRecords",dbName, query) into boKurs if boKurs is empty then return empty -- nothing to do put "SELECT * FROM" && boName && " WHERE recid = 0" into query put Valentina("DataBase_SQLSelect",DbName,query) into crs repeat with i=1 to the number of lines of boKurs put idNew into item refCol of line i of boKurs end repeat put Valentina("Cursor_AddRecords",crs,boKurs) into ur get Valentina("Cursor_Remove",crs) end doDupBo It seems to be a bug in xcmd interface. Robert Brenstein From sunshine at public.kherson.ua Mon Jun 14 13:29:56 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Mon Jun 14 05:30:16 2004 Subject: [vxcmd] Cursor_AddRecords mangles field content In-Reply-To: Message-ID: On 6/14/04 12:52 PM, "Robert Brenstein" wrote: > I know you are focused on 2 and hate to deal with bugs in 1 but here > is one for you. > > I have a function that relies on Cursor_AddRecords to duplicate a set > of records in a table 'boName'. This function is used to duplicate > all records associated with a given item when users duplicate an > existing database entry -- the program loops through all associated > bo's duplicating appropriate records. > > I have been using it for a few years. However, it has always > sporadically produced bogus results -- content of fields was messed > up. This was hard to nail down because each bo has different > structure and number of fields, some required and some optional. > > I kept repairing this by hand but I think I have finally realized why > the data is mangled: some of the field values fetched by > Database_SQLSelectRecords are empty (which is valid). However, those > empty values make Cursor_AddRecords to shift the content between > fields. At first glance, it seems to simply skip the empty input and > pick the next value in the list. The last value is filled with > something random, usually left empty. > > Here is my function (sans error checking to make reading easier) in > case you want to see the usage. You could add this to your testing > suite as well, Ruslan. This is very efficient way to clone entries. > > on doDupBo boName, refFld,idOld,idNew,refCol > -- duplicate a set of records from a single baseobject while > changing their course ref > set the itemDelimiter to tab > put "SELECT * FROM" && boName && "WHERE" && refFld && " = " & idOld > into query > put Valentina("Database_SQLSelectRecords",dbName, query) into boKurs > if boKurs is empty then return empty -- nothing to do > put "SELECT * FROM" && boName && " WHERE recid = 0" into query > put Valentina("DataBase_SQLSelect",DbName,query) into crs > repeat with i=1 to the number of lines of boKurs > put idNew into item refCol of line i of boKurs > end repeat > put Valentina("Cursor_AddRecords",crs,boKurs) into ur > get Valentina("Cursor_Remove",crs) > end doDupBo > > It seems to be a bug in xcmd interface. Hi Robert, Thn you should be able get the same mistake using just one db one table Do Cursor_AddRecords() And send here data to fill 3 records. E.g. Second record contain some empty values. Please show me such string with values. It skip empty value and get next column or next row value? -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From vidal_olivier at yahoo.fr Mon Jun 14 12:26:48 2004 From: vidal_olivier at yahoo.fr (olivier vidal) Date: Mon Jun 14 05:45:38 2004 Subject: V4RB 1.1 RB 5.5 cursors In-Reply-To: References: Message-ID: <57ACEAA0-BDED-11D8-835C-00039310B7DA@yahoo.fr> > > I think 2 ways > > 1) curs = db.SqlSelect() > > Now you must check if cursor is not nil > > if( curs <> nil ) > then you use it > > > 2) also you can and should check error code after SqlSelect() > Ah, I understand now! It is necessary to use cursor=database.sqlselect () ! To use a cursor, I always use a constructor to obtain a subclass of Vcursor (for triggers....). And I already test if curs < > nil and verified the errors + realbasic NilObjectException. But from the construction of the cursor, if there was an error (wrong sql string, lock cursor....), my app crashed immediately. Why? in V4RBR doc (p.62): "If you want to define a subclass of Vcursor than you need to use the constructor of vCursor" But if there is no security with constructor, it is very boring ! There is not the other solution to use a subclass of vcursor and be also able to handle errors ? > > There is no IN THE SAME TIME. > > Exists queue. > > You get error. > > I think future we will add some e.g. 3 seconds delay > And ability to control this. > macserve.net/mailman/listinfo/valentina In Valentina 1.x, in multi-user application, To be certain that the cursor is create, it is always necessary to test it in a loop and to try to create it as long as the error " KCannotSetLock " returned ? It is the solution? thank you olivier From sunshine at public.kherson.ua Mon Jun 14 13:51:11 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Mon Jun 14 05:51:26 2004 Subject: V4RB 1.1 RB 5.5 cursors In-Reply-To: <57ACEAA0-BDED-11D8-835C-00039310B7DA@yahoo.fr> Message-ID: On 6/14/04 1:26 PM, "olivier vidal" wrote: >> >> I think 2 ways >> >> 1) curs = db.SqlSelect() >> >> Now you must check if cursor is not nil >> >> if( curs <> nil ) >> then you use it >> >> >> 2) also you can and should check error code after SqlSelect() >> > > Ah, I understand now! > > It is necessary to use cursor=database.sqlselect () ! > > To use a cursor, I always use a constructor to obtain a subclass of > Vcursor (for triggers....). > And I already test if curs < > nil and verified the errors + realbasic > NilObjectException. But from the construction of the cursor, if there > was an error (wrong sql string, lock cursor....), my app crashed > immediately. > Why? Aha, it crashes in constructor of cursor. Answer is: 99.99% of V4RB developers use SqlSelect() way. I think that constructor-way is broken now, after we have add record locks. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From sunshine at public.kherson.ua Mon Jun 14 13:51:30 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Mon Jun 14 05:51:43 2004 Subject: V4RB 1.1 RB 5.5 cursors In-Reply-To: <57ACEAA0-BDED-11D8-835C-00039310B7DA@yahoo.fr> Message-ID: On 6/14/04 1:26 PM, "olivier vidal" wrote: > in V4RBR doc (p.62): > "If you want to define a subclass of Vcursor than you need to use the > constructor of vCursor" > > But if there is no security with constructor, it is very boring ! > There is not the other solution to use a subclass of vcursor and be > also able to handle errors ? Looks to be broken -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From sunshine at public.kherson.ua Mon Jun 14 13:52:35 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Mon Jun 14 05:53:05 2004 Subject: V4RB 1.1 RB 5.5 cursors In-Reply-To: <57ACEAA0-BDED-11D8-835C-00039310B7DA@yahoo.fr> Message-ID: On 6/14/04 1:26 PM, "olivier vidal" wrote: >> There is no IN THE SAME TIME. >> >> Exists queue. >> >> You get error. >> >> I think future we will add some e.g. 3 seconds delay >> And ability to control this. >> macserve.net/mailman/listinfo/valentina > > In Valentina 1.x, > in multi-user application, To be certain that the cursor is create, it > is always necessary to test it in a loop and to try to create it as > long as the error " KCannotSetLock " returned ? > It is the solution? Yes. You can add in loop sleep, Also you can add timeout to be parameter of your app, And after say 5 seconds inform user -- cannot do operation. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From fvanlerberghe at freegates.be Mon Jun 14 18:16:12 2004 From: fvanlerberghe at freegates.be (Francois Van Lerberghe) Date: Mon Jun 14 11:16:20 2004 Subject: V4RB 1.1 RB 5.5 cursors In-Reply-To: Message-ID: le 14/06/04 12:51, Ruslan Zasukhin a ?crit?: > 99.99% of V4RB developers use SqlSelect() way. > > I think that constructor-way is broken now, > after we have add record locks. What do you say ? I'm not sure to well understand. I use plenty of cursor subclasses. In the constructor, I have something like this one : VCursor(app.database,"SELECT "+theFiledsList+" FROM "+thetablesList+" WHERE "+theCondition, kV_Server, kV_NoLocks, kV_Random) I'm currently using RB 3.5 and V4RB 1.10. Do you say that this way of coding is broken in last (next) version (RB or Valentina) ? Fran?ois Van Lerberghe Rue Thier Monty, 15 A 4570 Marchin Belgique From sunshine at public.kherson.ua Mon Jun 14 19:23:17 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Mon Jun 14 11:23:47 2004 Subject: V4RB 1.1 RB 5.5 cursors In-Reply-To: Message-ID: On 6/14/04 7:16 PM, "Francois Van Lerberghe" wrote: Hi Francois, > le 14/06/04 12:51, Ruslan Zasukhin a ?crit?: > >> 99.99% of V4RB developers use SqlSelect() way. >> >> I think that constructor-way is broken now, >> after we have add record locks. > > What do you say ? I'm not sure to well understand. > I use plenty of cursor subclasses. In the constructor, I have something like > this one : > > VCursor(app.database,"SELECT "+theFiledsList+" FROM "+thetablesList+" > WHERE "+theCondition, kV_Server, kV_NoLocks, kV_Random) You do not see problem because you use NoLocks. As I have understand, if we try lock records and fail, Then constructor crashes > I'm currently using RB 3.5 and V4RB 1.10. > > Do you say that this way of coding is broken in last (next) version (RB or > Valentina) ? -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From fvanlerberghe at freegates.be Mon Jun 14 19:07:47 2004 From: fvanlerberghe at freegates.be (Francois Van Lerberghe) Date: Mon Jun 14 12:07:56 2004 Subject: V4RB 1.1 RB 5.5 cursors In-Reply-To: Message-ID: le 14/06/04 18:23, Ruslan Zasukhin a ?crit?: > You do not see problem because you use NoLocks. > > As I have understand, if we try lock records and fail, > Then constructor crashes Is there another way to create a Vcursor subclass ? Must I avoid using subclass (an not use it anymore) ? Or do you plan to fix this bug ? Fran?ois Van Lerberghe Rue Thier Monty, 15 A 4570 Marchin Belgique From sunshine at public.kherson.ua Mon Jun 14 20:34:02 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Mon Jun 14 12:34:10 2004 Subject: V4RB 1.1 RB 5.5 cursors In-Reply-To: Message-ID: On 6/14/04 8:07 PM, "Francois Van Lerberghe" wrote: > le 14/06/04 18:23, Ruslan Zasukhin a ?crit?: > >> You do not see problem because you use NoLocks. >> >> As I have understand, if we try lock records and fail, >> Then constructor crashes > > Is there another way to create a Vcursor subclass ? > Must I avoid using subclass (an not use it anymore) ? > Or do you plan to fix this bug ? Must be fixed of course. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From yeomans at desuetude.com Mon Jun 14 13:45:25 2004 From: yeomans at desuetude.com (Charles Yeomans) Date: Mon Jun 14 12:45:32 2004 Subject: V4RB 1.1 RB 5.5 cursors In-Reply-To: References: Message-ID: <9DC46D3A-BE2A-11D8-9784-000A957CB4CC@desuetude.com> On Jun 14, 2004, at 1:34 PM, Ruslan Zasukhin wrote: > On 6/14/04 8:07 PM, "Francois Van Lerberghe" > > wrote: > >> le 14/06/04 18:23, Ruslan Zasukhin a >> ?crit?: >> >>> You do not see problem because you use NoLocks. >>> >>> As I have understand, if we try lock records and fail, >>> Then constructor crashes >> >> Is there another way to create a Vcursor subclass ? >> Must I avoid using subclass (an not use it anymore) ? >> Or do you plan to fix this bug ? > > Must be fixed of course. Perhaps in this case the constructor should raise an exception. Charles Yeomans From sunshine at public.kherson.ua Mon Jun 14 20:49:09 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Mon Jun 14 12:49:17 2004 Subject: V4RB 1.1 RB 5.5 cursors In-Reply-To: <9DC46D3A-BE2A-11D8-9784-000A957CB4CC@desuetude.com> Message-ID: On 6/14/04 8:45 PM, "Charles Yeomans" wrote: > > On Jun 14, 2004, at 1:34 PM, Ruslan Zasukhin wrote: > >> On 6/14/04 8:07 PM, "Francois Van Lerberghe" >> >> wrote: >> >>> le 14/06/04 18:23, Ruslan Zasukhin a >>> ?crit?: >>> >>>> You do not see problem because you use NoLocks. >>>> >>>> As I have understand, if we try lock records and fail, >>>> Then constructor crashes >>> >>> Is there another way to create a Vcursor subclass ? >>> Must I avoid using subclass (an not use it anymore) ? >>> Or do you plan to fix this bug ? >> >> Must be fixed of course. > > Perhaps in this case the constructor should raise an exception. Yes, this is the correct OO way. So we do not get object that is constructed not properly -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From vidal_olivier at yahoo.fr Mon Jun 14 17:16:20 2004 From: vidal_olivier at yahoo.fr (olivier vidal) Date: Mon Jun 14 15:44:38 2004 Subject: V4RB 1.10 RB 5.5 cursors and server In-Reply-To: References: Message-ID: "valentina 1 not very effective with cache more 20-25Mb" by database or by application ? Le 14 juin 04, ? 08:20, Ruslan Zasukhin a ?crit : > Although keep in mind Valentina 1.x is not very effective with cache > more > than 20-25MB. Valentina 2.0 have fix this. From sunshine at public.kherson.ua Mon Jun 14 23:48:56 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Mon Jun 14 15:49:04 2004 Subject: V4RB 1.10 RB 5.5 cursors and server In-Reply-To: Message-ID: On 6/14/04 6:16 PM, "olivier vidal" wrote: > "valentina 1 not very effective with cache more 20-25Mb" > > by database or by application ? Kernel. I have see that cache in 100MB may work slower of cache in 20MB Recommended size for 1.x is 10-20 MB -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From vidal_olivier at yahoo.fr Mon Jun 14 14:15:50 2004 From: vidal_olivier at yahoo.fr (olivier vidal) Date: Mon Jun 14 18:40:42 2004 Subject: V4RB 1.1 RB 5.5 cursors In-Reply-To: References: Message-ID: <932B9476-BDFC-11D8-835C-00039310B7DA@yahoo.fr> > 99.99% of V4RB developers use SqlSelect() way. I am amazed that there are not more developers which used constructors. That seemed to me nevertheless ingenious. what a pity ! It would be necessary to modify the documentation for the new users of Valentina. ok, thank you very much Ruslan. olivier From sunshine at public.kherson.ua Tue Jun 15 08:43:46 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue Jun 15 00:43:59 2004 Subject: V4RB 1.1 RB 5.5 cursors In-Reply-To: <932B9476-BDFC-11D8-835C-00039310B7DA@yahoo.fr> Message-ID: On 6/14/04 3:15 PM, "olivier vidal" wrote: >> 99.99% of V4RB developers use SqlSelect() way. > > I am amazed that there are not more developers which used constructors. > That seemed to me nevertheless ingenious. I will try to fix this bug in the nearest days. > what a pity ! > > It would be necessary to modify the documentation for the new users of > Valentina. > > > ok, thank you very much Ruslan. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From keatk at comcast.net Tue Jun 15 02:12:39 2004 From: keatk at comcast.net (Karen) Date: Tue Jun 15 01:12:46 2004 Subject: V4RB 1.1 RB 5.5 cursors In-Reply-To: References: Message-ID: <012FA2D5-BE93-11D8-A281-0003934C3066@comcast.net> On Jun 15, 2004, at 1:43 AM, Ruslan Zasukhin wrote: > I will try to fix this bug in the nearest days. > For 1.1? Don't forget to roll in that X-platform problem fix if you post an update! - karen From sunshine at public.kherson.ua Tue Jun 15 09:35:45 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue Jun 15 01:35:58 2004 Subject: V4RB 1.1 RB 5.5 cursors In-Reply-To: <012FA2D5-BE93-11D8-A281-0003934C3066@comcast.net> Message-ID: On 6/15/04 9:12 AM, "Karen" wrote: > > On Jun 15, 2004, at 1:43 AM, Ruslan Zasukhin wrote: > >> I will try to fix this bug in the nearest days. >> > For 1.1? Yes, 1.10 > Don't forget to roll in that X-platform problem fix if you post an > update! Karen, what you mean? VarChar bug ? Yes of course, it is in CVS already. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From cindy at kowhaiprogramming.com Tue Jun 15 19:59:09 2004 From: cindy at kowhaiprogramming.com (Cindy Brown) Date: Tue Jun 15 02:58:41 2004 Subject: Database lost all data V4RB Message-ID: Hi All, I've just had a client send me their database which wasn't working. They have been using it on a PC. When I got their database I found that though the .dat file is 22.9MB and the .ind file is 9.8MB the database is actually almost empty. Just a few small records here and there. It seems that the database has lost almost all the data. They couldn't do that themselves as it would take days to delete everything by hand. In the folder with the database there has also appeared some extra files: prf4F.tmp, prf41.tmp, prf75.tmp and also an SMFiles with no .??? Indication after it though it says that it is a .dat file. Could anybody shed any light on: 1. why this would have happened and 2. Whether there is any way the data can be resurrected. Any help would be much appreciated. Cindy Brown New Zealand From sunshine at public.kherson.ua Tue Jun 15 11:08:58 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue Jun 15 03:09:42 2004 Subject: Database lost all data V4RB In-Reply-To: Message-ID: On 6/15/04 10:59 AM, "Cindy Brown" wrote: Hi Cindy, > I've just had a client send me their database which wasn't working. They > have been using it on a PC. When I got their database I found that though > the .dat file is 22.9MB and the .ind file is 9.8MB the database is actually > almost empty. Just a few small records here and there. It seems that the > database has lost almost all the data. They couldn't do that themselves as > it would take days to delete everything by hand. > > In the folder with the database there has also appeared some extra files: > prf4F.tmp, prf41.tmp, prf75.tmp and also an SMFiles with no .??? Indication > after it though it says that it is a .dat file. Strange, this is not Valentina files. 100% > Could anybody shed any light on: > > 1. why this would have happened and May be he have execute something as DELETE ... WHERE almost all records > 2. Whether there is any way the data can be resurrected. I think practically impossible. You have open db files by hexedit? Or db can be opened in VAPP (i.e. Db is not corrupted?) What means db is not working? Diagnose what say? Db from under your server? > Any help would be much appreciated. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From cindy at kowhaiprogramming.com Tue Jun 15 20:21:34 2004 From: cindy at kowhaiprogramming.com (Cindy Brown) Date: Tue Jun 15 03:21:09 2004 Subject: Database lost all data V4RB In-Reply-To: Message-ID: > On 6/15/04 10:59 AM, "Cindy Brown" wrote: > > Hi Cindy, > >> I've just had a client send me their database which wasn't working. They >> have been using it on a PC. When I got their database I found that though >> the .dat file is 22.9MB and the .ind file is 9.8MB the database is actually >> almost empty. Just a few small records here and there. It seems that the >> database has lost almost all the data. They couldn't do that themselves as >> it would take days to delete everything by hand. >> >> In the folder with the database there has also appeared some extra files: >> prf4F.tmp, prf41.tmp, prf75.tmp and also an SMFiles with no .??? Indication >> after it though it says that it is a .dat file. > > Strange, this is not Valentina files. 100% The Valentina file is called SMFiles. There is SMFiles.dat, SMFiles.vdb, SMFiles.ind and SMFiles.dat. In addition there is just an SMFiles file which has the Valentina logo on it but it doesn't have .dat or anything after it which I thought would be highly unusual on a PC. > > >> Could anybody shed any light on: >> >> 1. why this would have happened and > > May be he have execute something as > > DELETE ... WHERE almost all records He doesn't have VAPP. Just my RB program and there is no way to delete all the records from the program. This is not at all possible. > >> 2. Whether there is any way the data can be resurrected. > > I think practically impossible. > > You have open db files by hexedit? > Or db can be opened in VAPP (i.e. Db is not corrupted?) I can open the db in VAPP but there are almost no records in it all. Just 10 in one place and 1 in another. > > What means db is not working? > Diagnose what say? > > Db from under your server? This is a standalone program. Not a server program. I diagnose the db and it comes up with no problems in the actual database files. Just in here: ************************************************************************ * BaseObject: "sysItem" ************************************************************************ Problems found. -----> Field: "ItemDescrPtr' of type ObjectPtr All right. -----> Field: "Value' of type VarChar All right. -----> Field: "TextValue' of type Text Problems found! (!) Minor problem: exists 13 orphan segments.(indicate mistake in algorithm.) It looks like the database has deleted all files by itself as there is no possibility that the user could have deleted all the files themselves. Cindy Brown New Zealand From sunshine at public.kherson.ua Tue Jun 15 11:27:29 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue Jun 15 03:27:37 2004 Subject: Database lost all data V4RB In-Reply-To: Message-ID: On 6/15/04 11:21 AM, "Cindy Brown" wrote: >> On 6/15/04 10:59 AM, "Cindy Brown" wrote: >> >> Hi Cindy, >> >>> I've just had a client send me their database which wasn't working. They >>> have been using it on a PC. When I got their database I found that though >>> the .dat file is 22.9MB and the .ind file is 9.8MB the database is actually >>> almost empty. Just a few small records here and there. It seems that the >>> database has lost almost all the data. They couldn't do that themselves as >>> it would take days to delete everything by hand. >>> >>> In the folder with the database there has also appeared some extra files: >>> prf4F.tmp, prf41.tmp, prf75.tmp and also an SMFiles with no .??? Indication >>> after it though it says that it is a .dat file. >> >> Strange, this is not Valentina files. 100% > > The Valentina file is called SMFiles. There is SMFiles.dat, SMFiles.vdb, > SMFiles.ind and SMFiles.dat. In addition there is just an SMFiles file which > has the Valentina logo on it but it doesn't have .dat or anything after it > which I thought would be highly unusual on a PC. May be that user have open Valentina db files using some other application ??? -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From sunshine at public.kherson.ua Tue Jun 15 11:28:45 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue Jun 15 03:28:51 2004 Subject: Database lost all data V4RB In-Reply-To: Message-ID: On 6/15/04 11:21 AM, "Cindy Brown" wrote: >> What means db is not working? >> Diagnose what say? >> >> Db from under your server? > > This is a standalone program. Not a server program. I diagnose the db and it > comes up with no problems in the actual database files. Just in here: > > > ************************************************************************ > * BaseObject: "sysItem" > ************************************************************************ > Problems found. > > -----> Field: "ItemDescrPtr' of type ObjectPtr > All right. > > -----> Field: "Value' of type VarChar > All right. > > -----> Field: "TextValue' of type Text > Problems found! > > (!) Minor problem: exists 13 orphan segments.(indicate mistake in > algorithm.) > > > It looks like the database has deleted all files by itself as there is no > possibility that the user could have deleted all the files themselves. This is minor problem, Cindy. So it looks like diagnose say that db is okay. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From cindy at kowhaiprogramming.com Tue Jun 15 20:31:52 2004 From: cindy at kowhaiprogramming.com (Cindy Brown) Date: Tue Jun 15 03:32:11 2004 Subject: Database lost all data V4RB In-Reply-To: Message-ID: If they opened it with another application, would that delete all the records? > May be that user have open Valentina db files using some other application > ??? > -- Cindy Brown Programmer SchoolMaster Kowhai Programming Systems PO Box 198, Invercargill 81 Marama Avenue South, 9RD Invercargill Phone (03) 213 1243 Fax (03) 213 1248 Mobile (021) 354 930 From cindy at kowhaiprogramming.com Tue Jun 15 20:32:41 2004 From: cindy at kowhaiprogramming.com (Cindy Brown) Date: Tue Jun 15 03:32:19 2004 Subject: Database lost all data V4RB In-Reply-To: Message-ID: And it doesn't matter if the diagnose says the db is okay. They have no data. I can try and resurrect files that are corrupt but I can't bring back data. And what do I say to the client who has just lost all their work? > So it looks like diagnose say that db is okay. -- Cindy Brown Programmer SchoolMaster Kowhai Programming Systems PO Box 198, Invercargill 81 Marama Avenue South, 9RD Invercargill Phone (03) 213 1243 Fax (03) 213 1248 Mobile (021) 354 930 From sunshine at public.kherson.ua Tue Jun 15 11:39:14 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue Jun 15 03:39:23 2004 Subject: Database lost all data V4RB In-Reply-To: Message-ID: On 6/15/04 11:31 AM, "Cindy Brown" wrote: > If they opened it with another application, would that delete all the > records? > >> May be that user have open Valentina db files using some other application >> ??? I think this cannot be because then diagnose will complain. So this was result of some LEGAL operation in Valentina. At last of end db is fine. So it very looks that records was deleted somehow by logic -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From sunshine at public.kherson.ua Tue Jun 15 11:41:21 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue Jun 15 03:41:28 2004 Subject: Database lost all data V4RB In-Reply-To: Message-ID: On 6/15/04 11:32 AM, "Cindy Brown" wrote: > And it doesn't matter if the diagnose says the db is okay. They have no > data. I can try and resurrect files that are corrupt but I can't bring back > data. And what do I say to the client who has just lost all their work? Make backups -- standard rule. Cindy, I cannot say that db is corrupted! Corrupted this is when everything is broken, then diagnose will see that. But in your case ALL IS RIGHT. Yes? I think this can happens only and only if your app have execute delete records. How long they have work? If just few minutes then may be all they data was in cache RAM ? -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From cindy at kowhaiprogramming.com Tue Jun 15 20:52:05 2004 From: cindy at kowhaiprogramming.com (Cindy Brown) Date: Tue Jun 15 03:51:33 2004 Subject: Database lost all data V4RB In-Reply-To: Message-ID: > On 6/15/04 11:32 AM, "Cindy Brown" wrote: > >> And it doesn't matter if the diagnose says the db is okay. They have no >> data. I can try and resurrect files that are corrupt but I can't bring back >> data. And what do I say to the client who has just lost all their work? > > Make backups -- standard rule. > > Cindy, I cannot say that db is corrupted! > > Corrupted this is when everything is broken, then diagnose will see that. > But in your case ALL IS RIGHT. Yes? > > I think this can happens only and only if your app have execute delete > records. > > How long they have work? > If just few minutes then may be all they data was in cache RAM ? I know backups should be made. Unfortunately clients don't always do what you suggest. This is not a few minutes data. I wouldn't worry about that. This is months of data. It is a full student record database which is very important for the proper running of a school. Yes, the db is alright. But, Ruslan, there really is NO WAY for the client to delete the records themselves. There are about 15 base objects in this database and all but 2 are completely empty. One of these alone had about 30,000 records and this base object CANNOT be deleted with a delete all as I have no options of deleting all records in any of the base objects. I haven't come across this at all before. Normally there isn't a problem because they update to my server and everything is okay. Unfortunately, due to the previous V4RB error in varchar, the server wasn't bringing across the info from their office machine and they hadn't updated to the latest program. I guess we'll just have to go back and see when they did their last backup. Thanks for responding. Cindy Brown From sunshine at public.kherson.ua Tue Jun 15 12:00:30 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue Jun 15 04:00:42 2004 Subject: Database lost all data V4RB In-Reply-To: Message-ID: On 6/15/04 11:52 AM, "Cindy Brown" wrote: > Ruslan, there really is NO WAY for the client to delete the records > themselves. There are about 15 base objects in this database and all but 2 > are completely empty. One of these alone had about 30,000 records and this > base object CANNOT be deleted with a delete all as I have no options of > deleting all records in any of the base objects. Try to open db in hexedit. Do you see just ZEROs in 8MB file or you see records ? I can assume such case: records are in table, but counter in table header is zero. This also must never happens in Valentina and there is no legal way to get this. Cindy all this really looks like mystery. I really have no idea how it is possible to get FINE db with no records. > I haven't come across this at all before. Normally there isn't a problem > because they update to my server and everything is okay. Unfortunately, due > to the previous V4RB error in varchar, the server wasn't bringing across the > info from their office machine and they hadn't updated to the latest > program. I guess we'll just have to go back and see when they did their last > backup. Thanks for responding. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From maillist at darke.biz Tue Jun 15 18:19:17 2004 From: maillist at darke.biz (Ang Siow Chen) Date: Tue Jun 15 05:20:41 2004 Subject: Database lost all data V4RB In-Reply-To: Message-ID: I agree with Ruslan.. to delete 300,000 not 30,000 it takes only about 1 1/2 minutes wachr ecrod has 100 fields... and this is not the drop table.. this is using delete command. If you mention that customer give you this database.. rightfully they should have another copy.. somewhere.. You should ask thick skin or not for that original copy that they gave you from! We have been developing using valentina in Director and our data ammesses in the gigabyte range and no such things happen.. we have over 10,000,000 records.. and each one when deleted also keeps an archive... we are religious about doing this.. a log of what changes and what was viewed.. if u need help I would be glad to give you some advice.. Warmest Regards, Ang Siow Chen Managing Director Darke Entertainments Off: (65)67266101 Fax: (65)62344416 Mobile : (65)91466101 Email : siowchen@darke.biz Website : www.darke.biz CONFIDENTIALITY CAUTION: The information in this email is intended solely for the addressee(s) or entity to which it is addressed. The information contained within is privileged and confidential. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Access to this email by anyone else is unauthorised. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from your system. Any views, opinions, conclusions and other information expressed in this message are those of the individual sender and shall be understood as neither given nor endorsed by WebDials, except where the sender specifically states them to be the views of WebDials.If verification is required, please request a hard-copy version. -----Original Message----- From: Ruslan Zasukhin [mailto:sunshine@public.kherson.ua] Sent: Tuesday, June 15, 2004 5:01 PM To: valentina@lists.macserve.net Subject: Re: Database lost all data V4RB On 6/15/04 11:52 AM, "Cindy Brown" wrote: > Ruslan, there really is NO WAY for the client to delete the records > themselves. There are about 15 base objects in this database and all but 2 > are completely empty. One of these alone had about 30,000 records and this > base object CANNOT be deleted with a delete all as I have no options of > deleting all records in any of the base objects. Try to open db in hexedit. Do you see just ZEROs in 8MB file or you see records ? I can assume such case: records are in table, but counter in table header is zero. This also must never happens in Valentina and there is no legal way to get this. Cindy all this really looks like mystery. I really have no idea how it is possible to get FINE db with no records. > I haven't come across this at all before. Normally there isn't a problem > because they update to my server and everything is okay. Unfortunately, due > to the previous V4RB error in varchar, the server wasn't bringing across the > info from their office machine and they hadn't updated to the latest > program. I guess we'll just have to go back and see when they did their last > backup. Thanks for responding. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- _______________________________________________ Valentina mailing list Valentina@lists.macserve.net http://lists.macserve.net/mailman/listinfo/valentina From cindy at kowhaiprogramming.com Tue Jun 15 22:28:32 2004 From: cindy at kowhaiprogramming.com (Cindy Brown) Date: Tue Jun 15 05:28:02 2004 Subject: Database lost all data V4RB In-Reply-To: Message-ID: Thanks for your note. I am very happy with Valentina. It has worked very well for us with hundreds of thousands of records with all our clients. This is just very unusual. I am beginning to suspect that their backup system has caused the problem so will get back to them and see what is going on. All the best. > I agree with Ruslan.. > > to delete 300,000 not 30,000 it takes only about 1 1/2 minutes wachr ecrod > has 100 fields... > > and this is not the drop table.. this is using delete command. > > If you mention that customer give you this database.. rightfully they should > have another copy.. somewhere.. > You should ask thick skin or not for that original copy that they gave you > from! > > We have been developing using valentina in Director and our data ammesses in > the gigabyte range and no such things happen.. > > we have over 10,000,000 records.. and each one when deleted also keeps an > archive... we are religious about doing this.. a log of what changes and > what was viewed.. > if u need help I would be glad to give you some advice.. > > Warmest Regards, > > > > Ang Siow Chen From vidal_olivier at yahoo.fr Tue Jun 15 12:01:12 2004 From: vidal_olivier at yahoo.fr (olivier vidal) Date: Tue Jun 15 07:08:42 2004 Subject: V4RB 1.1 RB 5.5 errors handle in multi-user apps In-Reply-To: References: Message-ID: Hi Ruslan and list, In local network and application multi-users. For cursors: Except to test the error KcannotSetLock ( 363 ), there are the other types of errors which would require a test in a loop to be certain that the cursor is created? ( E.g. if the network is not idle, which error returned?) Would not you should make it for all returned errors? (Re-try to create cursor during e.g. 3/4 seconds) Except for for the creation of cursors, in what cases does it better need to re-try the operation several times in a loop? cursor navigation methods ? cursor records methods ? all ? thank you olivier Le 14 juin 04, ? 12:52, Ruslan Zasukhin a ?crit : >> In Valentina 1.x, >> in multi-user application, To be certain that the cursor is create, it >> is always necessary to test it in a loop and to try to create it as >> long as the error " KCannotSetLock " returned ? >> It is the solution? > > Yes. > > You can add in loop sleep, > Also you can add timeout to be parameter of your app, > And after say 5 seconds inform user -- cannot do operation. From vidal_olivier at yahoo.fr Tue Jun 15 05:41:07 2004 From: vidal_olivier at yahoo.fr (olivier vidal) Date: Tue Jun 15 07:16:05 2004 Subject: V4RB 1.1 RB 5.5 cursors In-Reply-To: <9DC46D3A-BE2A-11D8-9784-000A957CB4CC@desuetude.com> References: <9DC46D3A-BE2A-11D8-9784-000A957CB4CC@desuetude.com> Message-ID: apparently no. > Perhaps in this case the constructor should raise an exception. From sunshine at public.kherson.ua Tue Jun 15 15:33:32 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue Jun 15 07:33:37 2004 Subject: V4RB 1.1 RB 5.5 errors handle in multi-user apps In-Reply-To: Message-ID: On 6/15/04 1:01 PM, "olivier vidal" wrote: Hi Oliver, > In local network and application multi-users. > For cursors: > Except to test the error KcannotSetLock ( 363 ), there are the other > types of errors which would require a test in a loop to be certain that > the cursor is created? > ( E.g. if the network is not idle, which error returned?) We need ask Igor. Igor? > Would not you should make it for all returned errors? (Re-try to create > cursor during e.g. 3/4 seconds) You can do this, although may be if network error, it is better to inform user. > Except for for the creation of cursors, in what cases does it better > need to re-try the operation several times in a loop? I think no more. > cursor navigation methods ? cursor records methods ? all ? No, no. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From giv at tlc.kherson.ua Tue Jun 15 15:59:32 2004 From: giv at tlc.kherson.ua (Igor Gomon) Date: Tue Jun 15 07:59:31 2004 Subject: V4RB 1.1 RB 5.5 errors handle in multi-user apps References: Message-ID: <001001c452d8$9c87de20$3b04a8c0@giv> Hi Oliver, > > In local network and application multi-users. > > For cursors: > > Except to test the error KcannotSetLock ( 363 ), there are the other > > types of errors which would require a test in a loop to be certain that > > the cursor is created? > > ( E.g. if the network is not idle, which error returned?) > > We need ask Igor. > Igor? OS-specific error code will be returned in such a case. So on Windows you will get WinSock error, for example WSAEHOSTUNREACH (10065). -- Best regards, Igor Gomon ------------------------------------------------------------- e-mail: giv@tlc.kherson.ua web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://listserv.macserve.net/mailman/listinfo/valentina From michael at mdmays.com Tue Jun 15 09:29:08 2004 From: michael at mdmays.com (Michael D Mays) Date: Tue Jun 15 09:29:14 2004 Subject: How to debug with console? Message-ID: <5CB4FF30-BED8-11D8-ABB3-000A95D7C7E2@mdmays.com> I'm using Mac 10.3/Revolution/VXCMD_macho and I would like to log my error messages to the console. I downloaded DCon; it is a Classic app. How do I get my error message to log to a/the console? Also, in the Revolution mail list I read some handlers with the statement: get Valentina("SetDebugLevel", 3 ) Is there a level 3 debug and if there is what does it do? Thanks, Michael From vidal_olivier at yahoo.fr Tue Jun 15 05:38:39 2004 From: vidal_olivier at yahoo.fr (olivier vidal) Date: Tue Jun 15 10:08:18 2004 Subject: V4RB 1.1 RB 5.5 Some questions about language In-Reply-To: <075E452C-BBCF-11D8-B9F6-000393B29272@gatorgraphics.com> References: <2331BD61-BB7F-11D8-B50D-00039310B7DA@yahoo.fr> <075E452C-BBCF-11D8-B9F6-000393B29272@gatorgraphics.com> Message-ID: <7DAC9DB9-BE7D-11D8-835C-00039310B7DA@yahoo.fr> ok, thank you, Kevin ! olivier Le 11 juin 04, ? 19:44, Kevin Windham a ?crit : > There is quite a bit of confusion regarding encodings, but basically > there are two methods for dealing with strings that are important. > There is DefineEncoding, and ConvertEncoding. > > In your case, I believe you should be using DefineEncoding, *NOT* > ConvertEncoding. DefineEncoding simply tells RB what encoding to use > with your string. It does not modify the bytes in the string. > ConvertEncoding will modify the bytes in the string to change it from > one encoding to another. > > So if you are getting data into your app from RB it should be in UTF8 > by default. Then you can just stuff it into Valentina as is. Then when > you get the data out of Valentina you simply let RB know that it is > UTF8 by using DefineEncoding. That should be all you need to do. At > least that is my understanding. You should only use ConvertEncoding to > change from one encoding to another, and in the scenario you > described, I don't think you should need to change anything. Just use > UTF8 and you should be fine. > > HTH, > Kevin From sunshine at public.kherson.ua Tue Jun 15 19:24:18 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue Jun 15 11:24:29 2004 Subject: How to debug with console? In-Reply-To: <5CB4FF30-BED8-11D8-ABB3-000A95D7C7E2@mdmays.com> Message-ID: On 6/15/04 5:29 PM, "Michael D Mays" wrote: Hi Michael, > I'm using Mac 10.3/Revolution/VXCMD_macho and I would like to log my > error messages to the console. I downloaded DCon; it is a Classic app. > > How do I get my error message to log to a/the console? On OS X simply use console app. > Also, in the Revolution mail list I read some handlers with the > statement: > get Valentina("SetDebugLevel", 3 ) > > Is there a level 3 debug and if there is what does it do? Yes. Just set it to 3 and open console. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From michael at mdmays.com Tue Jun 15 12:05:25 2004 From: michael at mdmays.com (Michael D Mays) Date: Tue Jun 15 12:05:30 2004 Subject: How to debug with console? In-Reply-To: References: Message-ID: <31F28A38-BEEE-11D8-ABB3-000A95D7C7E2@mdmays.com> I thought about that first, but I realized now that I had launched Terminal instead of Console. Thanks, Michael On Jun 15, 2004, at 11:24 AM, Ruslan Zasukhin wrote: > On 6/15/04 5:29 PM, "Michael D Mays" wrote: > > Hi Michael, > >> I'm using Mac 10.3/Revolution/VXCMD_macho and I would like to log my >> error messages to the console. I downloaded DCon; it is a Classic app. >> >> How do I get my error message to log to a/the console? > > On OS X simply use console app. > >> Also, in the Revolution mail list I read some handlers with the >> statement: >> get Valentina("SetDebugLevel", 3 ) >> >> Is there a level 3 debug and if there is what does it do? > > Yes. > > Just set it to 3 and open console. > > -- > Best regards, > Ruslan Zasukhin [ I feel the need...the need for speed ] > ------------------------------------------------------------- > e-mail: ruslan@paradigmasoft.com > web: http://www.paradigmasoft.com > > To subscribe to the Valentina mail list go to: > http://lists.macserve.net/mailman/listinfo/valentina > ------------------------------------------------------------- > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina > From vidal_olivier at yahoo.fr Tue Jun 15 14:56:00 2004 From: vidal_olivier at yahoo.fr (olivier vidal) Date: Tue Jun 15 12:23:20 2004 Subject: V4RB 1.1 RB 5.5 errors handle in multi-user apps In-Reply-To: References: Message-ID: <5A010834-BECB-11D8-B45C-00039310B7DA@yahoo.fr> In client / server, there is only a cursor (total result of SELECT) which is sent on client ? Right ? Thus even if there are problems of network, the methods of navigation of the cursor will work correctly ? Right ? But, e.g., for the UPDATE / DELETE, the modifications will be made on server I think. And if the network is not idle, how to manage the problem ? thank you olivier Le 15 juin 04, ? 14:33, Ruslan Zasukhin a ?crit : >> Except for for the creation of cursors, in what cases does it better >> need to re-try the operation several times in a loop? > > I think no more. > >> cursor navigation methods ? cursor records methods ? all ? > > No, no. From sunshine at public.kherson.ua Tue Jun 15 21:40:40 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue Jun 15 13:40:51 2004 Subject: V4RB 1.1 RB 5.5 errors handle in multi-user apps In-Reply-To: <5A010834-BECB-11D8-B45C-00039310B7DA@yahoo.fr> Message-ID: On 6/15/04 3:56 PM, "olivier vidal" wrote: > In client / server, there is only a cursor (total result of SELECT) > which is sent on client ? Right ? No, in SqlSelect() exists parameter where you can specify client side or server side cursor you want. > Thus even if there are problems of network, the methods of navigation > of the cursor will work correctly ? Right ? For client side yes I think. > But, e.g., for the UPDATE / DELETE, the modifications will be made on > server I think. And if the network is not idle, how to manage the > problem ? As always, you will get error code. Or what you ask about -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From vidal_olivier at yahoo.fr Tue Jun 15 15:11:03 2004 From: vidal_olivier at yahoo.fr (olivier vidal) Date: Tue Jun 15 15:23:25 2004 Subject: V4RB 1.1 RB 5.5 errors handle in multi-user apps In-Reply-To: <001001c452d8$9c87de20$3b04a8c0@giv> References: <001001c452d8$9c87de20$3b04a8c0@giv> Message-ID: <743B30DD-BECD-11D8-B45C-00039310B7DA@yahoo.fr> ok, thank you Igor ! olivier > > OS-specific error code will be returned in such a case. > So on Windows you will get WinSock error, for example > WSAEHOSTUNREACH (10065). From vidal_olivier at yahoo.fr Tue Jun 15 16:50:50 2004 From: vidal_olivier at yahoo.fr (olivier vidal) Date: Tue Jun 15 16:13:47 2004 Subject: How to debug with console? In-Reply-To: <5CB4FF30-BED8-11D8-ABB3-000A95D7C7E2@mdmays.com> References: <5CB4FF30-BED8-11D8-ABB3-000A95D7C7E2@mdmays.com> Message-ID: <64F3AC42-BEDB-11D8-B45C-00039310B7DA@yahoo.fr> Hi Michael, I suppose that it is little as in realbasic. In realbasic, it is simple. In the opening of the application, just before the initialization of the kernel: err=valentinaDebugON(1) 1= message only if error was occurred 2= each function will produce message to the console window Before launching the application, opening the console, it is everything ! While your application will be active, all the messages of Valentina will appear in the console. olivier Le 15 juin 04, ? 16:29, Michael D Mays a ?crit : > I'm using Mac 10.3/Revolution/VXCMD_macho and I would like to log my > error messages to the console. I downloaded DCon; it is a Classic app. > > How do I get my error message to log to a/the console? > > Also, in the Revolution mail list I read some handlers with the > statement: > get Valentina("SetDebugLevel", 3 ) > > Is there a level 3 debug and if there is what does it do? > > Thanks, > Michael > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina > From syalamar at fiberlink.com Tue Jun 15 18:37:10 2004 From: syalamar at fiberlink.com (Srinivas Yalamarti) Date: Tue Jun 15 17:37:34 2004 Subject: Cursors and Multiple threads Message-ID: Hi Ours is a multi-threaded application. I know that valentina cache can be accessed only by one thread at a time. If the following happens in that sequence, is the following OK Thread A VDK_Cursor* pCursorThreadA = NULL; LOCKDB(); pCursorThreadA = m_pDatabase->SqlSelect(strSQLA, kServer, kReadOnly); UNLOCKDB(); ...OS switch thread context... Thread B VDK_Cursor* pCursorThreadB = NULL; LOCKDB(); pCursorThreadB = m_pDatabase->SqlSelect(strSQLB, kServer, kReadOnly); UNLOCKDB(); ...OS switch thread context... ThreadA --- NO MORE LOCKING DONE HERE --- pCursorThreadA ->GetRecordCount() // And also some code that uses pCursorThreadA ...OS switch thread context... ThreadB --- NO MORE LOCKING DONE HERE --- pCursorThreadB ->GetRecordCount() // And also some code that uses pCursorThreadB ...OS switch thread context... ThreadA --- NO MORE LOCKING DONE HERE --- ForgetObject(pCursorThreadA ); ...OS switch thread context... ThreadB --- NO MORE LOCKING DONE HERE --- ForgetObject(pCursorThreadB ); In other words, can we get 'cursors' in a thread-safe fashion by locking the db, and then 'use' the cursors without the locking mechanism? Regards, Srini Y The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from any computer. From vidal_olivier at yahoo.fr Tue Jun 15 12:01:12 2004 From: vidal_olivier at yahoo.fr (olivier vidal) Date: Tue Jun 15 23:53:44 2004 Subject: =?iso-8859-1?q?Re=3A_V4RB_1=2E1_RB_5=2E5_errors_handle_in_multi-?= =?iso-8859-1?q?user_apps_=28Modifi=E9_par_olivier_vidal=29?= Message-ID: <22090069-BEC4-11D8-B45C-00039310B7DA@yahoo.fr> [ Sorry but you will receive maybe this message twice. I sent it this morning and it did not still on list] Hi Ruslan and list, In local network and application multi-users. For cursors: Except to test the error KcannotSetLock ( 363 ), there are the other types of errors which would require a test in a loop to be certain that the cursor is created? ( E.g. if the network is not idle, which error returned?) Would not you should make it for all returned errors? (Re-try to create cursor during e.g. 3/4 seconds) Except for for the creation of cursors, in what cases does it better need to re-try the operation several times in a loop? cursor navigation methods ? cursor records methods ? all ? thank you olivier Le 14 juin 04, ? 12:52, Ruslan Zasukhin a ?crit : >> In Valentina 1.x, >> in multi-user application, To be certain that the cursor is create, it >> is always necessary to test it in a loop and to try to create it as >> long as the error " KCannotSetLock " returned ? >> It is the solution? > > Yes. > > You can add in loop sleep, > Also you can add timeout to be parameter of your app, > And after say 5 seconds inform user -- cannot do operation. From Peter.Lindgren at fdt.se Wed Jun 16 09:09:11 2004 From: Peter.Lindgren at fdt.se (Peter Lindgren) Date: Wed Jun 16 02:07:22 2004 Subject: Cursors and Multiple threads Message-ID: Hi! valentina-bounces@lists.macserve.net: > Ours is a multi-threaded application. I know that valentina > cache can be accessed only by one thread at a time. > > If the following happens in that sequence, is the following OK [...] > In other words, can we get 'cursors' in a thread-safe fashion > by locking the db, and then 'use' the cursors without the > locking mechanism? Haven't used Valentina in a real-time/threaded system, but generally, anything that isn't thread-safe should go in its own thread. All calls must be guarded by mutexes and/or queues. /Peter -- Peter Lindgren, dataingenj?r 0920-24 33 00 http://www.fdt.se/ From sunshine at public.kherson.ua Wed Jun 16 11:17:50 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Jun 16 03:19:00 2004 Subject: Cursors and Multiple threads In-Reply-To: Message-ID: On 6/16/04 1:37 AM, "Srinivas Yalamarti" wrote: > In other words, can we get 'cursors' in a thread-safe fashion by locking > the db, and then 'use' the cursors without the > locking mechanism? Again no. Because very very often Valentina uses so called "indirect cursors". Such cursor read values of the next record from original tables! I.e. It touch global single cache. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From bibiko at eva.mpg.de Wed Jun 16 11:10:20 2004 From: bibiko at eva.mpg.de (Hans-Joerg Bibiko) Date: Wed Jun 16 04:13:22 2004 Subject: word borders of regular search Message-ID: <40D00E7C.1070602@eva.mpg.de> Hi everybody, is it possible to specify the word borders of a regular search? Example: ... name LIKE '\bYup\b' will find also Yup'ik. I believe a ' is one of the word delimiter. Has anyone a comment? Hans-J?rg Bibiko From sunshine at public.kherson.ua Wed Jun 16 13:00:01 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Jun 16 05:00:35 2004 Subject: word borders of regular search In-Reply-To: <40D00E7C.1070602@eva.mpg.de> Message-ID: On 6/16/04 12:10 PM, "Hans-Joerg Bibiko" wrote: > Hi everybody, > > is it possible to specify the word borders of a regular search? > > Example: > > ... name LIKE '\bYup\b' > > will find also Yup'ik. I believe a ' is one of the word delimiter. > > Has anyone a comment? Yes Hans, this should work. Syntax of RegEx anchor is described in file that is located in archive of V4RB or V4MD. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From aaronbratcher at ontargetreports.com Wed Jun 16 10:30:27 2004 From: aaronbratcher at ontargetreports.com (Aaron Bratcher) Date: Wed Jun 16 09:30:35 2004 Subject: Accented field names Message-ID: Valentina gives me a 603 error when doing the this query in viSQL: SELECT R?f?rence FROM Contacts Does Valentina have problems with accented field names? -- Aaron Bratcher On-Target Reports, Inc. From sunshine at public.kherson.ua Wed Jun 16 17:40:38 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Jun 16 09:40:50 2004 Subject: Accented field names In-Reply-To: Message-ID: On 6/16/04 5:30 PM, "Aaron Bratcher" wrote: > Valentina gives me a 603 error when doing the this query in viSQL: > SELECT R?f?rence FROM Contacts > > Does Valentina have problems with accented field names? Try wrap them by [] -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From fvanlerberghe at freegates.be Wed Jun 16 18:31:31 2004 From: fvanlerberghe at freegates.be (Francois Van Lerberghe) Date: Wed Jun 16 11:31:34 2004 Subject: Accented field names In-Reply-To: Message-ID: le 16/06/04 16:40, Ruslan Zasukhin a ?crit?: > On 6/16/04 5:30 PM, "Aaron Bratcher" > wrote: > >> Valentina gives me a 603 error when doing the this query in viSQL: >> SELECT R?f?rence FROM Contacts >> >> Does Valentina have problems with accented field names? > > Try wrap them by [] Mmmh, I think it's an encoding issue, since it's perfectly working here with RB 3.5 Assuming that - the SQLString = "SELECT R?f?rence FROM Contacts" - that this string is from an EditField - and RB 5 default encoding for EditField is UTF8, perhaps it's needed to convert the string to a MacRoman encoding or any other default system encoding ? Fran?ois Van Lerberghe Rue Thier Monty, 15 A 4570 Marchin Belgique From sunshine at public.kherson.ua Wed Jun 16 20:23:31 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Jun 16 12:23:41 2004 Subject: Valentina db In-Reply-To: Message-ID: On 6/16/04 6:16 PM, "Bobby" wrote: > The logtofile and logtoconsole were set to 1 so I changed them to 0 and > restarted, so we will see if that affects performance over time. Oh!! I believe this is fault of console, Bob ! File log should not slow down on any size. Console start work slow for huge output. I have se that. > The screen shot I sent was after a restart so if it happens again I will > send you a screen shot before restarting. > > For now I set the computer to restart once a week, but it really doesn't > seem like the right solution for this problem. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From sunshine at public.kherson.ua Thu Jun 17 17:12:08 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Thu Jun 17 09:12:21 2004 Subject: SetMethod // Binding to Edit fields In-Reply-To: Message-ID: On 6/17/04 3:22 PM, "jda" wrote: >> I think more important now get your response on overall new design: >> new classes >> new constant names >> new constant access (via module Valentina name) > > So far, they seem reasonable. > > The one thing I don't really care for is the new exception mechanism, > which is inconsistent even in the new release. > > There are many operations that you *expect* will fail from time to > time, and having to create exceptions for them is a pain (especially > when converting older code). > I know you can put in try/catch blocks > if you want to preserve a loop, but to do that for every instance is > a nuisance. One example I've mentioned before is AddRecord or > UpdateRecord where a field must be unique. It's going to fail > occasionally if you are assigning values yourself, and I rely on > Valentina to catch the error so I can generate another unique value. Not so simple Jon. Yes, pain is --> write more code. We have the same in C++, Java, C#. But in general such loop loop { try { action } catch { do something } } Can be more effective than loop { action if( error ) << executed on each iteration { do something } } > Another example would be a warning if you try to open a Valentina 1.x > database with 2.x. There are undoubtedly dozens more. > As I said, even Valentina 2.0 uses the method of assigning a return > value to indicate success or not with such things as result = > curs.nextRecord. Imagine having to use exceptions to deal with that! Again not so easy. Yes, NextRecord() return you bool value. If all right, then we expect to get true or false. This is logical result for this function. BUT! NextRecord() is not simple function: - it access many disk files in db to read field values. May happens that something wrong is in DEEP. Then this function will throw Exception. So both -> return and exception are legal for this function, and can happens. Just on exception we put something what happens very rare. > Anyway, this is my initial impression. I know that you will have a > command Valentina.doNotThrow, and I plan on using that a lot. You will need call it just once. And disable exceptions at all. This is for fast upgrade of existed projects. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From idevaney at mac.com Thu Jun 17 20:34:26 2004 From: idevaney at mac.com (Ian Devaney) Date: Thu Jun 17 14:34:57 2004 Subject: RB Destructors/Destroying Stuff Message-ID: <57A9075C-C095-11D8-838F-000A9566DC14@mac.com> My vServer app will involve people signing on and off. When a user signs off I am trying to nil references to databases etc. Firstly, even though I close databases and set their references to nil, RB shows the names of tables, references to vVarChars and things when I list object references. Obvioulsy, as a user repeatedly signs on and off these refs and memory usage will pile up. I tried putting a Destructor method into my db classes that killed all the objects but this doesn't even seem to be being called. Even when I call it manually it doesn't alter the reference count. I'm using RB 5.5.2. What is the best way around this? Thanks, Ian From sunshine at public.kherson.ua Fri Jun 18 08:16:32 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Jun 18 00:16:38 2004 Subject: RB Destructors/Destroying Stuff In-Reply-To: <57A9075C-C095-11D8-838F-000A9566DC14@mac.com> Message-ID: On 6/17/04 10:34 PM, "Ian Devaney" wrote: Hi Ian, > My vServer app will involve people signing on and off. > > When a user signs off I am trying to nil references to databases etc. In the client code? > Firstly, even though I close databases and set their references to nil, > RB shows the names of tables, references to vVarChars and things when I > list object references. In debugger window ? > Obvioulsy, as a user repeatedly signs on and off these refs and memory > usage will pile up. > > I tried putting a Destructor method into my db classes that killed all > the objects but this doesn't even seem to be being called. > > Even when I call it manually it doesn't alter the reference count. > > I'm using RB 5.5.2. > > What is the best way around this? Hmm, inside of rb debugger it is possible to see ref counter for object? How ? I have not see this. I believe that object = nil In ANY case must decrement counter, right? ------- May be you have other references to db object E.g. From window object? Does server show in log connection closed? -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From yeomans at desuetude.com Fri Jun 18 09:38:03 2004 From: yeomans at desuetude.com (Charles Yeomans) Date: Fri Jun 18 08:38:11 2004 Subject: RB Destructors/Destroying Stuff In-Reply-To: <57A9075C-C095-11D8-838F-000A9566DC14@mac.com> References: <57A9075C-C095-11D8-838F-000A9566DC14@mac.com> Message-ID: On Jun 17, 2004, at 3:34 PM, Ian Devaney wrote: > > My vServer app will involve people signing on and off. > > When a user signs off I am trying to nil references to databases etc. > > Firstly, even though I close databases and set their references to > nil, RB shows the names of tables, references to vVarChars and things > when I list object references. > > Obvioulsy, as a user repeatedly signs on and off these refs and memory > usage will pile up. > > I tried putting a Destructor method into my db classes that killed all > the objects but this doesn't even seem to be being called. This means that the reference count of the object is > 0. > > Even when I call it manually it doesn't alter the reference count. This is correct behavior. > > I'm using RB 5.5.2. > > What is the best way around this? It sounds like you have a reference somewhere else that you're overlooking. Charles Yeomans From rjb at rz.uni-potsdam.de Fri Jun 18 18:00:41 2004 From: rjb at rz.uni-potsdam.de (Robert Brenstein) Date: Fri Jun 18 11:04:04 2004 Subject: [vxcmd] Cursor_AddRecords mangles field content In-Reply-To: References: Message-ID: > > >> It seems to be a bug in xcmd interface. > >Hi Robert, > >Thn you should be able get the same mistake using just > > one db > one table >Do > > Cursor_AddRecords() > >And send here data to fill 3 records. >E.g. Second record contain some empty values. > >Please show me such string with values. >It skip empty value and get next column or next row value? > > >-- >Best regards, >Ruslan Zasukhin [ I feel the need...the need for speed ] Okay, I just sacrified a couple hours to investigate this properly. I was wrong. The empty values are not the problem. I was right. There is a bug in xcmd. The problem is with record delimiter -- I have been relying on defaults, tab and return, assuming that what I get from Valentina will match the defaults. However, apparently the charcode used for return by SQLSelectRecords is not what AddRecords uses. If I have the following records: *** XML dump of the original data 169 3177 1 1 Di 13.15-14.45 2.05.11 3.12. 170 3177 2 1 Di 15.15-16.45 2.24.0.76 3.12. 171 3177 3 1 Do 15.15-16.45 2.24.0.52 5.12. 172 3177 4 1 Di 13.15-14.45 2.14.6.22 3.12. 173 3177 5 1 Di 13.15-14.45 2.14.6.06 3.12. 174 3177 6 1 Di 13.15-14.45 2.14.6.02 3.12. 175 3177 7 1 Do 13.15-14.45 2.24.0.76 5.12. and execute put Valentina("Database_SQLSelectRecords",dbName, query) into boKurs put Valentina("Cursor_AddRecords",crs,boKurs) into valResult I get (line wraps in the middle of fields are NOT artifact of email -- there is really a return inserted there): *** XML dump of produced records: 698 4177 1 1 Di 13.15-14.45 2.05.11 3.12. 4177 699 2 0 0 15.1 2.24.0.76 3.12. 4177 3 700 1 0 15 2.24 5.12. 4177 4 1 701 0 0 2 3.12 5 1 Di 702 13 2 3 1 Di 13.15-14.45 703 2 3 7 1 Do 13.15-14.45 2.24.0.76 704 5 0 0 Whereas the result should be exactly same records except 3177 lines should be 4177 for each record. As you can see, the last field of first record contains its value plus the first field of the second record. The same shift happens for each record. Of coursem due to variation of types of fields, some bogus values are truncated or replaced. If I specify delimiters explicitely put Valentina("Database_SQLSelectRecords",klv.DbName, query) into boKurs put Valentina("Cursor_AddRecords",crs,boKurs,tab,return) into valResult The results are correct. So, there is an easy workabout but this bug should be fixed as other people are likely to trip over the same. Robert Brenstein From sunshine at public.kherson.ua Fri Jun 18 20:07:08 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Jun 18 12:07:19 2004 Subject: [vxcmd] Cursor_AddRecords mangles field content In-Reply-To: Message-ID: On 6/18/04 7:00 PM, "Robert Brenstein" wrote: > As you can see, the last field of first record contains its value > plus the first field of the second record. The same shift happens for > each record. Of coursem due to variation of types of fields, some > bogus values are truncated or replaced. > > If I specify delimiters explicitely > > put Valentina("Database_SQLSelectRecords",klv.DbName, query) into boKurs > put Valentina("Cursor_AddRecords",crs,boKurs,tab,return) into valResult > > The results are correct. So, there is an easy workabout but this bug > should be fixed as other people are likely to trip over the same. Robert, This is on MAC ? -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From timdavis at amug.org Fri Jun 18 09:35:21 2004 From: timdavis at amug.org (Tim Davis) Date: Fri Jun 18 15:03:06 2004 Subject: Fwd: where fieldA not equals fieldB Message-ID: <7DBCBBA5-C145-11D8-ACA1-000A95D87648@amug.org> Hi, How do I structure a where sql condition to find where field a do not equal field b? I cannot get it to work at all. Examples: ... WHERE t1.fieldA <> t2.fieldB and t1.fieldC = t2.fieldD ... (this one claims an error in the expression) or ... WHERE NOT t1.fieldA = t2.fieldB and t1.fieldC = t2.fieldD ... (this example ignores the "NOT" condition) Thanks, Tim Davis V4RB, Vserver (version 1) From sunshine at public.kherson.ua Fri Jun 18 23:12:28 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Jun 18 15:12:41 2004 Subject: where fieldA not equals fieldB In-Reply-To: <7DBCBBA5-C145-11D8-ACA1-000A95D87648@amug.org> Message-ID: On 6/18/04 7:35 PM, "Tim Davis" wrote: Hi Tim, You should create BaseObject method and use it > How do I structure a where sql condition to find where field a do not > equal field b? I cannot get it to work at all. > > Examples: > > ... WHERE t1.fieldA <> t2.fieldB and t1.fieldC = t2.fieldD ... > (this one claims an error in the expression) > > or > ... WHERE NOT t1.fieldA = t2.fieldB and t1.fieldC = t2.fieldD ... > (this example ignores the "NOT" condition) -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From sunshine at public.kherson.ua Fri Jun 18 23:29:01 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Jun 18 15:29:11 2004 Subject: where fieldA not equals fieldB In-Reply-To: <7DBCBBA5-C145-11D8-ACA1-000A95D87648@amug.org> Message-ID: On 6/18/04 7:35 PM, "Tim Davis" wrote: > Hi, > > How do I structure a where sql condition to find where field a do not > equal field b? I cannot get it to work at all. > > Examples: > > ... WHERE t1.fieldA <> t2.fieldB and t1.fieldC = t2.fieldD ... > (this one claims an error in the expression) > > or > ... WHERE NOT t1.fieldA = t2.fieldB and t1.fieldC = t2.fieldD ... > (this example ignores the "NOT" condition) Try this SELECT t1.* FROM t1 WHERE NOT t1.A IN (SELECT fldB FROM T1, T2 WHERE t1.fieldC = t2.fieldD -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From va_refinancing at mail.com Fri Jun 18 16:21:45 2004 From: va_refinancing at mail.com (va_refinancing@mail.com) Date: Fri Jun 18 16:21:48 2004 Subject: VCurson.ImportText questions Message-ID: <20040618212145.F18011F4FF2@ws1-2.us4.outblaze.com> Can anyone point out where this REALbasic and Valentina (and MacOS) newbie went wrong with the following? I have a test file on OS X that looks like this: 1,2,3 2,3,4 3,4,5 And I have the following code to have a go at using ImportText (mDatabase is a valid database object): Dim result As Integer result = mDatabase.SQLExecute("CREATE TABLE test (col1 long, col2 long, col3 long)") If mDatabase.ErrNumber <> 0 Then MsgBox("Valentina error " + Str(mDatabase.ErrNumber) + ": " + mDatabase.ErrString) End If Dim theImportFile As FolderItem Dim theImportCursor As VCursor Dim iError As Integer theImportCursor = mDataBase.SqlSelect("SELECT * FROM test", kClient, kReadWrite, kRandom) theImportFile = GetOpenFolderItem("text") If theImportFile <> Nil Then theImportCursor.ImportText(theImportFile, ",") mDatabase.Flush iError = mDatabase.ErrNumber If iError <> 0 Then MsgBox("Valentina import error #" + Str(iError) + ": " + mDatabase.ErrString) End If End If When I execute this code, the table is created successfully, but there is no data in the table when I select from it. Any ideas where I've gone wrong? I've tried this with tables containing only a single column, with tab delimited text files, and several other variations, all with the same result. I don't get any errors (that I can detect), but I never see any of the imported data in my table. I have some much larger files that I need to import, but I can't even get a simple example to work. Thanks, Jon -- ___________________________________________________________ Sign-up for Ads Free at Mail.com http://promo.mail.com/adsfreejump.htm From sunshine at public.kherson.ua Sat Jun 19 09:09:56 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Sat Jun 19 01:10:05 2004 Subject: VCurson.ImportText questions In-Reply-To: <20040618212145.F18011F4FF2@ws1-2.us4.outblaze.com> Message-ID: On 6/19/04 12:21 AM, "va_refinancing@mail.com" wrote: Hi Jon, > Can anyone point out where this REALbasic and Valentina (and MacOS) > newbie went wrong with the following? I have a test file on OS X > that looks like this: > > 1,2,3 > 2,3,4 > 3,4,5 > > And I have the following code to have a go at using ImportText > (mDatabase is a valid database object): > > Dim result As Integer > result = mDatabase.SQLExecute("CREATE TABLE test (col1 long, > col2 long, col3 long)") > If mDatabase.ErrNumber <> 0 Then > MsgBox("Valentina error " + Str(mDatabase.ErrNumber) + > ": " + mDatabase.ErrString) > End If > > Dim theImportFile As FolderItem > Dim theImportCursor As VCursor > Dim iError As Integer > theImportCursor = mDataBase.SqlSelect("SELECT * FROM > test", kClient, kReadWrite, kRandom) ^^^^^^^ mistake kClient cursor is always read only, even if in second parameter you write ReadWrite. ClientSide cursor always read only. > theImportFile = GetOpenFolderItem("text") > If theImportFile <> Nil Then > theImportCursor.ImportText(theImportFile, ",") > mDatabase.Flush > iError = mDatabase.ErrNumber > If iError <> 0 Then > MsgBox("Valentina import error #" + Str(iError) + > ": " + mDatabase.ErrString) > End If > End If -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From sunshine at public.kherson.ua Sat Jun 19 11:10:45 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Sat Jun 19 03:10:52 2004 Subject: [FYI] Apple error codes online Message-ID: http://members.aol.com/rustleware/aec.html -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From idevaney at mac.com Sat Jun 19 10:13:34 2004 From: idevaney at mac.com (Ian Devaney) Date: Sat Jun 19 04:14:03 2004 Subject: RB Destructors/Destroying Stuff In-Reply-To: <20040618202919.9F91115ADB0@edison.macserve.net> References: <20040618202919.9F91115ADB0@edison.macserve.net> Message-ID: > > Hi Ian, > >> My vServer app will involve people signing on and off. >> >> When a user signs off I am trying to nil references to databases etc. > > In the client code? Yes. > >> Firstly, even though I close databases and set their references to >> nil, >> RB shows the names of tables, references to vVarChars and things when >> I >> list object references. > > In debugger window ? No. > Hmm, inside of rb debugger it is possible to see ref counter for > object? > How ? > > I have not see this. runtime.ObjectCount > ------- > May be you have other references to db object > E.g. From window object? Guess I must have! > Does server show in log > connection closed? > Will check. Cheers, Ian From idevaney at mac.com Sat Jun 19 10:14:41 2004 From: idevaney at mac.com (Ian Devaney) Date: Sat Jun 19 04:15:03 2004 Subject: RB Destructors/Destroying Stuff In-Reply-To: <20040618202919.9F91115ADB0@edison.macserve.net> References: <20040618202919.9F91115ADB0@edison.macserve.net> Message-ID: <18D1FCBA-C1D1-11D8-838F-000A9566DC14@mac.com> On 18 Jun 2004, at 9:29 pm, valentina-request@lists.macserve.net wrote: >> >> I tried putting a Destructor method into my db classes that killed all >> the objects but this doesn't even seem to be being called. > > This means that the reference count of the object is > 0. > > It sounds like you have a reference somewhere else that you're > overlooking. > > Charles Yeomans Seems I must have! Thanks, Ian From gregkowalski at earthlink.net Sat Jun 19 17:31:17 2004 From: gregkowalski at earthlink.net (Gregory Kowalski) Date: Sat Jun 19 16:30:26 2004 Subject: AddReccord question In-Reply-To: <20040615184058.7B718157769@edison.macserve.net> References: <20040615184058.7B718157769@edison.macserve.net> Message-ID: Hello, To add a record to a db, must the cursor always contain all the records in the table? In other words, must the cursor's query always be SELECT * FROM mytable? If so, when the db is very large (say 500.000 records) creating the cursor could take some time - or is it negligible? Greg From sunshine at public.kherson.ua Sun Jun 20 00:37:35 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Sat Jun 19 16:39:07 2004 Subject: AddReccord question In-Reply-To: Message-ID: On 6/20/04 12:31 AM, "Gregory Kowalski" wrote: > Hello, > > To add a record to a db, must the cursor always contain all the records > in the table? In other words, must the cursor's query always be SELECT > * FROM mytable? If so, when the db is very large (say 500.000 records) > creating the cursor could take some time - or is it negligible? No, the better to use EMPTY cursor select * from T where RecID = 0 -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From rjb at rz.uni-potsdam.de Sun Jun 20 14:40:41 2004 From: rjb at rz.uni-potsdam.de (Robert Brenstein) Date: Sun Jun 20 07:50:02 2004 Subject: [vxcmd] Cursor_AddRecords mangles field content In-Reply-To: References: Message-ID: >On 6/18/04 7:00 PM, "Robert Brenstein" wrote: > >> As you can see, the last field of first record contains its value >> plus the first field of the second record. The same shift happens for >> each record. Of coursem due to variation of types of fields, some >> bogus values are truncated or replaced. >> >> If I specify delimiters explicitely >> >> put Valentina("Database_SQLSelectRecords",klv.DbName, query) into boKurs >> put Valentina("Cursor_AddRecords",crs,boKurs,tab,return) into valResult >> >> The results are correct. So, there is an easy workabout but this bug >> should be fixed as other people are likely to trip over the same. > >Robert, > >This is on MAC ? > yes. From va_refinancing at mail.com Mon Jun 21 11:35:32 2004 From: va_refinancing at mail.com (va_refinancing@mail.com) Date: Mon Jun 21 11:35:54 2004 Subject: VCurson.ImportText questions Message-ID: <20040621163533.2645B101D8@ws1-3.us4.outblaze.com> >> Dim theImportFile As FolderItem >> Dim theImportCursor As VCursor >> Dim iError As Integer >> theImportCursor = mDataBase.SqlSelect("SELECT * FROM >> test", kClient, kReadWrite, kRandom) >^^^^^^^ mistake > > kClient cursor is always read only, > even if in second parameter you write ReadWrite. > > ClientSide cursor always read only. Ruslan, I would have anticipated some sort of error condition if I attempted to import into a read-only cursor. I changed kClient to kServer, but I still encounter the same problem. I try to run the import, and while I get no errors reported from Valentina, nothing is imported into the table. Is there something else that I'm doing wrong here? Here's the modified code: Dim result As Integer result = mDatabase.SQLExecute("CREATE TABLE test (col1 long, col2 long, col3 long)") If mDatabase.ErrNumber <> 0 Then MsgBox("Valentina error " + Str(mDatabase.ErrNumber) + ": " + mDatabase.ErrString) End If Dim theImportFile As FolderItem Dim theImportCursor As VCursor theImportCursor = mDataBase.SqlSelect("SELECT * FROM test", kServer, kReadWrite, kRandom) theImportFile = GetOpenFolderItem("") If theImportFile <> Nil Then theImportCursor.ImportText(theImportFile, ",") If mDatabase.ErrNumber <> 0 Then MsgBox("Valentina import error #" + Str(mDatabase.ErrNumber) + ": " + mDatabase.ErrString) End If mDatabase.Flush End If If anyone can point me to a simple example of using ImportText, I'd love to look it over. As it is, I'm stumped... Thanks, Jon P.S. - Sorry to all for the typo in the subject line. It obviously should have been VCursor.ImportText (in case anyone uses a text search for this topic in the future...). -- ___________________________________________________________ Sign-up for Ads Free at Mail.com http://promo.mail.com/adsfreejump.htm From sunshine at public.kherson.ua Mon Jun 21 22:44:11 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Mon Jun 21 14:44:33 2004 Subject: VCurson.ImportText questions In-Reply-To: <20040621163533.2645B101D8@ws1-3.us4.outblaze.com> Message-ID: On 6/21/04 7:35 PM, "va_refinancing@mail.com" wrote: Hi Jon, First of all, if your project is so simple as this code, You can send it to me for testing. > Ruslan, > > I would have anticipated some sort of error condition if I attempted to import > into a read-only cursor. I changed kClient to kServer, but I still encounter > the same problem. I try to run the import, and while I get no errors reported > from Valentina, nothing is imported into the table. Is there something else > that I'm doing wrong here? Here's the modified code: > > Dim result As Integer > result = mDatabase.SQLExecute("CREATE TABLE test (col1 long, col2 long, col3 > long)") > > If mDatabase.ErrNumber <> 0 Then > MsgBox("Valentina error " + Str(mDatabase.ErrNumber) + ": " + > mDatabase.ErrString) > End If > > Dim theImportFile As FolderItem > Dim theImportCursor As VCursor > > theImportCursor = mDataBase.SqlSelect("SELECT * FROM test", kServer, > kReadWrite, kRandom) > > theImportFile = GetOpenFolderItem("") > If theImportFile <> Nil Then > theImportCursor.ImportText(theImportFile, ",") > If mDatabase.ErrNumber <> 0 Then > MsgBox("Valentina import error #" + Str(mDatabase.ErrNumber) + ": " + > mDatabase.ErrString) > End If > mDatabase.Flush > End If > > > If anyone can point me to a simple example of using ImportText, I'd love to > look it over. As it is, I'm stumped... > > Thanks, > > Jon > > > P.S. - Sorry to all for the typo in the subject line. It obviously should > have been VCursor.ImportText (in case anyone uses a text search for this topic > in the future...). -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From sunshine at public.kherson.ua Mon Jun 21 22:46:46 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Mon Jun 21 14:47:00 2004 Subject: VCurson.ImportText questions In-Reply-To: <20040621163533.2645B101D8@ws1-3.us4.outblaze.com> Message-ID: On 6/21/04 7:35 PM, "va_refinancing@mail.com" wrote: > I would have anticipated some sort of error condition if I attempted to import > into a read-only cursor. I changed kClient to kServer, but I still encounter > the same problem. I try to run the import, and while I get no errors reported > from Valentina, nothing is imported into the table. Is there something else > that I'm doing wrong here? Here's the modified code: > > Dim result As Integer > result = mDatabase.SQLExecute("CREATE TABLE test (col1 long, col2 long, col3 > long)") > > If mDatabase.ErrNumber <> 0 Then > MsgBox("Valentina error " + Str(mDatabase.ErrNumber) + ": " + > mDatabase.ErrString) > End If > > Dim theImportFile As FolderItem > Dim theImportCursor As VCursor > > theImportCursor = mDataBase.SqlSelect("SELECT * FROM test", kServer, > kReadWrite, kRandom) > > theImportFile = GetOpenFolderItem("") > If theImportFile <> Nil Then > theImportCursor.ImportText(theImportFile, ",") > If mDatabase.ErrNumber <> 0 Then > MsgBox("Valentina import error #" + Str(mDatabase.ErrNumber) + ": " + > mDatabase.ErrString) > End If > mDatabase.Flush > End If > > > If anyone can point me to a simple example of using ImportText, I'd love to > look it over. As it is, I'm stumped... You work on AMC or WIN ? Where from comes file to import? How it looks? What line-ends it have? Mac or Win? Try to import that file into your table using of of this GUI utils: Valentina Studio VAPP for MAC viSQL for all -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From va_refinancing at mail.com Mon Jun 21 15:52:08 2004 From: va_refinancing at mail.com (va_refinancing@mail.com) Date: Mon Jun 21 15:52:27 2004 Subject: VCurson.ImportText questions Message-ID: <20040621205208.507AD4BDAB@ws1-1.us4.outblaze.com> > You work on AMC or WIN ? > > Where from comes file to import? > > How it looks? > > What line-ends it have? Mac or Win? > > Try to import that file into your table using of of this GUI utils: > Valentina Studio > VAPP for MAC > viSQL for all Ruslan, I am working on Mac OS 10.3.4 with REALbasic 5.5.2 and Valentina for REALbasic 1.10. I have tried files with comma and tab delimiters and with Mac and UNIX newlines (I haven't tried Windows yet) in both Valentina Studio and ViSQL. I tried to use VAPP, but I can't get the Import menu item enabled. So far, I have been unable to make any import work. I created the files that I am trying to import with TextEdit and BBEdit. One example looks like this: 1,2,3 2,3,4 3,4,5 There are no newlines before the first line or after the last line. Does ImportText expect to find column headings, a leading newline, or something else in the import file? Thanks, Jon -- ___________________________________________________________ Sign-up for Ads Free at Mail.com http://promo.mail.com/adsfreejump.htm From sunshine at public.kherson.ua Tue Jun 22 00:22:11 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Mon Jun 21 16:22:26 2004 Subject: VCurson.ImportText questions In-Reply-To: <20040621205208.507AD4BDAB@ws1-1.us4.outblaze.com> Message-ID: On 6/21/04 11:52 PM, "va_refinancing@mail.com" wrote: > Ruslan, > > I am working on Mac OS 10.3.4 with REALbasic 5.5.2 and Valentina for REALbasic > 1.10. > > I have tried files with comma and tab delimiters and with Mac and UNIX > newlines (I haven't tried Windows yet) in both Valentina Studio and ViSQL. I > tried to use VAPP, but I can't get the Import menu item enabled. For this you should switch to DATA browser. Open your db and click button "U" > So far, I > have been unable to make any import work. > > I created the files that I am trying to import with TextEdit and BBEdit. One > example looks like this: > > 1,2,3 > 2,3,4 > 3,4,5 > > There are no newlines before the first line or after the last line. Does > ImportText expect to find column headings, a leading newline, or something > else in the import file? No, should be only data -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From guillermo at parsec.info Tue Jun 22 13:59:41 2004 From: guillermo at parsec.info (Guillermo) Date: Tue Jun 22 07:00:06 2004 Subject: V4RB Windows license cuestion In-Reply-To: <20040621194449.3631015E398@edison.macserve.net> References: <20040621194449.3631015E398@edison.macserve.net> Message-ID: It's possible to buy a V4RB Windows license? I only want to buy only the Windows one not the Mac one but in the web site only list "V4RB Mac" and "V4FB Mac+Win", Where is "V4RB Win"? Best regard Guillermo From sunshine at public.kherson.ua Tue Jun 22 15:15:37 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue Jun 22 07:16:00 2004 Subject: V4RB Windows license cuestion In-Reply-To: Message-ID: On 6/22/04 2:59 PM, "Guillermo" wrote: Hi Guillermo, > It's possible to buy a V4RB Windows license? I only want to buy only > the Windows one not the Mac one but in the web site only list "V4RB > Mac" and "V4FB Mac+Win", Where is "V4RB Win"? Well, this should be changed. For now, please choose option V4RB MAC, But in the comment line add: "This is for V4RB WIN only." -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From andrew at learningware.com Tue Jun 22 09:55:20 2004 From: andrew at learningware.com (Andrew Sinning) Date: Tue Jun 22 09:49:22 2004 Subject: V4MD: reducing file size In-Reply-To: Message-ID: I'm trying to figure out how to clean up the garbage in my database. After deleting 80% of records, I Flush, Dump, CloseDatabase, and then LoadDump, but the size of my database files (notably the .dat file) stay the same. -- Flush dbConn.Flush() -- Dump dumpFile = dbFile&"_dump.txt" dbConn.Dump(dumpFile,2) -- close conn CloseDatabase(dbConn) -- delete existing files folder = GetContainingPath(dbFile) fileRoot = GetLastPathItem(dbFile) baDeleteXFiles(folder, fileRoot&".*" ) -- create new dbConn.LoadDump(dumpFile,dbFile,2) -- connect dbConn.OpenDatabase(dbFile) I have confirmed that I am actually deleting the existing files before the LoadDump. The size of the dumpFile is 1.6Mb, but the size of the .dat file is 4.7Mb. What am I doing wrong? From sunshine at public.kherson.ua Tue Jun 22 18:39:50 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue Jun 22 10:40:36 2004 Subject: V4MD: reducing file size In-Reply-To: Message-ID: On 6/22/04 5:55 PM, "Andrew Sinning" wrote: Hi Andrew, > I'm trying to figure out how to clean up the garbage in my database. > > After deleting 80% of records, I Flush, Dump, CloseDatabase, and then > LoadDump, but the size of my database files (notably the .dat file) stay > the same. > > -- Flush > dbConn.Flush() > -- Dump > dumpFile = dbFile&"_dump.txt" > dbConn.Dump(dumpFile,2) > -- close conn > CloseDatabase(dbConn) > -- delete existing files > folder = GetContainingPath(dbFile) > fileRoot = GetLastPathItem(dbFile) > baDeleteXFiles(folder, fileRoot&".*" ) > -- create new > dbConn.LoadDump(dumpFile,dbFile,2) > -- connect > dbConn.OpenDatabase(dbFile) > > I have confirmed that I am actually deleting the existing files before > the LoadDump. > > The size of the dumpFile is 1.6Mb, but the size of the .dat file is > 4.7Mb. > > What am I doing wrong? XML Load -> remove ANY garbage. If you have not many data, just 1.6MB But db you get bigger, Then you can make it smaller if you set db.segment size not 32KB But 16 or 8KB -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From andrew at learningware.com Tue Jun 22 11:20:17 2004 From: andrew at learningware.com (Andrew Sinning) Date: Tue Jun 22 11:14:16 2004 Subject: V4MD: reducing file size In-Reply-To: Message-ID: >>Then you can make it smaller if you set db.segment size not 32KB How do I do that with a LoadDump() ? I see that for CreateDatabase, there is a segmentSize param: CreateDatabase object me, string path, [integer Mode], [integer SizeOfCluster] But for LoadDump, there is no such param: LoadDump object me, string pathDumpFile, string pathNewDb, integer inKind Thanks. -----Original Message----- From: valentina-bounces@lists.macserve.net [mailto:valentina-bounces@lists.macserve.net]On Behalf Of Ruslan Zasukhin Sent: Tuesday, June 22, 2004 10:40 AM To: valentina@lists.macserve.net Subject: Re: V4MD: reducing file size On 6/22/04 5:55 PM, "Andrew Sinning" wrote: Hi Andrew, > I'm trying to figure out how to clean up the garbage in my database. > > After deleting 80% of records, I Flush, Dump, CloseDatabase, and then > LoadDump, but the size of my database files (notably the .dat file) stay > the same. > > -- Flush > dbConn.Flush() > -- Dump > dumpFile = dbFile&"_dump.txt" > dbConn.Dump(dumpFile,2) > -- close conn > CloseDatabase(dbConn) > -- delete existing files > folder = GetContainingPath(dbFile) > fileRoot = GetLastPathItem(dbFile) > baDeleteXFiles(folder, fileRoot&".*" ) > -- create new > dbConn.LoadDump(dumpFile,dbFile,2) > -- connect > dbConn.OpenDatabase(dbFile) > > I have confirmed that I am actually deleting the existing files before > the LoadDump. > > The size of the dumpFile is 1.6Mb, but the size of the .dat file is > 4.7Mb. > > What am I doing wrong? XML Load -> remove ANY garbage. If you have not many data, just 1.6MB But db you get bigger, Then you can make it smaller if you set db.segment size not 32KB But 16 or 8KB -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- _______________________________________________ Valentina mailing list Valentina@lists.macserve.net http://lists.macserve.net/mailman/listinfo/valentina From va_refinancing at mail.com Tue Jun 22 11:45:25 2004 From: va_refinancing at mail.com (va_refinancing@mail.com) Date: Tue Jun 22 11:44:37 2004 Subject: ImportText failures Message-ID: <20040622164525.AA7291F4FF2@ws1-2.us4.outblaze.com> Ruslan, I managed to get some imports to work from VAPP (except for those with UNIX newlines and those with one line and no newline). Then, with the help of a hex editor, I even managed to get ImportText to work from REALbasic, but only under certain circumstances. All of my tests used a table with only three "long" fields. Here's a rundown of my experience using Valentina for REALbasic 1.10, REALbasic 5.5.2 Professional, and Mac OS 10.3.4: 1. myCursor.ImportText(ImportFile, ",") - Fails on a one line CSV file if there is no newline at the end of the line. - Works on a one line CSV file if there is a newline - Chr(13) - at the end of the line. - Only imports the first line of a multi-line CSV file, and then only if the last line ends with a newline - Chr(13). 2. myCursor.ImportText(ImportFile, ",", Chr(10)) - Fails for all files with UNIX newlines. 3. myCursor.ImportText(ImportFile, ",", Chr(13) + Chr(10)) - Fails on a one line CSV file if there is no newline at the end of the line. - Works on a one line CSV file if there is a newline - Chr(13) + Chr(10) - at the end of the line. - Imports only the first line of any multi-line file, and then only if the last line ends with a newline - Chr(13) + Chr(10). 4. myCursor.ImportText(ImportFile) - Fails for a one line tab separated value (TSV) file if there is no newline at the end of the line. - Works for a one line TSV file if there is a newline - Chr(13) - at the end of the line. - Works for multi-line TSV files, even if the last line does not end with a newline - Chr(13). 5. myCursor.ImportText(ImportFile, Chr(9), Chr(10)) - Fails for all files with UNIX newlines 6. myCursor.ImportText(ImportFile, Chr(9), Chr(13) + Chr(10)) - Fails on a one line TSV file if there is no newline at the end of the line. - Works on a one line TSV file if there is a newline - Chr(13) + Chr(10) - at the end of the line. - Works on a multi-line TSV file, even if the last line does not end with a newline - Chr(13) + Chr(10) I haven't tested with any other delimiters, but it seems pretty consistent that the import fails with 0xA newline characters. It appears to only work with 0xD and 0xD 0xA newlines if the last line is terminated with a newline when using comma delimiters. With the default tab delimiter, it appears to work in all cases except for UNIX newlines and single line files with no terminating newline. With this in mind, I am hopeful that I can get the data that I need for my project imported into a Valentina database. Please let me know if you see anything wrong with the code above that would account for the problems. It would be nice if ImportText returned a value indicating the number of records imported, especially if Valentina can't/doesn't report an error condition when an import fails. Thank you for your help. Jon -- ___________________________________________________________ Sign-up for Ads Free at Mail.com http://promo.mail.com/adsfreejump.htm From andrew at learningware.com Tue Jun 22 12:30:21 2004 From: andrew at learningware.com (Andrew Sinning) Date: Tue Jun 22 12:24:32 2004 Subject: V4MD: reducing file size In-Reply-To: Message-ID: Ruslan, There must be something wrong with the structure of my database. Or maybe I don't understand the nature of the .dat file. I went back to my original db with all the unwanted entries in it. I did a dump and loaddump in order to compress. Here's what I got: the dump.txt (an XML file) : 12Mb the .vdb: 77Kb the .ind: 1,025Kb the .dat: 4,673Kb the .blb: 993 Then, I ran an number of SQLExecute("DELETE ....") queries, removing 90% of the entries in the database. Now when I do a dump and loaddump I get the following: the dump.txt (an XML file) : ONLY 1.6Mb the .vdb: 77Kb (same as before) the .ind: 1,089Kb (actually bigger?) the .dat: 4,673Kb (EXACTLY the same as before) the .blb: 289Kb (much smaller that before, as expected) Can you please help explain to me why the .dat file isn't getting any smaller? What is this file for? Thanks. -----Original Message----- From: valentina-bounces@lists.macserve.net [mailto:valentina-bounces@lists.macserve.net]On Behalf Of Andrew Sinning Sent: Tuesday, June 22, 2004 11:20 AM To: Valentina Developers Subject: RE: V4MD: reducing file size >>Then you can make it smaller if you set db.segment size not 32KB How do I do that with a LoadDump() ? I see that for CreateDatabase, there is a segmentSize param: CreateDatabase object me, string path, [integer Mode], [integer SizeOfCluster] But for LoadDump, there is no such param: LoadDump object me, string pathDumpFile, string pathNewDb, integer inKind Thanks. -----Original Message----- From: valentina-bounces@lists.macserve.net [mailto:valentina-bounces@lists.macserve.net]On Behalf Of Ruslan Zasukhin Sent: Tuesday, June 22, 2004 10:40 AM To: valentina@lists.macserve.net Subject: Re: V4MD: reducing file size On 6/22/04 5:55 PM, "Andrew Sinning" wrote: Hi Andrew, > I'm trying to figure out how to clean up the garbage in my database. > > After deleting 80% of records, I Flush, Dump, CloseDatabase, and then > LoadDump, but the size of my database files (notably the .dat file) stay > the same. > > -- Flush > dbConn.Flush() > -- Dump > dumpFile = dbFile&"_dump.txt" > dbConn.Dump(dumpFile,2) > -- close conn > CloseDatabase(dbConn) > -- delete existing files > folder = GetContainingPath(dbFile) > fileRoot = GetLastPathItem(dbFile) > baDeleteXFiles(folder, fileRoot&".*" ) > -- create new > dbConn.LoadDump(dumpFile,dbFile,2) > -- connect > dbConn.OpenDatabase(dbFile) > > I have confirmed that I am actually deleting the existing files before > the LoadDump. > > The size of the dumpFile is 1.6Mb, but the size of the .dat file is > 4.7Mb. > > What am I doing wrong? XML Load -> remove ANY garbage. If you have not many data, just 1.6MB But db you get bigger, Then you can make it smaller if you set db.segment size not 32KB But 16 or 8KB -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- _______________________________________________ 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 sunshine at public.kherson.ua Tue Jun 22 20:28:20 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue Jun 22 12:28:54 2004 Subject: V4MD: reducing file size In-Reply-To: Message-ID: On 6/22/04 7:20 PM, "Andrew Sinning" wrote: >>> Then you can make it smaller if you set db.segment size not 32KB > > How do I do that with a LoadDump() ? You can open dump and close to begin find Change its value to 8KB > I see that for CreateDatabase, there is a segmentSize param: > > CreateDatabase object me, string path, [integer Mode], [integer > SizeOfCluster] > > But for LoadDump, there is no such param: > > LoadDump object me, string pathDumpFile, string pathNewDb, integer > inKind -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From sunshine at public.kherson.ua Tue Jun 22 20:30:47 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue Jun 22 12:31:25 2004 Subject: ImportText failures In-Reply-To: <20040622164525.AA7291F4FF2@ws1-2.us4.outblaze.com> Message-ID: On 6/22/04 7:45 PM, "va_refinancing@mail.com" wrote: > Ruslan, > > I managed to get some imports to work from VAPP (except for those with UNIX > newlines and those with one line and no newline). Jon, First of all TIP to you. Using VAPP it is possible to make few records, Then make EXPORT to text file and see what you get. Sometimes this help understand what is expected. 2) I am not sure, it seems Valentina is not able import text with UNIX new lines. You need convert such text files. In Valentina 2.0 this is fixed. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From sunshine at public.kherson.ua Tue Jun 22 20:37:29 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue Jun 22 12:38:09 2004 Subject: V4MD: reducing file size In-Reply-To: Message-ID: On 6/22/04 8:30 PM, "Andrew Sinning" wrote: > Ruslan, > > There must be something wrong with the structure of my database. Or > maybe I don't understand the nature of the .dat file. > > I went back to my original db with all the unwanted entries in it. I > did a dump and loaddump in order to compress. Here's what I got: > > the dump.txt (an XML file) : 12Mb > the .vdb: 77Kb > the .ind: 1,025Kb > the .dat: 4,673Kb > the .blb: 993 > > Then, I ran an number of SQLExecute("DELETE ....") queries, removing 90% > of the entries in the database. Now when I do a dump and loaddump I get > the following: > > the dump.txt (an XML file) : ONLY 1.6Mb > the .vdb: 77Kb (same as before) > the .ind: 1,089Kb (actually bigger?) > the .dat: 4,673Kb (EXACTLY the same as before) > the .blb: 289Kb (much smaller that before, as expected) > > Can you please help explain to me why the .dat file isn't getting any > smaller? What is this file for? Easy. 1) .dat file contains records of table. So this is MAIN File. 2) Valentina keep each field in the separate logical internal file. each file allocate disk space by segments. so minimal allocation for a file is 32KB on default. 3) when you have NOT many data in your tables or even EMPTY tables, Valentina still will pre-allocate that segment for each file. in fact it is filled by ZEROs, so you may find that it can be compressed with excellent rate! up to 95% so if you worry about DOWNLOAD size of you archive, no problems, compressed db will be small. 4) For dbs that have not many data, and in case developer VERY need/want get small file size, you need set smaller segment size. You can set it even 2KB. So you EMPTY db will become in 16 times less. But if you have e.g. Empty db size 10MB, nut later you enter 100MB of data, Then no need set segment small. 5) I have told already, on XML dump file change value of tag then make LOAD. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From sunshine at public.kherson.ua Tue Jun 22 20:39:56 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue Jun 22 12:40:15 2004 Subject: ImportText failures In-Reply-To: <20040622164525.AA7291F4FF2@ws1-2.us4.outblaze.com> Message-ID: On 6/22/04 7:45 PM, "va_refinancing@mail.com" wrote: I have CC this to our developer team list. We will try add such tests for 2.0 > I managed to get some imports to work from VAPP (except for those with UNIX > newlines and those with one line and no newline). Then, with the help of a > hex editor, I even managed to get ImportText to work from REALbasic, but only > under certain circumstances. All of my tests used a table with only three > "long" fields. Here's a rundown of my experience using Valentina for > REALbasic 1.10, REALbasic 5.5.2 Professional, and Mac OS 10.3.4: > > 1. myCursor.ImportText(ImportFile, ",") > > - Fails on a one line CSV file if there is no newline at the end of the > line. > - Works on a one line CSV file if there is a newline - Chr(13) - at the end > of the line. > - Only imports the first line of a multi-line CSV file, and then only if the > last line ends with a newline - Chr(13). > > 2. myCursor.ImportText(ImportFile, ",", Chr(10)) > - Fails for all files with UNIX newlines. > > 3. myCursor.ImportText(ImportFile, ",", Chr(13) + Chr(10)) > - Fails on a one line CSV file if there is no newline at the end of the > line. > - Works on a one line CSV file if there is a newline - Chr(13) + Chr(10) - > at the end of the line. > - Imports only the first line of any multi-line file, and then only if the > last line ends with a newline - Chr(13) + Chr(10). > > 4. myCursor.ImportText(ImportFile) > - Fails for a one line tab separated value (TSV) file if there is no newline > at the end of the line. > - Works for a one line TSV file if there is a newline - Chr(13) - at the end > of the line. > - Works for multi-line TSV files, even if the last line does not end with a > newline - Chr(13). > > 5. myCursor.ImportText(ImportFile, Chr(9), Chr(10)) > - Fails for all files with UNIX newlines > > 6. myCursor.ImportText(ImportFile, Chr(9), Chr(13) + Chr(10)) > - Fails on a one line TSV file if there is no newline at the end of the > line. > - Works on a one line TSV file if there is a newline - Chr(13) + Chr(10) - > at the end of the line. > - Works on a multi-line TSV file, even if the last line does not end with a > newline - Chr(13) + Chr(10) > > > I haven't tested with any other delimiters, but it seems pretty consistent > that the import fails with 0xA newline characters. It appears to only work > with 0xD and 0xD 0xA newlines if the last line is terminated with a newline > when using comma delimiters. With the default tab delimiter, it appears to > work in all cases except for UNIX newlines and single line files with no > terminating newline. > > With this in mind, I am hopeful that I can get the data that I need for my > project imported into a Valentina database. Please let me know if you see > anything wrong with the code above that would account for the problems. I think all right. You have find some glitches and holes in Valentina 1.x import, as I see. In Valentina 2.0 we have made instead by-hand parser of text file, A new parser generated by ANTLR. > It would be nice if ImportText returned a value indicating the number of > records imported, especially if Valentina can't/doesn't report an error > condition when an import fails. If you do Cursor.Import() then after import cursor have ALL imported records. So you can ask it how many records was added, and even delete all imported records to refuse operation. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From andrew at learningware.com Tue Jun 22 12:55:57 2004 From: andrew at learningware.com (Andrew Sinning) Date: Tue Jun 22 12:50:02 2004 Subject: V4MD: reducing file size In-Reply-To: Message-ID: >You can open dump and close to begin find > >Change its value to 8KB So, in the xml file I see: What should I change this to? ??? Sorry, I don't really understand XML. Thanks. From andrew at learningware.com Tue Jun 22 13:00:13 2004 From: andrew at learningware.com (Andrew Sinning) Date: Tue Jun 22 12:54:13 2004 Subject: V4MD: reducing file size In-Reply-To: Message-ID: > when you have NOT many data in your tables or even EMPTY tables, Valentina still will pre-allocate that segment for each file. What do you mean by "for each file" ?? Please define "file". I don't understand why in the world would the .dat file be EXACTLY the same size when I have removed 90% of records. Does the .dat have by default space for some X number of records. I understand that it has to make room for the data in each record. But more records should result in more space, and fewer records should result in less space. I'm not saying you are wrong (obviously). I'm just saying that I don't understand your explaination. From sunshine at public.kherson.ua Tue Jun 22 20:55:46 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue Jun 22 12:56:29 2004 Subject: V4MD: reducing file size In-Reply-To: Message-ID: On 6/22/04 8:55 PM, "Andrew Sinning" wrote: >> You can open dump and close to begin find > >> > >> Change its value to 8KB > > So, in the xml file I see: > > > > What should I change this to? > > > > ??? > > Sorry, I don't really understand XML. Must be another entry below. Make search next -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From andrew at learningware.com Tue Jun 22 13:11:00 2004 From: andrew at learningware.com (Andrew Sinning) Date: Tue Jun 22 13:05:02 2004 Subject: V4MD: reducing file size In-Reply-To: Message-ID: >>Must be another entry below. The other entries only pertain to the blob data: BLOB 0 0 0 0 1 128 This ends up in the .blb file and therefore shouldn't effect the size of the .dat, correct? -----Original Message----- From: valentina-bounces@lists.macserve.net [mailto:valentina-bounces@lists.macserve.net]On Behalf Of Ruslan Zasukhin Sent: Tuesday, June 22, 2004 12:56 PM To: valentina@lists.macserve.net Subject: Re: V4MD: reducing file size On 6/22/04 8:55 PM, "Andrew Sinning" wrote: >> You can open dump and close to begin find > >> > >> Change its value to 8KB > > So, in the xml file I see: > > > > What should I change this to? > > > > ??? > > Sorry, I don't really understand XML. Make search next -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- _______________________________________________ Valentina mailing list Valentina@lists.macserve.net http://lists.macserve.net/mailman/listinfo/valentina From sunshine at public.kherson.ua Tue Jun 22 21:35:59 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue Jun 22 13:36:22 2004 Subject: V4MD: reducing file size In-Reply-To: Message-ID: On 6/22/04 9:00 PM, "Andrew Sinning" wrote: >> when you have NOT many data in your tables or even EMPTY tables, > Valentina still will pre-allocate that segment for each file. > > > What do you mean by "for each file" ?? Please define "file". I don't > understand why in the world would the .dat file be EXACTLY the same size > when I have removed 90% of records. Ok, look. Valentina keep db in 1-4 files, right? This means that Valentina have own INTERNAL FILE system. This means that when you create a field in table, Valentina may create FEW logical internal disk files - one for field - for BLOB and VarChar one helper file - one for index - may be another helper index So if you will make in table 10 fields, Valentina allocate 10 segments. 10 *32 = 320KB. If you make in table 100 fields, then empty table will use 100 * 32 = 3.2MB Minimum. -- Now why after deletion you do not see reducing. You have LONG fields, yes? 4 bytes. 32KB segment can contain 8000 records. So if you have ZERO or 1 or 2 or ... 8000 records then you still will use one segment. Only when you add 8001 record, then Valentina will allocate next 32KB on disk. You see? > Does the .dat have by default space for some X number of records. In general yes, but it is not psosiblle how many. Because for LONG field this is 32KB / 4 bytes = 8000 for byte field this is 32KB / 1 byte = 32000 records. for string much less. In other words if you have in record different types of fields, then each field will fill segment with different speed. You do not see this process, and should not care about this. > I understand that it has to make room for the data in each record. But more > records should result in more space, and fewer records should result in less > space. I'm not saying you are wrong (obviously). I'm just saying that I > don't understand your explaination. I hope now it is more clear. Just all big DBMS do such pre allocation. This is more effective. In fact MS SQL Server pre-allocate not one segment as Valentina, but 8 segments on default. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From sunshine at public.kherson.ua Tue Jun 22 21:38:31 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue Jun 22 13:38:48 2004 Subject: V4MD: reducing file size In-Reply-To: Message-ID: On 6/22/04 9:11 PM, "Andrew Sinning" wrote: >>> Must be another entry below. > > The other entries only pertain to the blob data: > > > BLOB > 0 > 0 > 0 > 0 > 1 > 128 > > > This ends up in the .blb file and therefore shouldn't effect the size of > the .dat, correct? That is for BLOB field. Let me check,... I do XML dump 4 32768 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Aha, this is what you need Put here 8192 -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From andrew at learningware.com Tue Jun 22 15:14:33 2004 From: andrew at learningware.com (Andrew Sinning) Date: Tue Jun 22 15:08:35 2004 Subject: V4MD: reducing file size In-Reply-To: Message-ID: Thanks. I was thinking in terms of the number of records, not in terms of the number of fields. I get it now: each field has it's own space within the file, and that space has a segment size. From joseph at lantis.cc Wed Jun 23 11:23:56 2004 From: joseph at lantis.cc (Joseph Lantis) Date: Wed Jun 23 10:24:10 2004 Subject: V4MD - Blob embedded images with text Message-ID: Hello, I am a Valentina and Director newbie and am attempting to use the Valentina dbe for a cd-rom project. I have imported my data into a vdb and have a blob field which contains some HTML formatted text data. This data may have a reference to zero, one, two or three image links. I need to know how to get the image references to display at the appropriate spot in the text. Is there a way to do this? Is there a way to change my image file source to some type of pointer to an image blob reference? Can I import both text data and image data into the same blob field? Example of datablob:

Background: Approximately half of CLL patients do not respond to alemtuzumab and others progress after responding to alemtuzumab. We report ...snipped data... relapse are reported. Results: The chance of response was associated with lymph node size (p <0.0001):


High dose methyl prednisolone (HDMP; 1g/m?/day x5 every 4 weeks; 4 patients) or CHOP (1) were used to reduce bulky nodes prior to alemtuzumab. 2 of 5 had a resolution of lymph nodes with both achieving MRD negative remissions with alemtuzumab. ...snipped data...

- Joseph From sunshine at public.kherson.ua Wed Jun 23 18:36:53 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Jun 23 10:39:15 2004 Subject: V4MD - Blob embedded images with text In-Reply-To: Message-ID: On 6/23/04 6:23 PM, "Joseph Lantis" wrote: Hi Joseph, > I am a Valentina and Director newbie and am attempting to use the Valentina > dbe for a cd-rom project. I have imported my data into a vdb and have a > blob field which contains some HTML formatted text data. This data may have > a reference to zero, one, two or three image links. I need to know how to > get the image references to display at the appropriate spot in the text. Is > there a way to do this? Is there a way to change my image file source to > some type of pointer to an image blob reference? > Can I import both text > data and image data into the same blob field? Only if you self prepare them to be as single block. 1) HTML text you better store not into BLOB field, but into TEXT field. 2) DBMS do not care about your HTML links inside of TEXT. so answer is no, there is no way to link your links to images stored in the db...you need build some own mechanism. For example, * you store some HTML into TEXT field of table 'HTML' when you do AddRecord() you get RecID of just added record. * you self parse and find link, and get images. let you store images into Table "Images" that have at least fields: HTML_ptr of ObjectPtr type. image of Picture type. So you store for example 3 images into this table, And each image you link to record in HTML table Assigning HTML_Ptr = recid of record. Now you will be able find in db images that are linked to that HTML document. > Example of datablob: > >

Background: Approximately half of CLL patients do > not > respond to alemtuzumab and others progress after responding to alemtuzumab. > We > report ...snipped data... relapse are reported. Results: The chance > of response was associated with lymph node size (p <0.0001):

> >

src="file:///G://AAAAA/04/DB/RTF/TABLE/PUBUpdatedTables/TIFs/B001823_1.tif" > type="image/tiff">

> >


> High dose methyl prednisolone (HDMP; 1g/m?/day x5 every 4 weeks; 4 patients) > or > CHOP (1) were used to reduce bulky nodes prior to alemtuzumab. 2 of 5 had a > resolution of lymph nodes with both achieving MRD negative remissions with > alemtuzumab. ...snipped data...

> >

src="file:///G://AAAAA/04/DB/RTF/TABLE/PUBUpdatedTables/TIFs/B001823_2.tif" > type="image/tiff">

-- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From joseph at lantis.cc Wed Jun 23 11:55:35 2004 From: joseph at lantis.cc (Joseph Lantis) Date: Wed Jun 23 10:55:41 2004 Subject: V4MD - Blob embedded images with text In-Reply-To: Message-ID: Thanks. I did import the HTML data into a Text field. When creating an object pointer for the image, it would link back to the HTML record, but how do I maintain the original position of the image within the text? - Joseph > From: Ruslan Zasukhin > Reply-To: Valentina Developers > Date: Wed, 23 Jun 2004 18:36:53 +0300 > To: > Subject: Re: V4MD - Blob embedded images with text > > On 6/23/04 6:23 PM, "Joseph Lantis" wrote: > > Hi Joseph, > >> I am a Valentina and Director newbie and am attempting to use the Valentina >> dbe for a cd-rom project. I have imported my data into a vdb and have a >> blob field which contains some HTML formatted text data. This data may have >> a reference to zero, one, two or three image links. I need to know how to >> get the image references to display at the appropriate spot in the text. Is >> there a way to do this? Is there a way to change my image file source to >> some type of pointer to an image blob reference? > >> Can I import both text >> data and image data into the same blob field? > > Only if you self prepare them to be as single block. > > 1) HTML text you better store not into BLOB field, but into TEXT field. > > 2) DBMS do not care about your HTML links inside of TEXT. > so answer is no, there is no way to link your links to images stored in > the db...you need build some own mechanism. > > For example, > > * you store some HTML into TEXT field of table 'HTML' > when you do AddRecord() you get RecID of just added record. > > * you self parse and find link, and get images. > > let you store images into Table "Images" that have at least fields: > > HTML_ptr of ObjectPtr type. > image of Picture type. > > So you store for example 3 images into this table, > And each image you link to record in HTML table > Assigning HTML_Ptr = recid of record. > > Now you will be able find in db images that are linked to that HTML > document. > >> Example of datablob: >> >>

Background: Approximately half of CLL patients do >> not >> respond to alemtuzumab and others progress after responding to alemtuzumab. >> We >> report ...snipped data... relapse are reported. Results: The chance >> of response was associated with lymph node size (p <0.0001):

>> >>

> src="file:///G://AAAAA/04/DB/RTF/TABLE/PUBUpdatedTables/TIFs/B001823_1.tif" >> type="image/tiff">

>> >>


>> High dose methyl prednisolone (HDMP; 1g/m?/day x5 every 4 weeks; 4 patients) >> or >> CHOP (1) were used to reduce bulky nodes prior to alemtuzumab. 2 of 5 had a >> resolution of lymph nodes with both achieving MRD negative remissions with >> alemtuzumab. ...snipped data...

>> >>

> src="file:///G://AAAAA/04/DB/RTF/TABLE/PUBUpdatedTables/TIFs/B001823_2.tif" >> type="image/tiff">

> > -- > Best regards, > Ruslan Zasukhin [ I feel the need...the need for speed ] > ------------------------------------------------------------- > e-mail: ruslan@paradigmasoft.com > web: http://www.paradigmasoft.com > > To subscribe to the Valentina mail list go to: > http://lists.macserve.net/mailman/listinfo/valentina > ------------------------------------------------------------- > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina > > From sunshine at public.kherson.ua Wed Jun 23 19:17:38 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Jun 23 11:18:49 2004 Subject: V4MD - Blob embedded images with text In-Reply-To: Message-ID: On 6/23/04 6:55 PM, "Joseph Lantis" wrote: > Thanks. I did import the HTML data into a Text field. When creating an > object pointer for the image, it would link back to the HTML record, but how > do I maintain the original position of the image within the text? Again I have no idea :-) You store into TEXT field the HTML text which still have URL links to that images, yes? I assume that links are RELATIVE, yes? What you want now? You want move this db to client computer? extract HTML, show it to user? where you will show it? In director? I.e. You self want manage that images ? Yes? Then 1) you do not need old links. Remove them from HTML 2) in the IMAGE table you need create one more field POSITON. so you will be assign to 3 images position 1, 2, 3, and correctly display them. Right? -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From lists at mangomultimedia.com Wed Jun 23 17:53:31 2004 From: lists at mangomultimedia.com (Trevor DeVore) Date: Wed Jun 23 18:53:42 2004 Subject: VXCMD crash on ShutDown Message-ID: <87E9A2BE-C570-11D8-A3B5-000A956C462A@mangomultimedia.com> I'm getting an application crash every time I call Valentina ("ShutDown") from version 1.10 of the VXCMD running in a Revolution 2.2 executable on Windows. I checked the debug log and I get "Valentina Shutdown..." as the last message before the crash. Anybody else experience this or know what might be causing it? -- Trevor DeVore Blue Mango Multimedia trevor@mangomultimedia.com From sunshine at public.kherson.ua Thu Jun 24 08:40:36 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Thu Jun 24 00:40:48 2004 Subject: VXCMD crash on ShutDown In-Reply-To: <87E9A2BE-C570-11D8-A3B5-000A956C462A@mangomultimedia.com> Message-ID: On 6/24/04 2:53 AM, "Trevor DeVore" wrote: > I'm getting an application crash every time I call Valentina > ("ShutDown") from version 1.10 of the VXCMD running in a Revolution 2.2 > executable on Windows. I checked the debug log and I get "Valentina > Shutdown..." as the last message before the crash. Anybody else > experience this or know what might be causing it? Hi Trevor, Is this in one project only or in each ? Have you try example project? May be you have not close db before that? -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From lists at mangomultimedia.com Wed Jun 23 23:49:51 2004 From: lists at mangomultimedia.com (Trevor DeVore) Date: Thu Jun 24 00:50:05 2004 Subject: VXCMD crash on ShutDown In-Reply-To: References: Message-ID: <4F564D28-C5A2-11D8-A3B5-000A956C462A@mangomultimedia.com> On Jun 23, 2004, at 11:40 PM, Ruslan Zasukhin wrote: > On 6/24/04 2:53 AM, "Trevor DeVore" wrote: > >> I'm getting an application crash every time I call Valentina >> ("ShutDown") from version 1.10 of the VXCMD running in a Revolution >> 2.2 >> executable on Windows. I checked the debug log and I get "Valentina >> Shutdown..." as the last message before the crash. Anybody else >> experience this or know what might be causing it? > > Hi Trevor, > > Is this in one project only or in each ? > Have you try example project? I have a project that calls Valentina("ShutDown") without any problem. However, this project crashes every time I call it. Both projects use a custom Valentina wrapper library for connection and disconnecting. This crashes on Windows (tested on XP only) but not on OS X. > May be you have not close db before that? I am though I am going to check and confirm that it is actually getting closed. In the docs for ShutDown() it says that this method will close all open databases and destroy the cache. Would having an open db cause it to crash? Are there any other things I should look for like open cursors, etc. that might cause a crash? Thanks, -- Trevor DeVore Blue Mango Multimedia trevor@mangomultimedia.com From sunshine at public.kherson.ua Thu Jun 24 09:08:11 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Thu Jun 24 01:08:51 2004 Subject: VXCMD crash on ShutDown In-Reply-To: <4F564D28-C5A2-11D8-A3B5-000A956C462A@mangomultimedia.com> Message-ID: On 6/24/04 8:49 AM, "Trevor DeVore" wrote: >>> I'm getting an application crash every time I call Valentina >>> ("ShutDown") from version 1.10 of the VXCMD running in a Revolution >>> 2.2 >>> executable on Windows. I checked the debug log and I get "Valentina >>> Shutdown..." as the last message before the crash. Anybody else >>> experience this or know what might be causing it? >> >> Hi Trevor, >> >> Is this in one project only or in each ? >> Have you try example project? > > I have a project that calls Valentina("ShutDown") without any problem. > However, this project crashes every time I call it. Both projects use > a custom Valentina wrapper library for connection and disconnecting. > This crashes on Windows (tested on XP only) but not on OS X. > >> May be you have not close db before that? > > I am though I am going to check and confirm that it is actually getting > closed. In the docs for ShutDown() it says that this method will close > all open databases and destroy the cache. Would having an open db > cause it to crash? Are there any other things I should look for like > open cursors, etc. that might cause a crash? Yes, it should close and destroy everything... I remember that only in V4MD not closed db somehow could cause problems. Just in any case it is more safe to have logic of program that SELF close and destroy own objects. I do not see other reasons. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From vidal_olivier at yahoo.fr Thu Jun 24 09:53:34 2004 From: vidal_olivier at yahoo.fr (olivier vidal) Date: Thu Jun 24 02:47:35 2004 Subject: threads and database Message-ID: <97A8251E-C5B3-11D8-8A47-00039310B7DA@yahoo.fr> Hi lists, I use a new process which allows me to use several mice simultaneously on several screens! (A mouse (a pointer) for every screen) (with a single computer). Let us imagine that I use 4 screens for a software of reading and modification of data. On every screen, a similar graphic interface (Based on the spritesurface !) to read and modify data. On these 4 screens, we can click simultaneously to handle a database (Valentina). What is the best solution?: 1- Several applications customers working simultaneously (an app on every screen) handled with Valentina server? ( I am afraid that the interface is too slow) 2- A single application with four windows (one by screen), every window being handled by one or several threads. The whole working with Valentina. Every call (cursor) to Valentina in a thread. ( I am afraid that threads slows down too much the application) 3- A single application with four windows (one by screen), every window being handled by timers (for example every 1/10th of second), what allows to be much faster? 4- Other solution? thank you very much olivier From vidal_olivier at yahoo.fr Thu Jun 24 11:01:49 2004 From: vidal_olivier at yahoo.fr (olivier vidal) Date: Thu Jun 24 03:55:50 2004 Subject: threads and database In-Reply-To: References: <97A8251E-C5B3-11D8-8A47-00039310B7DA@yahoo.fr> Message-ID: <20D428D5-C5BD-11D8-8A47-00039310B7DA@yahoo.fr> hi, >> 1- Several applications customers working simultaneously (an app on >> every screen) handled with Valentina server? >> ( I am afraid that the interface is too slow) > > no, because only 1 app can be the front-most. > it's true ! >> 2- A single application with four windows (one by screen), every >> window being handled by one or several threads. >> The whole working with Valentina. Every call (cursor) to Valentina in >> a thread. >> ( I am afraid that threads slows down too much the application) > > It's probably not a good idea to use a single user db, certainly not > with threads! The risk of mixing up data is too big unless you have > very simple queries. (But even then if you needed to grow the app > afterwards you could get stuck easily.) > Thin ! Valentina is nevertheless a multi-users database, no? I use cursors with locks. > > My feeling right now would be a *single* window spread over the 4 > screens, so it's front-most on every screen, Yes I also think ! > coupled to a multi-user db for data integrity. Valentina does not seem to you adapted then? Would you use threads? If not, how you would make? ( The application and the interface must be fast) > > This process with multiple mice sounds interesting. What is it and on > which platforms can it work? It is not completely finalized, but that will work on Mac then probably on pc. thank you very much Marc, olivier From sunshine at public.kherson.ua Thu Jun 24 12:37:44 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Thu Jun 24 04:41:47 2004 Subject: threads and database In-Reply-To: <97A8251E-C5B3-11D8-8A47-00039310B7DA@yahoo.fr> Message-ID: On 6/24/04 10:53 AM, "olivier vidal" wrote: Hi Oliver, > I use a new process which allows me to use several mice simultaneously > on several screens! (A mouse (a pointer) for every screen) (with a > single computer). > > Let us imagine that I use 4 screens for a software of reading and > modification of data. On every screen, a similar graphic interface > (Based on the spritesurface !) to read and modify data. On these 4 > screens, we can click simultaneously to handle a database (Valentina). > > What is the best solution?: > > > 1- Several applications customers working simultaneously (an app on > every screen) handled with Valentina server? > ( I am afraid that the interface is too slow) Vserver + few client apps is the most right solution for this. > 2- A single application with four windows (one by screen), every window > being handled by one or several threads. > The whole working with Valentina. Every call (cursor) to Valentina in a > thread. > ( I am afraid that threads slows down too much the application) > > 3- A single application with four windows (one by screen), every window > being handled by timers (for example every 1/10th of second), what > allows to be much faster? All this on single computer? Then why you worry about speed? Only ONE process can be at front. Other process will sleep (in case you use threads or client/server) In fact 3-A is the worse solution -- because you will eat CPU time. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From sunshine at public.kherson.ua Thu Jun 24 12:44:34 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Thu Jun 24 04:44:52 2004 Subject: threads and database In-Reply-To: <20D428D5-C5BD-11D8-8A47-00039310B7DA@yahoo.fr> Message-ID: On 6/24/04 12:01 PM, "olivier vidal" wrote: > hi, > >>> 1- Several applications customers working simultaneously (an app on >>> every screen) handled with Valentina server? >>> ( I am afraid that the interface is too slow) >> >> no, because only 1 app can be the front-most. >> > it's true ! What is true? As I understand you use some soft which allow you to have on single computer few screens, yes Oliver? Then I do not see problems why each screen can run its own application copy. >>> 2- A single application with four windows (one by screen), every >>> window being handled by one or several threads. >>> The whole working with Valentina. Every call (cursor) to Valentina in >>> a thread. >>> ( I am afraid that threads slows down too much the application) >> >> It's probably not a good idea to use a single user db, certainly not >> with threads! The risk of mixing up data is too big unless you have >> very simple queries. (But even then if you needed to grow the app >> afterwards you could get stuck easily.) >> > Thin ! > Valentina is nevertheless a multi-users database, no? I use cursors > with locks. Who give above "advice" ??? Valentina far far ago have INDEPENDNT cursors and about year Valentina record locks. So you can easy develop safe multi-thread applications with Valentina if you want and if you need. Even in 5 year old archive of Valentina C++ SDK was example when several threads did calculations on the same table. >> My feeling right now would be a *single* window spread over the 4 >> screens, so it's front-most on every screen, > > Yes I also think ! Btw, what exactly software you use to get few screens? And this is inside of the same USER-login to computer? >> coupled to a multi-user db for data integrity. > > Valentina does not seem to you adapted then? Valentina is perfectly ready for this. > Would you use threads? If not, how you would make? > ( The application and the interface must be fast) What is faster of Valentina?! :-) -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From vidal_olivier at yahoo.fr Thu Jun 24 15:47:37 2004 From: vidal_olivier at yahoo.fr (olivier vidal) Date: Thu Jun 24 08:41:53 2004 Subject: threads and database In-Reply-To: References: Message-ID: <0D778CC2-C5E5-11D8-8E9E-00039310B7DA@yahoo.fr> thank you very much Marc and Ruslan. Imagine a shop. In this shop, there is a single computer. 4 screens and 4 mice are connected on this computer. (4 screens : mode "Extended Desktop" on Mac, with special graphics board. 4 screens behave as a single screen. (Example: 4 screens with a resolution of 1024X768 will give the illusion for the computer of a single screen of 4096X768)) Imagine a software (or driver) which allows the use of several mice simultaneously on the same computer. Mice which can be simultaneously clicked. There are several salesmen and every salesman can use a screen and a mouse ( a "virtual computer") to make a sale or for example see the stock of an product. The salesmen must be able to use "4 virtual computers" simultaneously. Naturally, the software must be fast and it does not have to it have of wait in the screen there. The idea is to use a single software on this computer. I also think that the best solution is to use a single window distributed on 4 screens (a single window or a single application, so that on 4 screens every window of screen is active and answers the click first one). As there is only a single computer, I think effectively that the access to the database should be very fast, even with 4 simultaneous attempts of access. Is it even really necessary in that case (for the database) to use threads? (Ruslan, in realbasic threads is slow). There will be little of update on the data, a great majority of cursors will be shared lock (read only) and if it is not possible temporarily to access to data, I can re-try in a loop. It should be very fast and there should be no wait (I hope). ?? On the other hand, for the graphic interface and the posting, I suppose that I should use threads. (Other solution?) I hope that Realsoftware is quickly going to correct the problem of speed with threads. thanks olivier Le 24 juin 04, ? 11:37, Ruslan Zasukhin a ?crit : > On 6/24/04 10:53 AM, "olivier vidal" wrote: > > Hi Oliver, > >> I use a new process which allows me to use several mice simultaneously >> on several screens! (A mouse (a pointer) for every screen) (with a >> single computer). >> >> Let us imagine that I use 4 screens for a software of reading and >> modification of data. On every screen, a similar graphic interface >> (Based on the spritesurface !) to read and modify data. On these 4 >> screens, we can click simultaneously to handle a database (Valentina). >> >> What is the best solution?: >> >> >> 1- Several applications customers working simultaneously (an app on >> every screen) handled with Valentina server? >> ( I am afraid that the interface is too slow) > > Vserver + few client apps is the most right solution for this. > >> 2- A single application with four windows (one by screen), every >> window >> being handled by one or several threads. >> The whole working with Valentina. Every call (cursor) to Valentina in >> a >> thread. >> ( I am afraid that threads slows down too much the application) >> >> 3- A single application with four windows (one by screen), every >> window >> being handled by timers (for example every 1/10th of second), what >> allows to be much faster? > > All this on single computer? > > Then why you worry about speed? > > Only ONE process can be at front. > > Other process will sleep (in case you use threads or client/server) > > In fact 3-A is the worse solution -- because you will eat CPU time. > > > -- > Best regards, > Ruslan Zasukhin [ I feel the need...the need for speed ] > ------------------------------------------------------------- > e-mail: ruslan@paradigmasoft.com > web: http://www.paradigmasoft.com > > To subscribe to the Valentina mail list go to: > http://lists.macserve.net/mailman/listinfo/valentina > ------------------------------------------------------------- > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina > From sunshine at public.kherson.ua Thu Jun 24 16:56:10 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Thu Jun 24 09:01:07 2004 Subject: threads and database In-Reply-To: <0D778CC2-C5E5-11D8-8E9E-00039310B7DA@yahoo.fr> Message-ID: On 6/24/04 4:47 PM, "olivier vidal" wrote: > thank you very much Marc and Ruslan. > > Imagine a shop. > In this shop, there is a single computer. > 4 screens and 4 mice are connected on this computer. You mean 4 physical monitors! Aha. Only 4 mice? What about keyboards? It look you try create old good terminals :-) > (4 screens : mode > "Extended Desktop" on Mac, with special graphics board. 4 screens > behave as a single screen. 4 monitors form a single virtual screen. Clear. > (Example: 4 screens with a resolution of > 1024X768 will give the illusion for the computer of a single screen of > 4096X768)) > > Imagine a software (or driver) which allows the use of several mice > simultaneously on the same computer. Mice which can be simultaneously > clicked. > There are several salesmen and every salesman can use a screen and a > mouse ( a "virtual computer") to make a sale or for example see the > stock of an product. > The salesmen must be able to use "4 virtual computers" simultaneously. > Naturally, the software must be fast and it does not have to it have of > wait in the screen there. Ok > The idea is to use a single software on this computer. Yes, in this configuration you need SIGNLE APPLICATION Because you run like a single user for MacOS. You cannot start in MacOS 4 different copies of apps with the same name, right? Although it is possible to make 4 copies of the same app with different names and run them all in the same time. > I also think that the best solution is to use a single window > distributed on 4 screens (a single window or a single application, so > that on 4 screens every window of screen is active and answers the > click first one). Single app, which allow open ANY number of windows. In your case will be opened 4 windows. Each window use own Valentina cursor. Each window play role of separate user. Each window may have own thread. > As there is only a single computer, I think effectively that the access > to the database should be very fast, even with 4 simultaneous attempts > of access. Exactly. No network. No any protocol or sockets. You set e.g. 20MB cache for Valentina. A lots of data in RAM. > Is it even really necessary in that case (for the database) to use > threads? (Ruslan, in realbasic threads is slow). There will be little > of update on the data, a great majority of cursors will be shared lock > (read only) and if it is not possible temporarily to access to data, I > can re-try in a loop. It should be very fast and there should be no > wait (I hope). ?? Well. Then this is RB issue: what is better: threads or timer. You can work with one thread, no problems. Cursors still are independent and lock records. > On the other hand, for the graphic interface and the posting, I suppose > that I should use threads. (Other solution?) > > I hope that Realsoftware is quickly going to correct the problem of > speed with threads. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From lists at mangomultimedia.com Thu Jun 24 08:14:47 2004 From: lists at mangomultimedia.com (Trevor DeVore) Date: Thu Jun 24 09:14:59 2004 Subject: VXCMD crash on ShutDown In-Reply-To: References: Message-ID: On Jun 24, 2004, at 12:08 AM, Ruslan Zasukhin wrote: > Yes, it should close and destroy everything... > > I remember that only in V4MD not closed db somehow could cause > problems. > > Just in any case it is more safe to have logic of program that SELF > close > and destroy own objects. I currently remove all cursors and and close the database before calling shutdown. > I do not see other reasons. Interesting - the database files I am working with are read only. I just changed the db files to read/write and the crash no longer happens when calling ShutDown. Any idea what the relation between the two could be? -- Trevor DeVore Blue Mango Multimedia trevor@mangomultimedia.com From sunshine at public.kherson.ua Thu Jun 24 17:17:37 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Thu Jun 24 09:23:09 2004 Subject: VXCMD crash on ShutDown In-Reply-To: Message-ID: On 6/24/04 5:14 PM, "Trevor DeVore" wrote: >> Yes, it should close and destroy everything... >> >> I remember that only in V4MD not closed db somehow could cause >> problems. >> >> Just in any case it is more safe to have logic of program that SELF >> close >> and destroy own objects. > > I currently remove all cursors and and close the database before > calling shutdown. > >> I do not see other reasons. > > Interesting - the database files I am working with are read only. I > just changed the db files to read/write and the crash no longer happens > when calling ShutDown. Any idea what the relation between the two > could be? Hmm, it looks like on shutdown Valentina was going write something. And I think it was going do that because you have something Update or Add. Check this. Although again, not clear why it crashes. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From vidal_olivier at yahoo.fr Thu Jun 24 16:48:54 2004 From: vidal_olivier at yahoo.fr (olivier vidal) Date: Thu Jun 24 09:43:17 2004 Subject: threads and database In-Reply-To: References: Message-ID: <9D3009F6-C5ED-11D8-8E9E-00039310B7DA@yahoo.fr> perfect ! thank you very much, Ruslan. olivier Le 24 juin 04, ? 15:56, Ruslan Zasukhin a ?crit : > On 6/24/04 4:47 PM, "olivier vidal" wrote: > >> thank you very much Marc and Ruslan. >> >> Imagine a shop. >> In this shop, there is a single computer. >> 4 screens and 4 mice are connected on this computer. > > You mean 4 physical monitors! Aha. > Only 4 mice? What about keyboards? > > It look you try create old good terminals :-) > >> (4 screens : mode >> "Extended Desktop" on Mac, with special graphics board. 4 screens >> behave as a single screen. > > 4 monitors form a single virtual screen. Clear. > >> (Example: 4 screens with a resolution of >> 1024X768 will give the illusion for the computer of a single screen of >> 4096X768)) >> >> Imagine a software (or driver) which allows the use of several mice >> simultaneously on the same computer. Mice which can be simultaneously >> clicked. > >> There are several salesmen and every salesman can use a screen and a >> mouse ( a "virtual computer") to make a sale or for example see the >> stock of an product. > >> The salesmen must be able to use "4 virtual computers" simultaneously. > >> Naturally, the software must be fast and it does not have to it have >> of >> wait in the screen there. > > Ok > >> The idea is to use a single software on this computer. > > Yes, in this configuration you need SIGNLE APPLICATION > Because you run like a single user for MacOS. > > You cannot start in MacOS 4 different copies of apps with the same > name, > right? Although it is possible to make 4 copies of the same app with > different names and run them all in the same time. > >> I also think that the best solution is to use a single window >> distributed on 4 screens (a single window or a single application, so >> that on 4 screens every window of screen is active and answers the >> click first one). > > Single app, which allow open ANY number of windows. > In your case will be opened 4 windows. > > Each window use own Valentina cursor. > Each window play role of separate user. > Each window may have own thread. > >> As there is only a single computer, I think effectively that the >> access >> to the database should be very fast, even with 4 simultaneous attempts >> of access. > > Exactly. No network. No any protocol or sockets. > > You set e.g. 20MB cache for Valentina. > A lots of data in RAM. > >> Is it even really necessary in that case (for the database) to use >> threads? (Ruslan, in realbasic threads is slow). There will be little >> of update on the data, a great majority of cursors will be shared lock >> (read only) and if it is not possible temporarily to access to data, I >> can re-try in a loop. It should be very fast and there should be no >> wait (I hope). ?? > > Well. Then this is RB issue: > what is better: threads or timer. > > You can work with one thread, no problems. > Cursors still are independent and lock records. > >> On the other hand, for the graphic interface and the posting, I >> suppose >> that I should use threads. (Other solution?) >> >> I hope that Realsoftware is quickly going to correct the problem of >> speed with threads. > > -- > Best regards, > Ruslan Zasukhin [ I feel the need...the need for speed ] > ------------------------------------------------------------- > e-mail: ruslan@paradigmasoft.com > web: http://www.paradigmasoft.com > > To subscribe to the Valentina mail list go to: > http://lists.macserve.net/mailman/listinfo/valentina > ------------------------------------------------------------- > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina > From lists at innernine.com Thu Jun 24 13:35:05 2004 From: lists at innernine.com (Juergen Schreck) Date: Thu Jun 24 13:35:20 2004 Subject: IndexByWords used in sorting???? Message-ID: <36571B02-C60D-11D8-A9EA-000A95868802@innernine.com> I have a column in my database that has both indexed and indexedByWords enabled. Whenever I sort on this column with 'Order By' the it doesn't get sorted at all: Showing etiquette Courtesy is so important In a gentlemanly manner It comes right down to ethical behavior Brush up on your manners Raising polite kids After removing the IndexByWords setting and having only the Indexed Flag, sorting works fine. Needless to say, no my Word Match queries don't work right. Is the sorting thing a bug? Or is this expected? What are my options? Create a method that returns the text unmodified and check IndexByWords on that and adjust my word searches to query this column instead? Thanks in advance, Juergen -- ------------------------------------------------------------------------ ------ Innernine http://www.innernine.com Custom Software Solutions 262.781.5295 ------------------------------------------------------------------------ ------ From sunshine at public.kherson.ua Thu Jun 24 22:41:34 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Thu Jun 24 14:41:48 2004 Subject: IndexByWords used in sorting???? In-Reply-To: <36571B02-C60D-11D8-A9EA-000A95868802@innernine.com> Message-ID: On 6/24/04 9:35 PM, "Juergen Schreck" wrote: Hi Juergen, > I have a column in my database that has both indexed and indexedByWords > enabled. > > Whenever I sort on this column with 'Order By' the it doesn't get > sorted at all: > > Showing etiquette > Courtesy is so important > In a gentlemanly manner > It comes right down to ethical behavior > Brush up on your manners > Raising polite kids > > > After removing the IndexByWords setting and having only the Indexed > Flag, sorting works fine. Needless to say, no my Word Match queries > don't work right. Is the sorting thing a bug? Or is this expected? What > are my options? Create a method that returns the text unmodified and > check IndexByWords on that and adjust my word searches to query this > column instead? This is expected and described in docs and FAQs. IndexbyWords cannot be used in sorting, because there is no original STRING, It was splinted on words. Solution is: you need create on this field BaseObject method that simply is "f1" and index it with no IndexByWords. Then you get actually ONE column, and 2 indexes for it. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From lists at innernine.com Thu Jun 24 16:28:19 2004 From: lists at innernine.com (Juergen Schreck) Date: Thu Jun 24 16:28:28 2004 Subject: Updating the Schema Message-ID: <69A9900E-C625-11D8-A9EA-000A95868802@innernine.com> 1) I have to update the Schema of a database table in code. I have the basics down, e.g. I can add a method using fld=me.UserClips.CreateField("cliptext_eq", kV_TypeVarChar, 512, "ASCII", "cliptext") BUT: How do I make this field indexed? There doesn't seem to be a version of CreateField that allows setting the flags in a 3rd parameter? 2) My table has a field which is IndexedByWords. I want to remove that in my Schema Update. How can I do that? 3) Do I have to increment/change the Schemaversion by resetting the property manually or does ValentinaKernel update the schemaversion when I create fields dynamically? Thanks, Juergen -- ------------------------------------------------------------------------ ------ Innernine http://www.innernine.com Custom Software Solutions 262.781.5295 ------------------------------------------------------------------------ ------ From sunshine at public.kherson.ua Fri Jun 25 00:46:47 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Thu Jun 24 16:49:11 2004 Subject: Updating the Schema In-Reply-To: <69A9900E-C625-11D8-A9EA-000A95868802@innernine.com> Message-ID: On 6/25/04 12:28 AM, "Juergen Schreck" wrote: > 1) I have to update the Schema of a database table in code. I have the > basics down, e.g. I can add a method using > > fld=me.UserClips.CreateField("cliptext_eq", kV_TypeVarChar, 512, > "ASCII", "cliptext") > > BUT: How do I make this field indexed? There doesn't seem to be a > version of CreateField that allows setting the flags in a 3rd > parameter? Vfield.Indexed = true > 2) My table has a field which is IndexedByWords. I want to remove that > in my Schema Update. How can I do that? fld.IndexbyWords = false > 3) Do I have to increment/change the Schemaversion by resetting the > property manually or does ValentinaKernel update the schemaversion when > I create fields dynamically? If you have already users and they work with your db, Then yes it is recommended. If you are in state of development you do not need this. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From lists at innernine.com Thu Jun 24 17:54:34 2004 From: lists at innernine.com (Juergen Schreck) Date: Thu Jun 24 17:54:43 2004 Subject: Updating the Schema In-Reply-To: References: Message-ID: <761B2585-C631-11D8-A9EA-000A95868802@innernine.com> Thanks for all your help today Ruslan. On Jun 24, 2004, at 4:46 PM, Ruslan Zasukhin wrote: > Vfield.Indexed = true That's what I ended up doing. Good. >> 2) My table has a field which is IndexedByWords. I want to remove that >> in my Schema Update. How can I do that? > > fld.IndexbyWords = false Interesting. Didn't show up in my autocomplete. Also, couldn't find it anywhere in the docs. Probably looking in the wrong place again.... >> 3) Do I have to increment/change the Schemaversion by resetting the >> property manually or does ValentinaKernel update the schemaversion >> when >> I create fields dynamically? > > If you have already users and they work with your db, > Then yes it is recommended. That is the case. Need backward compat. Thanks. Regards, Juergen -- ------------------------------------------------------------------------ ------ Innernine http://www.innernine.com Custom Software Solutions 262.781.5295 ------------------------------------------------------------------------ ------ From sunshine at public.kherson.ua Fri Jun 25 08:44:20 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Jun 25 00:44:36 2004 Subject: Updating the Schema In-Reply-To: <761B2585-C631-11D8-A9EA-000A95868802@innernine.com> Message-ID: On 6/25/04 1:54 AM, "Juergen Schreck" wrote: >>> 2) My table has a field which is IndexedByWords. I want to remove that >>> in my Schema Update. How can I do that? >> >> fld.IndexbyWords = false > > Interesting. Didn't show up in my autocomplete. Also, couldn't find it > anywhere in the docs. Probably looking in the wrong place again.... This property should be in the Vstring class -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From sunshine at public.kherson.ua Fri Jun 25 08:45:33 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Jun 25 00:45:52 2004 Subject: Updating the Schema In-Reply-To: <761B2585-C631-11D8-A9EA-000A95868802@innernine.com> Message-ID: On 6/25/04 1:54 AM, "Juergen Schreck" wrote: >>> 3) Do I have to increment/change the Schemaversion by resetting the >>> property manually or does ValentinaKernel update the schemaversion >>> when >>> I create fields dynamically? >> >> If you have already users and they work with your db, >> Then yes it is recommended. > > That is the case. Need backward compat. Thanks. Then you need do it correctly. db.open() check that current shema version is 1 then change what you need set schema version = 2 close db open it again -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From timdavis at amug.org Fri Jun 25 00:40:21 2004 From: timdavis at amug.org (Tim Davis) Date: Fri Jun 25 04:24:01 2004 Subject: WWDC? Message-ID: Anyone going to WWDC next week? Tim Davis From vidal_olivier at yahoo.fr Fri Jun 25 11:52:37 2004 From: vidal_olivier at yahoo.fr (olivier vidal) Date: Fri Jun 25 04:46:46 2004 Subject: Valentina Server In-Reply-To: References: Message-ID: <63C1958C-C68D-11D8-B1A1-00039310B7DA@yahoo.fr> Hi Ruslan and list, Le 10 juin 04, ? 12:00, Ruslan Zasukhin a ?crit : >> To improve the security, I had thought of this : >> >> Write the data base in double(copy). > > Keep to dbs: db1 and db2? > Well, this is possible. > >> Every operation of reading would always be made on the same database. > >> The writing of the data would always be made twice, in every data >> base. >> A sort of immediate and constant saving. > > And must be db1.write(), flush > Then only db2.write() This system of double database would especially be important in case, for example, of crash of the computer. To have an optimal safety, I can, in every writing: Db1.write () Db2.write () Db1.flush Db2.flush Or, is it a little bit dangerous all the same in case of crash that both flushes are so moved closer? If for example there is a crash exactly in the middle of both flushs, both databases risk to be corrupted? Is not it better to make the second flush a little later? thank you olivier From sunshine at public.kherson.ua Fri Jun 25 12:53:59 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Jun 25 04:57:17 2004 Subject: Valentina Server In-Reply-To: <63C1958C-C68D-11D8-B1A1-00039310B7DA@yahoo.fr> Message-ID: On 6/25/04 12:52 PM, "olivier vidal" wrote: >> And must be db1.write(), flush >> Then only db2.write() > > This system of double database would especially be important in case, > for example, of crash of the computer. > To have an optimal safety, I can, in every writing: > > Db1.write () > Db2.write () > Db1.flush > Db2.flush No, Must be Db1.write () << if crash here, and DB1 corrupted << then DB2 is good and you can copy it to DB1. Db1.flush <<< now db1 have changes on disk, and crash cannot corrupt <<< if crashes here, then Db1 is good, but DB2 no. Db2.write () Db2.flush Although I think you will need then make journal of like db1 flushed db2 flushed db1 flushed db2 flushed > Or, is it a little bit dangerous all the same in case of crash that > both flushes are so moved closer? > If for example there is a crash exactly in the middle of both flushs, > both databases risk to be corrupted? Is not it better to make the > second flush a little later? -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From vidal_olivier at yahoo.fr Fri Jun 25 12:50:53 2004 From: vidal_olivier at yahoo.fr (olivier vidal) Date: Fri Jun 25 05:44:59 2004 Subject: Valentina Server In-Reply-To: References: Message-ID: <8796221C-C695-11D8-B1A1-00039310B7DA@yahoo.fr> ah, ok Ruslan, > Must be > > Db1.write () > << if crash here, and DB1 corrupted > << then DB2 is good and you can copy it to DB1. > Db1.flush > <<< now db1 have changes on disk, and crash cannot > corrupt > <<< if crashes here, then Db1 is good, but DB2 no. > Db2.write () > Db2.flush > > Although I think you will need then make journal of like > > db1 flushed > db2 flushed > > db1 flushed > db2 flushed > what do you think of : rs=Cursor1.update() base1.Bo1.flush Base1.BoJournal.flush rs=Cursor2.update() base2.Bo1.flush base2.BoJournal.flush Is it a good idea to make a journal in both bases and every time in a table separated to limit the risks of corruption of journals ? For journals, maybe is it better to write them in direct files and not in database? In the launch of the application, me makes a comparison (for example) fields integer of every journal, if they are identical, no problem, otherwise... thank you olivier From sunshine at public.kherson.ua Fri Jun 25 13:53:26 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Jun 25 05:53:39 2004 Subject: Valentina Server In-Reply-To: <8796221C-C695-11D8-B1A1-00039310B7DA@yahoo.fr> Message-ID: On 6/25/04 1:50 PM, "olivier vidal" wrote: > ah, ok Ruslan, > >> Must be >> >> Db1.write () >> << if crash here, and DB1 corrupted >> << then DB2 is good and you can copy it to DB1. >> Db1.flush >> <<< now db1 have changes on disk, and crash cannot >> corrupt >> <<< if crashes here, then Db1 is good, but DB2 no. >> Db2.write () >> Db2.flush >> >> Although I think you will need then make journal of like >> >> db1 flushed >> db2 flushed >> >> db1 flushed >> db2 flushed >> > what do you think of : > > rs=Cursor1.update() > base1.Bo1.flush > Base1.BoJournal.flush > > rs=Cursor2.update() > base2.Bo1.flush > base2.BoJournal.flush > Is it a good idea to make a journal in both bases and every time in a > table separated to limit the risks of corruption of journals ? > For journals, maybe is it better to write them in direct files and not > in database? Yes, this should be different files. Then you cannot get them corrupted. You will always just append info to them. This operation cannot corrupt file. > In the launch of the application, me makes a comparison (for example) > fields integer of every journal, if they are identical, no problem, > otherwise... -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From vidal_olivier at yahoo.fr Fri Jun 25 13:19:08 2004 From: vidal_olivier at yahoo.fr (olivier vidal) Date: Fri Jun 25 06:13:36 2004 Subject: Valentina Server In-Reply-To: References: Message-ID: <79EAE546-C699-11D8-B1A1-00039310B7DA@yahoo.fr> > Yes, this should be different files. > > Then you cannot get them corrupted. You will always just append info to > them. This operation cannot corrupt file. > what do you tyhink of : - Command writing in the "journal" file" that the operation N?XX, MethodName +"update", date XXXXX, time XXXXX, on the database 1, baseObject 1, BEGINS. - rs=cursor1.update() - database1.Bo1.flush - Command writing in the "journal" file" that the operation N?XX, MethodName +"update", date XXXXX, time XXXXX, on the database 1, baseObject 1, ENDS. - Command writing in the "journal" file" that the operation N?XX, MethodName +"update", date XXXXX, time XXXXX, on the database 2, baseObject 1, BEGINS. - rs=cursor1.update() - database2.Bo1.flush - Command writing in the "journal" file" that the operation N?XX, MethodName +"update", date XXXXX, time XXXXX, on the database 2, baseObject 1, ENDS. After a crash, and a restart of the software, we could, as it, to verify if in the data base 1 the last operation correctly ended. right ? thank you olivier From sunshine at public.kherson.ua Fri Jun 25 14:18:33 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Jun 25 06:20:43 2004 Subject: Valentina Server In-Reply-To: <79EAE546-C699-11D8-B1A1-00039310B7DA@yahoo.fr> Message-ID: On 6/25/04 2:19 PM, "olivier vidal" wrote: >> Yes, this should be different files. >> >> Then you cannot get them corrupted. You will always just append info to >> them. This operation cannot corrupt file. >> > what do you tyhink of : > > - Command writing in the "journal" file" that the operation N?XX, > MethodName +"update", date XXXXX, time XXXXX, on the database 1, > baseObject 1, BEGINS. > - rs=cursor1.update() > - database1.Bo1.flush > - Command writing in the "journal" file" that the operation N?XX, > MethodName +"update", date XXXXX, time XXXXX, on the database 1, > baseObject 1, ENDS. > > > - Command writing in the "journal" file" that the operation N?XX, > MethodName +"update", date XXXXX, time XXXXX, on the database 2, > baseObject 1, BEGINS. > - rs=cursor1.update() > - database2.Bo1.flush > - Command writing in the "journal" file" that the operation N?XX, > MethodName +"update", date XXXXX, time XXXXX, on the database 2, > baseObject 1, ENDS. > > > After a crash, and a restart of the software, we could, as it, to > verify if in the data base 1 the last operation correctly ended. right > ? Oliver, Yes, right, All this is good, Just remember the more you do flushed the slower it works. In fact you try now to build some kind of transactions. Or more correctly to say -- recovery system. Not easy task. Keep this in mind. Also note, journal can be readable for human eye. This is good for human. But it can be in some very compact coded format To eat less disk space and be faster. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From vidal_olivier at yahoo.fr Fri Jun 25 13:38:28 2004 From: vidal_olivier at yahoo.fr (olivier vidal) Date: Fri Jun 25 06:32:24 2004 Subject: Valentina Server In-Reply-To: References: Message-ID: <2D1832D1-C69C-11D8-B1A1-00039310B7DA@yahoo.fr> It's true, Ruslan, you are right ! thank you very much, olivier Le 25 juin 04, ? 13:18, Ruslan Zasukhin a ?crit : > > All this is good, Just remember > the more you do flushed the slower it works. > > In fact you try now to build some kind of transactions. > Or more correctly to say -- recovery system. > > Not easy task. > Keep this in mind. > > > Also note, journal can be readable for human eye. > This is good for human. > > But it can be in some very compact coded format > To eat less disk space and be faster. > From frank-list2 at mindstarprods.com Fri Jun 25 06:36:23 2004 From: frank-list2 at mindstarprods.com (Frank Schima) Date: Fri Jun 25 08:36:36 2004 Subject: WWDC? In-Reply-To: References: Message-ID: Hi Tim, On Jun 25, 2004, at 12:40 AM, Tim Davis wrote: > Anyone going to WWDC next week? Yes, I'll be there. I'll be working the games booth on Monday afternoon and Tuesday morning. I'd be happy to meet with any Valentina list members. Best regards, Frank Schima From ga at ed4u.com Fri Jun 25 10:31:55 2004 From: ga at ed4u.com (Gordon Apple) Date: Fri Jun 25 12:31:50 2004 Subject: WWDC? In-Reply-To: Message-ID: on 6/25/04 12:40 AM, Tim Davis at timdavis@amug.org wrote: > Anyone going to WWDC next week? > > Tim Davis I'll be there Saturday afternoon through next Saturday morning, staying at the Courtyard Marriot near the convention center. -- G. Gordon Apple, PhD Ed4U 722 S. Broadway #30 Redondo Beach, CA 90277 310-316-3406 800-579-Ed4U (3348) 310-766-3900 (cell) 425-732-0300 (fax) ga@ed4u.com www.ed4u.com Little Rock: 300 N. Elm St. Little Rock, AR 72205 501-663-8401 800-579-Ed4U (3348) (cell) 310-766-3900 (cell) From idevaney at mac.com Sat Jun 26 16:25:14 2004 From: idevaney at mac.com (Ian Devaney) Date: Sat Jun 26 10:25:41 2004 Subject: RB Destructors - Still Confused Message-ID: <05618BBF-C785-11D8-AAA6-000A9566DC14@mac.com> I mentioned a while ago that I was having trouble tracking down a database reference in my app that was leaving base objects and fields in the runtime.objects info. I'm still none the wiser and even more confused. When I look at these objects in the debugger, the base objects all have a "database" property that is "nil". I presume this means I have successfully destroyed the references to their parent databases. If this is the case, why would these objects still exist? Cheers, Ian From yeomans at desuetude.com Sat Jun 26 12:23:02 2004 From: yeomans at desuetude.com (Charles Yeomans) Date: Sat Jun 26 11:23:14 2004 Subject: RB Destructors - Still Confused In-Reply-To: <05618BBF-C785-11D8-AAA6-000A9566DC14@mac.com> References: <05618BBF-C785-11D8-AAA6-000A9566DC14@mac.com> Message-ID: <186113FD-C78D-11D8-8FA7-000A957CB4CC@desuetude.com> On Jun 26, 2004, at 11:25 AM, Ian Devaney wrote: > I mentioned a while ago that I was having trouble tracking down a > database reference in my app that was leaving base objects and fields > in the runtime.objects info. > > I'm still none the wiser and even more confused. > > When I look at these objects in the debugger, the base objects all > have a "database" property that is "nil". > > I presume this means I have successfully destroyed the references to > their parent databases. > > If this is the case, why would these objects still exist? Probably because some other object is hanging onto a reference. When you close the database, are you calling VDatabase.Close? I don't know how Valentina is doing things internally, but it might be that you should call the Close function so that Valentina can clean up any circular references. Otherwise, you're going to have to start working through the code to see where references to objects are assigned and released. -------------- Charles Yeomans From syalamar at fiberlink.com Sun Jun 27 11:59:43 2004 From: syalamar at fiberlink.com (Srinivas Yalamarti) Date: Sun Jun 27 11:00:19 2004 Subject: Cursors and Multiple threads Message-ID: Hi Ruslan, I wrote: > In other words, can we get 'cursors' in a thread-safe fashion by locking > the db, and then 'use' the cursors without the > locking mechanism? You wrote: >>Again no. >>Because very very often Valentina uses so called "indirect cursors". >>Such cursor read values of the next record from original tables! >>I.e. It touch global single cache. So, what does all this mean? Does it mean, in a multi-threaded application, on a stand-alone machine (no valentina server used), only one thread can access a Valentina DB, one at a time? All access to any Valentina Databases used by that application has to be synchronized by the application? Does it mean that the cursors can be used only the following way, and NOT the way I mentioned in my EARLIER posting? Thread A ======== VDK_Cursor* pCursorThreadA = NULL; LOCKDB(ONE_AND_ONLY_SYNC_OBJECT); pCursorThreadA = m_pDatabase->SqlSelect(strSQLA, kServer, kReadOnly); pCursorThreadA ->GetRecordCount(); // And also some code that uses pCursorThreadA ForgetObject(pCursorThreadA ); UNLOCKDB(ONE_AND_ONLY_SYNC_OBJECT); Thread B ========= VDK_Cursor* pCursorThreadB = NULL; LOCKDB(ONE_AND_ONLY_SYNC_OBJECT); pCursorThreadB = m_pDatabase->SqlSelect(strSQLB, kServer, kReadOnly); pCursorThreadB ->GetRecordCount(); // And also some code that uses pCursorThreadB ForgetObject(pCursorThreadB ); UNLOCKDB(ONE_AND_ONLY_SYNC_OBJECT); >From Valentina Kernel Documentation: "Cursors are good choices for implementing multi-user application. Each Cursor can be executed in separate thread of your application and represent one user." >From VSDK Reference Documentation: "Important: A Cursor has its own copy of fields, so it is independent from BaseObjects and from other Cursors. This make Cursors very useful for multi-thread applications." I am confused with what is being specified in the documentation. Thank you for all your input. Regards, SY The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from any computer. From sunshine at public.kherson.ua Sun Jun 27 19:14:00 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Sun Jun 27 11:23:54 2004 Subject: Cursors and Multiple threads In-Reply-To: Message-ID: On 6/27/04 6:59 PM, "Srinivas Yalamarti" wrote: Hi Srinivas, > I wrote: > >> In other words, can we get 'cursors' in a thread-safe fashion by locking >> the db, and then 'use' the cursors without the >> locking mechanism? > > You wrote: > >>> Again no. > >>> Because very very often Valentina uses so called "indirect cursors". > >>> Such cursor read values of the next record from original tables! >>> I.e. It touch global single cache. > > So, what does all this mean? > > Does it mean, in a multi-threaded application, on a stand-alone machine > (no valentina server used), > only one thread can access a Valentina DB, one at a time? All access to > any Valentina Databases > used by that application has to be synchronized by the application? Yes. But only operation that touch disk or cache. Such as Next/Prev, Add, Update. > Thread A > ======== > > VDK_Cursor* pCursorThreadA = NULL; > > LOCKDB(ONE_AND_ONLY_SYNC_OBJECT); > pCursorThreadA = m_pDatabase->SqlSelect(strSQLA, > kServer, kReadOnly); > > pCursorThreadA ->GetRecordCount(); > > // And also some code that uses pCursorThreadA > > ForgetObject(pCursorThreadA ); > UNLOCKDB(ONE_AND_ONLY_SYNC_OBJECT); > > Thread B > ========= > VDK_Cursor* pCursorThreadB = NULL; > > LOCKDB(ONE_AND_ONLY_SYNC_OBJECT); > pCursorThreadB = m_pDatabase->SqlSelect(strSQLB, > kServer, kReadOnly); > > pCursorThreadB ->GetRecordCount(); > > // And also some code that uses pCursorThreadB > > ForgetObject(pCursorThreadB ); > UNLOCKDB(ONE_AND_ONLY_SYNC_OBJECT); No, no. no. I will try in pseudo-code lock { cursor = SqlSelect() // create cursor } unlock lock { cursor.firstecord() or next, prev, ... } unlock now you can read values from fields without lock. or assign new values NO LOCK: cursor.filedcount fld = cursor.field( "aaa" ) fld->SetString( "ffsdfgdfsg" ) again lock { cursor.AddRecord() } -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From idevaney at mac.com Mon Jun 28 10:23:03 2004 From: idevaney at mac.com (Ian Devaney) Date: Mon Jun 28 04:23:37 2004 Subject: RB Destructors - Still Confused In-Reply-To: <20040627160025.80E24165056@edison.macserve.net> References: <20040627160025.80E24165056@edison.macserve.net> Message-ID: Thanks Charles. Yes, I am closing the databases and then setting the reference to nil. I suppose I still must have a reference I can't find! Cheers, Ian On 27 Jun 2004, at 5:00 pm, valentina-request@lists.macserve.net wrote: > Message: 10 > Date: Sat, 26 Jun 2004 12:23:02 -0400 > From: Charles Yeomans > Subject: Re: RB Destructors - Still Confused > To: Valentina Developers > Message-ID: <186113FD-C78D-11D8-8FA7-000A957CB4CC@desuetude.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > > On Jun 26, 2004, at 11:25 AM, Ian Devaney wrote: > >> I mentioned a while ago that I was having trouble tracking down a >> database reference in my app that was leaving base objects and fields >> in the runtime.objects info. >> >> I'm still none the wiser and even more confused. >> >> When I look at these objects in the debugger, the base objects all >> have a "database" property that is "nil". >> >> I presume this means I have successfully destroyed the references to >> their parent databases. >> >> If this is the case, why would these objects still exist? > > Probably because some other object is hanging onto a reference. When > you close the database, are you calling VDatabase.Close? I don't know > how Valentina is doing things internally, but it might be that you > should call the Close function so that Valentina can clean up any > circular references. > > Otherwise, you're going to have to start working through the code to > see where references to objects are assigned and released. > > -------------- > Charles Yeomans From sunshine at public.kherson.ua Mon Jun 28 12:56:43 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Mon Jun 28 04:57:03 2004 Subject: RB Destructors - Still Confused In-Reply-To: Message-ID: On 6/28/04 12:23 PM, "Ian Devaney" wrote: > Thanks Charles. > > Yes, I am closing the databases and then setting the reference to nil. > > I suppose I still must have a reference I can't find! Ian, Am I right that RB debugger show you the count of refs ? Is it possible to step by big steps and monitor the count of refs? Then go down to isolate. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From robert at formworkdesign.com Mon Jun 28 14:08:57 2004 From: robert at formworkdesign.com (Robert Nichols) Date: Mon Jun 28 13:09:12 2004 Subject: Error num 16 Message-ID: <394FB1C4-C92E-11D8-8A58-000A95B5C3F8@formworkdesign.com> I believe Error #16 belongs to Mac OS system, rather than Valentina, but I'm getting that error both from vServer and when I try to open a database with Vapp. Can anyone help me troubleshoot? Robert -------------------------------------- Robert Nichols Formwork Design LLC robert@formworkdesign.com From robert at formworkdesign.com Mon Jun 28 14:12:57 2004 From: robert at formworkdesign.com (Robert Nichols) Date: Mon Jun 28 13:13:06 2004 Subject: Correction: Error num 61 Message-ID: I just sent a message about Error num 16... It should have read Error number 61 Thanks. -------------------------------------- Robert Nichols Formwork Design LLC robert@formworkdesign.com From sunshine at public.kherson.ua Mon Jun 28 21:24:47 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Mon Jun 28 13:30:18 2004 Subject: Error num 16 In-Reply-To: <394FB1C4-C92E-11D8-8A58-000A95B5C3F8@formworkdesign.com> Message-ID: On 6/28/04 9:08 PM, "Robert Nichols" wrote: > I believe Error #16 belongs to Mac OS system, rather than Valentina, > but I'm getting that error both from vServer and when I try to open a > database with Vapp. > > Can anyone help me troubleshoot? I see that #define EBUSY 16 /* Device busy */ -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From sunshine at public.kherson.ua Mon Jun 28 21:27:31 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Mon Jun 28 13:30:46 2004 Subject: Correction: Error num 61 In-Reply-To: Message-ID: On 6/28/04 9:12 PM, "Robert Nichols" wrote: > I just sent a message about Error num 16... > > It should have read Error number 61 Here you can find Apple error codes http://members.aol.com/rustleware/aec.html -61 wrPermErr Write permissions error; Not a publisher -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From va_refinancing at mail.com Mon Jun 28 13:54:04 2004 From: va_refinancing at mail.com (va_refinancing@mail.com) Date: Mon Jun 28 13:53:12 2004 Subject: Cross-platform data files? Message-ID: <20040628185405.34C031F4FEA@ws1-2.us4.outblaze.com> >From what I can find in the FAQs and documentation, I think I already know the answer to this question, but I can't find it stated explicitly, so I'll ask. Can database files created on Windows (i.e. with Valentina COM) be used on the Mac (i.e. with Valentina4RB)? Are there any issues I would need to be aware of? The FAQ and release notes seem to indicate that this is the case, but I would like to make sure before I talk to my client. Thanks, Jon -- ___________________________________________________________ Sign-up for Ads Free at Mail.com http://promo.mail.com/adsfreejump.htm From sunshine at public.kherson.ua Mon Jun 28 22:06:24 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Mon Jun 28 14:06:40 2004 Subject: Cross-platform data files? In-Reply-To: <20040628185405.34C031F4FEA@ws1-2.us4.outblaze.com> Message-ID: On 6/28/04 9:54 PM, "va_refinancing@mail.com" wrote: >> From what I can find in the FAQs and documentation, I think I already know >> the answer to this question, but I can't find it stated explicitly, so I'll >> ask. Can database files created on Windows (i.e. with Valentina COM) be used >> on the Mac (i.e. with Valentina4RB)? Are there any issues I would need to be >> aware of? The FAQ and release notes seem to indicate that this is the case, >> but I would like to make sure before I talk to my client. > > Thanks, Yes, files are cross-platform. Issues? only if you create files on MAC to be moved on WIN, it should specify on MAC extensions. WIN cannot work without them. When you move files to MAC from WIN then they do not have MAC Creator/Signature. This affect only open dialog. So you can assign TYPE manually or using some utils. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From delong at redcort.com Mon Jun 28 12:26:14 2004 From: delong at redcort.com (Keith DeLong) Date: Mon Jun 28 14:28:16 2004 Subject: Correction: Error num 61 In-Reply-To: Message-ID: Hi Robert, The -61 OS error will happen under OS X when you attempt to write to a Valentina database that has been opened twice. Under OS X, the second attempt to open an already open database occurs without error. But any attempt to write to the data file in this state will be greeted with an unpleasant -61 error. HTH, Keith DeLong > On 6/28/04 9:12 PM, "Robert Nichols" wrote: > >> I just sent a message about Error num 16... >> >> It should have read Error number 61 > > > Here you can find Apple error codes > > http://members.aol.com/rustleware/aec.html > > > > -61 > wrPermErr > Write permissions error; Not a publisher > > > > > -- > Best regards, > Ruslan Zasukhin [ I feel the need...the need for speed ] > ------------------------------------------------------------- > e-mail: ruslan@paradigmasoft.com > web: http://www.paradigmasoft.com > > To subscribe to the Valentina mail list go to: > http://lists.macserve.net/mailman/listinfo/valentina > ------------------------------------------------------------- > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina > From sunshine at public.kherson.ua Wed Jun 30 12:50:52 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Jun 30 04:51:46 2004 Subject: Queries. Question to all In-Reply-To: <20040630092037.2011@mail.absus.at> Message-ID: On 6/30/04 12:20 PM, "Peter Knobloch" wrote: Hi Peter, > I'm using REALbasic (cross platform) and Valentina, maybe I'm overlooking > something. > > I want to search for the left part of words (not case-sensitive) in my > database-application: > > (1) To have an index based search i have to use "... WHERE > left(fieldname, charcount) = 'searchword'" > > (2) The field has to have the flag IndexByWords set to TRUE > > (3) This kind of search is always case-sensitive > > The last point (3) is really troublesome, I can't remember any other > database (FileMaker, mySQL, V12) I've used where this was the default > behaviour, especially since I could not find any way to override it. I am not sure about mySQL To get case-insensetive search you should create virtual field (BaseObject method) fldLwr with formula "fld" Now you can do WHERE left( fldLwr, count ) = 'smallletters' BaseObject methods is VERY POWERFUL to do any tricks. > Furthermore, according to my experience, I can not imagine too many > situations where I would need a case-sensitive search. Ok, but then please remind me, how in mySQL you will be able IF YOU WANT provide case-sensetive seach? I have CC this to Valentina list. For several years nobody have complain that Valentina do on default case-sensetive search. What you think guys ? Should we change this in 2.0 ? I think no. > (4) The only way to do a case-insensitive "word-start" search is to > use the RegEx variant > "... WHERE fieldname LIKE '\Asearchword'" No, BaseObject methods is a solution. > The disadvantage is that, this way the search does not use the index > (since my application should run off a CD-ROM I try optimize for > performance everywhere) and (the bigger problem) it didn't work at all (= > it found not a single record, but I'm sure You will tell me what I did > wrong. I use a query with several joins, "... WHERE fieldname LIKE > 'searchword'" did work). Hmm, you mean you do in query multi-table search? Does it work for you on single table ? -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From ernestogiannotta at tiscalinet.it Wed Jun 30 12:29:16 2004 From: ernestogiannotta at tiscalinet.it (erne) Date: Wed Jun 30 05:29:49 2004 Subject: Queries. Question to all In-Reply-To: Message-ID: on 30-06-2004 11:50, Ruslan Zasukhin at sunshine@public.kherson.ua wrote: >> Furthermore, according to my experience, I can not imagine too many >> situations where I would need a case-sensitive search. > > Ok, but then please remind me, how in mySQL you will be able > IF YOU WANT provide case-sensetive seach? > > I have CC this to Valentina list. > For several years nobody have complain that Valentina do on default > case-sensetive search. What you think guys ? > > Should we change this in 2.0 ? > I think no. > FoxPro/dBase does case sensitive search but allow specify Upper(Field) in the index expression all in all very similar to build indexed BaseObject methods only indexes are separate from the DB structure while BaseObject methods are not and this is less flexible expecially when using static classes methods to build the DB Cool Runnings, Erne. -- | e r | Ernesto Giannotta | n e | Musical Box - a media store From sunshine at public.kherson.ua Wed Jun 30 14:10:31 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Jun 30 06:14:25 2004 Subject: Re(2): Queries. Question to all In-Reply-To: <20040630104916.15802@mail.absus.at> Message-ID: On 6/30/04 1:49 PM, "Peter Knobloch" wrote: Hi Peter, > Hi Ruslan, > >> I am not sure about mySQL > "LIKE" is case insensitive, "LIKE BINARY" case sensitve > > http://dev.mysql.com/doc/mysql/en/String_comparison_functions.html#IDX1312 Ok, I see that staring with 4.0 mySQL do case-insensetive LIKE, REGEX, STRCMP, ... I think we will check other DBMS as SQL Server and Sybase. Also we need check SQL92 stadnard. > Furthermore, in mySQL "LIKE" uses an index if possible. > > http://dev.mysql.com/doc/mysql/en/MySQL_indexes.html#IDX777> This have no sense for Valentina actually. Valentina is design in such way, that we do not need this in general case. Although FIELD LIKE "start non wildacrd" really is equal to our left() = -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From sunshine at public.kherson.ua Wed Jun 30 14:21:34 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Jun 30 06:21:43 2004 Subject: Re(2): Queries. Question to all In-Reply-To: <20040630104916.15802@mail.absus.at> Message-ID: On 6/30/04 1:49 PM, "Peter Knobloch" wrote: >> I am not sure about mySQL > "LIKE" is case insensitive, "LIKE BINARY" case sensitve > > http://dev.mysql.com/doc/mysql/en/String_comparison_functions.html#IDX1312 Also note, Valentina 1.x in LIKE use actually REGEX. In Valentina 1.x you can do case insensitive LIKE using WHRE fld LIKE 'something' no_case ^^^^^^ Yes, this is non standard way, but works. It is not worse of BINARY -- also non standard way. >> To get case-insensetive search you should create virtual field >> (BaseObject method) fldLwr with formula "fld" > Good to hear that thats the official way: it's what I'm doing. But I > assume this doubles the size for the fields PLUS the index as well (if I > have an index on both fields). But you should to have 2 indexes for a field if you want do both case-sensitive and case-insensitive searches or sorting. Just think about this. 2 indexes will differ in the order of records!!! And note, you can buld only one index! You can index or field, or methd, or both. Up to your choice. >> For several years nobody have complain that Valentina do on default >> case-sensetive search. What you think guys ? Should we change this in >> 2.0 ? I think no. > How about an additional flag to give the developer the option if the > index should be case sensitive? YES! Valentina 2.0 will have such flag for string fields. It simplify work in this area. compare: ---------------------- Valentina 1.x: fld NOT INDEXED fldLwr method = "lower(fld)" INDEXED Now we have one field on disk. Now we have one virtual field. And we have One index on disk. But now developer MUST do one more step. when he prepare SQL query, the string constant already should be in lower case: WHERE fldLwr = 'sgdg' good WHERE fldLwr = 'sGDg' wrong ---------------------- Valentina 2.0: fld INDEXED and CASE-INSENSITIVE Let is all. Valentina will keep index for this field in lower case. Developer may even give string constant in any case WHERE fld = 'sGDg' okay, Valentina self will make it lower. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From sunshine at public.kherson.ua Wed Jun 30 14:27:58 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Jun 30 06:30:53 2004 Subject: Queries. Question to all In-Reply-To: Message-ID: On 6/30/04 1:29 PM, "erne" wrote: > on 30-06-2004 11:50, Ruslan Zasukhin at sunshine@public.kherson.ua wrote: > >>> Furthermore, according to my experience, I can not imagine too many >>> situations where I would need a case-sensitive search. >> >> Ok, but then please remind me, how in mySQL you will be able >> IF YOU WANT provide case-sensetive seach? >> >> I have CC this to Valentina list. >> For several years nobody have complain that Valentina do on default >> case-sensetive search. What you think guys ? >> >> Should we change this in 2.0 ? >> I think no. >> > > FoxPro/dBase does case sensitive search > but allow specify Upper(Field) in the index expression > > all in all very similar to build indexed BaseObject methods > only indexes are separate from the DB structure > while BaseObject methods are not > and this is less flexible > expecially when using static classes methods to build the DB Hi Erne, On the other hand when you use BaseObject method in the query, you 1) can be sure that all will work AS YOU have ask 2) there is no need for any kind of optimizer, which will get crazy trying to choose the best index. So with BaseObject methods you get ZERO time on optimization of query. We have try to make CREATE INDEX like in foxpro. But when index is standalone, when it just exist in db/table, And is not linked to any field (like it is in BaseObject methods) Then we MUST implement also some kind of analyzer to choose the best index. I have decide that we will not spend time on this for now. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From sunshine at public.kherson.ua Wed Jun 30 14:29:33 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Jun 30 06:31:16 2004 Subject: Queries. Question to all In-Reply-To: Message-ID: On 6/30/04 2:23 PM, "jda" wrote: >> >> >> I have CC this to Valentina list. >> For several years nobody have complain that Valentina do on default >> case-sensetive search. What you think guys ? >> >> Should we change this in 2.0 ? >> I think no. >> > > Since all my searches are case insensitive, I wouldn't object if that > were the default. > > But that's not particularly important, it seems to me. Having to > create a methods for each instance, though, is not particularly > intuitive or friendly. Having a parameter for > caseSensitive|caseInsensitive strikes me as a good thing, and I > believe you (Ruslan) have mentioned that this will be implemented in > 2.0, right? Yes, Jon, and I just only have describe how it will work. And how it will make life easier for developers. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From ernestogiannotta at tiscalinet.it Wed Jun 30 16:02:08 2004 From: ernestogiannotta at tiscalinet.it (erne) Date: Wed Jun 30 09:02:46 2004 Subject: Queries. Question to all In-Reply-To: Message-ID: on 30-06-2004 13:27, Ruslan Zasukhin at sunshine@public.kherson.ua wrote: >>> Should we change this in 2.0 ? >>> I think no. >>> >> >> FoxPro/dBase does case sensitive search >> but allow specify Upper(Field) in the index expression >> >> all in all very similar to build indexed BaseObject methods >> only indexes are separate from the DB structure > >> while BaseObject methods are not >> and this is less flexible >> expecially when using static classes methods to build the DB > > Hi Erne, > > On the other hand when you use BaseObject method in the query, you > > 1) can be sure that all will work AS YOU have ask > > 2) there is no need for any kind of optimizer, which will get crazy trying > to choose the best index. > > So with BaseObject methods you get ZERO time on optimization of query. > Yep! I forgot to say that FoxPro/dBase does *not* work natively in SQL so you just choose your wanted index just as you choose the field to search optimization came later when FoxPro implemented SQL way of search > We have try to make CREATE INDEX like in foxpro. > But when index is standalone, when it just exist in db/table, > And is not linked to any field (like it is in BaseObject methods) > Then we MUST implement also some kind of analyzer to choose the best index. > I have decide that we will not spend time on this for now. > on the other hand, since this is a favourite request, you could implement a NoCase flag when asking for index (just like we have the IndexByWord flag) then internally convert all string passed to the SQL to match the Case Insensitive index (you choose whether better to Uppercase or Lowercase everything) Cool Runnings, Erne. -- | e r | Ernesto Giannotta | n e | Musical Box - a media store From cm_sheffield at yahoo.com Wed Jun 30 08:58:25 2004 From: cm_sheffield at yahoo.com (Chris Sheffield) Date: Wed Jun 30 10:58:33 2004 Subject: large BLOB data slow to load Message-ID: <20040630155825.38173.qmail@web52408.mail.yahoo.com> I have a database with a BLOB field that can get pretty large, sometimes up to around 7 or 8 MB. When accessing the database locally, it is extremely fast to load, but when accessing the database using VServer, it is very slow to load, sometimes taking a minute or two. Can anyone think of why this would be? Even when running the server on the same machine as my client, and using "localhost" to connect, it is very slow. I have tried increasing the segment size, which has helped somewhat, but not enough. Does anyone have any other ideas I could try? Right now the database consists of one .vdb file. Would it help to split out the BLOB data? I keep thinking there's got to be something I'm missing, because data this size should not take that long to load over a network. It shouldn't take any more than a couple seconds at the most. Any help would be appreciated. Thanks, ===== Chris Sheffield Read Naturally www.readnaturally.com __________________________________ Do you Yahoo!? New and Improved Yahoo! Mail - 100MB free storage! http://promotions.yahoo.com/new_mail From sunshine at public.kherson.ua Wed Jun 30 19:05:14 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Jun 30 11:05:25 2004 Subject: large BLOB data slow to load In-Reply-To: <20040630155825.38173.qmail@web52408.mail.yahoo.com> Message-ID: On 6/30/04 6:58 PM, "Chris Sheffield" wrote: Hi Chris, > I have a database with a BLOB field that can get > pretty large, sometimes up to around 7 or 8 MB. When > accessing the database locally, it is extremely fast > to load, but when accessing the database using > VServer, it is very slow to load, sometimes taking a > minute or two. Can anyone think of why this would be? Because of network of course. What speed of your network? Is this local ethernet or dialup? > Even when running the server on the same machine as > my client, and using "localhost" to connect, it is > very slow. Aha. How many records into cursor you get ? Do you use client cursor? If yes then this means that ALL your records are read into RAM. This not happens when you work with local db. To solve problem you need to use SERVER SIDE cursor. It will load into RAM only one record. > I have tried increasing the segment size, which has > helped somewhat, but not enough. Does anyone have any > other ideas I could try? Right now the database > consists of one .vdb file. Would it help to split out > the BLOB data? I keep thinking there's got to be > something I'm missing, because data this size should > not take that long to load over a network. It > shouldn't take any more than a couple seconds at the > most. > > Any help would be appreciated. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From cm_sheffield at yahoo.com Wed Jun 30 09:57:42 2004 From: cm_sheffield at yahoo.com (Chris Sheffield) Date: Wed Jun 30 11:57:52 2004 Subject: large BLOB data slow to load In-Reply-To: Message-ID: <20040630165742.55778.qmail@web52407.mail.yahoo.com> Ruslan, > > Because of network of course. > > What speed of your network? > Is this local ethernet or dialup? > My network is usually fast. It's 10/100 ethernet. Just a small network in my home office. If I were to copy the same data (it's just a file I'm saving in the database) to another machine on my network, it only takes about 2 seconds. So it's not my network. > > Aha. > > How many records into cursor you get ? > > Do you use client cursor? > If yes then this means that ALL your records are > read into RAM. > This not happens when you work with local db. > > To solve problem you need to use SERVER SIDE cursor. > It will load into RAM only one record. > I'm already doing this. I'm using a server-side cursor and only requesting one record from the database. It doesn't seem to make any difference. I'm beginning to wonder if there's some kind of bug with VServer that's causing this. If there is anyone out there who can confirm it, I would be grateful. Just try loading a few MBs of BLOB data into a server database and see what happens when you try to read that data. I think it's taking longer than it should. I'm going to try splitting out my BLOB data in a .blb file and see if anything changes. Thanks again, ===== Chris Sheffield Read Naturally www.readnaturally.com __________________________________ Do you Yahoo!? New and Improved Yahoo! Mail - Send 10MB messages! http://promotions.yahoo.com/new_mail From sunshine at public.kherson.ua Wed Jun 30 21:05:21 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Jun 30 13:05:31 2004 Subject: large BLOB data slow to load In-Reply-To: <20040630165742.55778.qmail@web52407.mail.yahoo.com> Message-ID: On 6/30/04 7:57 PM, "Chris Sheffield" wrote: Hi Chris, >> Because of network of course. >> >> What speed of your network? >> Is this local ethernet or dialup? >> > > My network is usually fast. It's 10/100 ethernet. > Just a small network in my home office. If I were to > copy the same data (it's just a file I'm saving in the > database) to another machine on my network, it only > takes about 2 seconds. So it's not my network. > >> >> Aha. >> >> How many records into cursor you get ? >> >> Do you use client cursor? >> If yes then this means that ALL your records are >> read into RAM. >> This not happens when you work with local db. >> >> To solve problem you need to use SERVER SIDE cursor. >> It will load into RAM only one record. >> > > I'm already doing this. I'm using a server-side > cursor and only requesting one record from the > database. It doesn't seem to make any difference. > > I'm beginning to wonder if there's some kind of bug > with VServer that's causing this. If there is anyone > out there who can confirm it, I would be grateful. Well, it seems we did not see problems in our tests. Can you send some example proect? > Just try loading a few MBs of BLOB data into a server > database and see what happens when you try to read > that data. I think it's taking longer than it should. Of course. 2 minutes, this is acceptable for dialup only. > I'm going to try splitting out my BLOB data in a .blb > file and see if anything changes. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From sunshine at public.kherson.ua Wed Jun 30 21:05:44 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Jun 30 13:05:56 2004 Subject: large BLOB data slow to load In-Reply-To: <20040630165742.55778.qmail@web52407.mail.yahoo.com> Message-ID: On 6/30/04 7:57 PM, "Chris Sheffield" wrote: > I'm beginning to wonder if there's some kind of bug > with VServer that's causing this. If there is anyone > out there who can confirm it, I would be grateful. > Just try loading a few MBs of BLOB data into a server > database and see what happens when you try to read > that data. I think it's taking longer than it should. > I'm going to try splitting out my BLOB data in a .blb > file and see if anything changes. You mean change db mode ? No need. This will not affect -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From cm_sheffield at yahoo.com Wed Jun 30 11:43:47 2004 From: cm_sheffield at yahoo.com (Chris Sheffield) Date: Wed Jun 30 13:43:54 2004 Subject: large BLOB data slow to load In-Reply-To: Message-ID: <20040630184347.59966.qmail@web52405.mail.yahoo.com> Ruslan, Here is a link to a database you can download. The field in question is the "data" field in the Stories table. The BLOB data consists of a Revolution stack file that has been gzip compressed and then saved to the database. http://www.readnaturally.com/Internal/RNSE/new%20rnse/Level8.0.vdb.sit Thanks, Chris --- Ruslan Zasukhin wrote: > On 6/30/04 7:57 PM, "Chris Sheffield" > wrote: > > Hi Chris, > > >> Because of network of course. > >> > >> What speed of your network? > >> Is this local ethernet or dialup? > >> > > > > My network is usually fast. It's 10/100 ethernet. > > Just a small network in my home office. If I were > to > > copy the same data (it's just a file I'm saving in > the > > database) to another machine on my network, it > only > > takes about 2 seconds. So it's not my network. > > > >> > >> Aha. > >> > >> How many records into cursor you get ? > >> > >> Do you use client cursor? > >> If yes then this means that ALL your records are > >> read into RAM. > >> This not happens when you work with local db. > >> > >> To solve problem you need to use SERVER SIDE > cursor. > >> It will load into RAM only one record. > >> > > > > I'm already doing this. I'm using a server-side > > cursor and only requesting one record from the > > database. It doesn't seem to make any difference. > > > > I'm beginning to wonder if there's some kind of > bug > > with VServer that's causing this. If there is > anyone > > out there who can confirm it, I would be grateful. > > Well, it seems we did not see problems in our tests. > Can you send some example proect? > > > Just try loading a few MBs of BLOB data into a > server > > database and see what happens when you try to read > > that data. I think it's taking longer than it > should. > > Of course. 2 minutes, this is acceptable for dialup > only. > > > I'm going to try splitting out my BLOB data in a > .blb > > file and see if anything changes. > > -- > Best regards, > Ruslan Zasukhin [ I feel the need...the need > for speed ] > ------------------------------------------------------------- > e-mail: ruslan@paradigmasoft.com > web: http://www.paradigmasoft.com > > To subscribe to the Valentina mail list go to: > http://lists.macserve.net/mailman/listinfo/valentina > ------------------------------------------------------------- > > _______________________________________________ > Valentina mailing list > Valentina@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com From sunshine at public.kherson.ua Wed Jun 30 22:58:51 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Jun 30 14:59:01 2004 Subject: large BLOB data slow to load In-Reply-To: <20040630184347.59966.qmail@web52405.mail.yahoo.com> Message-ID: On 6/30/04 9:43 PM, "Chris Sheffield" wrote: > Ruslan, > > Here is a link to a database you can download. The > field in question is the "data" field in the Stories > table. The BLOB data consists of a Revolution stack > file that has been gzip compressed and then saved to > the database. > > http://www.readnaturally.com/Internal/RNSE/new%20rnse/Level8.0.vdb.sit Chris, Size of this db ? This is only database? So you do on this db which query ? How many records is found ? Have you try query this db under Vserver from Vstudio? It can specify client or server side cursor to use. You work with VXCMD or other ? Platform of server? MAC ? Of client ? -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From cm_sheffield at yahoo.com Wed Jun 30 13:36:19 2004 From: cm_sheffield at yahoo.com (Chris Sheffield) Date: Wed Jun 30 15:36:25 2004 Subject: large BLOB data slow to load In-Reply-To: Message-ID: <20040630203619.77146.qmail@web52404.mail.yahoo.com> Ruslan, > > Size of this db ? > This database is about 8 MB. If all the records were there, it would be around 130 MB. The size of the database doesn't seem to make a difference. I tested using this one and still experience the slow loading. > This is only database? > > So you do on this db which query ? I'm using the "SQLSelect" function with the query "SELECT data FROM Stories WHERE StoryNumber=1". And, once again, I am using a server-side cursor. Once I get the cursor, I use the "Cursor_GetFieldRef" function to get a reference to the "data" field. put Valentina("Cursor_GetFieldRef", tRecID, "data") into tFldRef Then I use "Binary_ReadData" like this: get Valentina("Binary_ReadData", tFldRef, "gStackContents", Valentina("BLOB_GetDataSize", tFldRef)) This all works fine except that it is really slow with a server database. > > How many records is found ? Just one. > > Have you try query this db under Vserver from > Vstudio? > It can specify client or server side cursor to use. > Yes, and it's slow there too. > You work with VXCMD or other ? > Yes, VXCMD. > Platform of server? MAC ? > Of client ? Platform of server is Mac, and platform of clients are OS X, OS 9, and all versions of Windows. The client platform doesn't make a difference. I'm confident that if you'll take this database and run a query on it, you'll see what I mean. Sometimes it takes as much as 10 or 15 seconds, when it should only take 2 or 3 at the most. Thanks, ===== Chris Sheffield Read Naturally www.readnaturally.com __________________________________ Do you Yahoo!? Take Yahoo! Mail with you! Get it on your mobile phone. http://mobile.yahoo.com/maildemo From sunshine at public.kherson.ua Wed Jun 30 23:43:34 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Jun 30 15:43:43 2004 Subject: large BLOB data slow to load In-Reply-To: <20040630203619.77146.qmail@web52404.mail.yahoo.com> Message-ID: On 6/30/04 11:36 PM, "Chris Sheffield" wrote: > I'm confident that if you'll take this database and > run a query on it, you'll see what I mean. Sometimes > it takes as much as 10 or 15 seconds, when it should > only take 2 or 3 at the most. How I can run query ? Can you give simple project? I am not expert in MC/REV IDEs. It is hard to make even simple for me. -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina ------------------------------------------------------------- From cm_sheffield at yahoo.com Wed Jun 30 14:21:25 2004 From: cm_sheffield at yahoo.com (Chris Sheffield) Date: Wed Jun 30 16:21:32 2004 Subject: large BLOB data slow to load In-Reply-To: Message-ID: <20040630212125.56839.qmail@web52406.mail.yahoo.com> You can just run it in VStudio if you want to. The same thing happens there. It doesn't seem to make a difference whether I use the XCMD or VStudio. If you don't want to do that, I can put together a little test stack or something for you to test it with. --- Ruslan Zasukhin wrote: > On 6/30/04 11:36 PM, "Chris Sheffield" > wrote: > > > I'm confident that if you'll take this database > and > > run a query on it, you'll see what I mean. > Sometimes > > it takes as much as 10 or 15 seconds, when it > should > > only take 2 or 3 at the most. > > How I can run query ? > > Can you give simple project? > I am not expert in MC/REV IDEs. > It is hard to make even simple for me. > ===== Chris Sheffield Read Naturally www.readnaturally.com __________________________________ Do you Yahoo!? Yahoo! Mail Address AutoComplete - You start. We finish. http://promotions.yahoo.com/new_mail