From sunshine at public.kherson.ua Wed Sep 1 00:56:49 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue Aug 31 16:58:11 2004 Subject: DONEL Vstring field and UTF8 storage encoding Message-ID: Now VarChar and Vstring fields correctly converted into UTF8 encoding (and should to any other single byte) when they are stored into disk file. I have TODO yet TEXT field. -- 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 Sep 1 16:52:20 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Sep 1 08:58:08 2004 Subject: NEW: Vstring field now will eat 1-2 bytes less per record! Message-ID: Hi All, I have found that in Valentina 1.x I have spend one byte for Vstring field. End zero byte If user says Vstring( 10 ) Then on disk each record have use 11 bytes. Now 2.0 will use 10 bytes exactly. It can be huge win fir huge db. E.g. If you have table in 10 millions of records then we win 10MB for UTF8 20MB for Unicode In case table have just one Vstring field. If it have e..g 5 fields then we win 5 * 10MB = 50M for UTF8 5 * 20MB = 100MB for Unicode Also, Vstring(1) now will eat exactly one byte on disk. -- 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-list at vermontsoftworks.com Fri Sep 3 15:32:10 2004 From: valentina-list at vermontsoftworks.com (Erik Mueller-Harder) Date: Fri Sep 3 14:32:19 2004 Subject: V4RB b14 uploaded. In-Reply-To: References: Message-ID: Hi, Jon -- I was having a similar problem. In my case, it was because I was trying to combine the "API" and the "Class" methods of database creation/opening. V4RB allowed me to (accidentally) create to different tables with the same name within the database. All was fine until I tried to re-open the database; this would fail either with a "File %U is already open" error or (sometimes) with a kernel protection failure. This may or may not be your difficulty, of course. What you might find helpful, though, is to include the "DbStructureBrowser" folder from the "__shared__" folder from the V4RB "Examples" folder in my project. A simple call to "ShowStructure" showed me the structure of my database as I'd created it -- including the duplicated table. HTH, -- Erik On Aug 29, 2004, at 19:22, jda wrote: >> Hi All, >> >> You can download b14. >> > > Now when I try to open a db (that I just created) I get an exception: > "File %U is already open." > > When I quit and rerun, when I try to open it I get an error -61. > > Jon From jda at his.com Fri Sep 3 15:50:32 2004 From: jda at his.com (jda) Date: Fri Sep 3 14:50:40 2004 Subject: V4RB b14 uploaded. In-Reply-To: References: Message-ID: >Hi, Jon -- > >I was having a similar problem. In my case, it was because I was >trying to combine the "API" and the "Class" methods of database >creation/opening. V4RB allowed me to (accidentally) create to >different tables with the same name within the database. All was >fine until I tried to re-open the database; this would fail either >with a "File %U is already open" error or (sometimes) with a kernel >protection failure. > >This may or may not be your difficulty, of course. What you might >find helpful, though, is to include the "DbStructureBrowser" folder >from the "__shared__" folder from the V4RB "Examples" folder in my >project. A simple call to "ShowStructure" showed me the structure >of my database as I'd created it -- including the duplicated table. > >HTH, > >-- Erik > Hi Erik, Thanks for the advice. I actually already used that very convenient utility to analyze the table structure, and (unfortunately) there are no duplicates. Also, this is a project that compiled and ran with b13. I'm waiting for b15 and if it's still a problem I'll send the project to Ruslan... Jon From sunshine at public.kherson.ua Sat Sep 4 12:43:39 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Sat Sep 4 04:43:45 2004 Subject: Wow2! We have fix all FAILS and ASSERTS in FBL zone! Message-ID: ************************************************************************* * FINISH ************************************************************************* * Total tests : 8288 * Failed tests : 0 * Failed tests on exception : 0 * Leaked tests I_Unknown : 43 * Leaked tests new : 84 * * Total asserts : 11761541 * Failed asserts : 0 Great guys! Now we need do the same in VSQL and will go into the CORRECT MODE of engine. Leaks we also will polish. Mainly this is not correctly made test itself. Ivan, will be you able today finish fld.ChangeType() ? -- 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 Sep 4 23:40:29 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Sat Sep 4 15:40:42 2004 Subject: [V4MD:PROGRESS] Properties in Lingo In-Reply-To: <000501c492be$6c448d50$3b04a8c0@giv> Message-ID: On 9/4/04 11:33 PM, "Igor Gomon" wrote: > Hi team, > > It seems I was able to implement properties syntax in Lingo. > I used for this IMoaMmPropertyReference interface - not IMoaMmXValue. > At first - interface IMoaMmXValue is not documented yet in XDK and > IMoaMmPropertyReference does. > Second - we can get all we need with IMoaMmPropertyReference interface. > > So this is working now: > put object.value > --7 > object.value = 7 > I tested this in my test xtra. > > I'm now going to implement this syntax in V4MD. > So we can write: > set f to table.field("myField") > f.indexed = true > instead of: > set f to table.getField("myField") > f.setIndexed(true). This is great Igor! So you can redo on properties all like in 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 IvanSmahin at public.kherson.ua Mon Sep 6 20:38:03 2004 From: IvanSmahin at public.kherson.ua (Ivan Smahin) Date: Mon Sep 6 12:40:46 2004 Subject: [INFO] Working subquery types Message-ID: Hello All, //*********************************************************************** // SUBQUERIES in where clause // 1. // ==, <, > <=, >=, <> Example: select Name from Person where personID =( select personID from Students where st_level = 3) 2. // between( subquery and subquery ) Example: select personID from Person where personID between ( select personID from Students where st_level = 5) and ( select personID from Students where st_level = 5) 3. // between( subquery and const ) Example: select personID from Person where personID between ( select personID from Students where st_level = 5) and ( 1 ) 4. // between( const and subquery ) Example: select personID from Person where personID between 1 and ( select personID from Students where st_level = 5) 5. // between( (select const) and subquery ) Example: select personID from Person where personID between (select 1 ) and ( select personID from Students where st_level = 5) 6. // in (subquery) Example: select Name from Person where personID in ( select personID from Students where st_level = 3 ) //*********************************************************************** // SUBQUERIES in from clause // // ATTENTION: // This is absolutely legal following standard, but it does not work // on MS-SQL. // 7. // select ... from (subquery) Example: select PERSONID from (select * from Students) 8. // select ... from (subquery) where ... Example: select PERSONID from (select * from Students) where personID = 2 -- Best regards, Ivan mailto:IvanSmahin@public.kherson.ua _______________________________________________ Vdevelopers mailing list Vdevelopers@paradigma.ukrcom.kherson.ua http://192.168.2.1/mailman/listinfo/vdevelopers From sunshine at public.kherson.ua Mon Sep 6 20:44:57 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Mon Sep 6 12:45:07 2004 Subject: [INFO] Working subquery types In-Reply-To: <1901781062.20040906203803@public.kherson.ua> Message-ID: On 9/6/04 8:38 PM, "Ivan Smahin" wrote: > Hello All, > > //*********************************************************************** > // SUBQUERIES in where clause > // > //*********************************************************************** > // SUBQUERIES in from clause > // > // ATTENTION: > // This is absolutely legal following standard, but it does not work > // on MS-SQL. > // > > 7. > // select ... from (subquery) > > Example: > select PERSONID from (select * from Students) > > 8. > // select ... from (subquery) where ... > > Example: > select PERSONID from (select * from Students) where personID = 2 Ivan, It seems you have told also about subq in the SELECT 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 sunshine at public.kherson.ua Tue Sep 7 09:26:10 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue Sep 7 01:26:21 2004 Subject: ANN: V4RB b15 uploaded Message-ID: * NEW - KERNEL * - Now Vstring, VarChar and Vtext fields correctly convert strings into UTF8 database. Jon, Our tests show that we can do string searches at least for UTF16 db (I think for UTF8 also) for non-indexed fields. So please check this. I am starting to finish string indexes. -- 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 jda at his.com Tue Sep 7 08:41:50 2004 From: jda at his.com (jda) Date: Tue Sep 7 07:42:05 2004 Subject: ANN: V4RB b15 uploaded In-Reply-To: References: Message-ID: > >Jon, > >Our tests show that we can do string searches at least for UTF16 db >(I think for UTF8 also) for non-indexed fields. So please check this. > I'd love to, but my Valentina crashes when I create my preferences database, and crashes when I try to open a freshly created database. Let's take the first problem. The crash occurs on this line: myCursor = new VCursor(PrefsDB, "select * from prefs where false", Valentina.kServerSide, Valentina.kReadWrite) The last few lines of the VLog file are: Database_IsOpen... PARAM: inDatabase = 26519568 return res = 1 Database_SetSchemaVersion... PARAM: inDatabase = 26519568 PARAM: inValue = 800 return Cursor_Ctor... PARAM: instance = 26531992 PARAM: inDB = 26519568 PARAM: inSQLstr = "select * from prefs where false" PARAM: inCursorLocation = 2 PARAM: inCursorType = 3 PARAM: inDirection = 1 The crash log is: Thread 0 Crashed: 0 Kernel_Carbon_Debug.shlb 0x022d7820 put_IsNull__Q23fbl12Value_stringFb + 0x1c 1 Kernel_Carbon_Debug.shlb 0x022d90e0 Assign__Q23fbl12Value_stringFPCwPCw + 0x9c 2 Kernel_Carbon_Debug.shlb 0x022d7154 _ct__Q23fbl12Value_stringFRCQ23fbl12Value_string + 0xac 3 Kernel_Carbon_Debug.shlb 0x022d9b48 _ct__Q23fbl17Value_string_nullFRCQ23fbl17Value_string_null + 0x30 4 Kernel_Carbon_Debug.shlb 0x023b5fb0 _ct__Q23fbl15Value_text_nullFRCQ23fbl15Value_text_null + 0x34 5 Kernel_Carbon_Debug.shlb 0x023b61a8 Clone__Q23fbl15Value_text_nullCFb + 0x70 6 Kernel_Carbon_Debug.shlb 0x023305b8 MakeConvertValue__Q23fbl5VTextFv + 0x60 7 Kernel_Carbon_Debug.shlb 0x0232f3fc InitCloned__Q23fbl5VTextFQ23fbl26smart_ptrQ23fbl25smart_ptr + 0xb0 8 Kernel_Carbon_Debug.shlb 0x0243a05c CloneField__3fblFQ23fbl26smart_ptrQ23fbl25smart_ptr + 0x12c 9 Kernel_Carbon_Debug.shlb 0x022e9f9c CloneAndAppendField__Q23fbl14Table_IndirectFQ23fbl26smart_ptrPCw + 0x80 10 Kernel_Carbon_Debug.shlb 0x022e9930 AppendField__Q23fbl14Table_IndirectFQ23fbl25smart_ptrPCwUl + 0x198 11 Kernel_Carbon_Debug.shlb 0x0217a3ac AppendFieldsTo__Q24vsql20SelectList_Elem_StarFQ23fbl33smart_ptr + 0xac 12 Kernel_Carbon_Debug.shlb 0x0217b0b4 AppendFieldsTo__Q24vsql15Node_SelectListFQ23fbl33smart_ptr + 0x78 13 Kernel_Carbon_Debug.shlb 0x0215087c CreateResultTable__Q24vsql14Node_TableExprFQ23fbl27smart_ptrUl + 0x124 14 Kernel_Carbon_Debug.shlb 0x0214efb8 Execute_Select_From1_Where__Q24vsql14Node_TableExprFRQ24vsql11Environment + 0x24c 15 Kernel_Carbon_Debug.shlb 0x021518fc Execute_Select_From_Where_Indirect__Q24vsql14Node_TableExprFRQ24vsql11Environment + 0x54 16 Kernel_Carbon_Debug.shlb 0x0215182c Execute_Select_From_Where__Q24vsql14Node_TableExprFRQ24vsql11Environment + 0x64 17 Kernel_Carbon_Debug.shlb 0x0214dda0 ExecuteSql__Q24vsql14Node_TableExprFRQ24vsql11Environment + 0x50 18 Kernel_Carbon_Debug.shlb 0x0214a2c4 ExecuteSql__Q24vsql16Node_QuerySelectFRQ24vsql11Environment + 0x64 19 Kernel_Carbon_Debug.shlb 0x021660f4 ExecuteSql__Q24vsql11Node_SelectFRQ24vsql11Environment + 0x30 20 Kernel_Carbon_Debug.shlb 0x02248c70 ProceedCommand__Q24vsql8DatabaseFRQ24vsql11Environment + 0x68 21 Kernel_Carbon_Debug.shlb 0x02247668 SqlSelect__Q24vsql8DatabaseFPCwQ24vsql15ECursorLocationQ24vsql9ELockTypeQ24vsql16ECursorDirectionQ23fbl70smart_ptr>> + 0xdc 22 Plugin 0x004fb818 Cursor_Ctor_Param__FP16REALobjectStructP16REALobjectStructP16REALstringStructiii + 0x19c 23 main 0x0114341c 0x1008000 + 0x13b41c 24 main 0x011692a4 App.getPreferences%%o + 0xabf8 From jda at his.com Tue Sep 7 09:04:01 2004 From: jda at his.com (jda) Date: Tue Sep 7 08:04:13 2004 Subject: ANN: V4RB b15 uploaded In-Reply-To: References: Message-ID: I found another oddity -- when I try to read in the (damaged and incomplete) preference database, I set Valentina.ThrowExceptions = false The error number is 0. But the error message is "EOF reached" (or something like that). The error number should be non-0. Jon From valentina-list at vermontsoftworks.com Tue Sep 7 10:38:29 2004 From: valentina-list at vermontsoftworks.com (Erik Mueller-Harder) Date: Tue Sep 7 09:38:39 2004 Subject: Sorting sets Message-ID: <958DC020-00DB-11D9-BD4A-000393DC4766@vermontsoftworks.com> Hi, Ruslan -- I see that Sets have a "sort" method. Is this functional yet? Simply calling "Sort" on a one-field Set doesn't seem to sort the Set by its one field.... Thanks, -- Erik From sunshine at public.kherson.ua Tue Sep 7 18:02:24 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue Sep 7 10:02:31 2004 Subject: Sorting sets In-Reply-To: <958DC020-00DB-11D9-BD4A-000393DC4766@vermontsoftworks.com> Message-ID: On 9/7/04 5:38 PM, "Erik Mueller-Harder" wrote: > Hi, Ruslan -- > > I see that Sets have a "sort" method. Is this functional yet? Simply > calling "Sort" on a one-field Set doesn't seem to sort the Set by its > one field.... Hi Erik, Exists 2 kinds of Sets. BitSet - it cannot be sorted ArraySet -- it can be sort() So VSet.Sort() have sense only for ArraySets. It simply will sort array of RecIDs (i.e. Array of integers) -- 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 Sep 8 08:41:47 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Sep 8 00:41:55 2004 Subject: Project? In-Reply-To: Message-ID: On 9/7/04 6:50 PM, "jda" wrote: > > Here is the project again (you have all the other files you need). > With each release of Valentina beta things seem to get worse (with > crashes occurring earlier and earlier!). > > The crash now comes while creating the Preferences file. The method is > > app.makePrefsFieldEntriesX > > and I have already sent the log to the list. > > > I have added a comment with your name (Ruslan) in it, and put a > breakpoint there. > > To see the crash, remove Bookends 8 Preferences from your Preferences > folder so it will have to be created new. Then run the project with > b15. The main problem is because you have set UTF8 for prefs db. I have fix one bug. Now I need fix one more. IT is not bug it is the whole logic should be changed. Try with UTF16 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 valentina-list at vermontsoftworks.com Wed Sep 8 08:06:33 2004 From: valentina-list at vermontsoftworks.com (Erik Mueller-Harder) Date: Wed Sep 8 07:06:41 2004 Subject: Sorting sets In-Reply-To: References: Message-ID: <86C9FF2A-018F-11D9-A841-000393DC4766@vermontsoftworks.com> On Sep 7, 2004, at 11:02, Ruslan Zasukhin wrote: > Exists 2 kinds of Sets. > > BitSet - it cannot be sorted > > ArraySet -- it can be sort() > > > So VSet.Sort() have sense only for ArraySets. > It simply will sort array of RecIDs (i.e. Array of integers) So how would I go about getting Valentina to return a set sorted by its value? For example, I want a sorted list of the values of the field "title": Dim rID as Integer Dim vs as VSet Dim vsi as VSetIterator vs = db.tblVenue.title.FindNotNulls if vs <> nil then vs.Sort // (This doesn't do what I expect it to do.) vsi = vs.MakeNewIterator rID = vsi.FirstItem me.recID(0) = rID while rID <> 0 call db.tblVenue.GoToRecID(rID) me.AddRow(db.tblVenue.title.value) rID = vsi.NextItem me.RecID.Append rID wend end if Thanks! -- Erik From sunshine at public.kherson.ua Wed Sep 8 17:09:19 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Sep 8 09:09:30 2004 Subject: Sorting sets In-Reply-To: <86C9FF2A-018F-11D9-A841-000393DC4766@vermontsoftworks.com> Message-ID: On 9/8/04 3:06 PM, "Erik Mueller-Harder" wrote: > On Sep 7, 2004, at 11:02, Ruslan Zasukhin wrote: > >> Exists 2 kinds of Sets. >> >> BitSet - it cannot be sorted >> >> ArraySet -- it can be sort() >> >> >> So VSet.Sort() have sense only for ArraySets. >> It simply will sort array of RecIDs (i.e. Array of integers) > > So how would I go about getting Valentina to return a set sorted by its > value? For example, I want a sorted list of the values of the field > "title": > > Dim rID as Integer > Dim vs as VSet > Dim vsi as VSetIterator > > vs = db.tblVenue.title.FindNotNulls > if vs <> nil then > vs.Sort // (This doesn't do what I expect it to do.) > vsi = vs.MakeNewIterator > rID = vsi.FirstItem > me.recID(0) = rID > while rID <> 0 > call db.tblVenue.GoToRecID(rID) > me.AddRow(db.tblVenue.title.value) > rID = vsi.NextItem > me.RecID.Append rID > wend > end if > > Thanks! Then you need to use function Table.Sort(). I think it is not implemented yet. To use it (without SQL) we need yet add to V4RB small class which will allow us define f2 ASC, f1 Desc, This function Table.Sort() is able sort selection on the few fields. We need just complete this for 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-list at vermontsoftworks.com Wed Sep 8 10:21:05 2004 From: valentina-list at vermontsoftworks.com (Erik Mueller-Harder) Date: Wed Sep 8 09:21:11 2004 Subject: Sorting sets In-Reply-To: References: Message-ID: <51E4E054-01A2-11D9-A841-000393DC4766@vermontsoftworks.com> On Sep 8, 2004, at 10:09, Ruslan Zasukhin wrote: > Then you need to use function Table.Sort(). > I think it is not implemented yet. > > To use it (without SQL) we need yet add to V4RB small class which will > allow > us define > > f2 ASC, f1 Desc, > > This function Table.Sort() is able sort selection on the few fields. > > We need just complete this for V4RB. Sounds very good, Ruslan -- I look forward to it! I'm working with intersections of sets right now; *very* nice, and they seem so far to be working perfectly! -- Erik From sunshine at public.kherson.ua Thu Sep 9 18:54:15 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Thu Sep 9 10:55:34 2004 Subject: [ANN] Vserver a65 and clients VCOM, V4RB, V4MD, VXCMD, VSDK a65 Message-ID: Hi All, We have made a65 build of Valentina Server And all clients for all platforms. Changes are in the clients code. I.e. a65 clients must work with Vserver a63 * NEW * now client can connect to server using its DNS name, but not just by IP * BUG * V4MD Client * GoToRecord() 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 Thu Sep 9 19:07:03 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Thu Sep 9 11:08:55 2004 Subject: [ANN] V4MD_WIN 2.0 beta 15 uploaded Message-ID: Hi All, We are happy introduce this b15 of V4MD 2.0 Please Please Please! Go and check this build. You will see totally new product!!!!!! :-)) Igor have made cool and great work in V4MD last 2 months. If you are active V4MD developer but still not are on beta list then please subscribe and start participate in beta program. * as we have told pictures now work in any way: .picture, .image 24, 16 bit depth and 32. But the main surprise is: V4MD now have not 2 Xtra as in 1.x version, but it have now Xtras Valentina Vdatabase Vcursor VTable Vfield VLink VSet * Yes, Igor have found way how to implement in the Director Xtra the true OO style of the work! This is so cool, guys! We can now write tblPerson = db.Table( "Person" ) here tbl -- become the instance of Xtra "VTable". so we can do the next step now, e.g. tblPerson.CreateField() fldName = tblPerson.Field( "Name" ) * So now V4MD by functionality is totally the same as V4RB, VJava, VCOM !!! * Speed and effectiveness of implementation is excellent! I have show Igor mechanism which I use in V4RB, so his original tests now 20 times faster. * Igor have found how to implement in the Director the properties of objects. So we can now write in V4md s = tblPerson.Name tblPerson.Name = "new name" instad of 1.x syntax s = tblPerson.GetName() tblPerson.SetName( "new name" ) The guys who know REALasic, Visual BASIC and other OO languages easy can see that V4MD syntax now 100% the same. :-) ** Igor have made many examples which are as close as possible to my examples in V4RB. So please study that examples to see new features. ** We will start develop V4MDReference ASAP to reflect this changes. Enjoy, guys! -- 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 mike at roundboxmedia.com Thu Sep 9 15:40:00 2004 From: mike at roundboxmedia.com (Mike Dalsey) Date: Thu Sep 9 14:51:25 2004 Subject: JDBC Question Message-ID: <4140B190.9050100@roundboxmedia.com> Hi - I'm trying to connect to a Valentina database using JDBC. I'm trying to run the examples that came with the jdbc download and I'm running into a problem. I connect to the database ok, but I get this error (running Second_Example.java): Connect: guest to second_example New SystemResultSet java.lang.NullPointerException at com.paradigmasoft.valentina.vjdbc.SystemResultSet.makeSetOfTables(SystemResultSet.java:2606) at com.paradigmasoft.valentina.vjdbc.DatabaseMetaData.getTables(DatabaseMetaData.java:907) at Second_Example.(Second_Example.java:20) at Second_Example.main(Second_Example.java:52) Am I doing anything wrong? I'm pretty sure my classpath is correct (VJBC.jar is in it) and I've got vjdk.dll in my jdk bin directory. I downloaded this about a month ago and it worked at that point. Is this a licensing issue? If so, what will I need to do? Thanks for any help. Mike Dalsey From j.peters at valentina-db.de Thu Sep 9 21:54:59 2004 From: j.peters at valentina-db.de (Jochen Peters) Date: Thu Sep 9 14:56:09 2004 Subject: JDBC Question In-Reply-To: <4140B190.9050100@roundboxmedia.com> References: <4140B190.9050100@roundboxmedia.com> Message-ID: <215BA637-029A-11D9-BE15-000A959F6B0C@valentina-db.de> Hi, this is not a licensing error! Please give some more information about your system. As i see you are running on Windows, right? Which version? Which version of java is installed on your system? If this has worked one month ago and now it does not then i believe that there must be something wrong - or something changed - on your side - because VJDK was not updated during the last month. Am 09.09.2004 um 21:40 schrieb Mike Dalsey: > Hi - > > I'm trying to connect to a Valentina database using JDBC. I'm trying > to run the examples that came with the jdbc download and I'm running > into a problem. I connect to the database ok, but I get this error > (running Second_Example.java): > > Connect: guest to second_example > New SystemResultSet > java.lang.NullPointerException > at > com.paradigmasoft.valentina.vjdbc.SystemResultSet.makeSetOfTables(Syste > mResultSet.java:2606) > at > com.paradigmasoft.valentina.vjdbc.DatabaseMetaData.getTables(DatabaseMe > taData.java:907) > at Second_Example.(Second_Example.java:20) > at Second_Example.main(Second_Example.java:52) > > > Am I doing anything wrong? I'm pretty sure my classpath is correct > (VJBC.jar is in it) and I've got vjdk.dll in my jdk bin directory. > > I downloaded this about a month ago and it worked at that point. Is > this a licensing issue? If so, what will I need to do? > -- Best regards, Jochen Peters PIIT GmbH ------------------------------------ http://www.valentina-db.de From sunshine at public.kherson.ua Thu Sep 9 22:59:28 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Thu Sep 9 15:00:39 2004 Subject: JDBC Question In-Reply-To: <4140B190.9050100@roundboxmedia.com> Message-ID: On 9/9/04 10:40 PM, "Mike Dalsey" wrote: Hi Mike, Why you ask about this on beta list? This list is for Valentina 2.0 discussion I have CC this to Valentina list. Please note, JDBC driver which you can find on our site is canceled. It is of type 2 (embedd engine). Do not use it please. We going in the nearest 2-3 months to get new JDBC driver of type 4, Which will be client to Valentina Server. > Hi - > > I'm trying to connect to a Valentina database using JDBC. I'm trying to > run the examples that came with the jdbc download and I'm running into a > problem. I connect to the database ok, but I get this error (running > Second_Example.java): > > Connect: guest to second_example > New SystemResultSet > java.lang.NullPointerException > at > com.paradigmasoft.valentina.vjdbc.SystemResultSet.makeSetOfTables(SystemResult > Set.java:2606) > > at > com.paradigmasoft.valentina.vjdbc.DatabaseMetaData.getTables(DatabaseMetaData. > java:907) > > at Second_Example.(Second_Example.java:20) > at Second_Example.main(Second_Example.java:52) > > > Am I doing anything wrong? I'm pretty sure my classpath is correct > (VJBC.jar is in it) and I've got vjdk.dll in my jdk bin directory. > > I downloaded this about a month ago and it worked at that point. Is > this a licensing issue? If so, what will I need to do? > > Thanks for any help. -- 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 mike at roundboxmedia.com Thu Sep 9 16:38:15 2004 From: mike at roundboxmedia.com (Mike Dalsey) Date: Thu Sep 9 15:41:31 2004 Subject: JDBC Question In-Reply-To: References: Message-ID: <4140BF37.6090404@roundboxmedia.com> Ruslan - I put it on the beta list because the JDBC driver was listed as a beta version. Sorry if my post went to the wrong list. I will look forward to getting the type 4 driver. Thanks. Mike Ruslan Zasukhin wrote: >On 9/9/04 10:40 PM, "Mike Dalsey" wrote: > >Hi Mike, > >Why you ask about this on beta list? >This list is for Valentina 2.0 discussion > >I have CC this to Valentina list. > >Please note, JDBC driver which you can find on our site is canceled. >It is of type 2 (embedd engine). Do not use it please. > >We going in the nearest 2-3 months to get new JDBC driver of type 4, >Which will be client to Valentina Server. > > > > >>Hi - >> >>I'm trying to connect to a Valentina database using JDBC. I'm trying to >>run the examples that came with the jdbc download and I'm running into a >>problem. I connect to the database ok, but I get this error (running >>Second_Example.java): >> >>Connect: guest to second_example >>New SystemResultSet >>java.lang.NullPointerException >> at >>com.paradigmasoft.valentina.vjdbc.SystemResultSet.makeSetOfTables(SystemResult >>Set.java:2606) >> >> at >>com.paradigmasoft.valentina.vjdbc.DatabaseMetaData.getTables(DatabaseMetaData. >>java:907) >> >> at Second_Example.(Second_Example.java:20) >> at Second_Example.main(Second_Example.java:52) >> >> >>Am I doing anything wrong? I'm pretty sure my classpath is correct >>(VJBC.jar is in it) and I've got vjdk.dll in my jdk bin directory. >> >>I downloaded this about a month ago and it worked at that point. Is >>this a licensing issue? If so, what will I need to do? >> >>Thanks for any help. >> >> > > > From snw at paradise.net.nz Fri Sep 10 08:39:42 2004 From: snw at paradise.net.nz (Sean Wilson) Date: Thu Sep 9 15:42:35 2004 Subject: [ANN] V4MD_WIN 2.0 beta 15 uploaded In-Reply-To: References: Message-ID: <6.1.2.0.2.20040910083806.02e039c0@pop3.paradise.net.nz> >We are happy introduce this b15 of V4MD 2.0 > >You will see totally new product!!!!!! :-)) >Igor have made cool and great work in V4MD last 2 months. Hi Ruslan, Excellent news! One quick question: the dates on the components and engine have altered - is it necessary to download these as well or will the earlier versions still work? Thanks, -Sean. From sunshine at public.kherson.ua Thu Sep 9 23:45:41 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Thu Sep 9 15:46:48 2004 Subject: [ANN] V4MD_WIN 2.0 beta 15 uploaded In-Reply-To: <6.1.2.0.2.20040910083806.02e039c0@pop3.paradise.net.nz> Message-ID: On 9/9/04 11:39 PM, "Sean Wilson" wrote: > >> We are happy introduce this b15 of V4MD 2.0 >> >> You will see totally new product!!!!!! :-)) >> Igor have made cool and great work in V4MD last 2 months. > > Hi Ruslan, > > Excellent news! One quick question: the dates on the components and engine > have altered - is it necessary to download these as well or will the > earlier versions still work? Yes, better to download them. -- 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-list at vermontsoftworks.com Thu Sep 9 16:49:38 2004 From: valentina-list at vermontsoftworks.com (Erik Mueller-Harder) Date: Thu Sep 9 15:50:47 2004 Subject: [V4RB] Dump_XML_Table example is disfunctional Message-ID: Hi, Ruslan -- FYI, there are some problems with the V4RB Dump_XML_Table example: 1. Setting the DebugLevel needs to happen after initializing Valentina, or else the application silently fails. 2. You allow users to open a database of their choice from Window 1, but then you refer specifically to table "Person" in TableDumpXML Action code. Not all databases have such a table. ;-) Thanks, -- Erik From mike at roundboxmedia.com Thu Sep 9 16:42:30 2004 From: mike at roundboxmedia.com (Mike Dalsey) Date: Thu Sep 9 15:51:23 2004 Subject: JDBC Question In-Reply-To: <215BA637-029A-11D9-BE15-000A959F6B0C@valentina-db.de> References: <4140B190.9050100@roundboxmedia.com> <215BA637-029A-11D9-BE15-000A959F6B0C@valentina-db.de> Message-ID: <4140C036.1060003@roundboxmedia.com> Jochen - Thanks for the reply. I'll take another look at my stuff to see what's changed. I'm on Windows XP (Service Pack 2). Actually, Service Pack 2 was just installed on my box - not sure if that could have anything to do with it. I'm using j2sdk1.4.1_01. I'll keep checking to see what might be wrong. Mike Dalsey Jochen Peters wrote: > Hi, > > this is not a licensing error! Please give some more information > about your system. As i see > you are running on Windows, right? Which version? Which version of > java is installed on your system? > > If this has worked one month ago and now it does not then i believe > that there must be something wrong - or > something changed - on your side - because VJDK was not updated > during the last month. > > Am 09.09.2004 um 21:40 schrieb Mike Dalsey: > >> Hi - >> >> I'm trying to connect to a Valentina database using JDBC. I'm >> trying to run the examples that came with the jdbc download and I'm >> running into a problem. I connect to the database ok, but I get >> this error (running Second_Example.java): >> >> Connect: guest to second_example >> New SystemResultSet >> java.lang.NullPointerException >> at >> com.paradigmasoft.valentina.vjdbc.SystemResultSet.makeSetOfTables(Syste >> mResultSet.java:2606) >> at >> com.paradigmasoft.valentina.vjdbc.DatabaseMetaData.getTables(DatabaseMe >> taData.java:907) >> at Second_Example.(Second_Example.java:20) >> at Second_Example.main(Second_Example.java:52) >> >> >> Am I doing anything wrong? I'm pretty sure my classpath is correct >> (VJBC.jar is in it) and I've got vjdk.dll in my jdk bin directory. >> >> I downloaded this about a month ago and it worked at that point. Is >> this a licensing issue? If so, what will I need to do? >> From sunshine at public.kherson.ua Thu Sep 9 23:56:36 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Thu Sep 9 15:57:43 2004 Subject: [V4RB] Dump_XML_Table example is disfunctional In-Reply-To: Message-ID: On 9/9/04 11:49 PM, "Erik Mueller-Harder" wrote: Hi Erik, > FYI, there are some problems with the V4RB Dump_XML_Table example: > > 1. Setting the DebugLevel needs to happen after initializing Valentina, > or else the application silently fails. Yes! Hmm, I was sure I have fix this in all examples. > 2. You allow users to open a database of their choice from Window 1, > but then you refer specifically to table "Person" in TableDumpXML > Action code. Not all databases have such a table. ;-) Well, examples do not have "protection from fool". You should simply do steps as shown on window. -- 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-list at vermontsoftworks.com Thu Sep 9 18:01:34 2004 From: valentina-list at vermontsoftworks.com (Erik Mueller-Harder) Date: Thu Sep 9 17:02:41 2004 Subject: [V4RB] Dump_XML_Table example is disfunctional In-Reply-To: References: Message-ID: On Sep 9, 2004, at 16:56, Ruslan Zasukhin wrote: >> 2. You allow users to open a database of their choice from Window >> 1, >> but then you refer specifically to table "Person" in TableDumpXML >> Action code. Not all databases have such a table. ;-) > > Well, examples do not have "protection from fool". > > You should simply do steps as shown on window. Er, of what use then is the "Open existing database from disk using dialog" button, if we cannot run the XML dump example on the database we open with it? In other words, I think I *was* following the steps as shown in the window. I don't *think* I'm being foolish.... -- Erik From snw at paradise.net.nz Fri Sep 10 11:09:18 2004 From: snw at paradise.net.nz (Sean Wilson) Date: Thu Sep 9 19:49:46 2004 Subject: [ANN] V4MD_WIN 2.0 beta 15 uploaded In-Reply-To: References: Message-ID: <6.1.2.0.2.20040910105825.02dae510@pop3.paradise.net.nz> >We are happy introduce this b15 of V4MD 2.0 > >You will see totally new product!!!!!! :-)) > >But the main surprise is: > > V4MD now have not 2 Xtra as in 1.x version, > but it have now Xtras > > Valentina > Vdatabase > Vcursor > VTable > Vfield > VLink > VSet Even better - all these xtras (and their methods) have entries under the Scripting Xtras menu! Callooh callay! From sunshine at public.kherson.ua Fri Sep 10 09:06:17 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Sep 10 01:07:26 2004 Subject: [V4RB] Dump_XML_Table example is disfunctional In-Reply-To: Message-ID: On 9/10/04 1:01 AM, "Erik Mueller-Harder" wrote: > > On Sep 9, 2004, at 16:56, Ruslan Zasukhin wrote: > >>> 2. You allow users to open a database of their choice from Window >>> 1, >>> but then you refer specifically to table "Person" in TableDumpXML >>> Action code. Not all databases have such a table. ;-) >> >> Well, examples do not have "protection from fool". >> >> You should simply do steps as shown on window. > > Er, of what use then is the "Open existing database from disk using > dialog" button, if we cannot run the XML dump example on the database > we open with it? > > In other words, I think I *was* following the steps as shown in the > window. I don't *think* I'm being foolish.... Ok, I will check -- 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 Sep 10 09:07:52 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Sep 10 01:09:07 2004 Subject: [ANN] V4MD_WIN 2.0 beta 15 uploaded In-Reply-To: <6.1.2.0.2.20040910105825.02dae510@pop3.paradise.net.nz> Message-ID: On 9/10/04 2:09 AM, "Sean Wilson" wrote: >> We are happy introduce this b15 of V4MD 2.0 >> >> You will see totally new product!!!!!! :-)) >> >> But the main surprise is: >> >> V4MD now have not 2 Xtra as in 1.x version, >> but it have now Xtras >> >> Valentina >> Vdatabase >> Vcursor >> VTable >> Vfield >> VLink >> VSet > > Even better - all these xtras (and their methods) have entries under the > Scripting Xtras menu! Callooh callay! Yes, Igor have found my mistake why it did not show. Actually we can build and upload 1.10 with this fix. So since you see Xtras, then you correctly have setup all and it works. Good. -- 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 snw at paradise.net.nz Fri Sep 10 20:03:39 2004 From: snw at paradise.net.nz (Sean Wilson) Date: Fri Sep 10 03:11:04 2004 Subject: [ANN] V4MD_WIN 2.0 beta 15 uploaded In-Reply-To: References: <6.1.2.0.2.20040910105825.02dae510@pop3.paradise.net.nz> Message-ID: <6.1.2.0.2.20040910192547.02e13eb0@pop3.paradise.net.nz> > > Even better - all these xtras (and their methods) have entries under the > > Scripting Xtras menu! Callooh callay! > >Yes, Igor have found my mistake why it did not show. >Actually we can build and upload 1.10 with this fix. That would be fabulous - I know there are other Director developers who rely on this menu as a memory prompt for specific commands and for syntax/parameter hints. >So since you see Xtras, then you correctly have setup all and it works. >Good. Yes. I've spent most of the day working through the example files seeing what's there to be learned from. I'm *very* impressed by what you've been able to achieve! Congratulations. While most of them work really well, there are some problems with a few of the examples - perhaps you could ask Igor to revisit them: 1). SQL_way | Records_AddDeleteUpdate fails when you delete a record and then try the last, first or iterate record commands. I think this is because the example uses the API way of deleting a record ( gDb.table["person"].deleteRecord() ) instead of what perhaps should have been gCursor.deleteRecord() - it works if I make this change to the source, implying that mixing SQL and API approaches shouldn't be done. It would seem the cursor instance has a "record" of its records and if one is deleted via the API the cursor isn't "auto-updated" leading to errors when iterating. Probably a known no-no, but worth over-emphasizing in the docs. 2). Both of the Method_create examples (API and SQL ways) fail as they seem incomplete and appear to use an older syntax (perhaps from the previous beta). 3). SQL_way | Binding example doesn't appear to update the bound bitmap cast member's picture when iterating records (the example could be improved by adding this cast member to the stage so that - when this command works - the user will see it change). Also, it would be good *not* to add the dross from your CVS system into the zip file :-) It might have been interesting poking around your repositories but ultimately it's a waste of space. Finally, why not think about pre-pending example names with the order they should be worked through, from basic concepts to more advanced. For example: SQL_way 01 Table_CreateDrop ... 05 Binding | 05 Pictures ... Although I'm not sure what order these should be in, it seems to me it would help ease in new users if the first example folder isn't - accidentally - the most complicated concept! I'm still working through the API_way | Link_ examples and won't be able to get back to them now for a couple of days, unfortunately, but I've done some tidying/rationalization on the files I've touched and would be happy to pass them back if it would be useful? Also, is there a reason a reference is stored to an un-instantiated xtra (Valentina) instead of invoking its .new() method and then calling methods on the instance? Or a reason these commands aren't "global" any longer? It looks more like it's being treated as a static class and I've never seen an xtra referred to like this. Cheers, -Sean. (PS: I know you're already working on it, but a docs update would really help getting to grips with what's now available). From sunshine at public.kherson.ua Fri Sep 10 11:37:30 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Sep 10 03:41:41 2004 Subject: [ANN] V4MD_WIN 2.0 beta 15 uploaded In-Reply-To: <6.1.2.0.2.20040910192547.02e13eb0@pop3.paradise.net.nz> Message-ID: On 9/10/04 11:03 AM, "Sean Wilson" wrote: > 1). SQL_way | Records_AddDeleteUpdate fails when you delete a record and > then try the last, first or iterate record commands. I think this is > because the example uses the API way of deleting a record ( Yes we know this problem Sean. -- 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 Sep 10 12:14:01 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Sep 10 04:15:25 2004 Subject: [ANN] V4MD_WIN 2.0 beta 15 uploaded In-Reply-To: <6.1.2.0.2.20040910192547.02e13eb0@pop3.paradise.net.nz> Message-ID: On 9/10/04 11:03 AM, "Sean Wilson" wrote: > >>> Even better - all these xtras (and their methods) have entries under the >>> Scripting Xtras menu! Callooh callay! >> >> Yes, Igor have found my mistake why it did not show. >> Actually we can build and upload 1.10 with this fix. > > That would be fabulous - I know there are other Director developers who > rely on this menu as a memory prompt for specific commands and for > syntax/parameter hints. Okay. >> So since you see Xtras, then you correctly have setup all and it works. >> Good. > > Yes. I've spent most of the day working through the example files seeing > what's there to be learned from. I'm *very* impressed by what you've been > able to achieve! Congratulations. Thank you, Sean! -- 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 martin.kloss at gmx.de Fri Sep 10 11:18:36 2004 From: martin.kloss at gmx.de (Martin Kloss) Date: Fri Sep 10 04:19:57 2004 Subject: [ANN] V4MD_WIN 2.0 beta 15 uploaded In-Reply-To: References: Message-ID: <6.1.2.0.2.20040910111611.035db300@pop.gmx.de> At 18:07 09.09.2004, you wrote: >We are happy introduce this b15 of V4MD 2.0 Wow, great. I just downloaded the archive and wanted to check out the examples, but somehow the Xtra is not globally available on Windows Dir MX. The Xtra's name in the xtraList is "V4MD.x32" and the call val = Xtra "Valentina" returns "Xtra not found", even though it is of course in the Xtras folder since it's listed in the xtraList. Any hints? Martin. Martin Kloss "Everybody is somebody else's weirdo." Like the author? Buy the book: http://www.amazon.de/exec/obidos/ASIN/3934358322/lingmmugd Need music? http://www.selling-sound.com Get your daily dose of Lingo: http://www.lingopark.de From giv at tlc.kherson.ua Fri Sep 10 12:25:52 2004 From: giv at tlc.kherson.ua (Igor Gomon) Date: Fri Sep 10 04:27:05 2004 Subject: [ANN] V4MD_WIN 2.0 beta 15 uploaded References: <6.1.2.0.2.20040910105825.02dae510@pop3.paradise.net.nz> <6.1.2.0.2.20040910192547.02e13eb0@pop3.paradise.net.nz> Message-ID: <008d01c49718$2b0dcaf0$3b04a8c0@giv> >>Yes, Igor have found my mistake why it did not show. >>Actually we can build and upload 1.10 with this fix. > > That would be fabulous - I know there are other Director developers who > rely on this menu as a memory prompt for specific commands and for > syntax/parameter hints. We already upload V4MD_Client a65 which already contains the fix. But V4MD local not yet updated. > Yes. I've spent most of the day working through the example files seeing > what's there to be learned from. I'm *very* impressed by what you've been > able to achieve! Congratulations. We are glad to hear it! > While most of them work really well, there are some problems with a few of > the examples - perhaps you could ask Igor to revisit them: > 1). SQL_way | Records_AddDeleteUpdate fails when you delete a record and > then try the last, first or iterate record commands. I think this is > because the example uses the API way of deleting a record ( > gDb.table["person"].deleteRecord() ) instead of what perhaps should have > been gCursor.deleteRecord() - it works if I make this change to the > source, implying that mixing SQL and API approaches shouldn't be done. Yes - this is the error. Should be: gCursor.deleteRecord() > It would seem the cursor instance has a "record" of its records and if one > is deleted via the API the cursor isn't "auto-updated" leading to errors > when iterating. Probably a known no-no, but worth over-emphasizing in the > docs. > 2). Both of the Method_create examples (API and SQL ways) fail as they > seem incomplete and appear to use an older syntax (perhaps from the > previous beta). Oops! It's may be. I'll check. > 3). SQL_way | Binding example doesn't appear to update the bound bitmap > cast member's picture when iterating records (the example could be > improved by adding this cast member to the stage so that - when this > command works - the user will see it change). Actually - it should be on the stage - then this is my error. > Also, it would be good *not* to add the dross from your CVS system into > the zip file :-) It might have been interesting poking around your > repositories but ultimately it's a waste of space. Of course, they should not appear in the .zip file :-) So we will remove them from the next build. > Finally, why not think about pre-pending example names with the order they > should be worked through, from basic concepts to more advanced. For > example: > SQL_way > 01 Table_CreateDrop > ... > 05 Binding | 05 Pictures > ... > Although I'm not sure what order these should be in, it seems to me it > would help ease in new users if the first example folder isn't - > accidentally - the most complicated concept! I think this makes sence, do you Ruslan? > I'm still working through the API_way | Link_ examples and won't be able > to get back to them now for a couple of days, unfortunately, but I've done > some tidying/rationalization on the files I've touched and would be happy > to pass them back if it would be useful? Yes, you can send them back to me or to Ruslan. > Also, is there a reason a reference is stored to an un-instantiated xtra > (Valentina) instead of invoking its .new() method and then calling methods > on the instance? Or a reason these commands aren't "global" any longer? It > looks more like it's being treated as a static class and I've never seen > an xtra referred to like this. Yes, Valentina is a Xtra with all methods made static because it can be only one per process ("singletone" in OO terms). Idea was to group similar functions into one Xtra - to get the same syntax that we already used in V4RB, VCOM and so on. Drawback of this - you need to reference it in any function that is used it. I mean: on myFunction global Valentina //Now you can use it. end myFunction I don't know any way to use global variables in lingo function without referencing them with 'global' keyword. So this is inconvenience. As alternative you can always call its methods as Xtra("Valentina").Init(..). -- 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 sunshine at public.kherson.ua Fri Sep 10 12:30:57 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Sep 10 04:32:08 2004 Subject: [ANN] V4MD_WIN 2.0 beta 15 uploaded In-Reply-To: <6.1.2.0.2.20040910111611.035db300@pop.gmx.de> Message-ID: On 9/10/04 12:18 PM, "Martin Kloss" wrote: > At 18:07 09.09.2004, you wrote: >> We are happy introduce this b15 of V4MD 2.0 > > Wow, great. I just downloaded the archive and wanted > to check out the examples, but somehow the Xtra is > not globally available on Windows Dir MX. > > The Xtra's name in the xtraList is "V4MD.x32" and > the call > > val = Xtra "Valentina" > > returns "Xtra not found", even though it is of course in > the Xtras folder since it's listed in the xtraList. > > Any hints? Have you set up Vcomponents folder? Instructions on download page -- 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 martin.kloss at gmx.de Fri Sep 10 11:33:27 2004 From: martin.kloss at gmx.de (Martin Kloss) Date: Fri Sep 10 04:34:37 2004 Subject: [ANN] V4MD_WIN 2.0 beta 15 uploaded In-Reply-To: <008d01c49718$2b0dcaf0$3b04a8c0@giv> References: <6.1.2.0.2.20040910105825.02dae510@pop3.paradise.net.nz> <6.1.2.0.2.20040910192547.02e13eb0@pop3.paradise.net.nz> <008d01c49718$2b0dcaf0$3b04a8c0@giv> Message-ID: <6.1.2.0.2.20040910112941.035d6ab0@pop.gmx.de> At 11:25 10.09.2004, you wrote: >Drawback of this - you need to reference it in any function that >is used it. I mean: > > on myFunction > global Valentina > > //Now you can use it. > end myFunction you don't have to use the global keyword in every function, you can just reference the global once at the top of a script member: global Valentina on myFunction1 put Valentina end myFunction on myFunction2 put Valentina end myFunction2 Martin. Martin Kloss "Everybody is somebody else's weirdo." Like the author? Buy the book: http://www.amazon.de/exec/obidos/ASIN/3934358322/lingmmugd Need music? http://www.selling-sound.com Get your daily dose of Lingo: http://www.lingopark.de From sunshine at public.kherson.ua Fri Sep 10 12:36:30 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Sep 10 04:37:39 2004 Subject: [ANN] V4MD_WIN b15 // globals In-Reply-To: <6.1.2.0.2.20040910112941.035d6ab0@pop.gmx.de> Message-ID: On 9/10/04 12:33 PM, "Martin Kloss" wrote: > At 11:25 10.09.2004, you wrote: >> Drawback of this - you need to reference it in any function that >> is used it. I mean: >> >> on myFunction >> global Valentina >> >> //Now you can use it. >> end myFunction > > you don't have to use the global keyword in every function, > you can just reference the global once at the top of a script > member: > > global Valentina > > on myFunction1 > put Valentina > end myFunction > > on myFunction2 > put Valentina > end myFunction2 > > Martin. Excellent! This simplify life. Igor you can correct examples for this way -- 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 Fri Sep 10 12:44:15 2004 From: giv at tlc.kherson.ua (Igor Gomon) Date: Fri Sep 10 04:48:55 2004 Subject: [ANN] V4MD_WIN 2.0 beta 15 uploaded References: <6.1.2.0.2.20040910105825.02dae510@pop3.paradise.net.nz><6.1.2.0.2.20040910192547.02e13eb0@pop3.paradise.net.nz><008d01c49718$2b0dcaf0$3b04a8c0@giv> <6.1.2.0.2.20040910112941.035d6ab0@pop.gmx.de> Message-ID: <00ce01c4971a$bc1a2370$3b04a8c0@giv> > you don't have to use the global keyword in every function, > you can just reference the global once at the top of a script > member: > > global Valentina > > on myFunction1 > put Valentina > end myFunction > > on myFunction2 > put Valentina > end myFunction2 > > Martin. So - this is so simple? This is so stupid for my part :-) Thank you, Martin. -- 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 martin.kloss at gmx.de Fri Sep 10 11:48:13 2004 From: martin.kloss at gmx.de (Martin Kloss) Date: Fri Sep 10 04:49:26 2004 Subject: [ANN] V4MD_WIN 2.0 beta 15 uploaded In-Reply-To: References: <6.1.2.0.2.20040910111611.035db300@pop.gmx.de> Message-ID: <6.1.2.0.2.20040910114530.035dcc30@pop.gmx.de> At 11:30 10.09.2004, you wrote: >Have you set up Vcomponents folder? >Instructions on download page oh sorry, I didn't read the instructions, I just downloaded the beta archive from the ftp server :-} will the components be needed in the final version? if so, how would you create a single file projector exe on a cd-rom? the xtra can be included in the projector file, but the components folder now contains many large files, not a very slim package. Martin. Martin Kloss "Everybody is somebody else's weirdo." Like the author? Buy the book: http://www.amazon.de/exec/obidos/ASIN/3934358322/lingmmugd Need music? http://www.selling-sound.com Get your daily dose of Lingo: http://www.lingopark.de From martin.kloss at gmx.de Fri Sep 10 11:51:40 2004 From: martin.kloss at gmx.de (Martin Kloss) Date: Fri Sep 10 04:52:53 2004 Subject: [ANN] V4MD_WIN 2.0 beta 15 uploaded In-Reply-To: <00ce01c4971a$bc1a2370$3b04a8c0@giv> References: <6.1.2.0.2.20040910105825.02dae510@pop3.paradise.net.nz> <6.1.2.0.2.20040910192547.02e13eb0@pop3.paradise.net.nz> <008d01c49718$2b0dcaf0$3b04a8c0@giv> <6.1.2.0.2.20040910112941.035d6ab0@pop.gmx.de> <00ce01c4971a$bc1a2370$3b04a8c0@giv> Message-ID: <6.1.2.0.2.20040910114834.035dfe00@pop.gmx.de> At 11:44 10.09.2004, you wrote: >So - this is so simple? >This is so stupid for my part :-) no problem, it's one of those things with Director, there is always more than one way to do something ;-) I also realized that the Lingo syntax is quite outdated, you're using the "set" keyword, which is outdated and deprecated since version 8.0, so long ago. If you're ok with that, I can edit your "globals" script and send it to you, as to show the users examples of current code style. Martin. Martin Kloss "Everybody is somebody else's weirdo." Like the author? Buy the book: http://www.amazon.de/exec/obidos/ASIN/3934358322/lingmmugd Need music? http://www.selling-sound.com Get your daily dose of Lingo: http://www.lingopark.de From giv at tlc.kherson.ua Fri Sep 10 12:55:11 2004 From: giv at tlc.kherson.ua (Igor Gomon) Date: Fri Sep 10 04:56:18 2004 Subject: [ANN] V4MD_WIN 2.0 beta 15 uploaded References: <6.1.2.0.2.20040910105825.02dae510@pop3.paradise.net.nz><6.1.2.0.2.20040910192547.02e13eb0@pop3.paradise.net.nz><008d01c49718$2b0dcaf0$3b04a8c0@giv><6.1.2.0.2.20040910112941.035d6ab0@pop.gmx.de><00ce01c4971a$bc1a2370$3b04a8c0@giv> <6.1.2.0.2.20040910114834.035dfe00@pop.gmx.de> Message-ID: <00e401c4971c$435ea0d0$3b04a8c0@giv> > At 11:44 10.09.2004, you wrote: >>So - this is so simple? >>This is so stupid for my part :-) > > no problem, it's one of those things with Director, > there is always more than one way to do something ;-) > > I also realized that the Lingo syntax is quite outdated, > you're using the "set" keyword, which is outdated and > deprecated since version 8.0, so long ago. If you're ok > with that, I can edit your "globals" script and send it > to you, as to show the users examples of current code > style. Yes, of course. -- 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 sunshine at public.kherson.ua Fri Sep 10 13:58:52 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Sep 10 06:00:07 2004 Subject: [ANN] V4MD_WIN b15 // binding In-Reply-To: <008d01c49718$2b0dcaf0$3b04a8c0@giv> Message-ID: On 9/10/04 12:25 PM, "Igor Gomon" wrote: >> 3). SQL_way | Binding example doesn't appear to update the bound bitmap >> cast member's picture when iterating records (the example could be >> improved by adding this cast member to the stage so that - when this >> command works - the user will see it change). > Actually - it should be on the stage - then this is my error. Igor, I want to clarify. We have 2 kinds of binding 1) SQL binding, this is when we bind SQL parameters "... where fld = :1", [45] 2) V4MD-specific binding of Vcursor fields to cast members. DO NOT mix this 2 things in the single exmaple !!! This will confuse people. It sounds to me that you MIX them. Actually you can have one more folder in Examples !!!!!!!!!! This is idea! Please make Examples/V4MD_Specific And here we will keep examples with features that are unique to V4MD product and which are absent in V4RB. So Example with V4MD binding must go here. On my side I can add such folder in V4RB Examples. -- 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 Sep 10 14:00:46 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Sep 10 06:01:56 2004 Subject: [ANN] V4MD_WIN 2.0 b15 // Example guide In-Reply-To: <008d01c49718$2b0dcaf0$3b04a8c0@giv> Message-ID: On 9/10/04 12:25 PM, "Igor Gomon" wrote: >> Finally, why not think about pre-pending example names with the order they >> should be worked through, from basic concepts to more advanced. For >> example: >> SQL_way >> 01 Table_CreateDrop >> ... >> 05 Binding | 05 Pictures >> ... >> Although I'm not sure what order these should be in, it seems to me it >> would help ease in new users if the first example folder isn't - >> accidentally - the most complicated concept! > I think this makes sence, do you Ruslan? For this we must have ExapleGuide.pdf ! Igor, you should prepare it ASAP. Let me know if you need from me V4RB version -- 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 Sep 10 14:04:01 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Sep 10 06:05:25 2004 Subject: [ANN] V4MD_WIN 2.0 beta 15 uploaded In-Reply-To: <6.1.2.0.2.20040910114530.035dcc30@pop.gmx.de> Message-ID: On 9/10/04 12:48 PM, "Martin Kloss" wrote: > At 11:30 10.09.2004, you wrote: >> Have you set up Vcomponents folder? >> Instructions on download page > > oh sorry, I didn't read the instructions, I just downloaded > the beta archive from the ftp server :-} > > will the components be needed in the final version? Yes of course, but for final we will make single file installer. > if so, how would you create a single file projector exe > on a cd-rom? We will be able locate this folder in different places app folder your path folder > the xtra can be included in the projector > file, but the components folder now contains many large > files, not a very slim package. You will simply copy it self into project folder. -- 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 Sep 10 14:05:08 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Sep 10 06:06:24 2004 Subject: [ANN] V4MD_WIN 2.0 b15 // old syntax In-Reply-To: <6.1.2.0.2.20040910114834.035dfe00@pop.gmx.de> Message-ID: On 9/10/04 12:51 PM, "Martin Kloss" wrote: > At 11:44 10.09.2004, you wrote: >> So - this is so simple? >> This is so stupid for my part :-) > > no problem, it's one of those things with Director, > there is always more than one way to do something ;-) > > I also realized that the Lingo syntax is quite outdated, > you're using the "set" keyword, which is outdated and > deprecated since version 8.0, so long ago. If you're ok > with that, I can edit your "globals" script and send it > to you, as to show the users examples of current code > style. You see Igor?! I have told you do not use this syntax! So please clean up examples. -- 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 Sep 10 14:06:03 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Sep 10 06:07:11 2004 Subject: [ANN] V4MD_WIN 2.0 beta 15 uploaded In-Reply-To: <6.1.2.0.2.20040910114834.035dfe00@pop.gmx.de> Message-ID: On 9/10/04 12:51 PM, "Martin Kloss" wrote: > At 11:44 10.09.2004, you wrote: >> So - this is so simple? >> This is so stupid for my part :-) > > no problem, it's one of those things with Director, > there is always more than one way to do something ;-) > > I also realized that the Lingo syntax is quite outdated, > you're using the "set" keyword, which is outdated and > deprecated since version 8.0, so long ago. If you're ok > with that, I can edit your "globals" script and send it > to you, as to show the users examples of current code > style. Martin, Just show example how it is and how it should be in ideal. Igor will correct rest 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 martin.kloss at gmx.de Fri Sep 10 13:09:54 2004 From: martin.kloss at gmx.de (Martin Kloss) Date: Fri Sep 10 06:11:04 2004 Subject: [ANN] V4MD_WIN 2.0 beta 15 uploaded In-Reply-To: References: <6.1.2.0.2.20040910114834.035dfe00@pop.gmx.de> Message-ID: <6.1.2.0.2.20040910130920.034bcab0@pop.gmx.de> At 13:06 10.09.2004, you wrote: >Just show example how it is and how it should be in ideal. >Igor will correct rest self. Done. I already sent him a new version of the GlobalScripts cast. Martin. Martin Kloss "Everybody is somebody else's weirdo." Like the author? Buy the book: http://www.amazon.de/exec/obidos/ASIN/3934358322/lingmmugd Need music? http://www.selling-sound.com Get your daily dose of Lingo: http://www.lingopark.de From martin.kloss at gmx.de Fri Sep 10 13:14:30 2004 From: martin.kloss at gmx.de (Martin Kloss) Date: Fri Sep 10 06:15:47 2004 Subject: [ANN] V4MD_WIN 2.0 beta 15 uploaded In-Reply-To: References: <6.1.2.0.2.20040910114530.035dcc30@pop.gmx.de> Message-ID: <6.1.2.0.2.20040910130956.034be0a0@pop.gmx.de> At 13:04 10.09.2004, you wrote: > > will the components be needed in the final version? > >Yes of course, but for final we will make single file installer. what do you mean by "installer"? 99% of my clients require that NO files are installed to the users hard drive, everything stays on the cd-rom or dvd-rom. > > if so, how would you create a single file projector exe > > on a cd-rom? > >We will be able locate this folder in different places I still don't understand you. I want an app that I can deliver with just a single "exe" file. At runtime the exe will extract all Xtras into a temp directory and clean them up when closed. That's possible with every Director Xtra now, because you only have a single ".x32" file that you can include in the Director projector, so it will not be visible to the end-user. How would that be possible with the components folder? I don't have and don't want any folders whatsoever? And how will the Xtra for Shockwave be delivered? Martin. Martin Kloss "Everybody is somebody else's weirdo." Like the author? Buy the book: http://www.amazon.de/exec/obidos/ASIN/3934358322/lingmmugd Need music? http://www.selling-sound.com Get your daily dose of Lingo: http://www.lingopark.de From sunshine at public.kherson.ua Fri Sep 10 14:23:17 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Sep 10 06:24:28 2004 Subject: [ANN] V4MD_WIN 2.0 b15 // installer In-Reply-To: <6.1.2.0.2.20040910130956.034be0a0@pop.gmx.de> Message-ID: On 9/10/04 2:14 PM, "Martin Kloss" wrote: > At 13:04 10.09.2004, you wrote: >>> will the components be needed in the final version? >> >> Yes of course, but for final we will make single file installer. > > what do you mean by "installer"? 99% of my clients require > that NO files are installed to the users hard drive, everything > stays on the cd-rom or dvd-rom. I did mean installer of V4MD which YOU as developer will use. >>> if so, how would you create a single file projector exe >>> on a cd-rom? >> >> We will be able locate this folder in different places > > I still don't understand you. I want an app that I can > deliver with just a single "exe" file. This will not be possible, Martin. > At runtime the exe > will extract all Xtras into a temp directory and clean them > up when closed. This is standard behavior of Director projector ??? I have see that V4MD developer build projector as Myproejctor folder projector.exe PPC xtras Carbon Xtras Win Extras Yes, I think this is way of external extras... > That's possible with every Director Xtra now, because you only have a single > ".x32" file that you can include in the Director projector, so it will not be > visible to the end-user. V4MD will differ now > How would that be possible with the components folder? No way. > I don't have and don't want any folders whatsoever? And how will the Xtra for > Shockwave be delivered? But SW is quite different. Only client will be SW safe. V4MD_Client. It is small and it is single file, Martin. 300-400KB. Because all it do -- talk to Valentina Server. Well, yes other Xtras are all single files as you say. But for example ADO require Access to be run. Right? And other db-connectivity xtras. Valentina now is very very big engine. And the main -- it uses IBM ICU library, which is even bigger of Valentina itself. This is why we must have separate folder. You should become used to 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 sunshine at public.kherson.ua Fri Sep 10 14:29:21 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Sep 10 06:30:33 2004 Subject: questions In-Reply-To: <20040910104327.7893.qmail@webmail6.rediffmail.com> Message-ID: On 9/10/04 1:43 PM, "Anoop Ahuja" wrote: > hi Ruslan > > I have a few quesions for you? > > 1) How can i check that a given Valentina DB file say .vdb is a valid DB file. > For eg. it not a fake file, ie say a .txt renamed to .vdb. Do we have any such > function in Valentina C SDK that can do this. I have tried opening this file > with Database_Open() it returns -39. Is that the case. We do not have such functions. And we still have no them yet in V2.0 Igor, Ivan, we need discuss this. And try to add such signature into I_Volume. > 2) How can i check whether or not a given DB file is currupt or not. Exists SQL command DIAGNOSE. Valentina SQL.pdf > 3) With refernce to your mail below, I cannot find 1.10 b15 of C SDK on the > website, could you please Guide me where can i get this from for both windows > and mac. I think now it is simply 1.10 release. > I would be greatful if you answer all the three questions > > Thanx for sparing your time. > > Regards > Anoop > -- 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 martin.kloss at gmx.de Fri Sep 10 13:41:43 2004 From: martin.kloss at gmx.de (Martin Kloss) Date: Fri Sep 10 06:42:57 2004 Subject: [ANN] V4MD_WIN 2.0 b15 // installer In-Reply-To: References: <6.1.2.0.2.20040910130956.034be0a0@pop.gmx.de> Message-ID: <6.1.2.0.2.20040910133743.034c8e10@pop.gmx.de> At 13:23 10.09.2004, you wrote: > > I still don't understand you. I want an app that I can > > deliver with just a single "exe" file. > >This will not be possible, Martin. Really? Ouch, I think this will make a huge difference for Director developers. But the components folder can be on the cd-rom medium, it doesn't have to be on the local hard drive, right? > > At runtime the exe > > will extract all Xtras into a temp directory and clean them > > up when closed. > >This is standard behavior of Director projector ??? Well, it's one option, you can either have all the files in a single exe file (self-contained) or use an external folder with the Xtras in it. >Valentina now is very very big engine. Yeah, I can see that. It's a shame, because I like the new features and structure of V4MD, but I will probably not be able to use 2.0 in some cases, because of size limitations and when I just need to distribute a single file. Martin. Martin Kloss "Everybody is somebody else's weirdo." Like the author? Buy the book: http://www.amazon.de/exec/obidos/ASIN/3934358322/lingmmugd Need music? http://www.selling-sound.com Get your daily dose of Lingo: http://www.lingopark.de From sunshine at public.kherson.ua Fri Sep 10 14:51:20 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Sep 10 06:52:29 2004 Subject: [ANN] V4MD_WIN 2.0 b15 // installer In-Reply-To: <6.1.2.0.2.20040910133743.034c8e10@pop.gmx.de> Message-ID: On 9/10/04 2:41 PM, "Martin Kloss" wrote: > At 13:23 10.09.2004, you wrote: >>> I still don't understand you. I want an app that I can >>> deliver with just a single "exe" file. >> >> This will not be possible, Martin. > > Really? Ouch, I think this will make a huge difference > for Director developers. But the components folder > can be on the cd-rom medium, it doesn't have to > be on the local hard drive, right? Yes. And for MacOS all can be made as Package, So it will looks as single file for user. Although I don't know if project can be design in such way. -- 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 Sep 10 14:52:21 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Sep 10 06:54:14 2004 Subject: [ANN] V4MD_WIN 2.0 b15 // installer In-Reply-To: <6.1.2.0.2.20040910133743.034c8e10@pop.gmx.de> Message-ID: On 9/10/04 2:41 PM, "Martin Kloss" wrote: >> Valentina now is very very big engine. > > Yeah, I can see that. It's a shame, because I like the > new features and structure of V4MD, but I will probably > not be able to use 2.0 in some cases, because of size > limitations and when I just need to distribute a single file. Hmm, and where such limitations exists ?! -- 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 martin.kloss at gmx.de Fri Sep 10 14:07:55 2004 From: martin.kloss at gmx.de (Martin Kloss) Date: Fri Sep 10 07:09:06 2004 Subject: [V4MD] can't get it to work Message-ID: <6.1.2.0.2.20040910140611.034d00b0@pop.gmx.de> Hi everyone, I can't get the 2.0 beta to work, all I get in Director is "Xtra not found", because the path is not found on the system. I'm using Dir MX on a German XP prof. os and I tried the following paths for the components folder: "C:\Program Files\Paradigma Software\VComponents_Win_VC" "C:\Programme\Paradigma Software\VComponents_Win_VC" and none of them work. I rebooted many many times now and I'm sick of rebooting the system. It still doesn't work. Has anyone with a similar config got it to work? Martin. Martin Kloss "Everybody is somebody else's weirdo." Like the author? Buy the book: http://www.amazon.de/exec/obidos/ASIN/3934358322/lingmmugd Need music? http://www.selling-sound.com Get your daily dose of Lingo: http://www.lingopark.de From martin.kloss at gmx.de Fri Sep 10 14:10:03 2004 From: martin.kloss at gmx.de (Martin Kloss) Date: Fri Sep 10 07:11:11 2004 Subject: [ANN] V4MD_WIN 2.0 b15 // installer In-Reply-To: References: <6.1.2.0.2.20040910133743.034c8e10@pop.gmx.de> Message-ID: <6.1.2.0.2.20040910140758.034d5380@pop.gmx.de> At 13:52 10.09.2004, you wrote: > > Yeah, I can see that. It's a shame, because I like the > > new features and structure of V4MD, but I will probably > > not be able to use 2.0 in some cases, because of size > > limitations and when I just need to distribute a single file. > >Hmm, and where such limitations exists ?! For example when you create a standalone app for download on a website (a game or utitlity), you want to have everything in a single file and as small as possible (max. 3-5 MB). I was able to do that with 1.x, because the user could download the Director projector in a zip file and the database file as a single zip file. Now there will be many files and they will be huge. Martin. Martin Kloss "Everybody is somebody else's weirdo." Like the author? Buy the book: http://www.amazon.de/exec/obidos/ASIN/3934358322/lingmmugd Need music? http://www.selling-sound.com Get your daily dose of Lingo: http://www.lingopark.de From sunshine at public.kherson.ua Fri Sep 10 15:21:49 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Sep 10 07:23:02 2004 Subject: [ANN] V4MD_WIN 2.0 b15 // installer In-Reply-To: <6.1.2.0.2.20040910140758.034d5380@pop.gmx.de> Message-ID: On 9/10/04 3:10 PM, "Martin Kloss" wrote: > At 13:52 10.09.2004, you wrote: >>> Yeah, I can see that. It's a shame, because I like the >>> new features and structure of V4MD, but I will probably >>> not be able to use 2.0 in some cases, because of size >>> limitations and when I just need to distribute a single file. >> >> Hmm, and where such limitations exists ?! > > For example when you create a standalone app for download > on a website (a game or utitlity), you want to have everything > in a single file and as small as possible (max. 3-5 MB). > > I was able to do that with 1.x, because the user could download > the Director projector in a zip file and the database file as a single > zip file. Now there will be many files and they will be huge. Actually Vcomponents folder in compressed mode is 2.4 + 1.8 = 4.2 MB So we fit to your limits :-) Also note, that ICU .dat file now is 8MB but it is possible to make it just 3MB if remove rare used languages. We have not spend time on this yet, but this is possible. So you can go down to 3MB from Valentina. Plus 2MB of your own code. Quite normal :-) Oh, one more! right now we upload DEBUG libs of Vengine. Release will be 2-3 times less also. So all not so bad I think :-) -- 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 martin.kloss at gmx.de Fri Sep 10 14:25:27 2004 From: martin.kloss at gmx.de (Martin Kloss) Date: Fri Sep 10 07:26:36 2004 Subject: [ANN] V4MD_WIN 2.0 b15 // installer In-Reply-To: References: <6.1.2.0.2.20040910140758.034d5380@pop.gmx.de> Message-ID: <6.1.2.0.2.20040910142349.034cb350@pop.gmx.de> At 14:21 10.09.2004, you wrote: >Actually Vcomponents folder in compressed mode is > > 2.4 + 1.8 = 4.2 MB > >So we fit to your limits :-) nice try ;-) I meant the whole package and the Director projector itself will be 3-5 MB with the included Xtras. So the 4.2MB will be on top. >So all not so bad I think :-) Ok, I will have to see what the final size will be, I'll have to live with it anyway, so I guess there's no point in arguing :-) Martin. Martin Kloss "Everybody is somebody else's weirdo." Like the author? Buy the book: http://www.amazon.de/exec/obidos/ASIN/3934358322/lingmmugd Need music? http://www.selling-sound.com Get your daily dose of Lingo: http://www.lingopark.de From sunshine at public.kherson.ua Fri Sep 10 15:25:44 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Sep 10 07:26:53 2004 Subject: [V4MD] can't get it to work In-Reply-To: <6.1.2.0.2.20040910140611.034d00b0@pop.gmx.de> Message-ID: On 9/10/04 3:07 PM, "Martin Kloss" wrote: > Hi everyone, > > I can't get the 2.0 beta to work, all I get in Director is "Xtra not found", > because the path is not found on the system. I'm using Dir MX on > a German XP prof. os and I tried the following paths for the components > folder: > > "C:\Program Files\Paradigma Software\VComponents_Win_VC" > "C:\Programme\Paradigma Software\VComponents_Win_VC" > > and none of them work. I rebooted many many times now > and I'm sick of rebooting the system. It still doesn't work. > > Has anyone with a similar config got it to work? Aha, you have German OS. Jochen have told that in this case you should put it of cours not into folder with English Name "Program Files" (it even not exists right?) But into German analog. Valentina self must locate system folder "Program files" or its analog. ------ Jochen, any clue for German users ? Igor, I hope you DO NOT have directly in the code string C:\Program Files\Paradigma Software\VComponents_Win_VC ? Jochen, have you made any fixes to make it work on your German 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 sunshine at public.kherson.ua Fri Sep 10 15:28:38 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Sep 10 07:29:47 2004 Subject: [ANN] V4MD_WIN 2.0 b15 // installer In-Reply-To: <6.1.2.0.2.20040910142349.034cb350@pop.gmx.de> Message-ID: On 9/10/04 3:25 PM, "Martin Kloss" wrote: > At 14:21 10.09.2004, you wrote: >> Actually Vcomponents folder in compressed mode is >> >> 2.4 + 1.8 = 4.2 MB >> >> So we fit to your limits :-) > > nice try ;-) I meant the whole package and the Director projector > itself will be 3-5 MB with the included Xtras. So the 4.2MB will be on top. > >> So all not so bad I think :-) > > Ok, I will have to see what the final size will be, I'll have to > live with it anyway, so I guess there's no point in arguing :-) :-) I think we will be able go down to 2MB at least. Also note, in future, on MacOS X we have plans to use ICU that is built into OS. This means that in this case Valentina 2.0 on MacOS will have Zero overhead from ICU usage! This is very promising, but we cannot make it in 5 minutes. We will need switch from C++ API of ICU to the C API. -- 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 martin.kloss at gmx.de Fri Sep 10 14:29:28 2004 From: martin.kloss at gmx.de (Martin Kloss) Date: Fri Sep 10 07:30:39 2004 Subject: [V4MD] can't get it to work In-Reply-To: References: <6.1.2.0.2.20040910140611.034d00b0@pop.gmx.de> Message-ID: <6.1.2.0.2.20040910142826.034d2d70@pop.gmx.de> At 14:25 10.09.2004, you wrote: >Jochen have told that in this case you should put it of cours not into >folder with English Name "Program Files" (it even not exists right?) >But into German analog. I know, but I have "c:\program files" AND "c:\programme" >Igor, I hope you DO NOT have directly in the code string > C:\Program Files\Paradigma Software\VComponents_Win_VC ? no, there are no hardcoded paths, but I don't know which path my system returns. how can I find this out? Martin. Martin Kloss "Everybody is somebody else's weirdo." Like the author? Buy the book: http://www.amazon.de/exec/obidos/ASIN/3934358322/lingmmugd Need music? http://www.selling-sound.com Get your daily dose of Lingo: http://www.lingopark.de From sunshine at public.kherson.ua Fri Sep 10 15:38:28 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Sep 10 07:39:38 2004 Subject: V4RB, Jon, project Message-ID: Hi Jon, Ok, I have fix that logical mistake with locales inheritance, Now your app start with prefs = UTF8 encoding. I try create new db file. It is created Then crash here L"select varCharField,textField from misc where propertyName = \'groupName\' ORDER by varCharField" Crash because I have not yet finish string indexes. I wonder, how we have run your in the prev betas? This query was 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 sunshine at public.kherson.ua Fri Sep 10 15:39:02 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Sep 10 07:40:10 2004 Subject: [V4MD] can't get it to work In-Reply-To: <6.1.2.0.2.20040910142826.034d2d70@pop.gmx.de> Message-ID: On 9/10/04 3:29 PM, "Martin Kloss" wrote: >> Igor, I hope you DO NOT have directly in the code string >> C:\Program Files\Paradigma Software\VComponents_Win_VC ? > > no, there are no hardcoded paths, but I don't know which path my > system returns. how can I find this out? I mean in his C++ 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 giv at tlc.kherson.ua Fri Sep 10 15:39:14 2004 From: giv at tlc.kherson.ua (Igor Gomon) Date: Fri Sep 10 07:40:21 2004 Subject: [V4MD] can't get it to work References: Message-ID: <027301c49733$2dfc1d00$3b04a8c0@giv> > Igor, I hope you DO NOT have directly in the code string > C:\Program Files\Paradigma Software\VComponents_Win_VC ? No. -- 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 sunshine at public.kherson.ua Fri Sep 10 15:46:03 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Sep 10 07:47:14 2004 Subject: [V4MD] can't get it to work In-Reply-To: <6.1.2.0.2.20040910142826.034d2d70@pop.gmx.de> Message-ID: On 9/10/04 3:29 PM, "Martin Kloss" wrote: > At 14:25 10.09.2004, you wrote: >> Jochen have told that in this case you should put it of cours not into >> folder with English Name "Program Files" (it even not exists right?) >> But into German analog. > > I know, but I have "c:\program files" AND "c:\programme" Martin, Have you specify SET PATH to the "C:\Programme\Paradigma Software\VComponents_Win_VC" ? Check this. Also note, SET PATH exists in the USER part and in the SYSTEM part. Use SYSTEM part. -- 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 jda at his.com Fri Sep 10 08:47:38 2004 From: jda at his.com (jda) Date: Fri Sep 10 07:48:48 2004 Subject: V4RB, Jon, project In-Reply-To: References: Message-ID: > >It is created > >Then crash here > >"select varCharField,textField from misc where propertyName = \'groupName\' >ORDER by varCharField" > > >Crash because I have not yet finish string indexes. > >I wonder, how we have run your in the prev betas? >This query was here ? > That's where I see it crash, too. Yes, this line has been in the code for over a year. I was able to create a database with b13, but not b14 or b15 (crashing here in b15 -- I think it crashed before this line in b14). Hopefully when string indexes are done I'll be able to test the database. Jon From giv at tlc.kherson.ua Fri Sep 10 15:59:54 2004 From: giv at tlc.kherson.ua (Igor Gomon) Date: Fri Sep 10 08:01:04 2004 Subject: [ANN] V4MD_WIN 2.0 beta 15 uploaded References: <6.1.2.0.2.20040910111611.035db300@pop.gmx.de> Message-ID: <028f01c49736$116d4b20$3b04a8c0@giv> > The Xtra's name in the xtraList is "V4MD.x32" and > the call What you mean with 'xtraList'? List of files in the Xtras folder of Director? So do you see VDatabase and others Xtras with showXLib command in message window? If not then Director should give you a warning during startup, say: 'Kernel_Win32_Debug.dll was not found'. Please, check: may be on your system there are other (old) files named ''Kernel_Win32_Debug.dll" and PATH points to it too. So 'V4MD.x32' dll cannot start working properly. -- 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 fci at europa.com Fri Sep 10 06:16:55 2004 From: fci at europa.com (Lynn Fredricks) Date: Fri Sep 10 08:18:12 2004 Subject: [ANN] V4MD_WIN 2.0 b15 // installer In-Reply-To: <6.1.2.0.2.20040910133743.034c8e10@pop.gmx.de> Message-ID: <20040910131700.B8D5370386@smtp1.pacifier.net> > >Valentina now is very very big engine. > > Yeah, I can see that. It's a shame, because I like the new > features and structure of V4MD, but I will probably not be > able to use 2.0 in some cases, because of size limitations > and when I just need to distribute a single file. Can't you do something like REALbasic does, which is put the components into a virtual volume? 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 martin.kloss at gmx.de Fri Sep 10 15:26:32 2004 From: martin.kloss at gmx.de (Martin Kloss) Date: Fri Sep 10 08:27:47 2004 Subject: [ANN] V4MD_WIN 2.0 b15 // installer In-Reply-To: References: <6.1.2.0.2.20040910142349.034cb350@pop.gmx.de> Message-ID: <6.1.2.0.2.20040910152501.034d69a0@pop.gmx.de> At 14:28 10.09.2004, you wrote: >I think we will be able go down to 2MB at least. sounds good. >Also note, in future, on MacOS X we have plans to use ICU that is built into >OS. This means that in this case Valentina 2.0 on MacOS will have Zero hmm, only 1 out of 20 projects actually needs MacOS in my case and then it's cross-platform anyway. so that doesn't really help but it's good to know ;-) Martin. Martin Kloss "Everybody is somebody else's weirdo." Like the author? Buy the book: http://www.amazon.de/exec/obidos/ASIN/3934358322/lingmmugd Need music? http://www.selling-sound.com Get your daily dose of Lingo: http://www.lingopark.de From martin.kloss at gmx.de Fri Sep 10 15:29:02 2004 From: martin.kloss at gmx.de (Martin Kloss) Date: Fri Sep 10 08:30:10 2004 Subject: [ANN] V4MD_WIN 2.0 beta 15 uploaded In-Reply-To: <028f01c49736$116d4b20$3b04a8c0@giv> References: <6.1.2.0.2.20040910111611.035db300@pop.gmx.de> <028f01c49736$116d4b20$3b04a8c0@giv> Message-ID: <6.1.2.0.2.20040910152715.034cee10@pop.gmx.de> At 14:59 10.09.2004, you wrote: >>The Xtra's name in the xtraList is "V4MD.x32" and >>the call >What you mean with 'xtraList'? "put the xtraList" shows a list of installed Xtras. >If not then Director should give you a warning during startup, say: > 'Kernel_Win32_Debug.dll was not found'. No, I don't get any warning and the V4MD xtra is listed, because it's in the Xtras folder. >Please, check: may be on your system there are other (old) files named >''Kernel_Win32_Debug.dll" and PATH points to it too. Yes, it's in "C:\Programme\Paradigma Software\VComponents_Win_VC" and that's where the PATH points to. Martin. Martin Kloss "Everybody is somebody else's weirdo." Like the author? Buy the book: http://www.amazon.de/exec/obidos/ASIN/3934358322/lingmmugd Need music? http://www.selling-sound.com Get your daily dose of Lingo: http://www.lingopark.de From sunshine at public.kherson.ua Fri Sep 10 16:28:28 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Sep 10 08:30:17 2004 Subject: [ANN] V4MD_WIN 2.0 b15 // installer In-Reply-To: <20040910131700.B8D5370386@smtp1.pacifier.net> Message-ID: On 9/10/04 4:16 PM, "Lynn Fredricks" wrote: >>> Valentina now is very very big engine. >> >> Yeah, I can see that. It's a shame, because I like the new >> features and structure of V4MD, but I will probably not be >> able to use 2.0 in some cases, because of size limitations >> and when I just need to distribute a single file. > > Can't you do something like REALbasic does, which is put the components into > a virtual volume? Well, in theory this is possible, At least of end we already have own Volumes which can have many internal files. But this not helps much. We must extract DLLs because OS must load them self. Hmm, may be I am wrong! I think each OS allow us load DLL into RAM and init it self. But all this variants for 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 martin.kloss at gmx.de Fri Sep 10 15:29:42 2004 From: martin.kloss at gmx.de (Martin Kloss) Date: Fri Sep 10 08:30:49 2004 Subject: [V4MD] can't get it to work In-Reply-To: References: <6.1.2.0.2.20040910142826.034d2d70@pop.gmx.de> Message-ID: <6.1.2.0.2.20040910152905.034d7190@pop.gmx.de> At 14:46 10.09.2004, you wrote: >Have you specify SET PATH to the > "C:\Programme\Paradigma Software\VComponents_Win_VC" of course, that's the first thing I did. >Also note, SET PATH exists in the USER part and in the SYSTEM part. >Use SYSTEM part. Yup, I know and I did. Martin. Martin Kloss "Everybody is somebody else's weirdo." Like the author? Buy the book: http://www.amazon.de/exec/obidos/ASIN/3934358322/lingmmugd Need music? http://www.selling-sound.com Get your daily dose of Lingo: http://www.lingopark.de From sunshine at public.kherson.ua Fri Sep 10 16:39:28 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Sep 10 08:41:40 2004 Subject: [ANN] V4MD_WIN 2.0 beta 15 uploaded In-Reply-To: <6.1.2.0.2.20040910152715.034cee10@pop.gmx.de> Message-ID: On 9/10/04 4:29 PM, "Martin Kloss" wrote: > At 14:59 10.09.2004, you wrote: >>> The Xtra's name in the xtraList is "V4MD.x32" and the call >> What you mean with 'xtraList'? > > "put the xtraList" shows a list of installed Xtras. Ok. Do you see Valentina Xtras in the menu of Xtras ? In the menu must present several Valentina Vdatabase Vcursor ... -- 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 Sep 10 16:45:38 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Sep 10 08:47:08 2004 Subject: [V4MD] can't get it to work In-Reply-To: <6.1.2.0.2.20040910152905.034d7190@pop.gmx.de> Message-ID: On 9/10/04 4:29 PM, "Martin Kloss" wrote: > At 14:46 10.09.2004, you wrote: >> Have you specify SET PATH to the >> "C:\Programme\Paradigma Software\VComponents_Win_VC" > > of course, that's the first thing I did. > >> Also note, SET PATH exists in the USER part and in the SYSTEM part. >> Use SYSTEM part. > > Yup, I know and I did. Martin, Please have you COPY files form Vengine archive into VComponents folder? Please send to us listing of your VComponents folder -- 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 Fri Sep 10 16:47:05 2004 From: giv at tlc.kherson.ua (Igor Gomon) Date: Fri Sep 10 08:48:13 2004 Subject: [ANN] V4MD_WIN 2.0 beta 15 uploaded References: <6.1.2.0.2.20040910111611.035db300@pop.gmx.de><028f01c49736$116d4b20$3b04a8c0@giv> <6.1.2.0.2.20040910152715.034cee10@pop.gmx.de> Message-ID: <02fa01c4973c$a8b6a2f0$3b04a8c0@giv> >>Please, check: may be on your system there are other (old) files named >>''Kernel_Win32_Debug.dll" and PATH points to it too. > > Yes, it's in "C:\Programme\Paradigma Software\VComponents_Win_VC" > and that's where the PATH points to. Have you extracted and copied newly downloaded files(from VComponents_Win_VC.exe and VEngine_Win_VC.exe archives) into that folder? Or does it still contains old files from previous betas? -- 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 martin.kloss at gmx.de Fri Sep 10 15:56:37 2004 From: martin.kloss at gmx.de (Martin Kloss) Date: Fri Sep 10 08:57:57 2004 Subject: [V4MD] can't get it to work In-Reply-To: References: <6.1.2.0.2.20040910152905.034d7190@pop.gmx.de> Message-ID: <6.1.2.0.2.20040910155609.034dee70@pop.gmx.de> At 15:45 10.09.2004, you wrote: >Please send to us listing of your VComponents folder Verzeichnis von C:\Programme\Paradigma Software\VComponents_Win_VC 10.09.2004 15:55 . 10.09.2004 15:55 .. 25.02.2004 16:57 1.430 Components_Readme.txt 05.07.2004 16:39 compressors 05.07.2004 16:39 encryptors 05.07.2004 16:39 fields 05.07.2004 16:39 functions 10.07.2004 12:41 8.495.104 icudt26l.dll 10.07.2004 12:39 606.208 icuin26.dll 10.07.2004 12:41 38.912 icuio26.dll 10.07.2004 12:39 528.384 icuuc26.dll 05.07.2004 16:39 importers 05.07.2004 16:39 Indexes 08.09.2004 13:11 11.857.920 Kernel_Win32_Debug.dll 07.09.2004 15:54 279.738 Kernel_Win32_Debug.lib 05.07.2004 16:39 libs_antlr 05.07.2004 16:39 libs_icu 05.07.2004 16:39 libs_pictures 05.07.2004 16:39 resources 10.09.2004 11:38 script_languages 8 Datei(en) 21.807.696 Bytes 13 Verzeichnis(se), 8.293.658.624 Bytes frei Martin. Martin Kloss "Everybody is somebody else's weirdo." Like the author? Buy the book: http://www.amazon.de/exec/obidos/ASIN/3934358322/lingmmugd Need music? http://www.selling-sound.com Get your daily dose of Lingo: http://www.lingopark.de From martin.kloss at gmx.de Fri Sep 10 15:57:07 2004 From: martin.kloss at gmx.de (Martin Kloss) Date: Fri Sep 10 08:58:20 2004 Subject: [ANN] V4MD_WIN 2.0 beta 15 uploaded In-Reply-To: References: <6.1.2.0.2.20040910152715.034cee10@pop.gmx.de> Message-ID: <6.1.2.0.2.20040910155640.034dc810@pop.gmx.de> At 15:39 10.09.2004, you wrote: >Do you see Valentina Xtras in the menu of Xtras ? >In the menu must present several nope, if I saw it, it would work of course :-) Martin. Martin Kloss "Everybody is somebody else's weirdo." Like the author? Buy the book: http://www.amazon.de/exec/obidos/ASIN/3934358322/lingmmugd Need music? http://www.selling-sound.com Get your daily dose of Lingo: http://www.lingopark.de From martin.kloss at gmx.de Fri Sep 10 15:58:07 2004 From: martin.kloss at gmx.de (Martin Kloss) Date: Fri Sep 10 08:59:21 2004 Subject: [ANN] V4MD_WIN 2.0 beta 15 uploaded In-Reply-To: <02fa01c4973c$a8b6a2f0$3b04a8c0@giv> References: <6.1.2.0.2.20040910111611.035db300@pop.gmx.de> <028f01c49736$116d4b20$3b04a8c0@giv> <6.1.2.0.2.20040910152715.034cee10@pop.gmx.de> <02fa01c4973c$a8b6a2f0$3b04a8c0@giv> Message-ID: <6.1.2.0.2.20040910155710.034ddeb0@pop.gmx.de> At 15:47 10.09.2004, you wrote: >Have you extracted and copied newly downloaded files(from >VComponents_Win_VC.exe >and VEngine_Win_VC.exe archives) into that folder? >Or does it still contains old files from previous betas? no, I downloaded them from the ftp this morning and created a new directory. Martin. Martin Kloss "Everybody is somebody else's weirdo." Like the author? Buy the book: http://www.amazon.de/exec/obidos/ASIN/3934358322/lingmmugd Need music? http://www.selling-sound.com Get your daily dose of Lingo: http://www.lingopark.de From j.peters at valentina-db.de Fri Sep 10 16:01:55 2004 From: j.peters at valentina-db.de (Jochen Peters) Date: Fri Sep 10 09:03:10 2004 Subject: [V4MD] can't get it to work In-Reply-To: References: Message-ID: Hi Ruslan, >> >> "C:\Program Files\Paradigma Software\VComponents_Win_VC" >> "C:\Programme\Paradigma Software\VComponents_Win_VC" >> >> and none of them work. I rebooted many many times now >> and I'm sick of rebooting the system. It still doesn't work. >> >> Has anyone with a similar config got it to work? > > Aha, you have German OS. > > Jochen have told that in this case you should put it of cours not into > folder with English Name "Program Files" (it even not exists right?) > But into German analog. Yes - correct. Martin - you must put the folder into "C:\Programme\Paradigma Software"! > > Valentina self must locate system folder "Program files" or its analog. Yes! > > > ------ > Jochen, any clue for German users ? No - i have no idea. > > Igor, I hope you DO NOT have directly in the code string > C:\Program Files\Paradigma Software\VComponents_Win_VC ? No Ruslan - Igor has done it the rigt way as far as i have seen. He uses a system function to determine the right location. > > > Jochen, have you made any fixes to make it work on your German OS ? No - nothing. But note that in vStudio i know self set the path to the location of vStudio. So - maybe something has changed in Igors code recently... -- Best regards, Jochen Peters PIIT GmbH ------------------------------------ http://www.valentina-db.de From sunshine at public.kherson.ua Fri Sep 10 17:07:29 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Sep 10 09:08:57 2004 Subject: [V4MD] can't get it to work In-Reply-To: <6.1.2.0.2.20040910155609.034dee70@pop.gmx.de> Message-ID: On 9/10/04 4:56 PM, "Martin Kloss" wrote: > At 15:45 10.09.2004, you wrote: >> Please send to us listing of your VComponents folder > > Verzeichnis von C:\Programme\Paradigma Software\VComponents_Win_VC > > 10.09.2004 15:55 . > 10.09.2004 15:55 .. > 25.02.2004 16:57 1.430 Components_Readme.txt > 05.07.2004 16:39 compressors > 05.07.2004 16:39 encryptors > 05.07.2004 16:39 fields > 05.07.2004 16:39 functions > 10.07.2004 12:41 8.495.104 icudt26l.dll > 10.07.2004 12:39 606.208 icuin26.dll > 10.07.2004 12:41 38.912 icuio26.dll > 10.07.2004 12:39 528.384 icuuc26.dll > 05.07.2004 16:39 importers > 05.07.2004 16:39 Indexes > 08.09.2004 13:11 11.857.920 Kernel_Win32_Debug.dll > 07.09.2004 15:54 279.738 Kernel_Win32_Debug.lib > 05.07.2004 16:39 libs_antlr > 05.07.2004 16:39 libs_icu > 05.07.2004 16:39 libs_pictures > 05.07.2004 16:39 resources > 10.09.2004 11:38 script_languages > 8 Datei(en) 21.807.696 Bytes > 13 Verzeichnis(se), 8.293.658.624 Bytes frei All looks to be correct. Wait a moment!!!!!!! Igor, it seems we must add into archive MCRT71.dll >From Microsoft. I do not see it! Igor check this point -- 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 Sep 10 20:32:40 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Sep 10 12:35:17 2004 Subject: [V4MD] can't get it to work In-Reply-To: <6.1.2.0.2.20040910155609.034dee70@pop.gmx.de> Message-ID: Martin, You here ? Any news ? -- 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 Sep 10 21:25:36 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Sep 10 13:25:46 2004 Subject: [V4MD] can't get it to work In-Reply-To: <6.1.2.0.2.20040910193656.038dd3d0@pop.gmx.de> Message-ID: On 9/10/04 8:38 PM, "Martin Kloss" wrote: > At 19:32 10.09.2004, you wrote: >> You here ? >> Any news ? > > yup, I got it to work and I love it, especially the support for "image" > objects, thanks for much, great work :-) Excellent! > here's my last mail to Igor: > > At 18:39 10.09.2004, you wrote: >> Please, copy one more file - mscvrt.dll - into the system32 folder. > > this file is already there, it should be on every windows system. > >> If this does not help then I attached Dependency Walker > > great utility, thanks. now I found the problem: the msvcp71.dll and > msvcr71.dll > need to be in the "VComponents_Win_VC" folder, NOT in the system32 folder, > that's where the Xtra looks. now everything works. Aha. Igor, we should try today or tomorrow upload new archives. > I also got a "warning" about "c:\windows\system32\MPR.DLL", saying: > > Warning: At least one module has an unresolved import due to a missing > export function in a delay-load dependent module. We also have it on our computers. I think we can ignore this.s > I guess it doesn't matter since that's none of your files, but I though you > might wanna know. > > Thanks for your help and patience to get it to 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 giv at tlc.kherson.ua Sat Sep 11 19:39:54 2004 From: giv at tlc.kherson.ua (Igor Gomon) Date: Sat Sep 11 11:43:41 2004 Subject: [V4MD:Done] Fixed all known problems with V4MD examples Message-ID: Hi team, I've fixed all problems with V4MD examples mentioned on the beta list since b15 was uploaded. Exactly: 1) Fixed 2 bugs in code that handles copying pictures to/from cast members. 2) Fixed problems with SQL_Way/Records_AddUpdateDelete example. 3) Written new example API_Way/Method_Create that was outdated in b15 package. 4) All source code of examples have been updated to use new form of assignment (instead of old-style with 'set' keyword) 5) All source code of examples have been updated to use single 'global' keyword at the beginning of the script cast member. Now I still have a little problems with Method_Create example - method fields leave unchanged after pressing 'Update' button. But methods itself is working - first time it is calculated correctly. P.S. All changes commited. -- 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 _______________________________________________ Vdevelopers mailing list Vdevelopers@paradigma.ukrcom.kherson.ua http://192.168.2.1/mailman/listinfo/vdevelopers From sunshine at public.kherson.ua Sat Sep 11 19:45:58 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Sat Sep 11 11:46:06 2004 Subject: [V4MD:Done] Fixed all known problems with V4MD examples In-Reply-To: <004e01c4981d$f78ddec0$3b04a8c0@giv> Message-ID: On 9/11/04 7:39 PM, "Igor Gomon" wrote: > Hi team, > > I've fixed all problems with V4MD examples mentioned on the beta list > since b15 was uploaded. > Exactly: > 1) Fixed 2 bugs in code that handles copying pictures to/from > cast members. > 2) Fixed problems with SQL_Way/Records_AddUpdateDelete > example. > 3) Written new example API_Way/Method_Create that was > outdated in b15 package. > 4) All source code of examples have been updated to use > new form of assignment (instead of old-style with 'set' keyword) > 5) All source code of examples have been updated to use > single 'global' keyword at the beginning of the script cast > member. > > Now I still have a little problems with Method_Create example - > method fields leave unchanged after pressing 'Update' button. But > methods itself is working - first time it is calculated correctly. This is bug in kernel, Igor. The same I have in REALbasic. Problem only if we work via Vtable class. Via Vcursor class all works fine. BTW, try to fix this bug, Igor. I think simply on Update() Alex have forget to call dependent methods to re-calculate values. -- 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 snw at paradise.net.nz Sun Sep 12 11:17:50 2004 From: snw at paradise.net.nz (Sean Wilson) Date: Sat Sep 11 18:18:03 2004 Subject: [V4MD:Done] Fixed all known problems with V4MD examples Message-ID: <6.1.2.0.2.20040912094836.0ba65cc0@pop3.paradise.net.nz> >I've fixed all problems with V4MD examples mentioned on the beta list >since b15 was uploaded. > >Now I still have a little problems with Method_Create example - method >fields leave unchanged after pressing 'Update' button. But methods itself >is working - first time it is calculated correctly. Let us know when you've finished and upload the changes... Cheers, -Sean. From sunshine at public.kherson.ua Mon Sep 13 17:40:50 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Mon Sep 13 09:48:49 2004 Subject: Jon, ThrowExceptions Message-ID: Valentina_ThrowExceptions... PARAM: inValue = 1 return I wonder, do you try set ON or OFF exceptions ? If ON, then you do not need this call. If OFF, then you need pass here ZERO. -- 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 jda at his.com Mon Sep 13 11:13:26 2004 From: jda at his.com (jda) Date: Mon Sep 13 10:13:40 2004 Subject: Jon, ThrowExceptions In-Reply-To: References: Message-ID: >Valentina_ThrowExceptions... > PARAM: inValue = 1 >return > > >I wonder, do you try set ON or OFF exceptions ? > >If ON, then you do not need this call. > >If OFF, then you need pass here ZERO. > I leave it on most of the time. But there are some functions where I want it off. So I bracket my code with Valentina.ThrowExceptions = false ... Valentina.ThrowExceptions = true You just saw the end of that bracketed code where I turned it on again. Jon From valentina-list at vermontsoftworks.com Tue Sep 14 16:54:50 2004 From: valentina-list at vermontsoftworks.com (Erik Mueller-Harder) Date: Tue Sep 14 15:58:40 2004 Subject: V4RB, Jon, project In-Reply-To: References: Message-ID: <51E6F1EF-0690-11D9-AD18-000393DC4766@vermontsoftworks.com> Hi, Ruslan -- On Sep 10, 2004, at 08:38, Ruslan Zasukhin wrote: > Ok, I have fix that logical mistake with locales inheritance, > Now your app start with prefs = UTF8 encoding. Any word when you'll post an alpha that includes this fix? I'm crashing when adding records to a UTF8-encoded db. Defining the db (upon creation, of course) as UTF16 works fine. Heavy use of VarChar fields, if that's relevant. Just curious.... Thanks! -- Erik From sunshine at public.kherson.ua Wed Sep 15 00:17:29 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue Sep 14 16:17:44 2004 Subject: V4RB, Jon, project In-Reply-To: <51E6F1EF-0690-11D9-AD18-000393DC4766@vermontsoftworks.com> Message-ID: On 9/14/04 11:54 PM, "Erik Mueller-Harder" wrote: > Hi, Ruslan -- > > On Sep 10, 2004, at 08:38, Ruslan Zasukhin wrote: > >> Ok, I have fix that logical mistake with locales inheritance, >> Now your app start with prefs = UTF8 encoding. > > Any word when you'll post an alpha that includes this fix? I'm > crashing when adding records to a UTF8-encoded db. Defining the db > (upon creation, of course) as UTF16 works fine. Heavy use of VarChar > fields, if that's relevant. > > Just curious.... I have fix today 5 bugs in kernel, to make jda project work. Now hunt for next, looks to be the last which prevent me from start of his app as must I hope tomorrow we get it. ---------- NEWS: so we can think about them. We have realize that Valentina Developers should AVOID utf-8 !!! IF you want single byte then use your native language encoding. E.g. Latin-1 If you want unicode, then use UTF16. -- 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 jda at his.com Tue Sep 14 17:24:02 2004 From: jda at his.com (jda) Date: Tue Sep 14 16:24:17 2004 Subject: V4RB, Jon, project In-Reply-To: References: Message-ID: >I have fix today 5 bugs in kernel, to make jda project work. > >Now hunt for next, looks to be the last which prevent me from start of his >app as must > >I hope tomorrow we get it. Me, too...me, too. > > >---------- >NEWS: so we can think about them. > >We have realize that Valentina Developers should AVOID utf-8 !!! > >IF you want single byte then use your native language encoding. >E.g. Latin-1 > >If you want unicode, then use UTF16. > Why? UTF-8 is the "native" format for RB. It also, for Western languages, usually requires only a little more storage than UTF-16. Then what makes it a bad choice for Valentina Developers (especially RB ones)? Jon From jda at his.com Tue Sep 14 17:32:38 2004 From: jda at his.com (jda) Date: Tue Sep 14 16:32:53 2004 Subject: V4RB, Jon, project In-Reply-To: References: Message-ID: >> > >Why? UTF-8 is the "native" format for RB. It also, for Western >languages, usually requires only a little more storage than UTF-16. Sigh, I meant "only a little more than MacRoman or any other Western encoding". Jon From sunshine at public.kherson.ua Wed Sep 15 00:39:20 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue Sep 14 16:39:37 2004 Subject: V4RB, Jon, project In-Reply-To: Message-ID: On 9/15/04 12:24 AM, "jda" wrote: >> ---------- >> NEWS: so we can think about them. >> >> We have realize that Valentina Developers should AVOID utf-8 !!! >> >> IF you want single byte then use your native language encoding. >> E.g. Latin-1 >> >> If you want unicode, then use UTF16. >> > > Why? UTF-8 is the "native" format for RB. I new you will say this. > It also, for Western > languages, usually requires only a little more storage than UTF-16. > Then what makes it a bad choice for Valentina Developers (especially > RB ones)? Right, and for e.g. Cyrillic it will eat 2 bytes per char. So what we get then? If they all make Vstring(50) as UTF16 then they all can store 50 chars. German/USA developer make Vstring(50) as Latin1 he can store here really 50 chars of English or German Russian developer make Vstring(50) as Cyrilic-win he can store here only 50 chars. German/USA developer make Vstring(50) as UTF8 he can store here really 50 chars of English or German Russian developer make Vstring(50) as UTF8 he can store here only 25 chars. <<<<<<<<<<< OPS Non - consistence. We want and we think this is correct to write in docs Vstring( MaxCharsCount ) Problem of UTF8 is that can have variable length of bytes per chars. We cannot guarntee to you that if you make UTF8 Vstring(50) Then you will be able store here 50 chars in any language. At last of end, why we use unicode? To be able store any language. If you want store only German or only English then use Latin1. If you really want store any language then use UTF16. ------- It is never mind that REALbasic use UTF8. We talk about storage to disk. We have discuss this deeply here. Vstring -- cause the most big problem for UTF8 VarChar -- so so. IF you will write strings close to max limit you again may not fit into declared size. Vtext -- do not have problems. -- 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 jda at his.com Tue Sep 14 17:50:00 2004 From: jda at his.com (jda) Date: Tue Sep 14 16:50:14 2004 Subject: V4RB, Jon, project In-Reply-To: References: Message-ID: > > > >> Why? UTF-8 is the "native" format for RB. > >I new you will say this. Of course you did! :-> > >> It also, for Western >> languages, usually requires only a little more storage than UTF-16. >> Then what makes it a bad choice for Valentina Developers (especially >> RB ones)? > >Right, and for e.g. Cyrillic it will eat 2 bytes per char. And for Japanese even more than 2. But I'd like to be my choice... > >So what we get then? > > If they all make Vstring(50) as UTF16 > then they all can store 50 chars. > > German/USA developer make Vstring(50) as Latin1 > he can store here really 50 chars of English or German > > Russian developer make Vstring(50) as Cyrilic-win > he can store here only 50 chars. > > German/USA developer make Vstring(50) as UTF8 > he can store here really 50 chars of English or German > > Russian developer make Vstring(50) as UTF8 > he can store here only 25 chars. <<<<<<<<<<< OPS > >Non - consistence. > >We want and we think this is correct to write in docs > > Vstring( MaxCharsCount ) > > >Problem of UTF8 is that can have variable length of bytes per chars. >We cannot guarntee to you that if you make UTF8 Vstring(50) >Then you will be able store here 50 chars in any language. > >At last of end, why we use unicode? >To be able store any language. > >If you want store only German or only English then use Latin1. >If you really want store any language then use UTF16. Because for some of us we do not know in advance what users will want to store, but *most* will be some variant of a Western language. If hits to my web site are any indication, 90% or more are using a Western language primarily, and 10% or so use Japenese (primarily). But many Western language users mix in the occasional Japenese, Greek, Hebrew, or whatever. > > >We have discuss this deeply here. >Vstring -- cause the most big problem for UTF8 >VarChar -- so so. IF you will write strings close to max limit you again may >not fit into declared size. >Vtext -- do not have problems. > Any reason, in principle, that we can't mix encodings in a single database -- use UTF-18 for VStrings and UTF-8 for VText. Does this have to be database-wide -- can't it be field-specific, like language is now? Anyway, if you are saying this as a warning, but we can still use UTF-8 if we want, then point taken, and thanks. Jon From jda at his.com Tue Sep 14 18:54:02 2004 From: jda at his.com (jda) Date: Tue Sep 14 17:54:15 2004 Subject: V4RB, Jon, project In-Reply-To: References: Message-ID: BTW, regardless of storage, in the next beta will we be able to do SQL searches? Jon From sunshine at public.kherson.ua Wed Sep 15 02:12:30 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue Sep 14 18:12:48 2004 Subject: V4RB, Jon, project In-Reply-To: Message-ID: On 9/15/04 12:50 AM, "jda" wrote: >> So what we get then? >> >> If they all make Vstring(50) as UTF16 >> then they all can store 50 chars. >> >> German/USA developer make Vstring(50) as Latin1 >> he can store here really 50 chars of English or German >> >> Russian developer make Vstring(50) as Cyrilic-win >> he can store here only 50 chars. >> >> German/USA developer make Vstring(50) as UTF8 >> he can store here really 50 chars of English or German >> >> Russian developer make Vstring(50) as UTF8 >> he can store here only 25 chars. <<<<<<<<<<< OPS >> >> Non - consistence. > >> >> We want and we think this is correct to write in docs >> >> Vstring( MaxCharsCount ) >> >> >> Problem of UTF8 is that can have variable length of bytes per chars. >> We cannot guarntee to you that if you make UTF8 Vstring(50) >> Then you will be able store here 50 chars in any language. >> >> At last of end, why we use unicode? >> To be able store any language. >> >> If you want store only German or only English then use Latin1. >> If you really want store any language then use UTF16. > > Because for some of us we do not know in advance what users will want > to store, but *most* will be some variant of a Western language. If > hits to my web site are any indication, 90% or more are using a > Western language primarily, and 10% or so use Japenese (primarily). > But many Western language users mix in the occasional Japenese, > Greek, Hebrew, or whatever. > >> >> >> We have discuss this deeply here. >> Vstring -- cause the most big problem for UTF8 >> VarChar -- so so. IF you will write strings close to max limit you again may >> not fit into declared size. >> Vtext -- do not have problems. >> > > Any reason, in principle, that we can't mix encodings in a single > database -- use UTF-18 for VStrings and UTF-8 for VText. Does this > have to be database-wide -- can't it be field-specific, like language > is now? > > Anyway, if you are saying this as a warning, but we can still use > UTF-8 if we want, then point taken, and thanks. Yes, you can use it. Just we warn you that in this case user may get bad surprise that he can store less chars. -- 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 Sep 15 02:13:41 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue Sep 14 18:13:56 2004 Subject: V4RB, Jon, project In-Reply-To: Message-ID: On 9/15/04 1:54 AM, "jda" wrote: > BTW, regardless of storage, in the next beta will we be able to do > SQL searches? I see that during open you do many SQL searches in prefs db and they work. Although they work without index for now. Index on string also must work now. My tests 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 jda at his.com Tue Sep 14 19:32:29 2004 From: jda at his.com (jda) Date: Tue Sep 14 18:32:40 2004 Subject: V4RB, Jon, project In-Reply-To: References: Message-ID: > > > >> Any reason, in principle, that we can't mix encodings in a single >> database -- use UTF-18 for VStrings and UTF-8 for VText. Does this >> have to be database-wide -- can't it be field-specific, like language >> is now? >> >> Anyway, if you are saying this as a warning, but we can still use >> UTF-8 if we want, then point taken, and thanks. > >Yes, you can use it. > >Just we warn you that in this case user may get bad surprise that he can >store less chars. > Understood. But what about the question -- would it be possible to define encoding on an individual field level? That would solve the problem. That's how language is assigned now... Jon From sunshine at public.kherson.ua Wed Sep 15 09:57:01 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Sep 15 01:57:22 2004 Subject: V4RB, Jon, project In-Reply-To: Message-ID: On 9/15/04 2:32 AM, "jda" wrote: >>> Any reason, in principle, that we can't mix encodings in a single >>> database -- use UTF-18 for VStrings and UTF-8 for VText. Does this >>> have to be database-wide -- can't it be field-specific, like language >>> is now? >>> >>> Anyway, if you are saying this as a warning, but we can still use >>> UTF-8 if we want, then point taken, and thanks. >> >> Yes, you can use it. >> >> Just we warn you that in this case user may get bad surprise that he can >> store less chars. >> > > Understood. > > But what about the question -- would it be possible to define > encoding on an individual field level? That would solve the problem. > That's how language is assigned now... Yes! You can see this right now in the my example Common/Locale -- 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 robelko.com Wed Sep 15 11:54:22 2004 From: rjb at robelko.com (Robert Brenstein) Date: Wed Sep 15 05:06:19 2004 Subject: V4RB, Jon, project In-Reply-To: References: Message-ID: > > But what about the question -- would it be possible to define >> encoding on an individual field level? That would solve the problem. >> That's how language is assigned now... > >Yes! > >You can see this right now in the my example Common/Locale > > >-- >Best regards, >Ruslan Zasukhin [ I feel the need...the need for speed ] Jon, what may be escaping you is that valentina 2 will use utf16 as its internal encoding for storing all content. However, it will do on-the-fly conversion to/from encoding you specified. So the encoding and language are just field properties so do speak. Robert From jda at his.com Wed Sep 15 07:05:27 2004 From: jda at his.com (jda) Date: Wed Sep 15 06:05:40 2004 Subject: V4RB, Jon, project In-Reply-To: References: Message-ID: >> > But what about the question -- would it be possible to define >>> encoding on an individual field level? That would solve the problem. >>> That's how language is assigned now... >> >>Yes! >> >>You can see this right now in the my example Common/Locale >> >> >>-- >>Best regards, >>Ruslan Zasukhin [ I feel the need...the need for speed ] > > >Jon, what may be escaping you is that valentina 2 will use utf16 as >its internal encoding for storing all content. However, it will do >on-the-fly conversion to/from encoding you specified. So the >encoding and language are just field properties so do speak. > >Robert We've been back and forth on this so much in the last year that frankly I've lost track of the internal encoding. If this is the "final answer", then the whole discussion is moot and all storage is 16 bit/character. If so, there is NO problem specifying UTF-8 for VString because the string length is fixed. Ruslan, please clarify this. Thanks, Jon From sunshine at public.kherson.ua Wed Sep 15 14:31:56 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Sep 15 06:32:50 2004 Subject: V4RB, Jon, project In-Reply-To: Message-ID: On 9/15/04 2:05 PM, "jda" wrote: >> Jon, what may be escaping you is that valentina 2 will use utf16 as >> its internal encoding for storing all content. However, it will do >> on-the-fly conversion to/from encoding you specified. So the >> encoding and language are just field properties so do speak. >> >> Robert > > We've been back and forth on this so much in the last year that > frankly I've lost track of the internal encoding. If this is the > "final answer", then the whole discussion is moot and all storage is > 16 bit/character. If so, there is NO problem specifying UTF-8 for > VString because the string length is fixed. > > Ruslan, please clarify this. I have not catch your point guys. * internally engine always work in UTF16 * so even if RB give me UTF8 string, I convert it to UTF16. when I write to disk I convert it from UTF16 to encoding which you have specify in the property StorageEncoding. * fixed size Vstring with UTF8 cause the most big problems. VarChar field less problems. Vtext no problems because no top limit. -- 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 jda at his.com Wed Sep 15 07:46:51 2004 From: jda at his.com (jda) Date: Wed Sep 15 06:47:04 2004 Subject: V4RB, Jon, project In-Reply-To: References: Message-ID: > > > Ruslan, please clarify this. > >I have not catch your point guys. > >* internally engine always work in UTF16 > >* so even if RB give me UTF8 string, I convert it to UTF16. > when I write to disk I convert it from UTF16 to encoding > which you have specify in the property StorageEncoding. > >* fixed size Vstring with UTF8 cause the most big problems. > VarChar field less problems. > Vtext no problems because no top limit. > Good, that's what I had thought -- we do specify the way the data are stored, and Valentina converts whatever it is to UTF-16 for internal manipulation (searches, sorts, etc.). But I'm still confused. You said we can change the encoding on a field-by-field basis. But is that the *storageEncoding*? If it is, that solves all problems, because we can use UTF-16 for VString and UTF-8 for VText if we want. If it is not the storageEncoding (which I'm guessing is the case, because there is a global property for that) then it doesn't help. So the question again, better phrased, is might it be possible to assign a different storageEncoding for each field? If not now, is that feasible to implement? Jon From sunshine at public.kherson.ua Wed Sep 15 15:10:14 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Sep 15 07:10:47 2004 Subject: V4RB, Jon, project In-Reply-To: Message-ID: On 9/15/04 2:46 PM, "jda" wrote: >>> Ruslan, please clarify this. >> >> I have not catch your point guys. >> >> * internally engine always work in UTF16 >> >> * so even if RB give me UTF8 string, I convert it to UTF16. >> when I write to disk I convert it from UTF16 to encoding >> which you have specify in the property StorageEncoding. >> >> * fixed size Vstring with UTF8 cause the most big problems. >> VarChar field less problems. >> Vtext no problems because no top limit. >> > > Good, that's what I had thought -- we do specify the way the data are > stored, and Valentina converts whatever it is to UTF-16 for internal > manipulation (searches, sorts, etc.). > > But I'm still confused. You said we can change the encoding on a > field-by-field basis. But is that the *storageEncoding*? YES. You have Vdatabase.storageEncoding VTable.storageEncoding VField.storageEncoding > If it is, that solves all problems, because we can use UTF-16 for VString and > UTF-8 for VText if we want. yes > If it is not the storageEncoding (which > I'm guessing is the case, because there is a global property for > that) then it doesn't help. no > So the question again, better phrased, is might it be possible to > assign a different storageEncoding for each field? If not now, is > that feasible to implement? YES!!! YES!!!!! YES !!!!!! It is already implemented. Vdatabase.storageEncoding VTable.storageEncoding VField.storageEncoding And this parameter can be inherited from top level. -- 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 jda at his.com Wed Sep 15 08:23:22 2004 From: jda at his.com (jda) Date: Wed Sep 15 07:23:55 2004 Subject: V4RB, Jon, project In-Reply-To: References: Message-ID: > > > Vdatabase.storageEncoding > VTable.storageEncoding > VField.storageEncoding > >And this parameter can be inherited from top level. > Terrific! So if we set Vdatabase.storageEncoding to, say, UTF-8, that is inherited by all fields in all tables UNLESS we override with, say, myStringField.storageEncoding = UTF16 when the field is created (sorry to keep at it, but this is important, so I just want to make sure I have it exactly!). Jon From sunshine at public.kherson.ua Wed Sep 15 16:11:45 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Sep 15 08:12:11 2004 Subject: V4RB, Jon, project In-Reply-To: Message-ID: On 9/15/04 3:23 PM, "jda" wrote: >> Vdatabase.storageEncoding >> VTable.storageEncoding >> VField.storageEncoding >> >> And this parameter can be inherited from top level. >> > > Terrific! > > So if we set Vdatabase.storageEncoding to, say, UTF-8, that is > inherited by all fields in all tables UNLESS we override with, say, > myStringField.storageEncoding = UTF16 when the field is created > (sorry to keep at it, but this is important, so I just want to make > sure I have it exactly!). Yes If you want simply UTF16 db then you simply do nothing If you want the whole db in the UTF8 then you once set db.StorageEncoding = "UTF-8" and tables and fields will inherit this parameter. NOTE: 2.0 will not be able CHANGE encoding for existed data, but later we will implement this also. - 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-list at vermontsoftworks.com Wed Sep 15 09:47:24 2004 From: valentina-list at vermontsoftworks.com (Erik Mueller-Harder) Date: Wed Sep 15 08:47:42 2004 Subject: UTF8 storage (was Re: V4RB, Jon, project) In-Reply-To: References: Message-ID: Hi, Ruslan & others -- I'm glad to see all the specifics re UTF8/16 storage detailed here. The inheritance model is great, Ruslan -- such a straightforward way to take care of general rules and the occasional exception. Thank you for such an elegant solution. I think I understand the complications of UTF8 storage on your end of things, and I think I see that you might be tempted to limit or even eliminate its support: > At last of end, why we use unicode? > To be able store any language. This is quite true, of course. And, as a U.S. developer who has been railing against the general lack of world-awareness of many U.S. developers for decades, I have been a long-standing supporter of Unicode and its universal adoption. That said, I currently find myself in the ironic position of developing an "in-house" application which will have virtually no chance of being used outside the scope of countries using Latin-based alphabets, so UTF16 would be definite overkill -- essentially doubling the amount of space my database would require. Why shouldn't I use Latin1 or MacRoman, then? Because I recognize that the usable life of these character sets is (thankfully!) limited; because I want to be as cross-platform compatible as possible; and because it's clear to me that Unicode really should be used for everything. But mostly, I don't want to limit users to the 128 or 256 characters that I can be relatively certain will be supported more-or-less properly by an old-world character set: I need and want to support the *occasional* use of Latin characters with diacritical marks -- including those we associate not just with French and Spanish (generally supported OK by MacRoman and Latin1), but also with Hungarian, Norwegian, and other Latin-based alphabets. UTF8 is really perfect in such circumstances -- and it gets me even more because essentially *all* writing systems are supported. Yes, I do understand that my space usage in text fields will increase when I store certain characters, and I understand that using multi-byte characters in VarChar and String fields uses their available space more quickly than using single-byte characters. In the case of VarChar, I'm not terribly concerned: I define almost all VarChar fields as 504 bytes even in situations where I expect the average field to be only 25 or 30 characters, since that definition doesn't cost me anything and gains me flexibility. If a half-dozen (or even *all*!) of those characters are multi-byte -- no difference, even in UTF8. Not a problem! All I have to do is remember to "round up" if I'm ever on the fence about how much space to allocate (something I'm likely to do anyway). I can see that the potential of using multi-byte characters in String fields defined as UTF8 storage could be problematic. I tend to define very few String fields, though -- pretty much only for situations like product codes and so forth, where I can be certain of an exact length. These are situations where multi-byte characters are unlikely to be needed. I'm supposing that my best plan is probably keep these defined as UTF8, but to define the language as ASCII and edit input to ensure compliance. So, in short, I hope that you continue to support storage in UTF8 for all string types. In many cases, of course, UTF8 is not the best solution -- but there certainly are situations in which it makes a great deal of sense. Thanks again for all you're doing. Valentina 1.x has been a great product; 2.x is promising to be truly outstanding! -- Erik From valentina-list at vermontsoftworks.com Wed Sep 15 09:50:26 2004 From: valentina-list at vermontsoftworks.com (Erik Mueller-Harder) Date: Wed Sep 15 08:50:40 2004 Subject: UTF8 storage (was Re: V4RB, Jon, project) In-Reply-To: References: Message-ID: <32AEE9DC-071E-11D9-B86B-000393DC4766@vermontsoftworks.com> Hi, Ruslan -- On Sep 15, 2004, at 09:11, Ruslan Zasukhin wrote: > If you want the whole db in the UTF8 then you once set > db.StorageEncoding = "UTF-8" Just so we continue being really clear about things here, as I imagine these e-mails are going to be used as reference for a while: "UTF-8", as you state above, or "UTF8", as shown in your example database? Thanks! -- Erik From sunshine at public.kherson.ua Wed Sep 15 18:44:46 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Sep 15 10:45:57 2004 Subject: UTF8 storage (was Re: V4RB, Jon, project) In-Reply-To: <32AEE9DC-071E-11D9-B86B-000393DC4766@vermontsoftworks.com> Message-ID: On 9/15/04 4:50 PM, "Erik Mueller-Harder" wrote: > Hi, Ruslan -- > > On Sep 15, 2004, at 09:11, Ruslan Zasukhin wrote: > >> If you want the whole db in the UTF8 then you once set >> db.StorageEncoding = "UTF-8" > > Just so we continue being really clear about things here, as I imagine > these e-mails are going to be used as reference for a while: "UTF-8", > as you state above, or "UTF8", as shown in your example database? It is never mind Erik! You can write UTF8, UTF-8, utf8, uTF-8 ICU is very smart to recognize what you want :-) It support many alias names for the same encoding also. -- 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 Sep 15 18:46:49 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Sep 15 10:48:03 2004 Subject: UTF8 storage (was Re: V4RB, Jon, project) In-Reply-To: Message-ID: On 9/15/04 4:47 PM, "Erik Mueller-Harder" wrote: > So, in short, I hope that you continue to support storage in UTF8 for > all string types. In many cases, of course, UTF8 is not the best > solution -- but there certainly are situations in which it makes a > great deal of sense. Erik. We will support UTF8 as any other from 170 encodings. POINT. Do not worry. > Thanks again for all you're doing. Valentina 1.x has been a great > product; 2.x is promising to be truly outstanding! Thank you Erik. -- 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 Sep 15 17:53:09 2004 From: ernestogiannotta at tiscalinet.it (erne) Date: Wed Sep 15 10:53:32 2004 Subject: UTF8 storage (was Re: V4RB, Jon, project) In-Reply-To: Message-ID: on 15-09-2004 15:47, Erik Mueller-Harder at valentina-list@vermontsoftworks.com wrote: > Thanks again for all you're doing. Valentina 1.x has been a great > product; 2.x is promising to be truly outstanding! > FWIW I agree with every single word Erik said! Cool Runnings, Erne. -- | e r | Ernesto Giannotta | n e | Musical Box - a media store From ernestogiannotta at tiscalinet.it Wed Sep 15 18:00:12 2004 From: ernestogiannotta at tiscalinet.it (erne) Date: Wed Sep 15 11:00:30 2004 Subject: V4RB, Jon, project In-Reply-To: Message-ID: Hi Ruslan, on 15-09-2004 13:31, Ruslan Zasukhin at sunshine@public.kherson.ua wrote: >>> Jon, what may be escaping you is that valentina 2 will use utf16 as >>> its internal encoding for storing all content. However, it will do >>> on-the-fly conversion to/from encoding you specified. So the >>> encoding and language are just field properties so do speak. >>> >>> Robert >> >> We've been back and forth on this so much in the last year that >> frankly I've lost track of the internal encoding. If this is the >> "final answer", then the whole discussion is moot and all storage is >> 16 bit/character. If so, there is NO problem specifying UTF-8 for >> VString because the string length is fixed. >> >> Ruslan, please clarify this. > > I have not catch your point guys. > > * internally engine always work in UTF16 > > * so even if RB give me UTF8 string, I convert it to UTF16. > when I write to disk I convert it from UTF16 to encoding > which you have specify in the property StorageEncoding. > > * fixed size Vstring with UTF8 cause the most big problems. > VarChar field less problems. > Vtext no problems because no top limit. > sorry, I still not catch say I define some field as UTF8 10 chars maxlenght I store some 10 chars string with no double bytes chars ("abcdefghij") the Vale kernel converts all in UTF16 result: I loose half my data I got it well? Cool Runnings, Erne. -- | e r | Ernesto Giannotta | n e | Musical Box - a media store From jda at his.com Wed Sep 15 12:06:54 2004 From: jda at his.com (jda) Date: Wed Sep 15 11:07:12 2004 Subject: V4RB, Jon, project In-Reply-To: References: Message-ID: > >sorry, I still not catch > >say I define some field as UTF8 10 chars maxlenght >I store some 10 chars string with no double bytes chars ("abcdefghij") >the Vale kernel converts all in UTF16 > >result: I loose half my data > >I got it well? > No -- at least that's not how I understand it. Valentina will *store* them as 10 characters on the disk, because the StorageEncoding = UTF8, so you lose nothing. But when it needs to access the data for some manipulation in memory (search, sort, etc.) it will convert the data to UTF-16 (20 bytes) first -- this is transparent to you. Jon From sunshine at public.kherson.ua Wed Sep 15 19:33:21 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Sep 15 11:34:52 2004 Subject: UTF8 storage // VarChar in 2.0 raise to 2000 In-Reply-To: Message-ID: On 9/15/04 4:47 PM, "Erik Mueller-Harder" wrote: > Yes, I do understand that my space usage in text fields will increase > when I store certain characters, and I understand that using multi-byte > characters in VarChar and String fields uses their available space more > quickly than using single-byte characters. > In the case of VarChar, I'm > not terribly concerned: I define almost all VarChar fields as 504 > bytes even in situations where I expect the average field to be only 25 > or 30 characters, since that definition doesn't cost me anything and > gains me flexibility. Absolutely right Erik ! And I have exclusive news for you! :-) ** since in Valentina 2.0 we use in the disk files pages with minimum 4KB size, we get that minimal VarChar size should be 2000 (little more actually) So with such size of VarChar in most cases the average and even long strings (as URLs) will fit. > If a half-dozen (or even *all*!) of those > characters are multi-byte -- no difference, even in UTF8. > Not a problem! > All I have to do is remember to "round up" if I'm ever on the > fence about how much space to allocate (something I'm likely to do > anyway). Correct Erik! -- 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 Sep 15 19:34:31 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Sep 15 11:35:43 2004 Subject: UTF8 storage Vstring In-Reply-To: Message-ID: On 9/15/04 4:47 PM, "Erik Mueller-Harder" wrote: > I can see that the potential of using multi-byte characters in String > fields defined as UTF8 storage could be problematic. I tend to define > very few String fields, though -- pretty much only for situations like > product codes and so forth, where I can be certain of an exact length. > These are situations where multi-byte characters are unlikely to be > needed. I'm supposing that my best plan is probably keep these defined > as UTF8, but to define the language as ASCII and edit input to ensure > compliance. And again you are 100% correct Erik! :-) -- 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 Sep 15 19:44:41 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Sep 15 11:45:37 2004 Subject: V4RB, Jon, project /// More explanation. In-Reply-To: Message-ID: On 9/15/04 7:06 PM, "jda" wrote: >> sorry, I still not catch >> >> say I define some field as UTF8 10 chars maxlenght >> I store some 10 chars string with no double bytes chars ("abcdefghij") >> the Vale kernel converts all in UTF16 >> >> result: I loose half my data >> >> I got it well? >> > > No -- at least that's not how I understand it. Yes, Jon, you loose. On disk is reserved 10 bytes for Vstring field. So if you put 10 chars each 2 bytes then this is 20 bytes. On disk can be stored only 10 bytes. If, Erne, you will use VarChar(504), then all your 20 bytes will be written to disk. No problems. ------------------- Everything is simple, guys. I offer you to remember such rules: * if you use UTF16, and you make some Vstring(50) -- this is 50 chars VarChar(50) -- this is 50 chars Text -- unlimited in this case Valentina allocate on disk bytes Vstring(50) -- 50 * 2 = 100 bytes on disk VarChar(50) -- 4KB+ pages. * if you use any other encoding then you use single byte encoding. And in this case if you say Vstring(50) -- you reserve 50 bytes on disk. if your chars eat one byte, then you get 50 chars. if your chars eat 2 bytes then you get 25 chars. So if you will think in bytes then everything is clear. -------------- Just in all both above cases we can THINK that we work with chars. in all EXCEPT UTF-8 SQL Standard also require to think in chars. As for me, I prefer to control each byte. I am Developer. -- 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 Sep 15 19:44:01 2004 From: ernestogiannotta at tiscalinet.it (erne) Date: Wed Sep 15 12:44:23 2004 Subject: V4RB, Jon, project /// More explanation. In-Reply-To: Message-ID: on 15-09-2004 18:44, Ruslan Zasukhin at sunshine@public.kherson.ua wrote: >>> sorry, I still not catch >>> >>> say I define some field as UTF8 10 chars maxlenght >>> I store some 10 chars string with no double bytes chars ("abcdefghij") >>> the Vale kernel converts all in UTF16 >>> >>> result: I loose half my data >>> >>> I got it well? >>> >> >> No -- at least that's not how I understand it. > > Yes, Jon, you loose. > > On disk is reserved 10 bytes for Vstring field. > So if you put 10 chars each 2 bytes then this is 20 bytes. > On disk can be stored only 10 bytes. > well... but I decided to use UTF8, remember? (for all the good reasons that Erik stated) so I expect all 10 bytes to be saved > > If, Erne, you will use VarChar(504), then all your 20 bytes will be written > to disk. No problems. > but not all my 504 ;^) > > ------------------- > Everything is simple, guys. > > > I offer you to remember such rules: > > * if you use UTF16, and you make some > > Vstring(50) -- this is 50 chars > VarChar(50) -- this is 50 chars > Text -- unlimited > > in this case Valentina allocate on disk bytes > > Vstring(50) -- 50 * 2 = 100 bytes on disk > VarChar(50) -- 4KB+ pages. > > > * if you use any other encoding then you use single byte encoding. > And in this case if you say > > Vstring(50) -- you reserve 50 bytes on disk. > > if your chars eat one byte, then you get 50 chars. > if your chars eat 2 bytes then you get 25 chars. > > So if you will think in bytes then everything is clear. > not at all!! you just stated that Vale will convert those 1 byte chars to 2 bytes UTF16 internally and thus consume all 50 bytes for 25 chars only or I still don't get something? > > > -------------- > Just in all both above cases we can THINK that we work with chars. > in all EXCEPT UTF-8 > > SQL Standard also require to think in chars. > > As for me, I prefer to control each byte. I am Developer. > yep! and this ambiguity about available space depending on defined encoding is sure cause of headaches IMHO Cool Runnings, Erne. -- | e r | Ernesto Giannotta | n e | Musical Box - a media store From sunshine at public.kherson.ua Wed Sep 15 20:49:30 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Sep 15 12:51:31 2004 Subject: V4RB, Jon, project /// More explanation. In-Reply-To: Message-ID: On 9/15/04 8:44 PM, "erne" wrote: >> So if you will think in bytes then everything is clear. >> > > not at all!! > > you just stated that Vale will convert those 1 byte chars to 2 bytes UTF16 > internally and thus consume all 50 bytes for 25 chars only > > or I still don't get something? Yes, Erne, You still do not get something Try read all letters once again. After that try write self some example(s) and explain it. I will say YES 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 sunshine at public.kherson.ua Wed Sep 15 20:51:32 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Sep 15 12:51:53 2004 Subject: V4RB, Jon, project /// More explanation. In-Reply-To: Message-ID: On 9/15/04 8:44 PM, "erne" wrote: >> ------------------- >> Everything is simple, guys. >> >> >> I offer you to remember such rules: >> >> * if you use UTF16, and you make some >> >> Vstring(50) -- this is 50 chars >> VarChar(50) -- this is 50 chars >> Text -- unlimited >> >> in this case Valentina allocate on disk bytes >> >> Vstring(50) -- 50 * 2 = 100 bytes on disk >> VarChar(50) -- 4KB+ pages. >> >> >> * if you use any other encoding then you use single byte encoding. >> And in this case if you say >> >> Vstring(50) -- you reserve 50 bytes on disk. >> >> if your chars eat one byte, then you get 50 chars. >> if your chars eat 2 bytes then you get 25 chars. >> >> So if you will think in bytes then everything is clear. >> > > not at all!! > > you just stated that Vale will convert those 1 byte chars to 2 bytes UTF16 > internally and thus consume all 50 bytes for 25 chars only Erne, Let me underline. In the RAM Valentina allocate buffers always 2 bytes per char. But when it write info to disk it CONVERT to encoding which you have specify. When you say String(50) -- you talk here about 50 bytes on disk. -- 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 Sep 15 20:01:33 2004 From: ernestogiannotta at tiscalinet.it (erne) Date: Wed Sep 15 13:01:49 2004 Subject: V4RB, Jon, project /// More explanation. In-Reply-To: Message-ID: on 15-09-2004 19:51, Ruslan Zasukhin at sunshine@public.kherson.ua wrote: >>> So if you will think in bytes then everything is clear. >>> >> >> not at all!! >> >> you just stated that Vale will convert those 1 byte chars to 2 bytes UTF16 >> internally and thus consume all 50 bytes for 25 chars only > > Erne, > > Let me underline. > > In the RAM Valentina allocate buffers always 2 bytes per char. > > But when it write info to disk it CONVERT to encoding which you have > specify. > > When you say String(50) -- you talk here about 50 bytes on disk. > > OK, now it's clear... Thanks! Cool Runnings, Erne. -- | e r | Ernesto Giannotta | n e | Musical Box - a media store From valentina-list at vermontsoftworks.com Wed Sep 15 14:09:48 2004 From: valentina-list at vermontsoftworks.com (Erik Mueller-Harder) Date: Wed Sep 15 13:10:05 2004 Subject: V4RB, Jon, project /// More explanation. In-Reply-To: References: Message-ID: <6E617020-0742-11D9-B86B-000393DC4766@vermontsoftworks.com> Hi, Erne -- On Sep 15, 2004, at 13:44, erne wrote: > you just stated that Vale will convert those 1 byte chars to 2 bytes > UTF16 > internally and thus consume all 50 bytes for 25 chars only > > or I still don't get something? For UTF16, we think and talk about and define the number of "characters." These characters take up two bytes each on the disk, it's true, but it's a straightforward relationship of 1:2. This is true of *all* characters stored with UTF16 encoding, even those in the original ASCII 128. For single-byte encodings such as Latin-1 and MacRoman, characters = bytes always, and that's how we're used to thinking. UTF8 is the most complicated. We define fields in terms of *bytes* only. As long as our data consists only of the old ASCII values 1 - 128, they're the same and all is still simple. Any other character that you store, though, take up two bytes; so if you have a "?" or a "?", in your word, it takes up more space than you're used to thinking of. So, to use the original example, if you store 10 characters in a VString(10) field, and if those 10 characters are "abcdefghij", then all will be well. If you attempt to store "abcd?fghij", though, only "abcdefghi" will fit, since that's 10 bytes long. The fact that Valentina converts everything to UTF16 for its own processing is actually irrelevant -- just keep thinking about the *byte*-length of your UTF8 fields and of the *byte*-length of the strings you're trying to save to them. Does this help? -- Erik From valentina-list at vermontsoftworks.com Wed Sep 15 14:12:10 2004 From: valentina-list at vermontsoftworks.com (Erik Mueller-Harder) Date: Wed Sep 15 13:12:25 2004 Subject: V4RB, Jon, project /// More explanation. In-Reply-To: <6E617020-0742-11D9-B86B-000393DC4766@vermontsoftworks.com> References: <6E617020-0742-11D9-B86B-000393DC4766@vermontsoftworks.com> Message-ID: On Sep 15, 2004, at 14:09, Erik Mueller-Harder wrote: > If you attempt to store "abcd?fghij", though, only "abcdefghi" will > fit, since that's 10 bytes long. Sorry, I forgot to accent the e in the 2nd string; it should of course read: > If you attempt to store "abcd?fghij", though, only "abcd?fghi" will > fit, since that's 10 bytes long. From jda at his.com Wed Sep 15 14:19:11 2004 From: jda at his.com (jda) Date: Wed Sep 15 13:19:31 2004 Subject: V4RB, Jon, project /// More explanation. In-Reply-To: References: Message-ID: > say I define some field as UTF8 10 chars maxlenght > >> I store some 10 chars string with no double bytes chars ("abcdefghij") >>> the Vale kernel converts all in UTF16 >>> >>> result: I loose half my data >>> >>> I got it well? >>> >> >> No -- at least that's not how I understand it. > >Yes, Jon, you loose. > >On disk is reserved 10 bytes for Vstring field. >So if you put 10 chars each 2 bytes then this is 20 bytes. >On disk can be stored only 10 bytes. > > >If, Erne, you will use VarChar(504), then all your 20 bytes will be written >to disk. No problems. > OK, I'm stupid, but I just don't get your explanation. He defined the field as storageEncoding UTF-8, and set max length to 10. He has 10 chars to store. They are single byte characters. Why won't all be stored and retrieved??????? They are stored as UTF-8, right, so one byte per character. > > Vstring(50) -- this is 50 chars >> VarChar(50) -- this is 50 chars > Text -- unlimited > in this case Valentina allocate on disk bytes > Vstring(50) -- 50 * 2 = 100 bytes on disk > VarChar(50) -- 4KB+ pages. I must say I don't like this at all. I, too, prefer to think in bytes. It seems for UTF-16 the 50 means characters, but for UTF-8 it means bytes. It should be the same for all encodings -- having it differ between encodings is *very* confusing and will certainly lead to many misunderstandings. I suggest that 50 always means bytes, and if you want to store 50 UTF-16 characters that you declare a VString of [100]/ Jon From valentina-list at vermontsoftworks.com Wed Sep 15 14:30:00 2004 From: valentina-list at vermontsoftworks.com (Erik Mueller-Harder) Date: Wed Sep 15 13:30:21 2004 Subject: V4RB, Jon, project /// More explanation. In-Reply-To: References: Message-ID: <40BC3BCA-0745-11D9-B86B-000393DC4766@vermontsoftworks.com> On Sep 15, 2004, at 14:19, jda wrote: > He defined the field as storageEncoding UTF-8, and set max length to > 10. He has 10 chars to store. They are single byte characters. > > Why won't all be stored and retrieved??????? They are stored as UTF-8, > right, so one byte per character. Yes, Jon, I think you're right -- Erne wouldn't lose any data in that situation, unless I completely misunderstand things. -- Erik From valentina-list at vermontsoftworks.com Wed Sep 15 14:32:11 2004 From: valentina-list at vermontsoftworks.com (Erik Mueller-Harder) Date: Wed Sep 15 13:32:27 2004 Subject: V4RB, Jon, project /// More explanation. In-Reply-To: References: Message-ID: <8F11A642-0745-11D9-B86B-000393DC4766@vermontsoftworks.com> On Sep 15, 2004, at 14:19, jda wrote: > It seems for UTF-16 the 50 means characters, but for UTF-8 it means > bytes. > > It should be the same for all encodings -- having it differ between > encodings is *very* confusing and will certainly lead to many > misunderstandings. > > I suggest that 50 always means bytes, and if you want to store 50 > UTF-16 characters that you declare a VString of [100] Agreed; that would be much more consistent. -- Erik From sunshine at public.kherson.ua Wed Sep 15 23:27:01 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Sep 15 15:27:18 2004 Subject: V4RB, Jon, project /// More explanation. In-Reply-To: Message-ID: On 9/15/04 9:19 PM, "jda" wrote: >> say I define some field as UTF8 10 chars maxlenght >>>> I store some 10 chars string with no double bytes chars ("abcdefghij") >>>> the Vale kernel converts all in UTF16 >>>> >>>> result: I loose half my data >>>> >>>> I got it well? >>>> >>> >>> No -- at least that's not how I understand it. >> >> Yes, Jon, you loose. >> >> On disk is reserved 10 bytes for Vstring field. >> So if you put 10 chars each 2 bytes then this is 20 bytes. >> On disk can be stored only 10 bytes. >> >> >> If, Erne, you will use VarChar(504), then all your 20 bytes will be written >> to disk. No problems. >> > > OK, I'm stupid, but I just don't get your explanation. > > He defined the field as storageEncoding UTF-8, and set max length to > 10. He has 10 chars to store. They are single byte characters. > > Why won't all be stored and retrieved??????? They are stored as > UTF-8, right, so one byte per character. For english yes, for Russian 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 sunshine at public.kherson.ua Wed Sep 15 23:38:13 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Sep 15 15:38:29 2004 Subject: V4RB, Jon, project /// More explanation. In-Reply-To: Message-ID: On 9/15/04 9:19 PM, "jda" wrote: >> Vstring(50) -- this is 50 chars >>> VarChar(50) -- this is 50 chars >> Text -- unlimited > >> in this case Valentina allocate on disk bytes > >> Vstring(50) -- 50 * 2 = 100 bytes on disk >> VarChar(50) -- 4KB+ pages. > > I must say I don't like this at all. I, too, prefer to think in bytes. > > It seems for UTF-16 the 50 means characters, but for UTF-8 it means bytes. > > It should be the same for all encodings -- having it differ between > encodings is *very* confusing and will certainly lead to many > misunderstandings. THIS IS WHY we have start this talk: we also have to see this possible confusing. > I suggest that 50 always means bytes, and if you want to store 50 > UTF-16 characters that you declare a VString of [100]/ :-) I also have think about this. On the other hand > It seems for UTF-16 the 50 means characters, but for UTF-8 it means bytes. All other single byte encoding except UTF8 means chars also. So jon, everyting is visa versa: 1 UTF16 chars 2 Latin chars 3 Western chars 4 Russian chars 170 ...... chars UTF8 bytes EXCEPTION. Chars are better choice :-) -- 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 Sep 16 00:21:26 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Sep 15 16:21:44 2004 Subject: V4RB, Jon, project /// More explanation. In-Reply-To: <8F11A642-0745-11D9-B86B-000393DC4766@vermontsoftworks.com> Message-ID: On 9/15/04 9:32 PM, "Erik Mueller-Harder" wrote: > On Sep 15, 2004, at 14:19, jda wrote: > >> It seems for UTF-16 the 50 means characters, but for UTF-8 it means >> bytes. >> >> It should be the same for all encodings -- having it differ between >> encodings is *very* confusing and will certainly lead to many >> misunderstandings. >> >> I suggest that 50 always means bytes, and if you want to store 50 >> UTF-16 characters that you declare a VString of [100] > > Agreed; that would be much more consistent. I still do not think so. -- 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 jda at his.com Wed Sep 15 17:30:58 2004 From: jda at his.com (jda) Date: Wed Sep 15 16:31:19 2004 Subject: V4RB, Jon, project /// More explanation. In-Reply-To: References: Message-ID: > > >> I suggest that 50 always means bytes, and if you want to store 50 >>> UTF-16 characters that you declare a VString of [100] >> >> Agreed; that would be much more consistent. > >I still do not think so. > You make the final decision, of course. But as you said, we are *all* developers on this list and would prefer to deal with bytes, not characters. I assure you that if you mix the meaning of the number parameter as a function of the type of encoding there will be lots of problems (both with existing users and new users). And what happens to existing data space if you change the encoding? Why create this headache? Jon From sunshine at public.kherson.ua Thu Sep 16 00:36:53 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Sep 15 16:37:10 2004 Subject: V4RB, Jon, project /// More explanation. In-Reply-To: Message-ID: On 9/16/04 12:30 AM, "jda" wrote: >> >>>> I suggest that 50 always means bytes, and if you want to store 50 >>>> UTF-16 characters that you declare a VString of [100] >>> >>> Agreed; that would be much more consistent. >> >> I still do not think so. >> > > You make the final decision, of course. But as you said, we are *all* > developers on this list and would prefer to deal with bytes, not > characters. I assure you that if you mix the meaning of the number > parameter as a function of the type of encoding there will be lots of > problems (both with existing users and new users). And what happens > to existing data space if you change the encoding? Why create this > headache? Okay, we will think one more about this. Just also exists SQL standard Also Ivan says that other DBMS "think" in chars. -- 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 Sep 16 01:33:55 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Sep 15 17:34:20 2004 Subject: V4RB 2.0 b16 uploaded Message-ID: Hi guys, New build is read. * fixed many bugs when db is in UTF8 disk format. Now I can many times run Jon's project add and navigate records. I have add Russian text into your fields, and it works correct! this is where is power of UTF8 :-) you can mix in the same field different languages. * I still see that in utf8 format not work methods. * it seems no work searches in your main Window, Jon. Jon, please try to run this build in UTF16 format also! Let me know results. -- 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 IvanSmahin at public.kherson.ua Thu Sep 16 02:06:22 2004 From: IvanSmahin at public.kherson.ua (Ivan Smahin) Date: Wed Sep 15 18:06:39 2004 Subject: V4RB, Jon, project /// More explanation. In-Reply-To: References: Message-ID: <177541289.20040916020622@public.kherson.ua> Hello Ruslan, Thursday, September 16, 2004, 12:36:53 AM, you wrote: RZ> On 9/16/04 12:30 AM, "jda" wrote: >>> >>>>> I suggest that 50 always means bytes, and if you want to store 50 >>>>> UTF-16 characters that you declare a VString of [100] >>>> >>>> Agreed; that would be much more consistent. >>> >>> I still do not think so. >>> >> >> You make the final decision, of course. But as you said, we are *all* >> developers on this list and would prefer to deal with bytes, not >> characters. I assure you that if you mix the meaning of the number >> parameter as a function of the type of encoding there will be lots of >> problems (both with existing users and new users). And what happens >> to existing data space if you change the encoding? Why create this >> headache? RZ> Okay, we will think one more about this. RZ> Just also exists SQL standard RZ> Also Ivan says that other DBMS "think" in chars. Frankly saying other DBMS prefer to mix such terms as characters and bytes. It seems - just for better understanding. :) On the one hand it's no difference for one-byte code-pages. So, here is ( char(10) ) no problem to say 10 bytes or 10 characters. On the other hand we need to differ bytes and characters case multi-byte codepages. For instance: It is from MS-SQL manual: char: Fixed-length non-Unicode character data with a maximum length of 8,000 characters. Fixed-length non-Unicode character data with length of n bytes. n must be a value from 1 through 8,000. Storage size is n bytes. nchar(n): Fixed-length Unicode data with a maximum length of 4,000 characters. Fixed-length Unicode character data of n characters. n must be a value from 1 through 4,000. Storage size is two times n bytes. Oracle is much more correct as usual: CHAR(size) Fixed-length character data of length size bytes. Maximum size is 2000 bytes. Default and minimum size is 1 byte. NCHAR(size) Fixed-length character data of length size characters or bytes, depending on the choice of national character set. Maximum size is determined by the number of bytes required to store each character, with an upper limit of 2000 bytes. Default and minimum size is 1 character or 1 byte, depending on the character set. -- Best regards, Ivan mailto:IvanSmahin@public.kherson.ua From jda at his.com Wed Sep 15 19:13:17 2004 From: jda at his.com (jda) Date: Wed Sep 15 18:13:33 2004 Subject: V4RB 2.0 b16 uploaded In-Reply-To: References: Message-ID: > > >* I still see that in utf8 format not work methods. > >* it seems no work searches in your main Window, Jon. The good news is that I can create databases in utf-8 or -16, open, close, save data, and retrieve fields for display. Searching doesn't work so well (see below). > > >Jon, please try to run this build in UTF16 format also! >Let me know results. > > UTF-16 database. Note that allFields IS a method: This search fails: select id,hit from thereferences where ((left(allFields, 1) = 'TEST')) order by id This search works: select id,hit from thereferences where (allFields REGEX 'TEST') order by id But this search fails (after I change test to t?st) select id,hit from thereferences where (allFields REGEX 'T?ST') order by id ------------- UTF-8 database: Finds fail. Now even this search fails: select id,hit from thereferences where (allFields REGEX 'TEST') order by id ----------------- On a more minor note, new db icons are not set (this seems to come and go with each beta -- right now it's gone). Jon From sunshine at public.kherson.ua Thu Sep 16 02:18:03 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Sep 15 18:18:20 2004 Subject: V4RB, Jon, project /// More explanation. In-Reply-To: <177541289.20040916020622@public.kherson.ua> Message-ID: On 9/16/04 2:06 AM, "Ivan Smahin" wrote: >>> You make the final decision, of course. But as you said, we are *all* >>> developers on this list and would prefer to deal with bytes, not >>> characters. I assure you that if you mix the meaning of the number >>> parameter as a function of the type of encoding there will be lots of >>> problems (both with existing users and new users). And what happens >>> to existing data space if you change the encoding? Why create this >>> headache? > > RZ> Okay, we will think one more about this. > > RZ> Just also exists SQL standard > > RZ> Also Ivan says that other DBMS "think" in chars. > > Frankly saying other DBMS prefer to mix such terms as > characters and bytes. It seems - just for better understanding. :) > > On the one hand it's no difference for one-byte code-pages. > So, here is ( char(10) ) no problem to say 10 bytes or 10 characters. > > On the other hand we need to differ bytes and characters case > multi-byte codepages. > > For instance: > > It is from MS-SQL manual: > > char: > Fixed-length non-Unicode character data with a maximum length of 8,000 > characters. > > Fixed-length non-Unicode character data with length of n bytes. > n must be a value from 1 through 8,000. Storage size is n bytes. > > > nchar(n): > Fixed-length Unicode data with a maximum length of 4,000 characters. > > Fixed-length Unicode character data of n characters. > n must be a value from 1 through 4,000. Storage size is two times n > bytes. > > > Oracle is much more correct as usual: > > CHAR(size) > Fixed-length character data of length size bytes. > Maximum size is 2000 bytes. Default and minimum size is 1 byte. > > NCHAR(size) > Fixed-length character data of length size characters or bytes, > depending on the choice of national character set. > Maximum size is determined by the number of bytes required to store each > character, > with an upper limit of 2000 bytes. > Default and minimum size is 1 character or 1 byte, depending on the > character set. Actually Oracle looks to choose the "confusing" way, as Jon says. They mix bytes and chars "depending on the character set". Hey, guys, MS and Oracle have limits for String field in 4K and 2K, Valentina gives you 64KB! :-) -- 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 jda at his.com Wed Sep 15 19:19:44 2004 From: jda at his.com (jda) Date: Wed Sep 15 18:19:57 2004 Subject: V4RB, Jon, project /// More explanation. In-Reply-To: References: Message-ID: >Actually Oracle looks to choose the "confusing" way, as Jon says. >They mix bytes and chars "depending on the character set". > Ruslan, I don't consider this a "feature". :-> Jon From sunshine at public.kherson.ua Thu Sep 16 02:23:06 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Sep 15 18:23:28 2004 Subject: so we choose bytes ? In-Reply-To: Message-ID: On 9/16/04 2:19 AM, "jda" wrote: >> Actually Oracle looks to choose the "confusing" way, as Jon says. >> They mix bytes and chars "depending on the character set". >> > > Ruslan, I don't consider this a "feature". :-> So, guys. What we choose? bytes in all cases ? including UTF16 ? -- 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 jda at his.com Wed Sep 15 19:23:20 2004 From: jda at his.com (jda) Date: Wed Sep 15 18:23:38 2004 Subject: Case and sorting/searching Message-ID: Ruslan, In my 1.x app I use methods to allow lowercase searches and sorts. The basic field is declared like this: authors = CreateTextField("authors", 128, "English") For searches I need indexed by word, so use this method: authorsMethod = CreateTextField("authorsMethod", 128, "English", Valentina.fIndexByWords, "Upper(authors)") And for sorts I need to sort by first characters, so use authorsSortMethod = CreateTextField("authorsSortMethod", 128, "English", Valentina.fIndexed, "Upper(authors)") Can I get rid of these methods (or at least one of them) in 2.x? If so, how should I create the authors field? Jon From sunshine at public.kherson.ua Thu Sep 16 02:24:27 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Sep 15 18:24:42 2004 Subject: V4RB 2.0 b16 uploaded In-Reply-To: Message-ID: On 9/16/04 2:13 AM, "jda" wrote: > On a more minor note, new db icons are not set > (this seems to come and go with each beta -- > right now it's gone). May be this is issue of restart ? -- 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 Sep 16 02:25:11 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Sep 15 18:25:28 2004 Subject: V4RB 2.0 b16 uploaded In-Reply-To: Message-ID: On 9/16/04 2:13 AM, "jda" wrote: >> Jon, please try to run this build in UTF16 format also! >> Let me know results. >> >> > > UTF-16 database. Note that allFields IS a method: > > This search fails: > > select id,hit from thereferences where > ((left(allFields, 1) = 'TEST')) order by id > > > > This search works: > > select id,hit from thereferences where (allFields REGEX 'TEST') order by id > > > But this search fails (after I change test to t?st) > > select id,hit from thereferences where (allFields REGEX 'T?ST') order by id > > ------------- > > UTF-8 database: > > Finds fail. Now even this search fails: > > select id,hit from thereferences where (allFields REGEX 'TEST') order by id I wonder, so when I do cmd+F and search something, You always search with REGEX ? -- 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 jda at his.com Wed Sep 15 19:27:23 2004 From: jda at his.com (jda) Date: Wed Sep 15 18:27:36 2004 Subject: V4RB 2.0 b16 uploaded In-Reply-To: References: Message-ID: >On 9/16/04 2:13 AM, "jda" wrote: > >> On a more minor note, new db icons are not set >> (this seems to come and go with each beta -- >> right now it's gone). > >May be this is issue of restart ? > No, that does nothing. Jon From jda at his.com Wed Sep 15 19:30:01 2004 From: jda at his.com (jda) Date: Wed Sep 15 18:30:15 2004 Subject: V4RB 2.0 b16 uploaded In-Reply-To: References: Message-ID: > > > >I wonder, so when I do cmd+F and search something, > >You always search with REGEX ? > No. There are three kinds of searches: search for word beginning with: left(fieldname, 1)= search for whole word: authorsMethod= //authorsMethod is indexed by word and uppercases everything search for characters: this is a REGEX search. Jon From sunshine at public.kherson.ua Thu Sep 16 02:30:32 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Sep 15 18:30:51 2004 Subject: Case and sorting/searching In-Reply-To: Message-ID: On 9/16/04 2:23 AM, "jda" wrote: I did not check this yet. > Ruslan, > > > In my 1.x app I use methods to allow lowercase searches and sorts. > > The basic field is declared like this: > > authors = CreateTextField("authors", 128, "English") > > For searches I need indexed by word, so use this method: > > authorsMethod = CreateTextField("authorsMethod", 128, "English", > Valentina.fIndexByWords, "Upper(authors)") > > > And for sorts I need to sort by first characters, so use > > authorsSortMethod = CreateTextField("authorsSortMethod", 128, > "English", Valentina.fIndexed, "Upper(authors)") Btw interesting! How many first characters you want to sort? E.g. If only 20, then you can and should extract only them. This will be more effective. > Can I get rid of these methods (or at least one of them) in 2.x? If > so, how should I create the authors field? AuthorsMethod yes. Wait. I need check this self yet Simply you will tell to authors field that it must have Case insensitive 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 jda at his.com Wed Sep 15 19:41:26 2004 From: jda at his.com (jda) Date: Wed Sep 15 18:41:42 2004 Subject: Case and sorting/searching In-Reply-To: References: Message-ID: > > > authorsMethod = CreateTextField("authorsMethod", 128, "English", > > Valentina.fIndexByWords, "Upper(authors)") >> > >Btw interesting! > >How many first characters you want to sort? > >E.g. If only 20, then you can and should extract only them. >This will be more effective. Well, I want to sort by all, if necessary, without an arbitrary limit. Since it's a method and not stored on disk, all I have to worry about is speed. And it is *sssooooooooooooooooooooo* fast the way it is... > > >> Can I get rid of these methods (or at least one of them) in 2.x? If >> so, how should I create the authors field? > >AuthorsMethod yes. > >Wait. I need check this self yet > >Simply you will tell to authors field that it must have >Case insensitive index. > You mean like this: authors = CreateTextField("authors", 128, "English", Valentina.fIndexByWords + Valentina.fIndexCaseInsensetive)? Jon P.S. Misspelling in Valentina: should be fIndexCaseInsensitive From valentina-list at vermontsoftworks.com Wed Sep 15 22:14:19 2004 From: valentina-list at vermontsoftworks.com (Erik Mueller-Harder) Date: Wed Sep 15 21:14:40 2004 Subject: so we choose bytes ? In-Reply-To: References: Message-ID: <1E39A4DE-0786-11D9-B86B-000393DC4766@vermontsoftworks.com> On Sep 15, 2004, at 19:23, Ruslan Zasukhin wrote: > So, guys. > > What we choose? > > bytes in all cases ? > including UTF16 ? As a developer, I look for consistency: consistent data are good data; consistent code is good code; consistent definitions are good definitions. Now perhaps it's important that you maintain a consistent usage with other DBMSs; that's not personally important to me -- as long as a tool is internally consistent, I'm happy -- but you'll need to weigh that yourselves. But if we can refer to "bytes" in all storage encodings and thereby be clear and accurate and consistent throughout Valentina, isn't that truly the best answer in the end? As Jon said, Valentina users are *all* developers. Most -- maybe all -- of us on this list are already quite clear on the difference between "character" and "byte." If everything is consistently referring to "bytes," then a simple sentence or two in the documentation explaining the difference between the two terms and a small table outlining the "real world" results to expect with different data types and storage encodings should suffice for newbies. Oh, and Ruslan, you said, "As for me, I prefer to control each byte. I am Developer." I know I'm now taking your remark out of context, but it sure sounds like you really want to work with bytes here -- not characters. ;-) -- Erik From sunshine at public.kherson.ua Thu Sep 16 07:53:30 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Sep 15 23:53:50 2004 Subject: V4RB 2.0 b16 uploaded In-Reply-To: Message-ID: On 9/16/04 2:30 AM, "jda" wrote: >> I wonder, so when I do cmd+F and search something, >> >> You always search with REGEX ? >> > > No. There are three kinds of searches: > > search for word beginning with: left(fieldname, 1)= > > search for whole word: authorsMethod= //authorsMethod is indexed by > word and uppercases everything > > search for characters: this is a REGEX search. You mean CONTAINS ? -- 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 Sep 16 07:55:44 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Sep 15 23:56:01 2004 Subject: Case and sorting/searching In-Reply-To: Message-ID: On 9/16/04 2:41 AM, "jda" wrote: >>> Can I get rid of these methods (or at least one of them) in 2.x? If >>> so, how should I create the authors field? >> >> AuthorsMethod yes. >> >> Wait. I need check this self yet >> >> Simply you will tell to authors field that it must have >> Case insensitive index. >> > > > You mean like this: > > authors = CreateTextField("authors", 128, "English", > Valentina.fIndexByWords + Valentina.fIndexCaseInsensetive)? yes > Jon > > P.S. Misspelling in Valentina: should be fIndexCaseInsensitive ok -- 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 Sep 16 08:02:57 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Thu Sep 16 00:03:19 2004 Subject: so we choose bytes ? In-Reply-To: <1E39A4DE-0786-11D9-B86B-000393DC4766@vermontsoftworks.com> Message-ID: On 9/16/04 5:14 AM, "Erik Mueller-Harder" wrote: >> So, guys. >> >> What we choose? >> >> bytes in all cases ? >> including UTF16 ? > > As a developer, I look for consistency: consistent data are good data; > consistent code is good code; consistent definitions are good > definitions. > > Now perhaps it's important that you maintain a consistent usage with > other DBMSs; that's not personally important to me -- as long as a tool > is internally consistent, I'm happy -- but you'll need to weigh that > yourselves. That is right. Assume mySQL/Access/FileMaker/... Developer Take Valentina in hands. He used to think in chars. May be they have some code that works in chars. Porting this code they should not catch in trap. Also Valentina Studio automation tools also should be able correctly convert. > But if we can refer to "bytes" in all storage encodings and thereby be > clear and accurate and consistent throughout Valentina, isn't that > truly the best answer in the end? > > As Jon said, Valentina users are *all* developers. > Most -- maybe all -- of us on this list are already quite clear on the > difference between "character" and "byte." If everything is consistently > referring to "bytes," then a simple sentence or two in the documentation > explaining the difference between the two terms and a small table outlining > the "real world" results to expect with different data types and storage > encodings should suffice for newbies. > > Oh, and Ruslan, you said, "As for me, I prefer to control each byte. I > am Developer." I know I'm now taking your remark out of context, but > it sure sounds like you really want to work with bytes here -- not > characters. ;-) Okay guys. You almost have convenient -- 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 Thu Sep 16 09:32:33 2004 From: ernestogiannotta at tiscalinet.it (erne) Date: Thu Sep 16 02:32:55 2004 Subject: so we choose bytes ? In-Reply-To: <1E39A4DE-0786-11D9-B86B-000393DC4766@vermontsoftworks.com> Message-ID: on 16-09-2004 4:14, Erik Mueller-Harder at valentina-list@vermontsoftworks.com wrote: >> What we choose? >> >> bytes in all cases ? >> including UTF16 ? > > As a developer, I look for consistency: consistent data are good data; > consistent code is good code; consistent definitions are good > definitions. > > Now perhaps it's important that you maintain a consistent usage with > other DBMSs; that's not personally important to me -- as long as a tool > is internally consistent, I'm happy -- but you'll need to weigh that > yourselves. > > But if we can refer to "bytes" in all storage encodings and thereby be > clear and accurate and consistent throughout Valentina, isn't that > truly the best answer in the end? > Ditto :!) Cool Runnings, Erne. -- | e r | Ernesto Giannotta | n e | Musical Box - a media store From rjb at robelko.com Thu Sep 16 11:59:13 2004 From: rjb at robelko.com (Robert Brenstein) Date: Thu Sep 16 05:01:14 2004 Subject: bytes or chars ? In-Reply-To: References: Message-ID: >on 16-09-2004 4:14, Erik Mueller-Harder at >valentina-list@vermontsoftworks.com wrote: > >>> What we choose? >>> >>> bytes in all cases ? >>> including UTF16 ? >> >> As a developer, I look for consistency: consistent data are good data; >> consistent code is good code; consistent definitions are good >> definitions. >> >> Now perhaps it's important that you maintain a consistent usage with >> other DBMSs; that's not personally important to me -- as long as a tool >> is internally consistent, I'm happy -- but you'll need to weigh that >> yourselves. >> >> But if we can refer to "bytes" in all storage encodings and thereby be >> clear and accurate and consistent throughout Valentina, isn't that >> truly the best answer in the end? >> > >Ditto :!) > > >Cool Runnings, >Erne. I seem to have missed a lively discussion last night. I tried to follow it but the posts came in a sort of random order, so I can't figure out how it went. Thus, sorry if I am resurrecting sth that was settled. Being consistent with other DBMSs is not relevant IMHO. There is no 1:1 conversion between databases and each database has enough pecularities that programmers need to keep them apart anyway. The bottom line seems to be a choice whether length specification for string and varchar fields should be in chars or bytes. Personally, I think it should be CHARS -- their count for a given text string stays fixed regardless of encoding used whereas the number of bytes changes depending on the encoding. Kernel handles all as UTF-16, so it is always the number of chars x 2 and kernel can handle this easily self. I understand that UTF-8 is an issue because some chars use 1 but other 2 bytes which can offer disk space saving for some language. However, I still think that the field limits should be set in chars. If I deal with text, I can set/predict the size of text (char count) but I can't as easily predict the count of bytes. Why? In English is easy, almost always 1:1. In Russian or Japanese, not as easy but practically 2:1. But in German or Polish, for example, it will depend how many special characters are in the specific text. So, if field size is in bytes, the burden of figuring the max bytes is squarely on us. If field size is in chars, the burden is on kernel and kernel has it as hard or may be even harder than us. So may be we should seek a different approach. May be string fields specified as UTF-8 should be really stored as VarChar with size 2x the char count? This would hide the storage differences from us. Or may be string should not allow UTF-8 encoding and thus eliminate the problem all together. Robert Brenstein From valentina-list at vermontsoftworks.com Thu Sep 16 07:20:55 2004 From: valentina-list at vermontsoftworks.com (Erik Mueller-Harder) Date: Thu Sep 16 06:21:18 2004 Subject: bytes or chars ? In-Reply-To: References: Message-ID: <79ED9077-07D2-11D9-9051-000393DC4766@vermontsoftworks.com> On Sep 16, 2004, at 05:59, Robert Brenstein wrote: > Personally, I think it should be CHARS -- their count for a given text > string stays fixed regardless of encoding used whereas the number of > bytes changes depending on the encoding. Kernel handles all as UTF-16, > so it is always the number of chars x 2 and kernel can handle this > easily self. Well, the kernel is utterly transparent to us and is therefore, I think, irrelevant to the discussion. > I understand that UTF-8 is an issue because some chars use 1 but other > 2 bytes which can offer disk space saving for some language. However, > I still think that the field limits should be set in chars. But setting the maximum length of a UTF-8 encoded field in characters simply won't work, for the very reason that you give: some characters use 1 and others use 2 bytes. It's already pretty much a given that UTF-8 fields need to be described in bytes -- I think the open question is whether fields stored in other encodings are described in bytes or in characters. I believe Ruslan has said that we will at some point in the future be able to modify a field's storage encoding after it's been created. It seems to me that this is a compelling argument for sticking with bytes all the time; otherwise, what would happen in the following case, with characters used for UTF16 and bytes for UTF8: myString = VString(50, "UTF16") // 50 characters = 100 bytes in UTF16 and some weeks later this is changed/added in code: myString.StorageEncoding = "UTF8" The inconsistency of using bytes in one instance and characters in another leads us into further uncertainty. Obviously, Valentina would need to interpret the "50" as either continuing to refer to characters (but that wouldn't make sense, since character size is unknown in UTF-8) or as now referring to bytes (but that wouldn't make sense, since it would then have to change the field from taking up 100 bytes to taking up 50 -- and developers would be upset that Valentina was doing "sneaky" things behind their backs).... And then we'd face the same difficulty in situations where UTF-8 fields were changed to UTF-16. All of this is avoided if we consistently discuss bytes. As developers, if we define a UTF-8 field as taking up 32 bytes (for a string) or a maximum of 32 bytes (for a VarChar), we know it's going to use 32 bytes, or a maximum of 32 bytes. It's true that we won't know precisely how many characters will fit in that field, but we're used to that kind of uncertainty ("Let's see now: how many characters should I make this new LastName field?"). Uncertainty I can cope with. Inconsistency is much more difficult. -- Erik From sunshine at public.kherson.ua Thu Sep 16 14:52:44 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Thu Sep 16 06:59:18 2004 Subject: bytes or chars ? In-Reply-To: <79ED9077-07D2-11D9-9051-000393DC4766@vermontsoftworks.com> Message-ID: On 9/16/04 2:20 PM, "Erik Mueller-Harder" wrote: > I believe Ruslan has said that we will at some point in the future be > able to modify a field's storage encoding after it's been created. It > seems to me that this is a compelling argument for sticking with bytes > all the time; otherwise, what would happen in the following case, with > characters used for UTF16 and bytes for UTF8: > > myString = VString(50, "UTF16") // 50 characters = 100 bytes in UTF16 > > and some weeks later this is changed/added in code: > > myString.StorageEncoding = "UTF8" Good point, Erik! > The inconsistency of using bytes in one instance and characters in > another leads us into further uncertainty. Obviously, Valentina would > need to interpret the "50" as either continuing to refer to characters > (but that wouldn't make sense, since character size is unknown in > UTF-8) or as now referring to bytes (but that wouldn't make sense, > since it would then have to change the field from taking up 100 bytes > to taking up 50 -- and developers would be upset that Valentina was > doing "sneaky" things behind their backs).... And then we'd face the > same difficulty in situations where UTF-8 fields were changed to > UTF-16. -- 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 robelko.com Thu Sep 16 14:16:51 2004 From: rjb at robelko.com (Robert Brenstein) Date: Thu Sep 16 07:20:54 2004 Subject: bytes or chars ? In-Reply-To: <79ED9077-07D2-11D9-9051-000393DC4766@vermontsoftworks.com> References: <79ED9077-07D2-11D9-9051-000393DC4766@vermontsoftworks.com> Message-ID: >>I understand that UTF-8 is an issue because some chars use 1 but >>other 2 bytes which can offer disk space saving for some language. >>However, I still think that the field limits should be set in chars. > >But setting the maximum length of a UTF-8 encoded field in >characters simply won't work, for the very reason that you give: >some characters use 1 and others use 2 bytes. It's already pretty >much a given that UTF-8 fields need to be described in bytes -- I >think the open question is whether fields stored in other encodings >are described in bytes or in characters. > >I believe Ruslan has said that we will at some point in the future >be able to modify a field's storage encoding after it's been >created. It seems to me that this is a compelling argument for >sticking with bytes all the time; otherwise, what would happen in >the following case, with characters used for UTF16 and bytes for >UTF8: > > myString = VString(50, "UTF16") // 50 characters = 100 bytes in UTF16 > >and some weeks later this is changed/added in code: > > myString.StorageEncoding = "UTF8" > >The inconsistency of using bytes in one instance and characters in >another leads us into further uncertainty. Obviously, Valentina >would need to interpret the "50" as either continuing to refer to >characters (but that wouldn't make sense, since character size is >unknown in UTF-8) or as now referring to bytes (but that wouldn't >make sense, since it would then have to change the field from taking >up 100 bytes to taking up 50 -- and developers would be upset that >Valentina was doing "sneaky" things behind their backs).... And >then we'd face the same difficulty in situations where UTF-8 fields >were changed to UTF-16. > >All of this is avoided if we consistently discuss bytes. As >developers, if we define a UTF-8 field as taking up 32 bytes (for a >string) or a maximum of 32 bytes (for a VarChar), we know it's going >to use 32 bytes, or a maximum of 32 bytes. It's true that we won't >know precisely how many characters will fit in that field, but we're >used to that kind of uncertainty ("Let's see now: how many >characters should I make this new LastName field?"). Uncertainty I >can cope with. Inconsistency is much more difficult. > >-- Erik But, Erik, I see your argument and the example you give to actually support the case of using characters not bytes. I do agree that consistency is essential. The way I see your argument: myString = VString(100, "UTF16") // 100 bytes (50 chars) in UTF16 If I change this to UTF-8: myString = VString(100, "UTF8") // 100 bytes (50-100 chars) in UTF8 but I probably should have myString = VString(70, "UTF8") // 70 bytes (35-70 chars) in UTF8 to take into account that not all my chars need two bytes. But may it should be myString = VString(80, "UTF8") // 80 bytes (40-80 chars) in UTF8 Wherease if the size is in chars myString = VString(50, "UTF16") // 50 chars (100 bytes) in UTF16 myString = VString(50, "UTF8") // 50 chars (50-100 bytes) in UTF8 Let's consider also some practical aspects of your other example, the uncertainty of size of lastname field. Lastname is the info that is commonly entered by users of my program in a dialog or through a web form. If the field sizes are in bytes, then I need to calculate the number of bytes (not chars) that user entered to ensure that it is not truncated. And how do I tell them that they can't enter more than 50 bytes when entering their name? Users don't think in bytes but characters. Well, a name field will likely be set to be large enough but other input fields may have real restrictions. For example, my biggest application of Valentina is a content management system which has quite a few free-entry fields wit upper limits on text. I will probably resolve to using UTF16 to keep my life simple but if I wanted to use UTF8 to save disk space, my having to deal with bytes whereas my users thinking in characters would be a royal pain. Robert From jda at his.com Thu Sep 16 09:03:18 2004 From: jda at his.com (jda) Date: Thu Sep 16 08:03:41 2004 Subject: V4RB 2.0 b16 uploaded In-Reply-To: References: Message-ID: > > >You mean CONTAINS ? > No, it used to use the LIKE operator, now it uses REGEX... Jon From valentina-list at vermontsoftworks.com Thu Sep 16 09:09:02 2004 From: valentina-list at vermontsoftworks.com (Erik Mueller-Harder) Date: Thu Sep 16 08:09:23 2004 Subject: bytes or chars ? In-Reply-To: References: <79ED9077-07D2-11D9-9051-000393DC4766@vermontsoftworks.com> Message-ID: <948578B6-07E1-11D9-9051-000393DC4766@vermontsoftworks.com> On Sep 16, 2004, at 08:16, Robert Brenstein wrote: > Lastname is the info that is commonly entered by users of my program > in a dialog or through a web form. If the field sizes are in bytes, > then I need to calculate the number of bytes (not chars) that user > entered to ensure that it is not truncated. And how do I tell them > that they can't enter more than 50 bytes when entering their name? > Users don't think in bytes but characters. > > Well, a name field will likely be set to be large enough but other > input fields may have real restrictions. For example, my biggest > application of Valentina is a content management system which has > quite a few free-entry fields wit upper limits on text. I think we need to be clear here; it seems to me we're discussing two separate issues. I agree with you, in fact, that it would be great to always define field lengths in terms of characters -- what could be clearer? But as I understand it we *can't* do that: there *is* no way to specify an upper limit of *characters* for a UTF-8 field, and I don't see how there could be. If you use UTF-8, you (well, *we*, really, as developers) are going to have to address those issues, as the parameters for UTF-8 are going to have to be in bytes, and the users (if they're aware of such things at all) are going to be thinking in characters. That's just the way things work with UTF-8; the issues, if I understand correctly, are moot with UTF-16 and with single-byte encodings, and we can avoid the uncertainty of UTF-8 by using some other encoding. If, though, we can live with the uncertainty; if we're targeting languages such as German and Polish or simply want to be open-minded in terms of the characters we support; and if disk space is an issue, UTF-8 is a good compromise. But what *I'm* arguing for is this: since it's not possible to describe the maximum length of UTF-8 fields in terms of characters -- since we must describe them in bytes -- why not do the same for other encodings? Then we're consistent and clear. This has been a most enlightening discussion, by the way. I am always impressed by the professionalism and civility on the Valentina lists, despite (or maybe because of?) the diversity of platforms, development tools, previous experiences, languages, cultural backgrounds, etc. -- Erik From jda at his.com Thu Sep 16 09:14:17 2004 From: jda at his.com (jda) Date: Thu Sep 16 08:14:36 2004 Subject: bytes or chars ? In-Reply-To: References: <79ED9077-07D2-11D9-9051-000393DC4766@vermontsoftworks.com> Message-ID: > >But, Erik, I see your argument and the example you give to actually >support the case of using characters not bytes. I do agree that >consistency is essential. > >The way I see your argument: > >myString = VString(100, "UTF16") // 100 bytes (50 chars) in UTF16 > >If I change this to UTF-8: > >myString = VString(100, "UTF8") // 100 bytes (50-100 chars) in UTF8 > >but I probably should have > >myString = VString(70, "UTF8") // 70 bytes (35-70 chars) in UTF8 Not true, Robert. UTF-8 characters can also be 3 or 4 bytes in length (I recall someone posting that in rare cases 5 bytes are required in certain rare cases). In any case, Erik is talking about changing the encoding after the string was first created as UTF16. There is no chance for the developer to change the string buffer at this point. > >to take into account that not all my chars need two bytes. But may >it should be > >myString = VString(80, "UTF8") // 80 bytes (40-80 chars) in UTF8 > >Wherease if the size is in chars > >myString = VString(50, "UTF16") // 50 chars (100 bytes) in UTF16 >myString = VString(50, "UTF8") // 50 chars (50-100 bytes) in UTF8 > >Let's consider also some practical aspects of your other example, >the uncertainty of size of lastname field. > >Lastname is the info that is commonly entered by users of my program >in a dialog or through a web form. If the field sizes are in bytes, >then I need to calculate the number of bytes (not chars) that user >entered to ensure that it is not truncated. And how do I tell them >that they can't enter more than 50 bytes when entering their name? >Users don't think in bytes but characters. That's an issue for you front-end (e.g. RB) to deal with, not the database engine. Look, this is really simple. You, the developer, decide on an encoding. You know the character:byte ratio for that encoding, 1:1 (Roman), 1:2 (UTF-16), and 1:1-5 (Utf-8). You then decide how many bytes to allocate. BTW, just to make things a bit more confusing, UTF-16 is no longer necessarily limited to 2 bytes. Again, in rare cases, more characters are allowed. I don't know if the IBM ICU library supports these languages. Last word: what we are arguing for is *internal consistency* in Valentina. Having the string parameter meaning different things depending on the encoding is begging for trouble. Jon From martin.kloss at gmx.de Thu Sep 16 15:20:36 2004 From: martin.kloss at gmx.de (Martin Kloss) Date: Thu Sep 16 08:21:17 2004 Subject: bytes or chars ? In-Reply-To: <948578B6-07E1-11D9-9051-000393DC4766@vermontsoftworks.com> References: <79ED9077-07D2-11D9-9051-000393DC4766@vermontsoftworks.com> <948578B6-07E1-11D9-9051-000393DC4766@vermontsoftworks.com> Message-ID: <6.1.2.0.2.20040916151440.01c3dcb0@pop.gmx.de> At 15:09 16.09.2004, you wrote: >I think we need to be clear here; it seems to me we're discussing two >separate issues. yes, that's what I think. I strongly support Erik's idea to always use "bytes", as to have it all consistent, no matter which encoding is being used. And you don't have to worry about anything when changing the encoding from utf-16 to 8 or vice versa at a later stage. I think there's only going to be a little overhead in "thinking time" for us developers, when creating utf-8 fields, as we have to consider the language and possible usage of 2-byte characters. But the end-user of our applications will think in "characters" anyway, so we just have to figure out what approximate number of characters we will let them type into a certain field. But that's something I can live with, as Eric said, consistency is most important here. >This has been a most enlightening discussion, by the way. I am always >impressed by the professionalism and civility on the Valentina lists, >despite (or maybe because of?) the diversity of platforms, development >tools, previous experiences, languages, cultural backgrounds, etc. very true :-) Martin. Martin Kloss Skype me 24/7: callto://martinkloss Like the author? Buy the book: http://www.amazon.de/exec/obidos/ASIN/3934358322/lingmmugd Need music? http://www.selling-sound.com Get your daily dose of Lingo: http://www.lingopark.de From giv at tlc.kherson.ua Thu Sep 16 16:30:07 2004 From: giv at tlc.kherson.ua (Igor Gomon) Date: Thu Sep 16 08:31:01 2004 Subject: bytes or chars ? References: <79ED9077-07D2-11D9-9051-000393DC4766@vermontsoftworks.com> Message-ID: <013401c49bf1$481f4910$3b04a8c0@giv> > Not true, Robert. UTF-8 characters can also be 3 or 4 bytes in length > (I recall someone posting that in rare cases 5 bytes are required in > certain rare cases). AFAIK (from the ICU User's Guide) the maximum possible len of a character in UTF-8 is 4 bytes. Can you give an example when 5 bytes are needed? -- 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 sunshine at public.kherson.ua Thu Sep 16 16:36:23 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Thu Sep 16 08:36:44 2004 Subject: bytes or chars ? In-Reply-To: <6.1.2.0.2.20040916151440.01c3dcb0@pop.gmx.de> Message-ID: On 9/16/04 4:20 PM, "Martin Kloss" wrote: > I think there's only going to be a little overhead in "thinking time" for us > developers, when creating utf-8 fields, as we have to consider the language > and possible usage of 2-byte characters. But the end-user of our applications > will think in "characters" anyway, so we just have to figure out what > approximate number of characters we will let them type into a certain field. > But that's something I can live with, as Eric said, consistency is most > important here. Guys, and let me once again underline idea of Erik. If you want to use UTF8, okay, no problems. Just avoid to use it for Vstring. Use UTF8 with VarChar(2000) or Vtext and be happy. This is the main point! VarChar(2000) -- this is great TOP LIMIT. this will satisfy 90% of existed application. If not enough you can make VarChar (4000) or 64000 at last of end. -- 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 Sep 16 16:40:36 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Thu Sep 16 08:41:32 2004 Subject: Max bytes for UTF Message-ID: Hi All, UTF8 -- maximum 4 bytes for some special chars probably this can be music notes or cards. UTF16 -- usually 2 bytes. But keep in mind that exists USC-2 unicode, Which later was extended to USC-4 standard, where 4 bytes are used per char. As far as I understand USC-4 is NOT spread yet. Even IMB ICU use UTF16 as default average char size. So in theory yes, UTF16 also can take 4 bytes = 2 code items = 1 char. -- 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 jda at his.com Thu Sep 16 09:42:57 2004 From: jda at his.com (jda) Date: Thu Sep 16 08:43:18 2004 Subject: bytes or chars ? In-Reply-To: References: Message-ID: > > >VarChar(2000) -- this is great TOP LIMIT. > this will satisfy 90% of existed application. > >If not enough you can make VarChar (4000) or 64000 at last of end. > Just to be clear -- there is no penalty for using 2000, right? I mean, the storage and memory requirements for VarChar(64) and VarChar(2000) are the same? Jon From jda at his.com Thu Sep 16 09:44:39 2004 From: jda at his.com (jda) Date: Thu Sep 16 08:44:56 2004 Subject: bytes or chars ? In-Reply-To: <013401c49bf1$481f4910$3b04a8c0@giv> References: <79ED9077-07D2-11D9-9051-000393DC4766@vermontsoftworks.com> <013401c49bf1$481f4910$3b04a8c0@giv> Message-ID: >>Not true, Robert. UTF-8 characters can also be 3 or 4 bytes in >>length (I recall someone posting that in rare cases 5 bytes are >>required in certain rare cases). >AFAIK (from the ICU User's Guide) the maximum possible len of a >character in UTF-8 is 4 bytes. Can you give an example when 5 bytes >are needed? > >-- >Best regards, >Igor Gomon Hi Igor, Sorry, this was something I saw posted on the RB mailing list over a year ago, but didn't keep the reference. I think it was a recent addition to UTF-8 that dealt with more (unusual) languages being supported. Jon From rjb at robelko.com Thu Sep 16 15:45:06 2004 From: rjb at robelko.com (Robert Brenstein) Date: Thu Sep 16 08:46:13 2004 Subject: bytes or chars ? In-Reply-To: <948578B6-07E1-11D9-9051-000393DC4766@vermontsoftworks.com> References: <79ED9077-07D2-11D9-9051-000393DC4766@vermontsoftworks.com> <948578B6-07E1-11D9-9051-000393DC4766@vermontsoftworks.com> Message-ID: > >I think we need to be clear here; it seems to me we're discussing >two separate issues. I agree with you, in fact, that it would be >great to always define field lengths in terms of characters -- what >could be clearer? But as I understand it we *can't* do that: there >*is* no way to specify an upper limit of *characters* for a UTF-8 >field, and I don't see how there could be. If you use UTF-8, you >(well, *we*, really, as developers) are going to have to address >those issues, as the parameters for UTF-8 are going to have to be in >bytes, and the users (if they're aware of such things at all) are >going to be thinking in characters. > >That's just the way things work with UTF-8; the issues, if I >understand correctly, are moot with UTF-16 and with single-byte >encodings, and we can avoid the uncertainty of UTF-8 by using some >other encoding. > >If, though, we can live with the uncertainty; if we're targeting >languages such as German and Polish or simply want to be open-minded >in terms of the characters we support; and if disk space is an >issue, UTF-8 is a good compromise. > >But what *I'm* arguing for is this: since it's not possible to >describe the maximum length of UTF-8 fields in terms of characters >-- since we must describe them in bytes -- why not do the same for >other encodings? Then we're consistent and clear. > >This has been a most enlightening discussion, by the way. I am >always impressed by the professionalism and civility on the >Valentina lists, despite (or maybe because of?) the diversity of >platforms, development tools, previous experiences, languages, >cultural backgrounds, etc. > >-- Erik Okay, it seems that I missed the fact that the end discussion was whether to have a different specification for UTF8 and others. Here we are in agreement. Whatever the decision is, the field limits should use same unit regardless of type of field or encoding. It seems, according to another post in this renewed thread, that even for UTF16 the char-bytes issue is not clear and it is more messy for UTF8 than I thought (admitedly I haven't gotten into UTF business much yet but it is looming on me). My question was whether there is really no way to stay with characters. I understand that this would mean more work for Ruslan but it sounds that otherwise many of us will be redoing the same char-byte count recalculation over and over in our environments. If bytes must be for UTF8, then I resign to having bytes all over the place. BUT... then kernel must be able to tell me how many bytes as well as how many chars are actually in each field. I want also built-in functions that allow me to make char-byte count conversions for my GUI. We seem to agree that aside from storage, we will continue to deal with characters. Robert From sunshine at public.kherson.ua Thu Sep 16 17:00:06 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Thu Sep 16 09:01:52 2004 Subject: bytes or chars ? In-Reply-To: Message-ID: On 9/16/04 4:45 PM, "Robert Brenstein" wrote: > Okay, it seems that I missed the fact that the end discussion was > whether to have a different specification for UTF8 and others. Here > we are in agreement. Whatever the decision is, the field limits > should use same unit regardless of type of field or encoding. > > It seems, according to another post in this renewed thread, that even > for UTF16 the char-bytes issue is not clear and it is more messy for > UTF8 than I thought (admitedly I haven't gotten into UTF business > much yet but it is looming on me). > > My question was whether there is really no way to stay with > characters. I understand that this would mean more work for Ruslan Problem not in our work, Robert. This is not possible. > but it sounds that otherwise many of us will be redoing the same > char-byte count recalculation over and over in our environments. > If bytes must be for UTF8, then I resign to having bytes all over the > place. BUT... then kernel must be able to tell me how many bytes as > well as how many chars are actually in each field. I want also > built-in functions that allow me to make char-byte count conversions > for my GUI. We seem to agree that aside from storage, we will > continue to deal with characters. If we decide that property Vfield.MaxLenth must be in bytes, then it will return you bytes. Then I think better to use Vfield.MaxBytes -- this is on disk... Robert, in fact we should not have nothing special in kernel. In REALbasic we will return Strings. It self know its encoding, length in chars and so on. What about Revolution? It support unicode already? In any case we return to environment a string in the format which that environment understands. So you simply work with your native strings. -- 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 martin.kloss at gmx.de Thu Sep 16 16:25:13 2004 From: martin.kloss at gmx.de (Martin Kloss) Date: Thu Sep 16 09:25:45 2004 Subject: vStudio crashes Message-ID: <6.1.2.0.2.20040916162315.02919950@pop.gmx.de> Sorry, this is not the correct list, I guess, but I'm not subscribed to the other list anymore. Ruslan / Jochen, I just downloaded the new vStudio alpha release and it crashes immediately on WinXP prof. when I try to start it. I get the "this is an unregistered version..." screen and then kaboom.... Martin. Martin Kloss Skype me 24/7: callto://martinkloss Like the author? Buy the book: http://www.amazon.de/exec/obidos/ASIN/3934358322/lingmmugd Need music? http://www.selling-sound.com Get your daily dose of Lingo: http://www.lingopark.de From sunshine at public.kherson.ua Thu Sep 16 18:02:23 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Thu Sep 16 10:03:48 2004 Subject: vStudio crashes In-Reply-To: <6.1.2.0.2.20040916162315.02919950@pop.gmx.de> Message-ID: On 9/16/04 5:25 PM, "Martin Kloss" wrote: > Sorry, this is not the correct list, I guess, > but I'm not subscribed to the other list anymore. > > Ruslan / Jochen, > > I just downloaded the new vStudio alpha release > and it crashes immediately on WinXP prof. when > I try to start it. I get the "this is an unregistered version..." > screen and then kaboom.... If you have prev version then try delete vsprefs -- 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 Sep 16 18:02:53 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Thu Sep 16 10:04:12 2004 Subject: bytes or chars ? In-Reply-To: Message-ID: On 9/16/04 4:42 PM, "jda" wrote: >> >> >> VarChar(2000) -- this is great TOP LIMIT. >> this will satisfy 90% of existed application. >> >> If not enough you can make VarChar (4000) or 64000 at last of end. >> > > Just to be clear -- there is no penalty for using 2000, right? I > mean, the storage and memory requirements for > > VarChar(64) > > and > > VarChar(2000) > > are the same? Yes. In 2.0 yes -- 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 martin.kloss at gmx.de Thu Sep 16 17:12:26 2004 From: martin.kloss at gmx.de (Martin Kloss) Date: Thu Sep 16 10:12:53 2004 Subject: vStudio crashes In-Reply-To: References: <6.1.2.0.2.20040916162315.02919950@pop.gmx.de> Message-ID: <6.1.2.0.2.20040916171159.01c32560@pop.gmx.de> At 17:02 16.09.2004, you wrote: > > I just downloaded the new vStudio alpha release > > and it crashes immediately on WinXP prof. when > > I try to start it. I get the "this is an unregistered version..." > > screen and then kaboom.... > >If you have prev version then try delete vsprefs doesn't help, I deleted the old prefs and it still crashes. Martin. Martin Kloss Skype me 24/7: callto://martinkloss Like the author? Buy the book: http://www.amazon.de/exec/obidos/ASIN/3934358322/lingmmugd Need music? http://www.selling-sound.com Get your daily dose of Lingo: http://www.lingopark.de From ernestogiannotta at tiscalinet.it Thu Sep 16 18:06:06 2004 From: ernestogiannotta at tiscalinet.it (erne) Date: Thu Sep 16 11:06:37 2004 Subject: bytes or chars ? In-Reply-To: <6.1.2.0.2.20040916151440.01c3dcb0@pop.gmx.de> Message-ID: on 16-09-2004 15:20, Martin Kloss at martin.kloss@gmx.de wrote: > I think there's only going to be a little overhead in "thinking time" for > us developers, > when creating utf-8 fields, as we have to consider the language and > possible usage > of 2-byte characters. But the end-user of our applications will think in > "characters" anyway, > so we just have to figure out what approximate number of characters we will > let them > type into a certain field. But that's something I can live with, as Eric > said, consistency > is most important here. > with RB we have Len(string) that returns number of characters and LenB(string) that returns number of bytes so for a RB developer is quite straightforward to know when the allocated bytes limit is reached and alert the user Cool Runnings, Erne. -- | e r | Ernesto Giannotta | n e | Musical Box - a media store From rjb at robelko.com Thu Sep 16 18:21:33 2004 From: rjb at robelko.com (Robert Brenstein) Date: Thu Sep 16 11:40:18 2004 Subject: bytes or chars ? In-Reply-To: References: Message-ID: > > If bytes must be for UTF8, then I resign to having bytes all over the >> place. BUT... then kernel must be able to tell me how many bytes as >> well as how many chars are actually in each field. I want also >> built-in functions that allow me to make char-byte count conversions >> for my GUI. We seem to agree that aside from storage, we will >> continue to deal with characters. > >If we decide that property > > Vfield.MaxLenth must be in bytes, then it will return you bytes. > >Then I think better to use > > Vfield.MaxBytes -- this is on disk... > >Robert, in fact we should not have nothing special in kernel. >In REALbasic we will return Strings. It self know its encoding, length in >chars and so on. Ruslan, you did not understand me I think. a) For fields, we have Field_GetLength (should really be GetMaxLength). It will, after change, return the number of bytes not chars as you say. For BLOB fields, we have BLOB_GetDataSize. This already returns number of bytes. I am suggesting Field_GetDataSize (generalized version of BLOB_GetDataSize) and Field_GetCharCount so I can know how much data/chars is in a given VarChar or Text field. Is it unreasonable to inquire this (if needed) instead of actually fetching the data into a local variable and counting in my code? b) If I get a string from user, I may need to know whether it fits into a given field. Thus, I'd like a function like Utility_GetDataSize(usertext,"UTF-8") which tells me the byte count required for storage. Is it unreasonable to ask kernel to tell me that using the very same routines that will actually do the conversion? >What about Revolution? It support unicode already? Revolution supports unicode to some degree (as optional encoding for fields and variable content). I don't think it will switch to unicode as the base encoding in a near future though (I can be wrong). >In any case we return to environment a string in the format which that >environment understands. So you simply work with your native strings. Of course. Robert From sunshine at public.kherson.ua Thu Sep 16 20:17:54 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Thu Sep 16 12:18:54 2004 Subject: bytes or chars ? In-Reply-To: Message-ID: On 9/16/04 7:21 PM, "Robert Brenstein" wrote: > a) > > For fields, we have Field_GetLength (should really be GetMaxLength). > > It will, after change, return the number of bytes not chars as you say. > > For BLOB fields, we have BLOB_GetDataSize. > > This already returns number of bytes. > > I am suggesting Field_GetDataSize (generalized version of > BLOB_GetDataSize) and Field_GetCharCount so I can know how much > data/chars is in a given VarChar or Text field. Why you need Field_GetCharCount() ? > Is it unreasonable to inquire this (if needed) instead of actually > fetching the data into a local variable and counting in my code? But you in any case will fetch 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 sunshine at public.kherson.ua Thu Sep 16 20:19:34 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Thu Sep 16 12:20:38 2004 Subject: bytes or chars ? In-Reply-To: Message-ID: On 9/16/04 7:21 PM, "Robert Brenstein" wrote: > b) > > If I get a string from user, I may need to know whether it fits into > a given field. Thus, I'd like a function like > Utility_GetDataSize(usertext,"UTF-8") which tells me the byte count > required for storage. > > Is it unreasonable to ask kernel to tell me that using the very same > routines that will actually do the conversion? >From on side. >From other you can simply try to assign and read back. You will get the string which was stored. In any case Robert, this are details. We can discuss them 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 valentina-list at vermontsoftworks.com Thu Sep 16 14:57:29 2004 From: valentina-list at vermontsoftworks.com (Erik Mueller-Harder) Date: Thu Sep 16 13:57:53 2004 Subject: V4RB 2.0 b16 uploaded In-Reply-To: References: Message-ID: <425B8CFE-0812-11D9-8357-000393DC4766@vermontsoftworks.com> > New build is read. I'm having some troubles with this. My own app crashes when I perform =20= a .FindNotNulls on a VarChar field. Same results whether the db fields =20= are all encoded in UTF-16 or in UTF-8. So I tried the Field_Find project, and it crashes when I click on "Add =20= 10." (Actually, it's at mPerson.Field("fld_Long").value =3D inLong the first time that "AddOneRecord" is called). Here's the V4RB_log, followed by the OS crash report: Valentina_Init... PARAM: inCacheSize =3D 8388608 PARAM: inMacSN->CString() =3D "" PARAM: inWinSN->CString() =3D "" return Valentina_SetDebugLevel... PARAM: inLevel =3D 2 return Valentina_GetCacheSize... return (int) AllocatedSize =3D 8392704 Database_Ctor... PARAM: instance =3D 26418148 return Database_Ctor1... PARAM: instance =3D 26418148 PARAM: inStorageType =3D 0 return Database_Create... PARAM: inDatabase =3D 26418148 PARAM: inMode =3D 4 PARAM: inSegmentSize =3D 32768 PARAM: inNativeOS =3D 0 PARAM: pLocation->get_Path() =3D "Gigi =20 HD:Users:erikmh:Development:V4RB_2:Examples:API_way:Field_Find:=20 DataBase1.vdb" return Database_CreateTable... Table_Ctor... PARAM: instance =3D 26421936 VAR: gCreateInCtor =3D 0 VAR: gDatabase.get() =3D 114279156 return return object =3D 26421936 Table_CreateLongField... PARAM: inTable =3D 26421936 PARAM: inName =3D "fld_long" PARAM: inType =3D 8 PARAM: inFlags =3D 0 return object =3D 26423412 Table_CreateStringField... PARAM: inMaxLength =3D 40 PARAM: inTable =3D 26421936 PARAM: inName =3D "fld_string" PARAM: inType =3D 19 PARAM: inFlags =3D 0 return object =3D 26423752 Table_GetRecordCount... PARAM: inTable =3D 26421936 return res =3D 0 Table_GetFieldByName... PARAM: inTable =3D 26421936 PARAM: inName =3D "fld_Long" return object =3D 26423412 Field_SetValue... PARAM: inFld =3D 26423412 PARAM: inValue =3D 26549240 ----------------------------------------- Date/Time: 2004-09-16 14:49:36 -0400 OS Version: 10.3.5 (Build 7M34) Report Version: 2 Command: My Application.debug Path: =20 /Users/erikmh/Development/V4RB_2/Examples/API_way/Field_Find/My =20 Application.debug Version: ??? (???) PID: 948 Thread: 0 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000000 Thread 0 Crashed: 0 Kernel_Carbon_Debug.shlb 0x020761b8 =20 get_Value__Q23fbl9Field_ImpFQ23fbl12EValueAccess + 0x58 1 Kernel_Carbon_Debug.shlb 0x02076074 =20 put_Value__Q23fbl9Field_ImpFQ23fbl26smart_ptr + 0x2c 2 Plugin 0x00684d14 =20 Field_SetValue__FP16REALobjectStructlP16REALobjectStruct + 0xc8 3 main 0x00408174 =20 Window1.Window1.AddOneRecord%%ois + 0x118 4 main 0x00409c08 =20 Window1.Window1.Add10_Action%%o + 0xd4 5 RBFramework 0x0048cc7c 0x4161d0 + 0x76aac 6 RBFramework 0x0044008c 0x4161d0 + 0x29ebc 7 RBFramework 0x00434b00 0x4161d0 + 0x1e930 8 RBFramework 0x004df974 0x4161d0 + 0xc97a4 9 <<00000000>> 0x927d1fc8 0 + 0x927d1fc8 10 <<00000000>> 0x927d223c 0 + 0x927d223c 11 <<00000000>> 0x927e46e4 0 + 0x927e46e4 12 <<00000000>> 0x927f96dc 0 + 0x927f96dc 13 <<00000000>> 0x92910ed4 0 + 0x92910ed4 14 <<00000000>> 0x928a9da0 0 + 0x928a9da0 15 <<00000000>> 0x92895378 0 + 0x92895378 16 <<00000000>> 0x928d65a8 0 + 0x928d65a8 17 RBFramework 0x00435644 0x4161d0 + 0x1f474 18 RBFramework 0x004354bc 0x4161d0 + 0x1f2ec 19 RBFramework 0x0043544c 0x4161d0 + 0x1f27c 20 RBFramework 0x004e18dc 0x4161d0 + 0xcb70c 21 RBFramework 0x0044d7c8 0x4161d0 + 0x375f8 22 RBFramework 0x00521368 0x4161d0 + 0x10b198 23 RBFramework 0x004afffc 0x4161d0 + 0x99e2c 24 RBFramework 0x004af8f8 0x4161d0 + 0x99728 25 RBFramework 0x004adcc8 0x4161d0 + 0x97af8 26 RBFramework 0x004adf44 0x4161d0 + 0x97d74 27 RBFramework 0x004aadc0 0x4161d0 + 0x94bf0 28 main 0x00411af4 Main + 0xd8 29 main 0x00405098 % main + 0x18 30 ...ple.CoreServices.CarbonCore 0x902d9d58 = CCFM_LaunchApplication + =20 0x1e8 31 My Application.debug 0x00008840 main + 0x168 32 My Application.debug 0x00008408 _start + 0x188 33 My Application.debug 0x0000827c start + 0x30 Thread 1: 0 libSystem.B.dylib 0x9001a4ac syscall + 0xc 1 ...ple.CoreServices.OSServices 0x906200cc BSD_waitevent + 0x2c 2 ...ple.CoreServices.OSServices 0x9061cac0 = CarbonSelectThreadFunc + =20 0xb0 3 libSystem.B.dylib 0x900246e8 _pthread_body + 0x28 Thread 2: 0 libSystem.B.dylib 0x90016f48 =20 semaphore_wait_signal_trap + 0x8 1 libSystem.B.dylib 0x9000e790 _pthread_cond_wait + =20= 0x270 2 ...ple.CoreServices.OSServices 0x90627300 =20 CarbonOperationThreadFunc + 0x50 3 libSystem.B.dylib 0x900246e8 _pthread_body + 0x28 PPC Thread State: srr0: 0x020761b8 srr1: 0x0200f030 vrsave: 0x00000000 cr: 0x24022288 xer: 0x00000004 lr: 0x020761b4 ctr: 0x02076048 r0: 0x00000002 r1: 0xbfffeee0 r2: 0x010d3000 r3: 0x00000000 r4: 0x01932ab0 r5: 0x00000002 r6: 0x00000001 r7: 0x00000000 r8: 0x00000a74 r9: 0xffffffff r10: 0x902985a4 r11: 0xa0281558 r12: 0x010db3a0 r13: 0x00000000 r14: 0x00000000 r15: 0x00000000 r16: 0x00000000 r17: 0x00000000 r18: 0x00000000 r19: 0x00000000 r20: 0x00000002 r21: 0x00000000 r22: 0x00319e80 r23: 0x00374700 r24: 0xbffff410 r25: 0xffffd96e r26: 0x00000000 r27: 0x01933074 r28: 0x01951bf8 r29: 0x01932ab0 r30: 0xbfffeff4 r31: 0xbfffeee0 Binary Images Description: 0x1000 - 0x9fff My Application.debug =20 /Users/erikmh/Development/V4RB_2/Examples/API_way/Field_Find/My =20= Application.debug 0xae000 - 0xae12f icudt26b_cw.shlb PEF binary: = icudt26b_cw.shlb 0xc3000 - 0xdd8ee icuio26_cw.shlb PEF binary: = icuio26_cw.shlb 0x287000 - 0x2d29b1 CarbonLibpwpc PEF binary: CarbonLibpwpc 0x2d29c0 - 0x2eacad Apple;Carbon;Multimedia PEF binary: =20 Apple;Carbon;Multimedia 0x2ec1f0 - 0x2edf7b Apple;Carbon;Networking PEF binary: =20 Apple;Carbon;Networking 0x311f70 - 0x312022 CFMPriv_CoreFoundation PEF binary: =20 CFMPriv_CoreFoundation 0x312220 - 0x3122d5 CFMPriv_DVComponentGlue PEF binary: =20 CFMPriv_DVComponentGlue 0x312510 - 0x3125b3 CFMPriv_QuickTime PEF binary: = CFMPriv_QuickTime 0x312630 - 0x3126a7 CFMPriv_System PEF binary: = CFMPriv_System 0x312950 - 0x312a20 CFMPriv_CarbonSound PEF binary: =20 CFMPriv_CarbonSound 0x312aa0 - 0x312b73 CFMPriv_CommonPanels PEF binary: =20 CFMPriv_CommonPanels 0x312c50 - 0x312d0b CFMPriv_Help PEF binary: CFMPriv_Help 0x312d10 - 0x312dda CFMPriv_HIToolbox PEF binary: = CFMPriv_HIToolbox 0x312e60 - 0x312f36 CFMPriv_HTMLRendering PEF binary: =20 CFMPriv_HTMLRendering 0x312fb0 - 0x313083 CFMPriv_ImageCapture PEF binary: =20 CFMPriv_ImageCapture 0x313110 - 0x3131f5 CFMPriv_NavigationServices PEF binary: =20 CFMPriv_NavigationServices 0x313270 - 0x313346 CFMPriv_OpenScripting=F0MacBLib PEF = binary: =20 CFMPriv_OpenScripting=F0MacBLib 0x313420 - 0x3134de CFMPriv_Print PEF binary: CFMPriv_Print 0x313500 - 0x3135cd CFMPriv_SecurityHI PEF binary: =20 CFMPriv_SecurityHI 0x313650 - 0x313732 CFMPriv_SpeechRecognition PEF binary: =20 CFMPriv_SpeechRecognition 0x3137b0 - 0x313883 CFMPriv_CarbonCore PEF binary: =20 CFMPriv_CarbonCore 0x313900 - 0x3139d3 CFMPriv_OSServices PEF binary: =20 CFMPriv_OSServices 0x313ab0 - 0x313b72 CFMPriv_AE PEF binary: CFMPriv_AE 0x313b80 - 0x313c45 CFMPriv_ATS PEF binary: CFMPriv_ATS 0x313cc0 - 0x313d97 CFMPriv_ColorSync PEF binary: = CFMPriv_ColorSync 0x313e20 - 0x313f03 CFMPriv_FindByContent PEF binary: =20 CFMPriv_FindByContent 0x313f80 - 0x31405a CFMPriv_HIServices PEF binary: =20 CFMPriv_HIServices 0x3140d0 - 0x3141b0 CFMPriv_LangAnalysis PEF binary: =20 CFMPriv_LangAnalysis 0x314240 - 0x314326 CFMPriv_LaunchServices PEF binary: =20 CFMPriv_LaunchServices 0x314400 - 0x3144d7 CFMPriv_PrintCore PEF binary: = CFMPriv_PrintCore 0x3144e0 - 0x3145a2 CFMPriv_QD PEF binary: CFMPriv_QD 0x3146a0 - 0x314789 CFMPriv_SpeechSynthesis PEF binary: =20 CFMPriv_SpeechSynthesis 0x405000 - 0x4161cf main PEF binary: main 0x4161d0 - 0x5eb567 RBFramework PEF binary: RBFramework 0x669000 - 0x6aec60 Plugin PEF binary: Plugin 0x6af000 - 0x75677f icuuc26_cw.shlb PEF binary: = icuuc26_cw.shlb 0x774000 - 0x780b2a Plugin PEF binary: Plugin 0x1008000 - 0x10cace8 icuin26_cw.shlb PEF binary: = icuin26_cw.shlb 0x2008000 - 0x27be5b4 Kernel_Carbon_Debug.shlb PEF binary: =20 Kernel_Carbon_Debug.shlb 0x27be5c0 - 0x2807694 MSL_All_Carbon.Shlb PEF binary: =20 MSL_All_Carbon.Shlb 0x5b8a000 - 0x5ba5fff ??? /Library/PreferencePanes/Default Folder =20= X.prefPane/Contents/Resources/Default Folder =20 X.bundle/Contents/Resources/Mach-O Patcher.bundle/Contents/MacOS/Mach-O =20= Patcher 0x7505000 - 0x7507fff com.apple.textencoding.unicode =20 1.6.4 /System/Library/TextEncodings/Unicode =20 Encodings.bundle/Contents/MacOS/Unicode Encodings 0x8be30000 - 0x8be31fff DVComponentGlue =20 /System/Library/Frameworks/DVComponentGlue.framework/Versions/A/=20= DVComponentGlue 0x8fe00000 - 0x8fe4ffff dyld /usr/lib/dyld 0x90000000 - 0x90122fff libSystem.B.dylib = /usr/lib/libSystem.B.dylib 0x90190000 - 0x9023dfff com.apple.CoreFoundation 6.3.5 =20 (299.32) = /System/Library/Frameworks/CoreFoundation.framework/Versions/=20 A/CoreFoundation 0x90280000 - 0x904f9fff com.apple.CoreServices.CarbonCore =20 10.3.5 /System/Library/Frameworks/CoreServices.framework/Versions/A/=20 Frameworks/CarbonCore.framework/Versions/A/CarbonCore 0x90570000 - 0x905dffff com.apple.framework.IOKit 1.3.5 =20 (???) /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit 0x90610000 - 0x9069afff com.apple.CoreServices.OSServices =20 3.0.1 /System/Library/Frameworks/CoreServices.framework/Versions/A/=20 Frameworks/OSServices.framework/Versions/A/OSServices 0x90700000 - 0x90700fff com.apple.CoreServices 10.3 =20 (???) /System/Library/Frameworks/CoreServices.framework/Versions/A/=20 CoreServices 0x90720000 - 0x90787fff com.apple.audio.CoreAudio =20 2.1.2 /System/Library/Frameworks/CoreAudio.framework/Versions/A/=20 CoreAudio 0x907f0000 - 0x907f9fff com.apple.DiskArbitration =20 2.0.3 /System/Library/PrivateFrameworks/DiskArbitration.framework/=20 Versions/A/DiskArbitration 0x90810000 - 0x90810fff com.apple.ApplicationServices 1.0 =20 (???) /System/Library/Frameworks/ApplicationServices.framework/=20 Versions/A/ApplicationServices 0x90910000 - 0x90983fff com.apple.DesktopServices =20 1.2.2 /System/Library/PrivateFrameworks/DesktopServicesPriv.framework/=20= Versions/A/DesktopServicesPriv 0x90d00000 - 0x90d1bfff com.apple.SystemConfiguration 1.7.1 =20 (???) /System/Library/Frameworks/SystemConfiguration.framework/=20 Versions/A/SystemConfiguration 0x90d40000 - 0x90d40fff com.apple.Carbon 10.3 =20 (???) /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon 0x910b0000 - 0x91101fff com.apple.bom 1.2.5 =20 (63.2) /System/Library/PrivateFrameworks/Bom.framework/Versions/A/Bom 0x912a0000 - 0x912bdfff com.apple.audio.SoundManager =20 3.8 = /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/=20 CarbonSound.framework/Versions/A/CarbonSound 0x912e0000 - 0x912f7fff com.apple.LangAnalysis =20 1.5.4 /System/Library/Frameworks/ApplicationServices.framework/=20 Versions/A/Frameworks/LangAnalysis.framework/Versions/A/LangAnalysis 0x91320000 - 0x913defff ColorSync =20 = /System/Library/Frameworks/ApplicationServices.framework/Versions/A/=20 Frameworks/ColorSync.framework/Versions/A/ColorSync 0x91460000 - 0x91473fff com.apple.speech.synthesis.framework =20 3.2 = /System/Library/Frameworks/ApplicationServices.framework/Versions/=20 A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis 0x914a0000 - 0x91509fff com.apple.htmlrendering =20 1.1.2 /System/Library/Frameworks/Carbon.framework/Versions/A/=20 Frameworks/HTMLRendering.framework/Versions/A/HTMLRendering 0x91560000 - 0x91619fff com.apple.QD 3.4.65 =20 (???) /System/Library/Frameworks/ApplicationServices.framework/=20 Versions/A/Frameworks/QD.framework/Versions/A/QD From sunshine at public.kherson.ua Thu Sep 16 22:03:11 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Thu Sep 16 14:03:32 2004 Subject: V4RB 2.0 b16 uploaded In-Reply-To: <425B8CFE-0812-11D9-8357-000393DC4766@vermontsoftworks.com> Message-ID: On 9/16/04 9:57 PM, "Erik Mueller-Harder" wrote: >> New build is read. > > I'm having some troubles with this. My own app crashes when I perform > a .FindNotNulls on a VarChar field. Same results whether the db fields > are all encoded in UTF-16 or in UTF-8. > > So I tried the Field_Find project, and it crashes when I click on "Add > 10." (Actually, it's at > > mPerson.Field("fld_Long").value = inLong > > the first time that "AddOneRecord" is called). Sounds as something is 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 valentina-list at vermontsoftworks.com Thu Sep 16 15:11:14 2004 From: valentina-list at vermontsoftworks.com (Erik Mueller-Harder) Date: Thu Sep 16 14:11:30 2004 Subject: V4RB 2.0 b16 uploaded In-Reply-To: References: Message-ID: <2DCA96F8-0814-11D9-8357-000393DC4766@vermontsoftworks.com> On Sep 16, 2004, at 15:03, Ruslan Zasukhin wrote: > Sounds as something is broken Er, yes. Sorry. I did all the "difficult" replacement of library pieces, but I forgot to replace the V4RB plug-in. Sorry for the wasted bandwidth.... -- Erik From rjb at robelko.com Thu Sep 16 22:46:18 2004 From: rjb at robelko.com (Robert Brenstein) Date: Thu Sep 16 16:01:43 2004 Subject: bytes or chars ? In-Reply-To: References: Message-ID: >On 9/16/04 7:21 PM, "Robert Brenstein" wrote: > >> a) >> >> For fields, we have Field_GetLength (should really be GetMaxLength). >> >> It will, after change, return the number of bytes not chars as you say. >> >> For BLOB fields, we have BLOB_GetDataSize. >> >> This already returns number of bytes. >> >> I am suggesting Field_GetDataSize (generalized version of >> BLOB_GetDataSize) and Field_GetCharCount so I can know how much >> data/chars is in a given VarChar or Text field. > >Why you need Field_GetCharCount() ? For example, I want to know the average and max length of a field with textual description for a report. I do not need to report the actual descriptions. This is not abstract. I had a client last year for whom I wrote a conference registration and abstract system. The latter required carefully counting chars during submission and I had to produce reports on those counts. > > Is it unreasonable to inquire this (if needed) instead of actually >> fetching the data into a local variable and counting in my code? > >But you in any case will fetch data. I gather you mean that data will be pulled out of database in either case. True. However, it is different when the kernel does it internally or whether it passes it over to me (particularly in case of vxcmd and also server). In the example above, I don't care what the data in the field actually is. I care only about char count. Robert From valentina-list at vermontsoftworks.com Thu Sep 16 17:09:18 2004 From: valentina-list at vermontsoftworks.com (Erik Mueller-Harder) Date: Thu Sep 16 16:09:35 2004 Subject: field.Find with indexByWords? Message-ID: Hi, Ruslan -- Using V4RB 2.0b16, I'm trying to use the API Field.Find function to search for values in a VarChar field that's indexedByWords. I have it working fine (using ranges), except that it's acting exactly as if the field is not indexedByWords. Am I doing something wrong, or is this something you're still working on? Thanks! -- Erik From jda at his.com Thu Sep 16 17:13:51 2004 From: jda at his.com (jda) Date: Thu Sep 16 16:14:11 2004 Subject: bytes or chars ? In-Reply-To: <013401c49bf1$481f4910$3b04a8c0@giv> References: <79ED9077-07D2-11D9-9051-000393DC4766@vermontsoftworks.com> <013401c49bf1$481f4910$3b04a8c0@giv> Message-ID: >>Not true, Robert. UTF-8 characters can also be 3 or 4 bytes in >>length (I recall someone posting that in rare cases 5 bytes are >>required in certain rare cases). >AFAIK (from the ICU User's Guide) the maximum possible len of a >character in UTF-8 is 4 bytes. Can you give an example when 5 bytes >are needed? > I did a google search and found this tidbit on a wikipedia.org site: ---------- (An earlier UTF-8 specification allowed even higher code points to be represented, using 5 or 6 bytes, but this is no longer supported.) ---------- Also, from the unicode.org site (http://www.unicode.org/versions/corrigendum1.html) I found this: ---------- The definition of UTF-8 in Annex D of ISO/IEC 10646-1:2000 also allows for the use of five- and six-byte sequences to encode characters that are outside the range of the Unicode character set; those five- and six-byte sequences are illegal for the use of UTF-8 as a transformation of Unicode characters. ISO/IEC 10646 does not allow mapping of unpaired surrogates, nor U+FFFE and U+FFFF (but it does allow other noncharacters). ---------- So I guess it is/was a possibility to use more than 4 bytes for a UTF-8 character, but it is either not supported or not used (or both). Nothing to worry about, obviously. Jon From sunshine at public.kherson.ua Fri Sep 17 08:04:54 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Sep 17 00:05:25 2004 Subject: field.Find with indexByWords? In-Reply-To: Message-ID: On 9/17/04 12:09 AM, "Erik Mueller-Harder" wrote: > Hi, Ruslan -- > > Using V4RB 2.0b16, I'm trying to use the API Field.Find function to > search for values in a VarChar field that's indexedByWords. > > I have it working fine (using ranges), except that it's acting exactly > as if the field is not indexedByWords. > > Am I doing something wrong, or is this something you're still working > on? :-) WE have not yet implement index by words -- 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 martin.kloss at gmx.de Fri Sep 17 08:53:42 2004 From: martin.kloss at gmx.de (Martin Kloss) Date: Fri Sep 17 01:54:17 2004 Subject: vStudio crashes Message-ID: <6.1.2.0.2.20040917085337.02a29500@pop.gmx.de> At 20:08 16.09.2004, you wrote: >this really sounds like a problem with the prefs - hhmm. >You are sure that you have deleted the folder vsPrefsDB? yes, I'm sure. >Ok - then you can try next: >Move ALL DLL's inside the directory "plugins" in your vStudio directory to >a save place. Then try to start vStudio without all Plugins - this should >work! >Then you can move the Plugins back - one by one in this order: Ok, I found the culprit after moving the plugins back, one by one: >- vsc.dll is responsible for the crash. When I include this dll the programm crashes immediately. Martin. Martin Kloss Skype me 24/7: callto://martinkloss Like the author? Buy the book: http://www.amazon.de/exec/obidos/ASIN/3934358322/lingmmugd Need music? http://www.selling-sound.com Get your daily dose of Lingo: http://www.lingopark.de From j.peters at valentina-db.de Fri Sep 17 11:24:33 2004 From: j.peters at valentina-db.de (Jochen Peters) Date: Fri Sep 17 04:24:59 2004 Subject: vStudio crashes In-Reply-To: <6.1.2.0.2.20040917085337.02a29500@pop.gmx.de> References: <6.1.2.0.2.20040917085337.02a29500@pop.gmx.de> Message-ID: <55275.62.154.199.179.1095413073.squirrel@webmail3.server-einstellung.de> Hi Martin, >>Ok - then you can try next: >>Move ALL DLL's inside the directory "plugins" in your vStudio directory >> to >>a save place. Then try to start vStudio without all Plugins - this should >>work! >>Then you can move the Plugins back - one by one in this order: > > Ok, I found the culprit after moving the plugins back, one by one: > >>- vsc.dll > > is responsible for the crash. When I include this dll the programm > crashes immediately. Ok. This Plugin is responsible for Valentina Server connections. Well - i will check that here - now i have a place where i can search..:-) Does anybody else have seen this crash before? Is this a XP issue only? -- Best regards, Jochen Peters PIIT GmbH -------------------------- http://www.valentina-db.de From AYU8 at CDC.GOV Fri Sep 17 08:15:32 2004 From: AYU8 at CDC.GOV (Sims, John) Date: Fri Sep 17 07:16:00 2004 Subject: vStudio crashes Message-ID: Jochen, I have Windows 2000 Professional and Vstudio a66 seems to work just fine for me. I was even able to try your ODBC import of an Access Database and it mostly worked (It created the Valentina Database but I think I might have done something wrong which resulted in some data not getting imported but I haven't had time to try again. I'll let you know if I did something wrong or if there might be a problem when I get a chance to try it again.) BTW, Great job so far!!! John > -----Original Message----- > From: valentina-beta-bounces@lists.macserve.net > [mailto:valentina-beta-bounces@lists.macserve.net] On Behalf > Of Jochen Peters > Sent: Friday, September 17, 2004 5:25 AM > To: Valentina Beta > Subject: Re: vStudio crashes > > > Hi Martin, > > >>Ok - then you can try next: > >>Move ALL DLL's inside the directory "plugins" in your vStudio > >>directory to a save place. Then try to start vStudio without all > >>Plugins - this should work! > >>Then you can move the Plugins back - one by one in this order: > > > > Ok, I found the culprit after moving the plugins back, one by one: > > > >>- vsc.dll > > > > is responsible for the crash. When I include this dll the programm > > crashes immediately. > Ok. This Plugin is responsible for Valentina Server > connections. Well - i will check that here - now i have a > place where i can search..:-) > > Does anybody else have seen this crash before? > Is this a XP issue only? > > > > -- > Best regards, > Jochen Peters > PIIT GmbH > > -------------------------- > http://www.valentina-db.de > _______________________________________________ > Valentina-beta mailing list > Valentina-beta@lists.macserve.net > http://lists.macserve.net/mailman/listinfo/valentina-beta > From jda at his.com Fri Sep 17 08:51:35 2004 From: jda at his.com (jda) Date: Fri Sep 17 07:52:00 2004 Subject: Case and sorting/searching In-Reply-To: References: Message-ID: > Can I get rid of these methods (or at least one of them) in 2.x? If > >>> so, how should I create the authors field? >>> >>> AuthorsMethod yes. >>> >>> Wait. I need check this self yet >>> >>> Simply you will tell to authors field that it must have >>> Case insensitive index. >>> >> >> >> You mean like this: >> >> authors = CreateTextField("authors", 128, "English", > > Valentina.fIndexByWords + Valentina.fIndexCaseInsensetive)? > >yes > Ruslan, OK, I've done that (and when index by words is operational I'll test searches). Now, what would be the best "2.x way" of also letting me sort on the authors field in a case-insensitive manner? In 1.x I used this method: authorsSortMethod = CreateTextField("authorsSortMethod", 128, "English", Valentina.fIndexed, "Upper(authors)") Is this still the best way in 2.x? Thanks, Jon From sunshine at public.kherson.ua Fri Sep 17 16:08:59 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Sep 17 08:14:09 2004 Subject: Case and sorting/searching In-Reply-To: Message-ID: On 9/17/04 3:51 PM, "jda" wrote: >>> You mean like this: >>> >>> authors = CreateTextField("authors", 128, "English", >>> Valentina.fIndexByWords + Valentina.fIndexCaseInsensetive)? >> >> yes >> > > Ruslan, > > OK, I've done that (and when index by words is operational I'll test > searches). > > Now, what would be the best "2.x way" of also letting me sort on the > authors field in a case-insensitive manner? In 1.x I used this method: > > authorsSortMethod = CreateTextField("authorsSortMethod", 128, > "English", Valentina.fIndexed, "Upper(authors)") > > > Is this still the best way in 2.x? So, you have * field * index it as case-insensitive and by words. * and you need it also sort case-insensitive. so we cannot use above index, because it is by words. Then yes, you will need method. Its index will be used for sorting. * in the future I need add algorithm of sorting without index at all. then only you will be able avoid this SortMethod. on the other hand it will be not indexed. So it can be slower. may be in some cases this will be acceptable. -- 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 jda at his.com Fri Sep 17 10:30:58 2004 From: jda at his.com (jda) Date: Fri Sep 17 09:31:20 2004 Subject: Case and sorting/searching In-Reply-To: References: Message-ID: > > >So, you have > >* field > >* index it as case-insensitive and by words. > >* and you need it also sort case-insensitive. > so we cannot use above index, because it is by words. > >Then yes, you will need method. >Its index will be used for sorting. > > >* in the future I need add algorithm of sorting without index at all. > then only you will be able avoid this SortMethod. > on the other hand it will be not indexed. So it can be slower. > may be in some cases this will be acceptable. > > That would probably be just fine for me, anyway, as long as the sort can be made case-insensitive. It seems I must also use this sort method in the query itself, right (e.g. select id,hit,authorsMethod from authors...)? Otherwise, it seems I can't use the ORDER BY authorsMethod without getting an error. Jon From sunshine at public.kherson.ua Fri Sep 17 17:52:24 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Sep 17 09:58:36 2004 Subject: Case and sorting/searching In-Reply-To: Message-ID: On 9/17/04 5:30 PM, "jda" wrote: >> So, you have >> >> * field >> >> * index it as case-insensitive and by words. >> >> * and you need it also sort case-insensitive. >> so we cannot use above index, because it is by words. >> >> Then yes, you will need method. >> Its index will be used for sorting. >> >> >> * in the future I need add algorithm of sorting without index at all. >> then only you will be able avoid this SortMethod. >> on the other hand it will be not indexed. So it can be slower. >> may be in some cases this will be acceptable. >> >> > > That would probably be just fine for me, anyway, as long as the sort > can be made case-insensitive. > > It seems I must also use this sort method in the query itself, right Of course > (e.g. select id,hit,authorsMethod from authors...)? Otherwise, it > seems I can't use the ORDER BY authorsMethod without getting an error. Aha, you mean that you need SELECT field which is in ORDER BY? Yes. This is by SQL92 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 jda at his.com Fri Sep 17 12:16:26 2004 From: jda at his.com (jda) Date: Fri Sep 17 11:16:50 2004 Subject: SQL error In-Reply-To: References: Message-ID: Ruslan, Using b16 I try this search select id,hit from thereferences where ((authors REGEX 'test' no_case)) order by id and I get this error: expecting ')', found 'no_case' in the SQL debug window (the exception is Function - bad expression. 591108). Is no_case no longer allowed with REGEX searches? Jon From sunshine at public.kherson.ua Fri Sep 17 19:20:37 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Fri Sep 17 11:23:19 2004 Subject: SQL error In-Reply-To: Message-ID: On 9/17/04 7:16 PM, "jda" wrote: > > Ruslan, > > Using b16 I try this search > > select id,hit from thereferences where ((authors REGEX 'test' > no_case)) order by id > > and I get this error: > > expecting ')', found 'no_case' > > in the SQL debug window (the exception is Function - bad > expression. 591108). > > Is no_case no longer allowed with REGEX searches? I am sure that we have not implement it. Yet. When I will self play with REGEX I will see if other features of REGEX can be added. Oh! I believe that syntax of REGEX must support disabling of case directly in the string. Please check ICU docs. You have its URL ? Something as 1.x did have "-i dsdgdfgd " -- 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 Sat Sep 18 11:57:12 2004 From: giv at tlc.kherson.ua (Igor Gomon) Date: Sat Sep 18 03:57:34 2004 Subject: bytes or chars ? References: <79ED9077-07D2-11D9-9051-000393DC4766@vermontsoftworks.com><013401c49bf1$481f4910$3b04a8c0@giv> Message-ID: <002201c49d5d$7cd17e40$3b04a8c0@giv> Hi Jon, Sorry, for later response - I had some problems with my internel provider. > I did a google search and found this tidbit on a wikipedia.org site: > > ---------- > (An earlier UTF-8 specification allowed even higher code points to be > represented, using 5 or 6 bytes, but this is no longer supported.) Aha, ok. > So I guess it is/was a possibility to use more than 4 bytes for a > UTF-8 character, but it is either not supported or not used (or > both). Nothing to worry about, obviously. Yes, agree. Thanks! -- 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 jda at his.com Sat Sep 18 08:03:25 2004 From: jda at his.com (jda) Date: Sat Sep 18 07:03:48 2004 Subject: Sorting compound names In-Reply-To: References: Message-ID: Hi folks, New question (especially to other developers who deal with German and Dutch): In some languages compound surnames are sorted by the second word (e.g. van Lanternan would be sorted with the L's)? Is there a way, in a method, to have Valentina do such a sort (assuming one provided a list of articles in the surname to ignore)? I can't think of a straightfoward solution, but perhaps since this is a common problem someone else on this list has solved it. Of course one could post-process the Valentina sort (which is what I will probably try), but it would be nice if that weren't necessary. Thanks, Jon From sunshine at public.kherson.ua Sat Sep 18 16:26:57 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Sat Sep 18 08:27:24 2004 Subject: Project? In-Reply-To: Message-ID: On 9/18/04 4:07 PM, "jda" wrote: > > Ruslan, > > Deleting a cursor record is improved since b10, but still fails in some cases. Ok, Jon, We have second day break all and we redesign our sources and strucutre. Reason 1) when I have start update sources to GCC I have found that it is more stupid as I did think :-) So we need change sources to satisfy it 2) our internal design of tests. we move them into separate from kernel disk location. I think it can take the whole day yet to assemble all 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 valentina-list at vermontsoftworks.com Sat Sep 18 13:04:20 2004 From: valentina-list at vermontsoftworks.com (Erik Mueller-Harder) Date: Sat Sep 18 12:04:45 2004 Subject: Sorting compound names In-Reply-To: References: Message-ID: On Sep 18, 2004, at 08:03, jda wrote: > New question (especially to other developers who deal with German and > Dutch): > > In some languages compound surnames are sorted by the second word > (e.g. van Lanternan would be sorted with the L's)? Is there a way, in > a method, to have Valentina do such a sort (assuming one provided a > list of articles in the surname to ignore)? I can't think of a > straightfoward solution, but perhaps since this is a common problem > someone else on this list has solved it. Of course one could > post-process the Valentina sort (which is what I will probably try), > but it would be nice if that weren't necessary. I've dealt with this before, and the further I delved into it the more I came to realize that the problem cannot be solved computationally at all. Well, I should qualify that first by agreeing that it might be possible in some culturally and linguistically "pure" backwater somewhere that rules and customs for family names were consistent enough to be codified. But as soon as you have multiple countries, cultures, languages, and even (yes!) the preferences of the individuals involved -- it becomes absolutely impossible to codify. The only real solution is to have a separate field for full-name sort-order, and then populate it manually -- or programatically -- but either way being prepared to make lots of corrections if people complain. I've compiled a short list here of names, sorted "properly" according to examples in the _Chicago Manual of Style_ (entries 18.102 - 18.107). I'm not in any way claiming that this is a definitive authority -- I'm merely suggesting that this is a *large* can of worms that you probably want to avoid opening if at all possible. Again, this list is "correctly" sorted: Ap Ellis, Augustine Beethoven, Ludwig van Braun, Wernher von Campbell-Bannerman, Henry de Vere, Aubrey Thomas De Vries, Hugo F?nelon, Fran?ois de Salignac de La Mothe- Fern?ndez de Sandoval, Jos? Mar?a al-Husayni, Ishaq Legu?a y Salcedo, Agusto Lloyd George, David Mabie, Hamilton W. McAdoo, William G. MAcalister, Donald McAllister, Alister MacArthur, Douglas Macaulay, Rose McAuley, Catharine MacMillan, Donald B. Macmillan, Herold Mendes, Frederic de Sola Mend?s-France, Pierre Mueller-Harder, Erik Ortega y Gasset, Jos? Ram?e, Marie Louise de la St. Denis, Ruth Sainte-Beuve, Charles Augustin Saint-Gaudens, Augustus St. Laurent, Louis Stephen Saint-Sa?ns, Camille S?nchez Mendoza, Jorge Esquivel de S?nchez, Maria S?nchez Esquivel, Juan Teilhard de Chardin, Pierre Torre Redondo, Crist?bal de Van Devanter, Willis Van Rensselaer, Stephen Vaughan Williams, Ralph From jda at his.com Sat Sep 18 13:22:47 2004 From: jda at his.com (jda) Date: Sat Sep 18 12:23:10 2004 Subject: Sorting compound names In-Reply-To: References: Message-ID: >I've dealt with this before, and the further I delved into it the >more I came to realize that the problem cannot be solved >computationally at all. Well, I should qualify that first by >agreeing that it might be possible in some culturally and >linguistically "pure" backwater somewhere that rules and customs for >family names were consistent enough to be codified. But as soon as >you have multiple countries, cultures, languages, and even (yes!) >the preferences of the individuals involved -- it becomes absolutely >impossible to codify. > >The only real solution is to have a separate field for full-name >sort-order, and then populate it manually -- or programatically -- >but either way being prepared to make lots of corrections if people >complain. > >I've compiled a short list here of names, sorted "properly" >according to examples in the _Chicago Manual of Style_ (entries >18.102 - 18.107). I'm not in any way claiming that this is a >definitive authority -- I'm merely suggesting that this is a *large* >can of worms that you probably want to avoid opening if at all >possible. Again, this list is "correctly" sorted: > Hi Erik, Thank you very much for your answer. I already have users complaining, however. One wrote "This is one of these anglocentric idiosyncrasies which horrify Germans, Dutch, Swedes and so on." :-> Well, I didn't point out English is not the only language that uses strict alphabetical sorts (and that it should be "that horrify", not "which horrify", but...). I see that EndNote allows users to specify words that are *not* included in name sorts (things like "van", "von", etc.). They also let you specify words that should be ignored at the beginning of a title for sorts (words like "The", "A", "An", etc.). This seems to be the sort of thing that would be acceptable. I can of course get the names in each record, strip out the specified "words", and then do a sort (in RB), but this will obviously take a substantial amount of effort and be much slower than a method in Valentina. So, I'm still wondering if it is possible to construct such a method (I'm posting to the betas list, BTW, because I gather that methods will be more flexible in 2.x). Thanks again, Jon From sunshine at public.kherson.ua Sat Sep 18 22:05:53 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Sat Sep 18 14:06:20 2004 Subject: Sorting compound names In-Reply-To: Message-ID: On 9/18/04 8:22 PM, "jda" wrote: > :-> > > Well, I didn't point out English is not the only language that uses > strict alphabetical sorts (and that it should be "that horrify", not > "which horrify", but...). > > I see that EndNote allows users to specify words that are *not* > included in name sorts (things like "van", "von", etc.). They also > let you specify words that should be ignored at the beginning of a > title for sorts (words like "The", "A", "An", etc.). > > This seems to be the sort of thing that would be acceptable. I can of > course get the names in each record, strip out the specified "words", > and then do a sort (in RB), but this will obviously take a > substantial amount of effort and be much slower than a method in > Valentina. So, I'm still wondering if it is possible to construct > such a method (I'm posting to the betas list, BTW, because I gather > that methods will be more flexible in 2.x). What about this: You make 2 fields: prefix LastName If syrname is von Something You split it in 2 fields. If there is no name then prefix is empty. So when you show to user you build string using 2 fields. And you use the second filed to sort. In case exists also suffixes, then you create third field. -- 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 jda at his.com Sat Sep 18 15:14:29 2004 From: jda at his.com (jda) Date: Sat Sep 18 14:14:54 2004 Subject: Sorting compound names In-Reply-To: References: Message-ID: > > >What about this: > >You make 2 fields: > > prefix > LastName > > >If syrname is > > von Something > >You split it in 2 fields. >If there is no name then prefix is empty. > >So when you show to user you build string using 2 fields. > >And you use the second filed to sort. > >In case exists also suffixes, then you create third field. > Hm, interesting. But in my case the names are not in individual fields, but listed in one field (separated by returns). What about this -- can this be done in 2.x? 1. Get a cursor. 2. Find/replace every occurrence of a "forbidden" word (list provided by the user) in the name field (e.g. find "von " and replace with ""). 3. Sort the cursor by that field... Or is this something that can/should be done with temporary tables? Jon From sunshine at public.kherson.ua Sat Sep 18 22:31:57 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Sat Sep 18 14:32:21 2004 Subject: Sorting compound names In-Reply-To: Message-ID: On 9/18/04 10:14 PM, "jda" wrote: >> What about this: >> >> You make 2 fields: >> >> prefix >> LastName >> >> >> If syrname is >> >> von Something >> >> You split it in 2 fields. >> If there is no name then prefix is empty. >> >> So when you show to user you build string using 2 fields. >> >> And you use the second filed to sort. >> >> In case exists also suffixes, then you create third field. >> > > Hm, interesting. But in my case the names are not in individual > fields, but listed in one field (separated by returns). > > What about this -- can this be done in 2.x? > > 1. Get a cursor. > 2. Find/replace every occurrence of a "forbidden" word (list provided > by the user) in the name field (e.g. find "von " and replace with ""). > 3. Sort the cursor by that field... > > Or is this something that can/should be done with temporary tables? Only tmp table I still believe that if you have some data that must be proceed in separate way, you must extract them into separate column -- 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 Sun Sep 19 10:00:20 2004 From: fvanlerberghe at freegates.be (Francois Van Lerberghe) Date: Sun Sep 19 02:59:18 2004 Subject: Sorting compound names In-Reply-To: Message-ID: le 18/09/04 21:31, Ruslan Zasukhin a ?crit?: >>> What about this: >>> >>> You make 2 fields: >>> >>> prefix >>> LastName >>> >>> >>> If syrname is >>> >>> von Something >>> >>> You split it in 2 fields. >>> If there is no name then prefix is empty. >>> >>> So when you show to user you build string using 2 fields. >>> >>> And you use the second filed to sort. >>> >>> In case exists also suffixes, then you create third field. >>> >> >> Hm, interesting. But in my case the names are not in individual >> fields, but listed in one field (separated by returns). >> >> What about this -- can this be done in 2.x? >> >> 1. Get a cursor. >> 2. Find/replace every occurrence of a "forbidden" word (list provided >> by the user) in the name field (e.g. find "von " and replace with ""). >> 3. Sort the cursor by that field... >> >> Or is this something that can/should be done with temporary tables? > > Only tmp table > > I still believe that if you have some data that must be proceed in separate > way, you must extract them into separate column You could use a virtual field (with a method) that do the replace/split. Then you do the sort on that field. Fran?ois Van Lerberghe Rue Thier Monty, 15 A 4570 Marchin Belgique From jda at his.com Sun Sep 19 07:45:13 2004 From: jda at his.com (jda) Date: Sun Sep 19 06:45:37 2004 Subject: Sorting compound names In-Reply-To: References: Message-ID: > > >You could use a virtual field (with a method) that do the replace/split. >Then you do the sort on that field. > Hm, interesting. But I can't imagine how I would implement the sql management of the text -- it would require compound loops to deal with all occurrences. I've come up with this idea as an approach: The field to sort contains a list of CR-separated names: van Laaken, D Smith, TR Van Meer, FG The list of "forbidden" words includes "van" 1. Build a case-insensitive tmp table from the original cursor with the name field and unique id field 2. RegEx find records where a new line begins with "van " 3. Put the names field of each into an RB string array. 4. Do a RegEx search/replace for new lines beginning with "van " and replace with "" 5. Update the tmp table from the cursor 6. Create a cursor of everything in the tmp table ORDERED BY name 7. Dispose of the tmp table 8. Fetch each unique id from the cursor into a string and make a *new* cursor from the original table: select * from myRecords where uniqueID=6 or uniqueID=343 or uniqueID=3... That new cursor now has the records sorted without regard to the forbidden prefixes. What do you think? Jon From fvanlerberghe at freegates.be Sun Sep 19 15:25:14 2004 From: fvanlerberghe at freegates.be (Francois Van Lerberghe) Date: Sun Sep 19 08:24:10 2004 Subject: Sorting compound names In-Reply-To: Message-ID: le 19/09/04 13:45, jda a ?crit?: > What do you think? I'm not sure to well understand what are the starting point. One VtextField with your list of CR-separated names or is it a list that you want to insert in a table ? If you have a table with a field containing the complete names, you could create a method field to strip the forbidden word and sort on this field. For instance : Field name : CompleteName NameToSort Method : Replace(CompleteName, 'van ', '') Data : van Laaken, D Laaken, D Smith, TR Smith, TR Van Meer, FG Meer, FG In your SQL Select, you say : SELECT fieldList FROM tableName ORDER BY NameToSort I don't remember if the valentina REPLACE function is case sensitive. If yes, you must change he method accordingly. Best regards Fran?ois Van Lerberghe Rue Thier Monty, 15 A 4570 Marchin Belgique From jda at his.com Sun Sep 19 09:40:15 2004 From: jda at his.com (jda) Date: Sun Sep 19 08:40:39 2004 Subject: Sorting compound names In-Reply-To: References: Message-ID: >le 19/09/04 13:45, jda a ?crit : > >> What do you think? > >I'm not sure to well understand what are the starting point. >One VtextField with your list of CR-separated names or is it a list that you >want to insert in a table ? Many records (perhaps thousands) with many fields. One field is for names -- authors. Imagine a database containing books, each book having from 1 to n authors. If > 1 author, the names in the authors field are separated by CRs. We want to sort the records by the authors field. Note that, therefore, if the first name is identical (in the CR-separated name field) in two records, the sort takes into account the second name, and so on. > >If you have a table with a field containing the complete names, you could >create a method field to strip the forbidden word and sort on this field. > >For instance : > >Field name : CompleteName NameToSort >Method : Replace(CompleteName, 'van ', '') > >Data : van Laaken, D Laaken, D > Smith, TR Smith, TR > Van Meer, FG Meer, FG > > >In your SQL Select, you say : > SELECT fieldList FROM tableName ORDER BY NameToSort > >I don't remember if the valentina REPLACE function is case sensitive. If >yes, you must change he method accordingly. > I'll have to look at this more closely. Does Replace to a Replace All, or does it just replace the first occurrence? As you see from my example, one field can have multiple occurrences of a prefix such as "van". Jon From fvanlerberghe at freegates.be Mon Sep 20 08:52:20 2004 From: fvanlerberghe at freegates.be (Francois Van Lerberghe) Date: Mon Sep 20 01:51:19 2004 Subject: Sorting compound names In-Reply-To: Message-ID: le 19/09/04 15:40, jda a ?crit?: > Imagine a database containing books, each book > having from 1 to n authors. If > 1 author, the > names in the authors field are separated by CRs. > We want to sort the records by the authors field. I understand better. I don't think it's possible unless you use a second table in witch you store the authors, one per record, because I believe that the Replace function replace only the first occurrence. Fran?ois Van Lerberghe Rue Thier Monty, 15 A 4570 Marchin Belgique From jda at his.com Mon Sep 20 08:38:22 2004 From: jda at his.com (jda) Date: Mon Sep 20 07:38:52 2004 Subject: Sorting compound names In-Reply-To: References: Message-ID: >le 19/09/04 15:40, jda a ?crit : > >> Imagine a database containing books, each book >> having from 1 to n authors. If > 1 author, the >> names in the authors field are separated by CRs. >> We want to sort the records by the authors field. > >I understand better. >I don't think it's possible unless you use a second table in witch you store >the authors, one per record, because I believe that the Replace function >replace only the first occurrence. > Yes, that's the conclusion I came to as well. Even making it more difficult with a method, there may be dozens of prefixes that need to be ignored (van, von, de, etc.). So I'm going to try the procedure I outlined earlier (unless, Ruslan, you think there is a better way???). Jon From valentina-list at vermontsoftworks.com Mon Sep 20 10:27:07 2004 From: valentina-list at vermontsoftworks.com (Erik Mueller-Harder) Date: Mon Sep 20 09:27:37 2004 Subject: Sorting compound names In-Reply-To: References: Message-ID: <269BD00A-0B11-11D9-B93B-000393DC4766@vermontsoftworks.com> Hi, Jon -- On Sep 20, 2004, at 08:38, jda wrote: > Even making it more difficult with a method, there may be dozens of > prefixes that need to be ignored (van, von, de, etc.). I don't wish to belabor the point -- and I promise not to write further on the topic unless you specifically ask. I'm writing again only because I'm not sure I communicated my point clearly the first time. > "This is one of these anglocentric idiosyncrasies which horrify > Germans, Dutch, Swedes and so on." Do all of your authors' names really follow the same sorting rules? There are so very many different -- conflicting! -- rules and customs: sometimes varying by language, sometimes by country, by region, or by culture. The list I sent the other day was supposed to show the inconsistencies inherent in the preferences of different peoples, not an Anglo predilection for sorting by "whole" last names. For example, I'm sure you saw that some of the "vans" were sorted under "V", such as - Van Devanter, Willis - Van Rensselaer, Stephen Yes, they're both Americans, and their last names are sorted under "van" -- that's where you'd find them in a biographical dictionary, too. *But* the list also included - Beethoven, Ludwig van - Braun, Wernher von properly sorted under "B." I wasn't trying to argue that you should always sort by the whole last name -- rather, that rules and conventions vary incredibly, and that there is no algorithm you could use to ensure that authors are alphabetized in the manner that they would wish. The db design that would give you the most flexibility for dealing with this inconsistency is to have an author-name-sort non-method field. Perhaps you could initially populate it using rules that you deem appropriate for the majority of your (Dutch & German?) authors, but then you could easily override the sorting order on a case-by-case basis. Whatever you decide, good luck with your project! -- Erik From valentina-list at vermontsoftworks.com Mon Sep 20 10:29:24 2004 From: valentina-list at vermontsoftworks.com (Erik Mueller-Harder) Date: Mon Sep 20 09:29:50 2004 Subject: [V4RB] VarChar bug Message-ID: <7849D322-0B11-11D9-B93B-000393DC4766@vermontsoftworks.com> Hi, Ruslan -- Looks like there's a problem with the VarChar field in b16. Open the "Records_AddDeleteUpdate.rb" example and add 10 records. Change the contents of one of the VarChar fields, taking care that the string you end up with is *longer* than the original value. Click "update." Note that, after it's reloaded, the VarChar field text is truncated to the length of the original VarChar. Let me know if you have any questions. -- Erik From valentina-list at vermontsoftworks.com Mon Sep 20 10:56:50 2004 From: valentina-list at vermontsoftworks.com (Erik Mueller-Harder) Date: Mon Sep 20 09:57:17 2004 Subject: [V4RB] VDateTime.SetDate/.SetTime problem? Message-ID: <4D9ACE98-0B15-11D9-B93B-000393DC4766@vermontsoftworks.com> Hi, Ruslan -- When I populate a VDateTime field using .SetDate and .SetTime and retrieve the value via .GetString, the resulting string is of the form: yyyy-mm-dd hh:mm:ss:3044 where the final five characters are always ":3044". Should I not be using .GetString? Or is this a bug? Thanks! -- Erik From jda at his.com Mon Sep 20 11:08:41 2004 From: jda at his.com (jda) Date: Mon Sep 20 10:09:10 2004 Subject: Sorting compound names In-Reply-To: <269BD00A-0B11-11D9-B93B-000393DC4766@vermontsoftworks.com> References: <269BD00A-0B11-11D9-B93B-000393DC4766@vermontsoftworks.com> Message-ID: >I don't wish to belabor the point -- and I promise not to write >further on the topic unless you specifically ask. I'm writing again >only because I'm not sure I communicated my point clearly the first >time. I very much appreciate your input. > >>"This is one of these anglocentric idiosyncrasies which horrify >>Germans, Dutch, Swedes and so on." > >Do all of your authors' names really follow the same sorting rules? >There are so very many different -- conflicting! -- rules and >customs: sometimes varying by language, sometimes by country, by >region, or by culture. The list I sent the other day was supposed >to show the inconsistencies inherent in the preferences of different >peoples, not an Anglo predilection for sorting by "whole" last names. > >For example, I'm sure you saw that some of the "vans" were sorted >under "V", such as > > - Van Devanter, Willis > - Van Rensselaer, Stephen > >Yes, they're both Americans, and their last names are sorted under >"van" -- that's where you'd find them in a biographical dictionary, >too. *But* the list also included > > - Beethoven, Ludwig van > - Braun, Wernher von > >properly sorted under "B." > >I wasn't trying to argue that you should always sort by the whole >last name -- rather, that rules and conventions vary incredibly, and >that there is no algorithm you could use to ensure that authors are >alphabetized in the manner that they would wish. > >The db design that would give you the most flexibility for dealing >with this inconsistency is to have an author-name-sort non-method >field. Perhaps you could initially populate it using rules that you >deem appropriate for the majority of your (Dutch & German?) authors, >but then you could easily override the sorting order on a >case-by-case basis. > >Whatever you decide, good luck with your project! > The method route won't work, because the Valentina functions aren't robust enough to handle what needs to be done (e.g. multiple words to ignore, multiple names in a field, etc.). The tmp table method I outlined before will work though, I think. I agree with your point about inconsistencies between languages, regions, etc. My application is international, and is used by folks from the US to Europe to Asia. I would offer "German/Dutch/whatever" sorting as an option the user can set a runtime. It will basically ask what words are to be ignored when sorting records by name, so it's generic. I imagine most users will not want it. But for those who do (i.e. the non-anglophilic person you quoted above) it should suffice. Thanks again, Jon From rjb at robelko.com Mon Sep 20 20:13:35 2004 From: rjb at robelko.com (Robert Brenstein) Date: Mon Sep 20 13:31:58 2004 Subject: Sorting compound names In-Reply-To: References: <269BD00A-0B11-11D9-B93B-000393DC4766@vermontsoftworks.com> Message-ID: > >The method route won't work, because the Valentina functions aren't >robust enough to handle what needs to be done (e.g. multiple words >to ignore, multiple names in a field, etc.). The tmp table method I >outlined before will work though, I think. > >I agree with your point about inconsistencies between languages, >regions, etc. My application is international, and is used by folks >from the US to Europe to Asia. > >I would offer "German/Dutch/whatever" sorting as an option the user >can set a runtime. It will basically ask what words are to be >ignored when sorting records by name, so it's generic. I imagine >most users will not want it. But for those who do (i.e. the >non-anglophilic person you quoted above) it should suffice. > >Thanks again, > >Jon I had to face the same issue when producing a scientific conference registration and abstract submission database last year. The number of authors varied and many submissions had authors from different countries. I found that on top of language/country preferences, some people had their own preferences overwriting the former. I opted to require entering first and last name in separate fields, thus shifting the burden onto submitters: if 'von' (for example) was entered with the last name, the name got sorted with v's. But you may not have such a luxury if dealing with pre-existing data. Proper sorting in such an application is practically impossible since rules for sorting special characters vary from language to language, and database accepts only a single language specification for a field. So I resigned to the default international sorting of my programming environment using ascii for language in Valentina. This worked fine. My bigger problem turned out cleaning up user entries -- some people entered names all upper case, some all lower case, some mixed them incorrectly (typos like RObert). Some entered middle name or initial with last name (but some last names had 2-3 words -- without hyphenation -- to make things more complicated). It is amazing how complicated the name business is and how inconsistent users can be when entering data. Good luck. Robert Robert From sunshine at public.kherson.ua Wed Sep 22 00:30:09 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Tue Sep 21 16:30:41 2004 Subject: Sorting compound names In-Reply-To: Message-ID: On 9/20/04 6:08 PM, "jda" wrote: > The method route won't work, because the Valentina functions aren't > robust enough to handle what needs to be done (e.g. multiple words to > ignore, multiple names in a field, etc.). The tmp table method I > outlined before will work though, I think. > > I agree with your point about inconsistencies between languages, > regions, etc. My application is international, and is used by folks > from the US to Europe to Asia. > > I would offer "German/Dutch/whatever" sorting as an option the user > can set a runtime. It will basically ask what words are to be ignored > when sorting records by name, so it's generic. I imagine most users > will not want it. But for those who do (i.e. the non-anglophilic > person you quoted above) it should suffice. What wonder me. That user have blame you that you do not like German. Does exists German apps which can do this task? May be some of them open sources? Then you can study how -- 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 jda at his.com Tue Sep 21 17:39:15 2004 From: jda at his.com (jda) Date: Tue Sep 21 16:39:40 2004 Subject: Sorting compound names In-Reply-To: References: Message-ID: > >What wonder me. > >That user have blame you that you do not like German. I'm just an imperialist American! :-> > >Does exists German apps which can do this task? > >May be some of them open sources? > >Then you can study how > > What these folks want is the ability to alter record sorting so that it ignores prefixes in surnames. This is apparently standard in German, Swedish, Dutch, and no doubt other languages. I don't know of open source dbs that do this, but as I said, EndNote (a competitor of mine) lets you create a list of words that are to be ignored when sorting names (e.g. von, van, de, etc.). Papyrus (a now defunct ex-competitor) allows "German sorting rules", which did much the same. This approach, to provide this sort of sort as an option, should satisfy most folks who want this feature I think. I'll be trying the tmp table approach to see if I can do just this. Given how fast Valentina is, I think performance will probably just fine (most sorts will be on less than 200 records). Jon From jda at his.com Tue Sep 21 19:17:43 2004 From: jda at his.com (jda) Date: Tue Sep 21 18:18:07 2004 Subject: Sorting compound names In-Reply-To: References: Message-ID: >I'll be trying the tmp table approach to see if I can do just this. >Given how fast Valentina is, I think performance will probably just >fine (most sorts will be on less than 200 records). > Hm, this is turning out to be more involved than I had hoped...Ruslan, let me ask more about the possible method approach that Francois suggested. Can you have more than one search/replace per method? And can you have a method in a loop? For example, can I replace every occurrence of "van", "von", and "de" in a field with a method? I don't think so, but I thought I'd ask... Jon From sunshine at public.kherson.ua Wed Sep 22 08:24:42 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Sep 22 00:24:50 2004 Subject: Sorting compound names In-Reply-To: Message-ID: On 9/22/04 12:39 AM, "jda" wrote: > What these folks want is the ability to alter record sorting so that > it ignores prefixes in surnames. This is apparently standard in > German, Swedish, Dutch, and no doubt other languages. > > I don't know of open source dbs that do this, but as I said, EndNote > (a competitor of mine) lets you create a list of words that are to be > ignored when sorting names (e.g. von, van, de, etc.). Papyrus (a now > defunct ex-competitor) allows "German sorting rules", which did much > the same. This approach, to provide this sort of sort as an option, > should satisfy most folks who want this feature I think. Look, We can try implement in 2.0 for fields with IndexByWords The option 1) min length of words to index e.g. 3 then words: and or a the will not go into index at all 2) List of ignore words. So if record is von XXXXXX Then into index will go only XXXX part. > I'll be trying the tmp table approach to see if I can do just this. > Given how fast Valentina is, I think performance will probably just > fine (most sorts will be on less than 200 records). -- 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 Sep 22 08:33:46 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Sep 22 00:33:52 2004 Subject: Sorting compound names In-Reply-To: Message-ID: On 9/22/04 2:17 AM, "jda" wrote: >> I'll be trying the tmp table approach to see if I can do just this. >> Given how fast Valentina is, I think performance will probably just >> fine (most sorts will be on less than 200 records). >> > > Hm, this is turning out to be more involved than I had > hoped...Ruslan, let me ask more about the possible method approach > that Francois suggested. Can you have more than one search/replace > per method? And can you have a method in a loop? For example, can I > replace every occurrence of "van", "von", and "de" in a field with a > method? I don't think so, but I thought I'd ask... About REPLACE ALL. We will check if we can do this right now. if no, then this is not problem to implement. -- 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 Sep 22 09:09:33 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Sep 22 01:10:58 2004 Subject: DRAFT of specification if Indexing By words for strings. Message-ID: Hello all, After jda letters, I have start to think in this direction. This is my thoughts. * We must be able for any Index_String assign additional optional parameters. IgnoreLength -- integer value, words with such length and less will be ignored by index. IgnoreWords -- some internal list of User-defined words which must be ignored by this index. * At first I was going to implement this as features of Index itself. but I have ask self, where must be stored ListOfWords ? and how. it is obvious that it cannot be in the .ind file. it must be in the .vdb file. So now we know WHERE it must be. * But then this "feature of index" become declarative feature. it is separated from index itself. (!) it becomes feature of a field actually. * if expand mind more, it is possible to see developer can have cases when few fields, may be even from different tables, should ignore the same words. then we come to next idea: - above 2 parameters must construct new abstraction: IndexStrPrefs - this must be feature of database level. - it must have own unique name. - we will assign a specific IndexStrPrefs to a field by name. * So we should have something as: class IndexStrPrefs db.CreateIndexStrPrefs( name ) // error: name not unique IndexStrPrefs.name IndexStrPrefs.IgnoreLength IndexStrPrefs.IgnoreWordsCount IndexStrPrefs.AddWord( String ) IndexStrPrefs.DeleteWord( String ) IndexStrPrefs.DeleteAllWords Vstring.UseIndexPrefs( prefsName ) * after changes of prefs, EXISTED index must be rebuild. * also it needs to invent how to store this in the .vdb file. I do not like idea of putting this into system tables. it can blow out number of records. Aha, no. we will make new element, and words we will store into ValueText field. in the format aaa bbbb ccc dddd eeee ... Looks to be very flexible. And in future we will be able extend number of options of parameters of IndexStrPrefs. -- 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 robelko.com Wed Sep 22 11:59:54 2004 From: rjb at robelko.com (Robert Brenstein) Date: Wed Sep 22 05:06:18 2004 Subject: Sorting compound names In-Reply-To: References: Message-ID: >On 9/22/04 12:39 AM, "jda" wrote: > >> What these folks want is the ability to alter record sorting so that >> it ignores prefixes in surnames. This is apparently standard in >> German, Swedish, Dutch, and no doubt other languages. >> >> I don't know of open source dbs that do this, but as I said, EndNote >> (a competitor of mine) lets you create a list of words that are to be >> ignored when sorting names (e.g. von, van, de, etc.). Papyrus (a now >> defunct ex-competitor) allows "German sorting rules", which did much >> the same. This approach, to provide this sort of sort as an option, >> should satisfy most folks who want this feature I think. > >Look, > >We can try implement in 2.0 for fields with IndexByWords >The option > >1) min length of words to index > > e.g. 3 > > then words: and or a the > will not go into index at all This option may be handy to have but may not be useful for Jon since 2- and 3-char last names are not so unusual. >2) List of ignore words. > >So if record is > > von XXXXXX > >Then into index will go only XXXX part. Nifty option. However, how will IndexByWords handle last names that are two words, like a) with hyphen: smith-barnes b) no hyphen: capistano moruende Robert From sunshine at public.kherson.ua Wed Sep 22 13:24:17 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Sep 22 05:24:28 2004 Subject: Sorting compound names In-Reply-To: Message-ID: On 9/22/04 12:59 PM, "Robert Brenstein" wrote: >> Then into index will go only XXXX part. > > Nifty option. However, how will IndexByWords handle last names that > are two words, like > > a) with hyphen: smith-barnes > b) no hyphen: capistano moruende But what difference? IF one of these words is inside of ingore list then we skip it. Hyphen always is skipped -- 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 robelko.com Wed Sep 22 12:33:15 2004 From: rjb at robelko.com (Robert Brenstein) Date: Wed Sep 22 05:45:41 2004 Subject: Sorting compound names In-Reply-To: References: Message-ID: >On 9/22/04 12:59 PM, "Robert Brenstein" wrote: > >>> Then into index will go only XXXX part. >> >> Nifty option. However, how will IndexByWords handle last names that >> are two words, like >> >> a) with hyphen: smith-barnes >> b) no hyphen: capistano moruende > >But what difference? > >IF one of these words is inside of ingore list then we skip it. >Hyphen always is skipped > I mean the sorting. If hyphen is skipped it means that both a and b are the same case of a last name with two words, right? Robert From sunshine at public.kherson.ua Wed Sep 22 14:33:16 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Sep 22 06:33:26 2004 Subject: Sorting compound names In-Reply-To: Message-ID: On 9/22/04 1:33 PM, "Robert Brenstein" wrote: >> On 9/22/04 12:59 PM, "Robert Brenstein" wrote: >> >>>> Then into index will go only XXXX part. >>> >>> Nifty option. However, how will IndexByWords handle last names that >>> are two words, like >>> >>> a) with hyphen: smith-barnes >>> b) no hyphen: capistano moruende >> >> But what difference? >> >> IF one of these words is inside of ingore list then we skip it. >> Hyphen always is skipped >> > > I mean the sorting. If hyphen is skipped it means that both a and b > are the same case of a last name with two words, right? Well, here important to note. Index By words -- cannot be sorted. I did think that if last names always have prefix Name Then if we ignore prefix then Name is the only word, And we get simple Index String, which we can sort. -- 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 robelko.com Wed Sep 22 14:21:19 2004 From: rjb at robelko.com (Robert Brenstein) Date: Wed Sep 22 07:25:27 2004 Subject: Sorting compound names In-Reply-To: References: Message-ID: >On 9/22/04 1:33 PM, "Robert Brenstein" wrote: > >>> On 9/22/04 12:59 PM, "Robert Brenstein" wrote: >>> >>>>> Then into index will go only XXXX part. >>>> >>>> Nifty option. However, how will IndexByWords handle last names that >>>> are two words, like >>>> >>>> a) with hyphen: smith-barnes >>>> b) no hyphen: capistano moruende >>> >>> But what difference? >>> >>> IF one of these words is inside of ingore list then we skip it. >>> Hyphen always is skipped >>> >> >> I mean the sorting. If hyphen is skipped it means that both a and b >> are the same case of a last name with two words, right? > >Well, here important to note. > >Index By words -- cannot be sorted. > >I did think that if last names always have > > prefix Name > >Then if we ignore prefix then Name is the only word, >And we get simple Index String, which we can sort. Names is a messy business. Also prefix can be multiple words (like in 'van der Waals') but that would not cause trouble as both can be excluded. Since Jon does not need to sort the whole database but only the subset selected by the user, he might be better of to build a sortable list in his environment, excluding the prefixes as specified, and sort them outside Valentina. At least this is what I am planning to do for the publication database I am preparing to work on myself. Robert From jda at his.com Wed Sep 22 08:55:04 2004 From: jda at his.com (jda) Date: Wed Sep 22 07:55:14 2004 Subject: Sorting compound names In-Reply-To: References: Message-ID: >>Well, here important to note. >> >>Index By words -- cannot be sorted. >> >>I did think that if last names always have >> >> prefix Name >> >>Then if we ignore prefix then Name is the only word, >>And we get simple Index String, which we can sort. > >Names is a messy business. Also prefix can be multiple words (like >in 'van der Waals') but that would not cause trouble as both can be >excluded. > >Since Jon does not need to sort the whole database but only the >subset selected by the user, he might be better of to build a >sortable list in his environment, excluding the prefixes as >specified, and sort them outside Valentina. > >At least this is what I am planning to do for the publication >database I am preparing to work on myself. > But as always, things are not as simple as they might appear. In sorting a list of records for a bibliography, one may want to sort first by author (with or without considering name prefixes) and then by date -- in fact, this is quite common. What I output is not just the names, but a whole citation (e.g. Brenstein, R (2004) Posts to the Valentina list. 45:1-3). Each element I have listed here (author, date, title, volume, pages, and more is kept in a different indexed field and assembled to yield the citation above). Being able to ignore words on a search would be cool, but what I need to do is to ignore them on a *sort*. For example, to yield this sort order (German sort, by author,date): von Allen, G (2003) Whatever. 2:34-35. Brenstein, R (2004) Posts to the Valentina list. 45:1-3 Note that von Allen sorts before Brenstein because von is ignored. So, Ruslan, if you are saying it would be possible to specify a list of words to ignore in a sort, that would do the trick. Jon From jda at his.com Wed Sep 22 09:00:15 2004 From: jda at his.com (jda) Date: Wed Sep 22 08:00:22 2004 Subject: DRAFT of specification if Indexing By words for strings. In-Reply-To: References: Message-ID: > > >* So we should have something as: > > class IndexStrPrefs > > db.CreateIndexStrPrefs( name ) // error: name not unique > > > IndexStrPrefs.name > IndexStrPrefs.IgnoreLength > IndexStrPrefs.IgnoreWordsCount > > IndexStrPrefs.AddWord( String ) > IndexStrPrefs.DeleteWord( String ) > IndexStrPrefs.DeleteAllWords > > > Vstring.UseIndexPrefs( prefsName ) > > > >* after changes of prefs, EXISTED index must be rebuild. > > >* also it needs to invent how to store this in the .vdb file. > I do not like idea of putting this into system tables. > it can blow out number of records. > > > Aha, no. > > we will make new element, and words we will store into ValueText field. > in the format > aaa bbbb ccc dddd eeee ... > > >Looks to be very flexible. And in future we will be able extend number of >options of parameters of IndexStrPrefs. > I think the ability to let developers specify certain index properties would be very powerful, and I'm sure that many other uses would be found for this (other than my issue about sorting). One minor point, since you would want this to be extensible, would be to name the methods something like this: .AddIgnoreWord, .DeleteIgnoreWord, and .DeleteAllIgnoreWords. Thanks for delving into this so much... Jon From sunshine at public.kherson.ua Wed Sep 22 16:01:28 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Sep 22 08:03:34 2004 Subject: Sorting compound names In-Reply-To: Message-ID: On 9/22/04 3:55 PM, "jda" wrote: > In sorting a list of records for a bibliography, one may want to sort > first by author (with or without considering name prefixes) and then > by date -- in fact, this is quite common. What I output is not just > the names, but a whole citation (e.g. Brenstein, R (2004) Posts to > the Valentina list. 45:1-3). Each element I have listed here (author, > date, title, volume, pages, and more is kept in a different indexed > field and assembled to yield the citation above). > > Being able to ignore words on a search would be cool, but what I need > to do is to ignore them on a *sort*. For example, to yield this sort > order (German sort, by author,date): > > von Allen, G (2003) Whatever. 2:34-35. > > Brenstein, R (2004) Posts to the Valentina list. 45:1-3 This is value of ONE field ???? If yes -- problems If no, then what is in lastName here? > Note that von Allen sorts before Brenstein because von is ignored. > > So, Ruslan, if you are saying it would be possible to specify a list > of words to ignore in a sort, that would do the trick. -- 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 Sep 22 16:16:49 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Sep 22 08:19:03 2004 Subject: DRAFT of specification if Indexing By words for strings. In-Reply-To: Message-ID: On 9/22/04 4:00 PM, "jda" wrote: >> >> >> * So we should have something as: >> >> class IndexStrPrefs >> >> db.CreateIndexStrPrefs( name ) // error: name not unique >> >> >> IndexStrPrefs.name >> IndexStrPrefs.IgnoreLength >> IndexStrPrefs.IgnoreWordsCount >> >> IndexStrPrefs.AddWord( String ) >> IndexStrPrefs.DeleteWord( String ) >> IndexStrPrefs.DeleteAllWords >> >> >> Vstring.UseIndexPrefs( prefsName ) >> >> >> >> * after changes of prefs, EXISTED index must be rebuild. >> >> >> * also it needs to invent how to store this in the .vdb file. >> I do not like idea of putting this into system tables. >> it can blow out number of records. >> >> >> Aha, no. >> >> we will make new element, and words we will store into ValueText field. >> in the format >> aaa bbbb ccc dddd eeee ... >> >> >> Looks to be very flexible. And in future we will be able extend number of >> options of parameters of IndexStrPrefs. >> > > I think the ability to let developers specify certain index > properties would be very powerful, and I'm sure that many other uses > would be found for this (other than my issue about sorting). One > minor point, since you would want this to be extensible, would be to > name the methods something like this: .AddIgnoreWord, > .DeleteIgnoreWord, and .DeleteAllIgnoreWords. ok > Thanks for delving into this so much... We have plan this in any case for 2.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 jda at his.com Wed Sep 22 09:23:18 2004 From: jda at his.com (jda) Date: Wed Sep 22 08:23:27 2004 Subject: Sorting compound names In-Reply-To: References: Message-ID: > > In sorting a list of records for a bibliography, one may want to sort >> first by author (with or without considering name prefixes) and then >> by date -- in fact, this is quite common. What I output is not just >> the names, but a whole citation (e.g. Brenstein, R (2004) Posts to > > the Valentina list. 45:1-3). Each element I have listed here (author, >> date, title, volume, pages, and more is kept in a different indexed > > field and assembled to yield the citation above). >> >> Being able to ignore words on a search would be cool, but what I need >> to do is to ignore them on a *sort*. For example, to yield this sort >> order (German sort, by author,date): >> >> von Allen, G (2003) Whatever. 2:34-35. >> >> Brenstein, R (2004) Posts to the Valentina list. 45:1-3 > >This is value of ONE field ???? > >If yes -- problems > >If no, then what is in lastName here? > No, Ruslan. I wrote: >" Each element I have listed here (author, >> date, title, volume, pages, and more is kept in a different indexed > field and assembled to yield the citation above). The authors field of *one* record might be Zasukhin, R Brenstein, R von Abel, GE The the authors of this record will be compared to the authors of every other record. In this particular instance, I would want this record to sort *before* another record with these authors: Zasukhin, R Brenstein, R Bethany, D Jon From sunshine at public.kherson.ua Wed Sep 22 16:32:43 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Sep 22 08:38:30 2004 Subject: DRAFT of specification if Indexing By words for strings. In-Reply-To: Message-ID: On 9/22/04 4:16 PM, "Ruslan Zasukhin" wrote: >> I think the ability to let developers specify certain index >> properties would be very powerful, and I'm sure that many other uses >> would be found for this (other than my issue about sorting). One >> minor point, since you would want this to be extensible, would be to >> name the methods something like this: .AddIgnoreWord, >> .DeleteIgnoreWord, and .DeleteAllIgnoreWords. This is what I have made in C++ /** If some Vstring or VarChar or VText field has option IndexByWords is TRUE, then this class can specify additional parameters for its index. This parameters allow to developer/user better control the full text indexing. This parameters have no affect if option IndexByWords is FALSE. */ interface I_IndexStrPrefs : public I_Unknown { // --------------------- // Construction: virtual ~I_IndexStrPrefs( void ) {} // --------------------- // Properties: // //! returns the name of this object. virtual const String& get_Name( void ) const throw() = 0; //! @error NameNotUnique. virtual void put_Name( const String& inNewName ) = 0; // //! All words with length less or equal to this length //! will be ignored by String Index with ByWords option. virtual ulong get_IgnoreLength( void ) const throw() = 0; virtual void put_IgnoreLength( ulong inValue ) throw() = 0; // [r/o] virtual ulong get_IgnoreWordsCount( void ) const throw() = 0; // [r/w] virtual bool get_IsIgnoreWord( String& inWord ); // --------------------- // Methods: /** Add the specified word to the list IgnoreWords. @param inWord a word you want to add to the list. */ virtual void AddIgnoreWord( String& inWord ) = 0; virtual void DeleteIgnoreWord( String& inWord ) = 0; virtual void DeleteAllIgnoreWords( void ) = 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 ------------------------------------------------------------- -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.macserve.net/pipermail/valentina-beta/attachments/20040922/fb111f69/attachment-0001.html From AYU8 at CDC.GOV Wed Sep 22 09:36:39 2004 From: AYU8 at CDC.GOV (Sims, John) Date: Wed Sep 22 08:39:34 2004 Subject: DRAFT of specification if Indexing By words for strings. Message-ID: Hi Ruslan, > >> * So we should have something as: > >> > >> class IndexStrPrefs > >> > >> db.CreateIndexStrPrefs( name ) // error: name not unique > >> > >> > >> IndexStrPrefs.name > >> IndexStrPrefs.IgnoreLength > >> IndexStrPrefs.IgnoreWordsCount > >> > >> IndexStrPrefs.AddWord( String ) > >> IndexStrPrefs.DeleteWord( String ) > >> IndexStrPrefs.DeleteAllWords > >> > >> > >> Vstring.UseIndexPrefs( prefsName ) > >> If I am understanding your concept correctly, I think we should also have Vstring.UseIndexPrefs( inPrefsName() AS String ) So that we can pass multiple IndexStrPrefs. For example, if I create 3 IndexStrPrefs: IndexStrPrefs.Name = "One" :: Words to ignore = "a;an;the" IndexStrPrefs.Name = "Two" :: Words to ignore = "von;van;van der" IndexStrPrefs.Name = "Three" :: Words to ignore = "and;or;but" It would be nice to be able to say: myVstring1.UseIndexPrefs("One") => Ignores "a;an;the" myVstring2.UseIndexPrefs("Two") => Ignores "von;van;van der" dim strPrefs(2) as string strPrefs(0) = "One" strPrefs(1) = "Two" strPrefs(2) = "Three" myVstring3.UseIndexPrefs( strPrefs ) => Ignores "a;an;the;von;van;van der;and;or;but" I hope I made sense. As always, thank you for letting us contribute our ideas and keep up the great work! -John From jda at his.com Wed Sep 22 09:41:23 2004 From: jda at his.com (jda) Date: Wed Sep 22 08:41:31 2004 Subject: DRAFT of specification if Indexing By words for strings. In-Reply-To: References: Message-ID: >On 9/22/04 4:16 PM, "Ruslan Zasukhin" wrote: > >>> I think the ability to let developers specify certain index >>> properties would be very powerful, and I'm sure that many other uses >>> would be found for this (other than my issue about sorting). One >>> minor point, since you would want this to be extensible, would be to >>> name the methods something like this: .AddIgnoreWord, >>> .DeleteIgnoreWord, and .DeleteAllIgnoreWords. > >This is what I have made in C++ > >/** > If some Vstring or VarChar or VText field has option IndexByWords is TRUE, > then this class can specify additional parameters for its index. > This parameters allow to developer/user better control the full >text indexing. > > This parameters have no affect if option IndexByWords is FALSE. >*/ Hm, but since you can't sort on an indexbywords, those won't help with the sorting issue, will it? To sort a field you need to simply have an index, and in that case can't use the ignore words feature. What am I missing? Jon From rjb at robelko.com Wed Sep 22 15:55:32 2004 From: rjb at robelko.com (Robert Brenstein) Date: Wed Sep 22 09:05:21 2004 Subject: Sorting compound names In-Reply-To: References: Message-ID: >In sorting a list of records for a bibliography, one may want to >sort first by author (with or without considering name prefixes) and >then by date -- in fact, this is quite common. What I output is not >just the names, but a whole citation (e.g. Brenstein, R (2004) Posts >to the Valentina list. 45:1-3). Each element I have listed here >(author, date, title, volume, pages, and more is kept in a different >indexed field and assembled to yield the citation above). This is exactly what I am talking about. You call it bibliography. I call publications. Others call it litrefs (literature references). Same thing in reality. > >The authors field of *one* record might be > >Zasukhin, R >Brenstein, R >von Abel, GE > >The the authors of this record will be compared to the authors of >every other record. In this particular instance, I would want this >record to sort *before* another record with these authors: > >Zasukhin, R >Brenstein, R >Bethany, D > >Jon I don't think valentina can do this type of stuff for you. Too much logic involved with multiple-level hierarchy. I think you need to roll your own functions. As I said, this is what I am planning. More examples of interesting names that affect sorting van der Waals, H Brenstein-Smith, E Capistani Macuendo, RH Macuendo Macuendo, GT And then some last names are common enough that sorting the first names (initials) will need to come in play as well. Robert From sunshine at public.kherson.ua Wed Sep 22 17:17:04 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Sep 22 09:17:46 2004 Subject: Sorting compound names // mistake! In-Reply-To: Message-ID: On 9/22/04 4:23 PM, "jda" wrote: > The authors field of *one* record might be > > Zasukhin, R > Brenstein, R > von Abel, GE Jon, This is bad design of database! You must have separate table "Authors". You must split above one record into 3 records of that table. This is MUST TO DO !!! I can image this make your life more complex, but it is correct way. Author : Books is M : M Btw, this is excellent case for new Valentina's feature BinaryLink. -- 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 jda at his.com Wed Sep 22 10:18:17 2004 From: jda at his.com (jda) Date: Wed Sep 22 09:18:25 2004 Subject: Sorting compound names In-Reply-To: References: Message-ID: >>The authors field of *one* record might be >> >>Zasukhin, R >>Brenstein, R >>von Abel, GE >> >>The the authors of this record will be compared to the authors of >>every other record. In this particular instance, I would want this >>record to sort *before* another record with these authors: >> >>Zasukhin, R >>Brenstein, R >>Bethany, D >> >>Jon > >I don't think valentina can do this type of stuff for you. Too much >logic involved with multiple-level hierarchy. I think you need to >roll your own functions. As I said, this is what I am planning. Actually, the only logic needed above is to ignore "von ". Then the sort will work as my German/Swedish/Dutch users would like. Valentina 1.x can't do it, but perhaps the new ignorewords list in 2.x can do just this (if one can apply it to indexed fields, not just indexedByWords). > >More examples of interesting names that affect sorting > >van der Waals, H >Brenstein-Smith, E >Capistani Macuendo, RH >Macuendo Macuendo, GT > >And then some last names are common enough that sorting the first >names (initials) will need to come in play as well. > In my case, sorting by the initials will come into play frequently. As Erik has pointed out, there are simply too many different rules (and exceptions to the rules) to make a universal sorting algorithm that will satisfy everyone. But the ability to ignore certain words, as an option, will satisfy at least one group... Jon From sunshine at public.kherson.ua Wed Sep 22 17:18:02 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Sep 22 09:19:36 2004 Subject: Sorting compound names // sense In-Reply-To: Message-ID: On 9/22/04 4:23 PM, "jda" wrote: > The authors field of *one* record might be > > Zasukhin, R > Brenstein, R > von Abel, GE > > The the authors of this record will be compared to the authors of > every other record. In this particular instance, I would want this > record to sort *before* another record with these authors: > > Zasukhin, R > Brenstein, R > Bethany, D In fact it is very very strange to me SORT IN THIS WAY. It looks to me useless as useless to sort email letters by their context. -- 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 Sep 22 17:20:33 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Sep 22 09:22:33 2004 Subject: DRAFT of specification if Indexing By words for strings. In-Reply-To: Message-ID: On 9/22/04 4:36 PM, "Sims, John" wrote: Hi John, >>>> Vstring.UseIndexPrefs( prefsName ) >>>> > > If I am understanding your concept correctly, I think we should also > have > > Vstring.UseIndexPrefs( inPrefsName() AS String ) > > So that we can pass multiple IndexStrPrefs. > > For example, if I create 3 IndexStrPrefs: > > IndexStrPrefs.Name = "One" :: Words to ignore = "a;an;the" > IndexStrPrefs.Name = "Two" :: Words to ignore = "von;van;van der" > IndexStrPrefs.Name = "Three" :: Words to ignore = "and;or;but" > > It would be nice to be able to say: > > myVstring1.UseIndexPrefs("One") => Ignores "a;an;the" > myVstring2.UseIndexPrefs("Two") => Ignores "von;van;van der" > > dim strPrefs(2) as string > strPrefs(0) = "One" > strPrefs(1) = "Two" > strPrefs(2) = "Three" > > myVstring3.UseIndexPrefs( strPrefs ) => Ignores > "a;an;the;von;van;van der;and;or;but" > > I hope I made sense. Very good point. Hmm, follow this, we can think about inheritance of lists. But better no. Better combination as you point... Although what to do if combined Prefs have different IngoreLength ? > As always, thank you for letting us contribute our ideas and keep up the > great work! Ok, so we have more hard work 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 Sep 22 17:22:47 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Sep 22 09:26:03 2004 Subject: DRAFT of specification if Indexing By words for strings. In-Reply-To: Message-ID: On 9/22/04 4:41 PM, "jda" wrote: >>>> I think the ability to let developers specify certain index >>>> properties would be very powerful, and I'm sure that many other uses >>>> would be found for this (other than my issue about sorting). One >>>> minor point, since you would want this to be extensible, would be to >>>> name the methods something like this: .AddIgnoreWord, >>>> .DeleteIgnoreWord, and .DeleteAllIgnoreWords. >> >> This is what I have made in C++ >> >> /** >> If some Vstring or VarChar or VText field has option IndexByWords is >> TRUE, >> then this class can specify additional parameters for its index. >> This parameters allow to developer/user better control the full >> text indexing. >> >> This parameters have no affect if option IndexByWords is FALSE. >> */ > > Hm, but since you can't sort on an indexbywords, those won't help > with the sorting issue, will it? In YOUR task it seems no. > To sort a field you need to simply have an index, and in that case can't use > the ignore words feature. What am I missing? You are right. Just we did plan feature as I have describe it. In your case it looks solution is * REPLACE for many entries * BaseObject method field and its index. So you need way to create such BaseObject method, which can prepare correct string for 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 Wed Sep 22 17:24:27 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Sep 22 09:27:19 2004 Subject: Sorting compound names In-Reply-To: Message-ID: On 9/22/04 5:18 PM, "jda" wrote: >>> The authors field of *one* record might be >>> >>> Zasukhin, R >>> Brenstein, R >>> von Abel, GE >>> >>> The the authors of this record will be compared to the authors of >>> every other record. In this particular instance, I would want this >>> record to sort *before* another record with these authors: >>> >>> Zasukhin, R >>> Brenstein, R >>> Bethany, D >>> >>> Jon >> >> I don't think valentina can do this type of stuff for you. Too much >> logic involved with multiple-level hierarchy. I think you need to >> roll your own functions. As I said, this is what I am planning. > > Actually, the only logic needed above is to ignore "von ". Then the > sort will work as my German/Swedish/Dutch users would like. > > Valentina 1.x can't do it, but perhaps the new ignorewords list in > 2.x can do just this (if one can apply it to indexed fields, not just > indexedByWords). I think you simply need ReplaceAll() function to be used in 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 jda at his.com Wed Sep 22 10:27:44 2004 From: jda at his.com (jda) Date: Wed Sep 22 09:27:50 2004 Subject: Sorting compound names // sense In-Reply-To: References: Message-ID: >On 9/22/04 4:23 PM, "jda" wrote: > >> The authors field of *one* record might be >> >> Zasukhin, R >> Brenstein, R >> von Abel, GE >> >> The the authors of this record will be compared to the authors of >> every other record. In this particular instance, I would want this >> record to sort *before* another record with these authors: >> >> Zasukhin, R >> Brenstein, R >> Bethany, D > > >In fact it is very very strange to me SORT IN THIS WAY. > >It looks to me useless as useless to sort email letters by their context. > No, no, no. Rules for sorting in German/Swedish/Dutch are not the same as English. They don't treat the "von" as part of the last name. I don't make these rules, Ruslan, they are simply the custom. Do not forget, the results of the search/sort will be a bibliographic list, like this: 1. Zasukhin, R, Brenstein, R, von Abel, GE (2004). A title. 23:23-24. 2. Zasukhin, R, Brenstein, R, Bethany, D (2002). Another title. 2:145-160. 3. Etc. Jon From jda at his.com Wed Sep 22 10:28:32 2004 From: jda at his.com (jda) Date: Wed Sep 22 09:28:36 2004 Subject: Sorting compound names // mistake! In-Reply-To: References: Message-ID: >On 9/22/04 4:23 PM, "jda" wrote: > >> The authors field of *one* record might be >> >> Zasukhin, R >> Brenstein, R >> von Abel, GE > >Jon, > >This is bad design of database! > >You must have separate table "Authors". >You must split above one record into 3 records of that table. > >This is MUST TO DO !!! > > >I can image this make your life more complex, but it is correct way. > > Author : Books is M : M > >Btw, this is excellent case for new Valentina's feature BinaryLink. > Perhaps, but too late to change it now! I chose to make a flat file database rather than a relational one years ago, and it works well for my purposes. If I were starting from scratch perhaps I would do things differently, but... Jon From sunshine at public.kherson.ua Wed Sep 22 17:37:42 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Sep 22 09:38:01 2004 Subject: Sorting compound names // sense In-Reply-To: Message-ID: On 9/22/04 5:27 PM, "jda" wrote: >> On 9/22/04 4:23 PM, "jda" wrote: >> >>> The authors field of *one* record might be >>> >>> Zasukhin, R >>> Brenstein, R >>> von Abel, GE >>> >>> The the authors of this record will be compared to the authors of >>> every other record. In this particular instance, I would want this >>> record to sort *before* another record with these authors: >>> >>> Zasukhin, R >>> Brenstein, R >>> Bethany, D >> >> >> In fact it is very very strange to me SORT IN THIS WAY. >> >> It looks to me useless as useless to sort email letters by their context. >> > > No, no, no. > > Rules for sorting in German/Swedish/Dutch are not the same as > English. They don't treat the "von" as part of the last name. I don't > make these rules, Ruslan, they are simply the custom. Do not forget, > the results of the search/sort will be a bibliographic list, like > this: > > 1. Zasukhin, R, Brenstein, R, von Abel, GE (2004). A title. 23:23-24. > > 2. Zasukhin, R, Brenstein, R, Bethany, D (2002). Another title. 2:145-160. > > 3. Etc. You have not understand me. I talk not about rules. I talk that I do not see many sense sort on field Authors at all !!! Because as I see it can have 1 or more authors. I do not see it than more that you even not try sort authors inside of record. By your logic Zasukhin, R, Brenstein, R, and Brenstein, R, Zasukhin, R, Will be located in different places of sorted list. But they keep the same information. IF you sort both at first, then they will be together. But EVEN IF you will sort authors inside of record, I do not see sense to sort records by this field. Let you have Brenstein, R, Zasukhin, R, And Abel Brenstein, R, Again these 2 records will be in different places. But how it helps me as to user ?????????? People usually sort something to be able read in sorted order. But in your case THERE IS NO order for 'Brenstein'. There is no order for any second, third, ... authors. You see? Useless. Nobody will get from this any sense and any help! -- 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 jda at his.com Wed Sep 22 10:38:21 2004 From: jda at his.com (jda) Date: Wed Sep 22 09:38:28 2004 Subject: DRAFT of specification if Indexing By words for strings. In-Reply-To: References: Message-ID: > > >> To sort a field you need to simply have an index, and in that case can't use >> the ignore words feature. What am I missing? > >You are right. > >Just we did plan feature as I have describe it. > > >In your case it looks solution is > * REPLACE for many entries > * BaseObject method field and its index. > >So you need way to create such BaseObject method, which can prepare correct >string for index. > Right. And that will be possible in 2.x? Jon From sunshine at public.kherson.ua Wed Sep 22 17:41:30 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Sep 22 09:41:46 2004 Subject: DRAFT of specification if Indexing By words for strings. In-Reply-To: Message-ID: On 9/22/04 5:38 PM, "jda" wrote: >>> To sort a field you need to simply have an index, and in that case can't >>> use >>> the ignore words feature. What am I missing? >> >> You are right. >> >> Just we did plan feature as I have describe it. >> >> >> In your case it looks solution is >> * REPLACE for many entries >> * BaseObject method field and its index. >> >> So you need way to create such BaseObject method, which can prepare correct >> string for index. >> > > Right. And that will be possible in 2.x? We need simply make ReplaceAll() for you :-) Btw, guys, if somebody have need in some other functions, Please tell us. We already have made many new. We need ASAP make at list short list of them in 2.0 So you can check 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 jda at his.com Wed Sep 22 10:43:23 2004 From: jda at his.com (jda) Date: Wed Sep 22 09:43:30 2004 Subject: Sorting compound names // sense In-Reply-To: References: Message-ID: > > > 1. Zasukhin, R, Brenstein, R, von Abel, GE (2004). A title. 23:23-24. >> >> 2. Zasukhin, R, Brenstein, R, Bethany, D (2002). Another title. 2:145-160. >> >> 3. Etc. > >You have not understand me. >I talk not about rules. > >I talk that I do not see many sense sort on field Authors at all !!! >Because as I see it can have 1 or more authors. > >I do not see it than more that you even not try sort authors inside of >record. > >By your logic > > Zasukhin, R, > Brenstein, R, > >and > > Brenstein, R, > Zasukhin, R, > >Will be located in different places of sorted list. That is correct! That is exactly how it should be! > >But they keep the same information. >IF you sort both at first, then they will be together. > >But EVEN IF you will sort authors inside of record, >I do not see sense to sort records by this field. > >Let you have > > Brenstein, R, > Zasukhin, R, > >And > > Abel > Brenstein, R, > > >Again these 2 records will be in different places. >But how it helps me as to user ?????????? It is not for "users". It is for published articles, books, etc.. That is how alphabetized references are listed in bibliographies, Ruslan. Look at the bibliography in any alphabetized scientific article, book, or other publication. If you would like me to explain why, this is so, I'd be happy to off-list. Trust me, Ruslan, I know what I am doing. :-> Jon From jda at his.com Wed Sep 22 10:45:15 2004 From: jda at his.com (jda) Date: Wed Sep 22 09:45:20 2004 Subject: DRAFT of specification if Indexing By words for strings. In-Reply-To: References: Message-ID: > > >> >>> In your case it looks solution is >>> * REPLACE for many entries >>> * BaseObject method field and its index. >>> >>> So you need way to create such BaseObject method, which can prepare correct >>> string for index. >>> >> >> Right. And that will be possible in 2.x? > >We need simply make ReplaceAll() for you :-) > :-> Can you show us an example of how such a method would look with many different words that need to be ignored? I can only figure out how to do it for one. And if the field is indexed as case-insensitive, will the replaceAll be case insensitive, too? Jon From AYU8 at CDC.GOV Wed Sep 22 11:09:30 2004 From: AYU8 at CDC.GOV (Sims, John) Date: Wed Sep 22 10:09:53 2004 Subject: DRAFT of specification if Indexing By words for strings. Message-ID: Hi Ruslan, > > Hi John, > > >>>> Vstring.UseIndexPrefs( prefsName ) > >>>> > > > > If I am understanding your concept correctly, I think we > should also > > have > > > > Vstring.UseIndexPrefs( inPrefsName() AS String ) > > > > So that we can pass multiple IndexStrPrefs. > > > > For example, if I create 3 IndexStrPrefs: > > > > IndexStrPrefs.Name = "One" :: Words to ignore = "a;an;the" > > IndexStrPrefs.Name = "Two" :: Words to ignore = "von;van;van der" > > IndexStrPrefs.Name = "Three" :: Words to ignore = "and;or;but" > > > > It would be nice to be able to say: > > > > myVstring1.UseIndexPrefs("One") => Ignores "a;an;the" > > myVstring2.UseIndexPrefs("Two") => Ignores "von;van;van der" > > > > dim strPrefs(2) as string > > strPrefs(0) = "One" > > strPrefs(1) = "Two" > > strPrefs(2) = "Three" > > > > myVstring3.UseIndexPrefs( strPrefs ) => Ignores > "a;an;the;von;van;van > > der;and;or;but" > > > > I hope I made sense. > > Very good point. > > Hmm, follow this, we can think about inheritance of lists. > But better no. > > Better combination as you point... > > Although what to do if combined Prefs have different IngoreLength ? > > > > > As always, thank you for letting us contribute our ideas > and keep up > > the great work! > > Ok, so we have more hard work now :-) I also saw the possibility of different ignore lengths as a problem but wanted to tell you my idea while this concept is still in the early stages. Perhaps you should place this responsibility on the developer to use combinations of IndexStrPrefs in ways that make sense and set the rules as something like the following: If combining 2 or more IndexStrPrefs and any of them have IgnoreLength > 0, then you use the largest ignore length. If any of them have words to ignore, then those words are ignored in addition to words that fall under the IgnoreLength. This could be quite powerful. For example: Prefs1.Name = "SingleLetters" :: IgnoreLength = 1 Prefs2.Name = "LittleWords" :: IgnoreLength = 2 Prefs3.Name = "Colors" :: Words to ignore = "red;blue;green;yellow;orange;purple;white;black" Dim myPrefs(2) as string myPrefs(0) = "SingleLetters" myPrefs(1) = "LittleWords" myPrefs(2) = "Colors" myVstring.UseIndexPrefs ( myPrefs ) :: would ignore any words with length <= 2 and the words "red;blue;green;yellow;orange;purple;white;black" ---- Notice that the "SingleLetters" IndexStrPref does not really have any affect because it is "overridden" by the "LittleWords" IndexStrPref due to its larger IgnoreLength. So, I as a developer should be smart enough to realize the I do not need to include "SingleLetters" in my IndexStrPrefs array. The correct call would be: Dim myPrefs(1) as string myPrefs(0) = "LittleWords" myPrefs(1) = "Colors" myVstring.UseIndexPrefs ( myPrefs ) Again, I hope I'm making good sense. -John PS. Sorry for helping you create more work for yourself :-) From sunshine at public.kherson.ua Wed Sep 22 18:22:10 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Sep 22 10:22:20 2004 Subject: DRAFT of specification if Indexing By words for strings. In-Reply-To: Message-ID: On 9/22/04 5:45 PM, "jda" wrote: >> >>>> >>>> In your case it looks solution is >>>> * REPLACE for many entries >>>> * BaseObject method field and its index. >>>> >>>> So you need way to create such BaseObject method, which can prepare >>>> correct >>>> string for index. >>>> >>> >>> Right. And that will be possible in 2.x? >> >> We need simply make ReplaceAll() for you :-) >> > > :-> > > Can you show us an example of how such a method would look with many > different words that need to be ignored? I can only figure out how to > do it for one. I see few ways: * you use nested calls. * more effective of course send few words in the same time. You know, may be for you task the best is DeleteAll( s, [von, va] ) > And if the field is indexed as case-insensitive, will the replaceAll > be case insensitive, too? Why not? -- 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 Sep 22 18:26:11 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Sep 22 10:26:25 2004 Subject: DRAFT of specification if Indexing By words for strings. In-Reply-To: Message-ID: On 9/22/04 6:09 PM, "Sims, John" wrote: >> Hmm, follow this, we can think about inheritance of lists. >> But better no. >> >> Better combination as you point... >> >> Although what to do if combined Prefs have different IngoreLength ? >> >> >> >>> As always, thank you for letting us contribute our ideas >> and keep up >>> the great work! >> >> Ok, so we have more hard work now :-) > > > I also saw the possibility of different ignore lengths as a problem but > wanted to tell you my idea while this concept is still in the early > stages. > > Perhaps you should place this responsibility on the developer to use > combinations of IndexStrPrefs in ways that make sense and set the rules > as something like the following: > > If combining 2 or more IndexStrPrefs and any of them have IgnoreLength > > 0, then you use the largest ignore length. If any of them have words to > ignore, then those words are ignored in addition to words that fall > under the IgnoreLength. This could be quite powerful. > > For example: > > Prefs1.Name = "SingleLetters" :: IgnoreLength = 1 > Prefs2.Name = "LittleWords" :: IgnoreLength = 2 > Prefs3.Name = "Colors" :: Words to ignore = > "red;blue;green;yellow;orange;purple;white;black" > > Dim myPrefs(2) as string > myPrefs(0) = "SingleLetters" > myPrefs(1) = "LittleWords" > myPrefs(2) = "Colors" > > myVstring.UseIndexPrefs ( myPrefs ) :: would ignore any words with > length <= 2 and the words > "red;blue;green;yellow;orange;purple;white;black" ---- Notice that the > "SingleLetters" IndexStrPref does not really have any affect because it > is "overridden" by the "LittleWords" IndexStrPref due to its larger > IgnoreLength. So, I as a developer should be smart enough to realize > the I do not need to include "SingleLetters" in my IndexStrPrefs array. > The correct call would be: > > Dim myPrefs(1) as string > myPrefs(0) = "LittleWords" > myPrefs(1) = "Colors" > > myVstring.UseIndexPrefs ( myPrefs ) > > Again, I hope I'm making good sense. I very like this !!! Thank you! We will try to implement this 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 Sep 22 18:27:20 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Sep 22 10:27:31 2004 Subject: Sorting compound names // sense In-Reply-To: Message-ID: On 9/22/04 5:43 PM, "jda" wrote: >> Again these 2 records will be in different places. >> But how it helps me as to user ?????????? > > It is not for "users". It is for published articles, books, etc.. > That is how alphabetized references are listed in bibliographies, > Ruslan. Look at the bibliography in any alphabetized scientific > article, book, or other publication. > > If you would like me to explain why, this is so, I'd be happy to off-list. > > Trust me, Ruslan, I know what I am doing. :-> Ok, I see point. Then we need solution for you -- 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 jda at his.com Wed Sep 22 11:29:19 2004 From: jda at his.com (jda) Date: Wed Sep 22 10:29:26 2004 Subject: DRAFT of specification if Indexing By words for strings. In-Reply-To: References: Message-ID: > >* more effective of course send few words in the same time. > >You know, may be for you task the best is > > DeleteAll( s, [von, va] ) Yes, that would be a great addition. But you'd probably want to make it more flexible by ReplaceAll( s, ["von ", "van "], "") > > >> And if the field is indexed as case-insensitive, will the replaceAll >> be case insensitive, too? > >Why not? > Perfect. Jon From sunshine at public.kherson.ua Wed Sep 22 18:33:52 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Sep 22 10:34:01 2004 Subject: DRAFT of specification if Indexing By words for strings. In-Reply-To: Message-ID: On 9/22/04 6:29 PM, "jda" wrote: >> * more effective of course send few words in the same time. >> >> You know, may be for you task the best is >> >> DeleteAll( s, [von, va] ) > > Yes, that would be a great addition. But you'd probably want to make > it more flexible by > > ReplaceAll( s, ["von ", "van "], "") What this means ? How I can map from left list to 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 AYU8 at CDC.GOV Wed Sep 22 11:30:56 2004 From: AYU8 at CDC.GOV (Sims, John) Date: Wed Sep 22 10:37:26 2004 Subject: DRAFT of specification if Indexing By words for strings. Message-ID: > > >> Hmm, follow this, we can think about inheritance of lists. > But better > >> no. > >> > >> Better combination as you point... > >> > >> Although what to do if combined Prefs have different IngoreLength ? > >> > >> > >> > >>> As always, thank you for letting us contribute our ideas > >> and keep up > >>> the great work! > >> > >> Ok, so we have more hard work now :-) > > > > > > I also saw the possibility of different ignore lengths as a problem > > but wanted to tell you my idea while this concept is still in the > > early stages. > > > > Perhaps you should place this responsibility on the > developer to use > > combinations of IndexStrPrefs in ways that make sense and set the > > rules as something like the following: > > > > If combining 2 or more IndexStrPrefs and any of them have > IgnoreLength > > > 0, then you use the largest ignore length. If any of them have > > words to ignore, then those words are ignored in addition to words > > that fall under the IgnoreLength. This could be quite powerful. > > > > For example: > > > > Prefs1.Name = "SingleLetters" :: IgnoreLength = 1 > > Prefs2.Name = "LittleWords" :: IgnoreLength = 2 > > Prefs3.Name = "Colors" :: Words to ignore = > > "red;blue;green;yellow;orange;purple;white;black" > > > > Dim myPrefs(2) as string > > myPrefs(0) = "SingleLetters" > > myPrefs(1) = "LittleWords" > > myPrefs(2) = "Colors" > > > > myVstring.UseIndexPrefs ( myPrefs ) :: would ignore any words with > > length <= 2 and the words > > "red;blue;green;yellow;orange;purple;white;black" ---- > Notice that the > > "SingleLetters" IndexStrPref does not really have any > affect because > > it is "overridden" by the "LittleWords" IndexStrPref due to > its larger > > IgnoreLength. So, I as a developer should be smart enough > to realize > > the I do not need to include "SingleLetters" in my IndexStrPrefs > > array. The correct call would be: > > > > Dim myPrefs(1) as string > > myPrefs(0) = "LittleWords" > > myPrefs(1) = "Colors" > > > > myVstring.UseIndexPrefs ( myPrefs ) > > > > Again, I hope I'm making good sense. > > > I very like this !!! > > Thank you! > > We will try to implement this now Glad I could help. I look forward to seeing this feature in action. -John From jda at his.com Wed Sep 22 11:37:20 2004 From: jda at his.com (jda) Date: Wed Sep 22 10:37:38 2004 Subject: DRAFT of specification if Indexing By words for strings. In-Reply-To: References: Message-ID: >On 9/22/04 6:29 PM, "jda" wrote: > >>> * more effective of course send few words in the same time. >>> >>> You know, may be for you task the best is >>> >>> DeleteAll( s, [von, va] ) >> >> Yes, that would be a great addition. But you'd probably want to make >> it more flexible by >> >> ReplaceAll( s, ["von ", "van "], "") > >What this means ? > >How I can map from left list to right ? > I'm not sure what you are getting at. All I was implying was that rather than a DeleteAll command (which can only remove characters), there be a ReplaceAll, and then one can effectively do a DeleteAll by replacing with an empty string, or can replace the word(s) to be eliminated with anything... Jon From rjb at robelko.com Wed Sep 22 18:46:12 2004 From: rjb at robelko.com (Robert Brenstein) Date: Wed Sep 22 11:47:00 2004 Subject: DRAFT of specification if Indexing By words for strings. In-Reply-To: References: Message-ID: >>On 9/22/04 6:29 PM, "jda" wrote: >> >>>> * more effective of course send few words in the same time. >>>> >>>> You know, may be for you task the best is >>>> DeleteAll( s, [von, va] ) >>> >>> Yes, that would be a great addition. But you'd probably want to make >>> it more flexible by >>> >>> ReplaceAll( s, ["von ", "van "], "") >> >>What this means ? >> >>How I can map from left list to right ? >> > >I'm not sure what you are getting at. All I was implying was that >rather than a DeleteAll command (which can only remove characters), >there be a ReplaceAll, and then one can effectively do a DeleteAll >by replacing with an empty string, or can replace the word(s) to be >eliminated with anything... > >Jon Ruslan, I think that Jon is proposing to have a replacement function instead of delete (delete is a special case of replacing with empty string after all). Since we are talking about working on words not string/substrings, may be the function names should be ReplaceAllWords DeleteAllWords Who know, may be later we get also generic replacement that works on arbitrary strings not full words. Robert From rjb at robelko.com Wed Sep 22 16:57:10 2004 From: rjb at robelko.com (Robert Brenstein) Date: Wed Sep 22 11:49:54 2004 Subject: Sorting compound names // sense In-Reply-To: References: Message-ID: > > >> Rules for sorting in German/Swedish/Dutch are not the same as >> English. They don't treat the "von" as part of the last name. I don't >> make these rules, Ruslan, they are simply the custom. Do not forget, >> the results of the search/sort will be a bibliographic list, like >> this: >> > > 1. Zasukhin, R, Brenstein, R, von Abel, GE (2004). A title. 23:23-24. >> >> 2. Zasukhin, R, Brenstein, R, Bethany, D (2002). Another title. 2:145-160. > > >> 3. Etc. > >You have not understand me. >I talk not about rules. > >I talk that I do not see many sense sort on field Authors at all !!! >Because as I see it can have 1 or more authors. > >I do not see it than more that you even not try sort authors inside of >record. > >By your logic > > Zasukhin, R, > Brenstein, R, > >and > > Brenstein, R, > Zasukhin, R, > >Will be located in different places of sorted list. > >But they keep the same information. >IF you sort both at first, then they will be together. > >But EVEN IF you will sort authors inside of record, >I do not see sense to sort records by this field. > >Let you have > > Brenstein, R, > Zasukhin, R, > >And > > Abel > Brenstein, R, > > >Again these 2 records will be in different places. >But how it helps me as to user ?????????? > >People usually sort something to be able read in sorted order. >But in your case THERE IS NO order for 'Brenstein'. > >There is no order for any second, third, ... authors. >You see? > >Useless. > >Nobody will get from this any sense and any help! > > > >-- >Best regards, >Ruslan Zasukhin [ I feel the need...the need for speed ] Actually, this is correct, Ruslan, the order of authors is important. Brenstein, R, Zasukhin, R, von Abel, GE (2004). A title. 23:23-24. and Zasukhin, R, Brenstein, R, von Abel, GE (2002). Another title. 2:145-160. should sort in different places. And this is why the flat database structure is actually working in this case. The relational features do not truly give anything better except complicating the maintenance. Robert From rjb at robelko.com Wed Sep 22 18:51:13 2004 From: rjb at robelko.com (Robert Brenstein) Date: Wed Sep 22 11:52:16 2004 Subject: Sorting compound names // sense Message-ID: > > >> Rules for sorting in German/Swedish/Dutch are not the same as >> English. They don't treat the "von" as part of the last name. I don't >> make these rules, Ruslan, they are simply the custom. Do not forget, >> the results of the search/sort will be a bibliographic list, like >> this: >> > > 1. Zasukhin, R, Brenstein, R, von Abel, GE (2004). A title. 23:23-24. >> >> 2. Zasukhin, R, Brenstein, R, Bethany, D (2002). Another title. 2:145-160. > > > > 3. Etc. > > >By your logic > > Zasukhin, R, > Brenstein, R, > >and > > Brenstein, R, > Zasukhin, R, > >Will be located in different places of sorted list. > >But they keep the same information. > >Ruslan Zasukhin [ I feel the need...the need for speed ] Actually, Ruslan, the order of authors is important. Brenstein, R, Zasukhin, R, von Abel, GE (2004). A title. 23:23-24. and Zasukhin, R, Brenstein, R, von Abel, GE (2002). Another title. 2:145-160. should sort in different places since the first author is different. Robert From valentina-list at vermontsoftworks.com Wed Sep 22 15:32:27 2004 From: valentina-list at vermontsoftworks.com (Erik Mueller-Harder) Date: Wed Sep 22 14:32:36 2004 Subject: DRAFT of specification if Indexing By words for strings. In-Reply-To: References: Message-ID: <230C3502-0CCE-11D9-BD73-000393DC4766@vermontsoftworks.com> Hi, Ruslan -- On Sep 22, 2004, at 10:41, Ruslan Zasukhin wrote: > Btw, guys, if somebody have need in some other functions, > Please tell us. > > We already have made many new. > > We need ASAP make at list short list of them in 2.0 > So you can check it. Have you been thinking about word boundaries? In 1.x, we have no control over what code points signify word boundaries, and I find that IndexByWords often breaks strings into more "words" than I would wish. Alternatively, I suppose, -- or by default -- I think there are Unicode libraries that describe word breaks.... Still, it would be nice to be able to override these somehow for IndexByWords. Thanks, -- Erik From sunshine at public.kherson.ua Wed Sep 22 23:10:12 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Sep 22 15:10:19 2004 Subject: DRAFT of specification if Indexing By words for strings. In-Reply-To: <230C3502-0CCE-11D9-BD73-000393DC4766@vermontsoftworks.com> Message-ID: On 9/22/04 10:32 PM, "Erik Mueller-Harder" wrote: Hi Erik, > On Sep 22, 2004, at 10:41, Ruslan Zasukhin wrote: > >> Btw, guys, if somebody have need in some other functions, >> Please tell us. >> >> We already have made many new. >> >> We need ASAP make at list short list of them in 2.0 >> So you can check it. > > Have you been thinking about word boundaries? In 1.x, we have no > control over what code points signify word boundaries, and I find that > IndexByWords often breaks strings into more "words" than I would wish. > > Alternatively, I suppose, -- or by default -- I think there are Unicode > libraries that describe word breaks.... > > Still, it would be nice to be able to override these somehow for > IndexByWords. IBM ICU have class BreakIterator It make sure that for specified language we will get the correct words. -- 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-list at vermontsoftworks.com Wed Sep 22 22:33:41 2004 From: valentina-list at vermontsoftworks.com (Erik Mueller-Harder) Date: Wed Sep 22 21:33:49 2004 Subject: DRAFT of specification if Indexing By words for strings. In-Reply-To: References: Message-ID: On Sep 22, 2004, at 16:10, Ruslan Zasukhin wrote: > IBM ICU have class BreakIterator > > It make sure that for specified language we will get the correct words. Excellent; I'm sure that will take care of at least 95% of our needs. I do wonder if there could be someway to override it, though. I could see an override being useful, for example, in the case of *last names* (here we go again!). A hyphen character ("-") is almost always considered a word boundary. Occasionally, however, there have been times when I'd have liked to be able to treat hyphenated words as one-word sets in an indexed-by-word field (last-name fields come to mind!). Perhaps you could provide an interface similar to what we've been discussing re prohibited index words, letting us add characters to word-break sets and to non-word-break sets as needed? Also, there may be situations where a field defined as, for example, English may contain words from other languages, in which case the IBM ICU might cause the word "rech?rche" (for example) to be indexed as "rech" and "rche," as (I believe) the Valentina 1.x kernel does (certainly it does this with many "accent" characters). If we could have the capability of adding "?" (in this case) to a set of word-break characters, we could fine-tune the ICU as appropriate for our specific applications. Do others see a need for this, too, or is this my own pipe-dream? Cheers, -- Erik From sunshine at public.kherson.ua Thu Sep 23 07:19:20 2004 From: sunshine at public.kherson.ua (Ruslan Zasukhin) Date: Wed Sep 22 23:19:28 2004 Subject: DRAFT of specification if Indexing By words for strings. In-Reply-To: Message-ID: On 9/23/04 5:33 AM, "Erik Mueller-Harder" wrote: > On Sep 22, 2004, at 16:10, Ruslan Zasukhin wrote: > >> IBM ICU have class BreakIterator >> >> It make sure that for specified language we will get the correct words. > > Excellent; I'm sure that will take care of at least 95% of our needs. > > I do wonder if there could be someway to override it, though. I could > see an override being useful, for example, in the case of *last names* > (here we go again!). A hyphen character ("-") is almost always > considered a word boundary. Occasionally, however, there have been > times when I'd have liked to be able to treat hyphenated words as > one-word sets in an indexed-by-word field (last-name fields come to > mind!). > > Perhaps you could provide an interface similar to what we've been > discussing re prohibited index words, letting us add characters to > word-break sets and to non-word-break sets as needed? I see, Erik Very soon we will start work on index by words implementation, So we will see if they allow tune. I think they do. IF they do, then yes, we must be able provide some API to control this. > Also, there may be situations where a field defined as, for example, > English may contain words from other languages, in which case the IBM > ICU might cause the word "rech?rche" (for example) to be indexed as > "rech" and "rche," as (I believe) the Valentina 1.x kernel does > (certainly it does this with many "accent" characters). If we could > have the capability of adding "?" (in this case) to a set of word-break > characters, we could fine-tune the ICU as appropriate for our specific > applications. > > Do others see a need for this, too, or is this my own pipe-dream? I believe that if you will mix languages, you simply MUST to use unicode. And then ICU must be able recognize words. -- 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 Thu Sep 23 09:51:08 2004 From: ernestogiannotta at tiscalinet.it (erne) Date: Thu Sep 23 02:51:33 2004 Subject: DRAFT of specification if Indexing By words for strings. In-Reply-To: Message-ID: on 22-09-2004 17:29, jda at jda@his.com wrote: >> * more effective of course send few words in the same time. >> >> You know, may be for you task the best is >> >> DeleteAll( s, [von, va] ) > > Yes, that would be a great addition. But you'd probably want to make > it more flexible by > > ReplaceAll( s, ["von ", "van "], "") > mmm... and if name is "Von Jivon-Van"? Cool Runnings, Erne. -- | e r | Ernesto Giannotta | n e | Musical Box - a media store From jda at his.com Thu Sep 23 08:46:34 2004 From: jda at his.com (jda) Date: Thu Sep 23 07:46:42 2004 Subject: DRAFT of specification if Indexing By words for strings. In-Reply-To: References: Message-ID: >Also, there may be situations where a field >defined as, for example, English may contain >words from other languages, in which case the >IBM ICU might cause the word "rech?rche" (for >example) to be indexed as "rech" and "rche," as >(I believe) the Valentina 1.x kernel does >(certainly it does this with many "accent" >characters). If we could have the capability of >adding "?" (in this case) to a set of word-break >characters, we could fine-tune the ICU as >appropriate for our specific applications. > >Do others see a need for this, too, or is this my own pipe-dream? > I certainly do. I am in the exact situation you are -- the default language is set to English, but my users are international (and even the ones using English often enter words/names that include accented characters). Jon From jda at his.com Thu Sep 23 09:26:58 2004 From: jda at his.com (jda) Date: Thu Sep 23 08:27:07 2004 Subject: DRAFT of specification if Indexing By words for strings. In-Reply-To: References: Message-ID: > > > >> ReplaceAll( s, ["von ", "van "], "") >> > >mmm... and if name is "Von Jivon-Van"? > If you look at my example closely, you'll see I added a space after "van". But you are right, there could be rare ambiguous situations. But it is better than nothing, and if the occasional item is mis-sorted, it is still better than having everything mis-sorted. JOn From joergp at three-2-one.com Tue Sep 28 10:03:48 2004 From: joergp at three-2-one.com (Joerg Pressel) Date: Tue Sep 28 03:03:57 2004 Subject: V4RB 2.0 already usable? Message-ID: Hi all, I'm back in programming and I think of updating an app that used Valentina 1.x for storing UTF8 text... I did not try the 2.0 Betas, but it seems there are still a bunch of problems? So here is my dilemma ? should I use the 2.0 pre-release to continue developing my app? UTF8 support would eliminate some problems I've experienced with Valentina 1.x namely sorting and searching for unicode strings. My app uses relatively simple SQL-statements and database rebuilding from version to version would be no problem on user side. Anybody already developing with V4RB 2.0 beta? @Ruslan: 1. Any time schedule for a ?final? release? (Yes, I know ? difficult to say ;-)) 2. How does unicode sorting work in Valentina 2.0? It really should be language specific, but I know this will be hard to achive... Cheers, -- J?rg ____________________________________________ three-2-one interaktive Medien GmbH joerg.pressel@three-2-one.com http://www.three-2-one.com fon: +49 2151 31945-11 From jda at his.com Tue Sep 28 08:40:15 2004 From: jda at his.com (jda) Date: Tue Sep 28 07:40:25 2004 Subject: V4RB 2.0 already usable? In-Reply-To: References: Message-ID: >Hi all, > >I'm back in programming and I think of updating an app that used >Valentina 1.x for storing UTF8 text... > >I did not try the 2.0 Betas, but it seems there are still a bunch of problems? > >So here is my dilemma - should I use the 2.0 pre-release to continue >developing my app? UTF8 support would eliminate some problems I've >experienced with Valentina 1.x namely sorting and searching for >unicode strings. My app uses relatively simple SQL-statements and >database rebuilding from version to version would be no problem on >user side. > >Anybody already developing with V4RB 2.0 beta? I've worked with every beta thus far. It's not ready for development yet. Jon Sonny Software