Thread: FoxPro Vs. PostgreSQL
Hello all , I am a OpenSource S/W developer and my clients are from remote part of Himachal Pradesh India. I am providing my clients, software Build on PostgreSQL 7.3.x as backed and yes , they (clients) ought to save a lot while using my software as it runs on Linux But theirs one Prick Our Competitor he is providing solution in what else FoxPro + Win98 and this competitor justifies his software as Superior because some of the Indian local banks use this clumsy set of tool to manage their bureaucratic banking work system. What I want is some support from this good community to give me some 1. Tips 2. Links 3. Advise for FoxPro and its limits (As could be told to a layman) as how to crush my competitor for M$ tools, Its time to prove The M$ Guys that they have $$$$$ Power and we the GNU people have a social perspective of doing work. Would be greatefull for all your Comments / Bashing and yes Support Please.......................... To Add More : My Clients are Agriculture Banks and cannot afford the M$ tools. and yes all the Win98 installation on their computers are pirated. Regards, V Kashyap
Dear Ivan ,
Please share your experience as this will help me a bit .
Why I am saying so is , because piracy fighters have pushed many to Open Source :-*
Regards,
V Kashyap
I Smell burned Fingers :-DHello all , I am a OpenSource S/W developer and my clients are from remote part of Himachal Pradesh India. I am providing my clients, software Build on PostgreSQL 7.3.x as backed and yes , they (clients) ought to save a lot while using my software as it runs on LinuxNot in all cases :). Probably you will pay much more for linux support.
Please share your experience as this will help me a bit .
Problem may be not mine but I can at least make someone concern to it.To Add More : My Clients are Agriculture Banks and cannot afford the M$ tools. and yes all the Win98 installation on their computers are pirated.I think you can do nothink for it and it is not your problem.
Why I am saying so is , because piracy fighters have pushed many to Open Source :-*
Regards,
V Kashyap
Hello Kashyap, the limitations of VFP8 (the newest FoxPro version are the following (according to the VFP8 manual): Some capacities may be limited by available memory. Category Feature Capacity Table and Index Files Maximum # of records per table file 1 billion Maximum size of a table file 2 gigabytes Maximum size of an FPT file 2 gigabytes Maximum # of characters per record 65,500 Maximum # of fields per record1 255 Maximum # of tables open at one time2 65,535 Maximum # of characters per table field 254 Maximum # of bytes per index key in a non-compact index3 100 Maximum # of bytes per index key in a compact index3 240 Maximum # of open index files per table2 Unlimited Maximum # of open indexes in all work areas2 Unlimited Maximum # of relations Unlimited Maximum length of relational expressions Unlimited Field Characteristics Maximum size of character fields 254 Maximum size of numeric and float fields 20 Maximum number of characters in field names in a free table 10 Maximum number of characters in field names for a table contained in a database 128 Minimum value of an integer -2,147,483,647 Maximum value of an integer 2,147,483,647 Digits of precision in numeric computations. Visual FoxPro can handle numbers up to 9007199254740992 (2^53) in exact computations. 16 Miscellaenous: 64 bits = 8 bytes Largest number = 10 ^ 308 = 2 ^ 1023 -> 10 bits per exponent + 1 for exponent sign plus 1 for number sign => 12 bits Leaving 52 bits for the mantissa + 1 for implied normalized bit -> 53 bits LOG10(2^53) = 15.95 decimal digits accuracy Variables and Arrays Default # of variables 1,024 Maximum # of variables 65,000 Maximum # of arrays 65,000 Maximum # of elements per array 65,000 Program and Procedure Files Maximum # of lines in source program files Unlimited Maximum size of compiled program modules4 64K Maximum # of procedures per file Unlimited Maximum # of nested DO calls 128 Maximum # of READ nesting levels 5 Maximum # of nested structured programming commands 384 Maximum # of passed parameters 26 Maximum # of transactions 5 Report Designer Capacities Maximum # of objects in a report definition2 Unlimited Maximum length of a report definition 20 inches Maximum # of grouping levels 128 Maximum length of character report variables 255 Other Capacities Maximum # of open windows (all types)2 Unlimited Maximum # of open Browse windows 255 Maximum # of characters per character string or memory variable 16,777,184 Maximum # of characters per command line 8,192 Maximum # of characters per label control on a report 252 Maximum # of characters per macro substituted line 8,192 Maximum # of open files System limit Maximum keystrokes in keyboard macro 1,024 Maximum fields that can be selected by a SQL SELECT statement 255 Maximum length of a string literal 255 Maximum # of pages in a report at runtime 32767 1 If one or more fields allow null values, the limit is reduced by one to 254 fields. 2 Limited by memory and available file handles. .cdx files use only one file handle. 3 If the collating sequence is set to MACHINE, each character uses one byte. If the collating sequence is not set to MACHINE, each character uses two bytes. If the indexed field supports null values, one additional byte is used in the index key. Note that non-machine indexes are always compact. 4 A program module is one procedure. A program or application can contain an unlimited number of program modules. Regards Florian Reiser -----Original Message----- From: pgsql-general-owner@postgresql.org [mailto:pgsql-general-owner@postgresql.org] On Behalf Of Sai Hertz And Control Systems Sent: Sunday, December 14, 2003 4:19 PM To: pgsql-general@postgresql.org Cc: Postgres Admin List Subject: [GENERAL] FoxPro Vs. PostgreSQL Hello all , I am a OpenSource S/W developer and my clients are from remote part of Himachal Pradesh India. I am providing my clients, software Build on PostgreSQL 7.3.x as backed and yes , they (clients) ought to save a lot while using my software as it runs on Linux But theirs one Prick Our Competitor he is providing solution in what else FoxPro + Win98 and this competitor justifies his software as Superior because some of the Indian local banks use this clumsy set of tool to manage their bureaucratic banking work system. What I want is some support from this good community to give me some 1. Tips 2. Links 3. Advise for FoxPro and its limits (As could be told to a layman) as how to crush my competitor for M$ tools, Its time to prove The M$ Guys that they have $$$$$ Power and we the GNU people have a social perspective of doing work. Would be greatefull for all your Comments / Bashing and yes Support Please.......................... To Add More : My Clients are Agriculture Banks and cannot afford the M$ tools. and yes all the Win98 installation on their computers are pirated. Regards, V Kashyap ---------------------------(end of broadcast)--------------------------- TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org
Dear Florian Reiser , This was great help loads of thanks Now its upto me to convert it into laymans language. Regards, V kashyap. >Hello Kashyap, > >the limitations of VFP8 (the newest FoxPro version are the following >(according to the VFP8 manual): > >Some capacities may be limited by available memory. > >Category Feature Capacity > >Table and Index Files > > Maximum # of records per table file 1 billion > Maximum size of a table file 2 gigabytes > Maximum size of an FPT file 2 gigabytes > Maximum # of characters per record 65,500 > Maximum # of fields per record1 255 > Maximum # of tables open at one time2 65,535 > Maximum # of characters per table field 254 > Maximum # of bytes per index key in a non-compact index3 100 > Maximum # of bytes per index key in a compact index3 240 > Maximum # of open index files per table2 Unlimited > Maximum # of open indexes in all work areas2 Unlimited > Maximum # of relations Unlimited > Maximum length of relational expressions Unlimited > >Field Characteristics > > Maximum size of character fields 254 > Maximum size of numeric and float fields 20 > Maximum number of characters in field names in a free table 10 > Maximum number of characters in field names for a table contained in a >database 128 > Minimum value of an integer -2,147,483,647 > Maximum value of an integer 2,147,483,647 > Digits of precision in numeric computations. Visual FoxPro can handle >numbers up to 9007199254740992 (2^53) in exact computations. 16 > Miscellaenous: >64 bits = 8 bytes >Largest number = 10 ^ 308 = 2 ^ 1023 >-> 10 bits per exponent + 1 for exponent sign plus 1 for number sign => 12 >bits >Leaving 52 bits for the mantissa + 1 for implied normalized bit -> 53 bits >LOG10(2^53) = 15.95 decimal digits accuracy > > >Variables and Arrays > > Default # of variables 1,024 > Maximum # of variables 65,000 > Maximum # of arrays 65,000 > Maximum # of elements per array 65,000 > >Program and Procedure Files > > Maximum # of lines in source program files Unlimited > Maximum size of compiled program >modules4 64K > Maximum # of procedures per file Unlimited > Maximum # of nested DO calls 128 > Maximum # of READ nesting levels 5 > Maximum # of nested structured programming commands 384 > Maximum # of passed parameters 26 > Maximum # of transactions 5 > >Report Designer Capacities > > Maximum # of objects in a report definition2 Unlimited > Maximum length of a report definition 20 inches > Maximum # of grouping levels 128 > Maximum length of character report variables 255 > >Other Capacities > > Maximum # of open windows (all types)2 Unlimited > Maximum # of open Browse windows 255 > Maximum # of characters per character string or memory variable 16,777,184 > > Maximum # of characters per command line 8,192 > Maximum # of characters per label control on a report 252 > Maximum # of characters per macro substituted line 8,192 > Maximum # of open files System limit > Maximum keystrokes in keyboard macro 1,024 > Maximum fields that can be selected by a SQL SELECT statement 255 > Maximum length of a string literal 255 > Maximum # of pages in a report at runtime 32767 > >1 If one or more fields allow null values, the limit is reduced by one to >254 fields. >2 Limited by memory and available file handles. .cdx files use only one file >handle. >3 If the collating sequence is set to MACHINE, each character uses one byte. >If the collating sequence is not set to MACHINE, each character uses two >bytes. If the indexed field supports null values, one additional byte is >used in the index key. Note that non-machine indexes are always compact. >4 A program module is one procedure. A program or application can contain an >unlimited number of program modules. > > > >Regards >Florian Reiser > > >
Hi,
- triggers (you can write it also in "C". It will be fast and is not possible for FoxPro).
- user defined data types
- support (the mailing list is supper. You will have the best possible support and bug fix ).
- support very good the SQL spec.
- fast (if you can write good SQL).
- you can use it for very big db-s.
- cost. I will compare the cost with oracle, not with FoxPro.And Pg is free.
Sai Hertz And Control Systems wrote:
Dear Ivan ,Ok,pg advantages (depends from the application also):I Smell burned Fingers :-DHello all , I am a OpenSource S/W developer and my clients are from remote part of Himachal Pradesh India. I am providing my clients, software Build on PostgreSQL 7.3.x as backed and yes , they (clients) ought to save a lot while using my software as it runs on LinuxNot in all cases :). Probably you will pay much more for linux support.
Please share your experience as this will help me a bit .
- triggers (you can write it also in "C". It will be fast and is not possible for FoxPro).
- user defined data types
- support (the mailing list is supper. You will have the best possible support and bug fix ).
- support very good the SQL spec.
- fast (if you can write good SQL).
- you can use it for very big db-s.
- cost. I will compare the cost with oracle, not with FoxPro.And Pg is free.
FoxPro advantages (and pg disadvantages):
- you can run it on win 98, win 2K and so on. So you can use it also for small apps. It will change when native port for pg arrives.
- MS marketing.
- integrated visual tools and dev. tools. It is good for small apps. only.
Regards,ivan.Problem may be not mine but I can at least make someone concern to it.To Add More : My Clients are Agriculture Banks and cannot afford the M$ tools. and yes all the Win98 installation on their computers are pirated.I think you can do nothink for it and it is not your problem.
Why I am saying so is , because piracy fighters have pushed many to Open Source :-*Regards,
V Kashyap
Hi, Sai Hertz And Control Systems wrote: > Hello all , > > I am a OpenSource S/W developer and my clients are from remote part of > Himachal Pradesh India. > I am providing my clients, > software > Build on PostgreSQL 7.3.x as backed > and yes , they (clients) ought to save a lot while using my software as > it runs on Linux Not in all cases :).Probably you will pay much more for linux support. > But theirs one Prick Our Competitor he is providing solution in what else > FoxPro + Win98 > and this competitor justifies his software as Superior because some of > the Indian local banks use this > clumsy set of tool to manage their bureaucratic banking work system. > FoxPro is the MS db solution, but it is not as good as MS SQL.You can compare pg with MS SQL, but not with FoxPro. Pg is much better. I think all depends from how good is your application. If it is small app. I think FoxPro will also be good. I think pg is very stable and good db. For me it is comparable with oracle (not so good, but...). > What I want is some support from this good community to give me some > 1. Tips > 2. Links > 3. Advise > for FoxPro and its limits (As could be told to a layman) You can visit the FoxPro page and read the limitations.Pls. read about the transactions, triggers, user defined data types (if you will use it), rules, views. All this is important for one db. or example MS Access do not support very good transactions. > as how to crush my competitor for M$ tools, > Its time to prove The M$ Guys that they have $$$$$ Power and we the GNU > people have a > social perspective of doing work. > > Would be greatefull for all your Comments / Bashing and yes Support > > Please.......................... > > To Add More : > My Clients are Agriculture Banks and cannot afford the M$ tools. and yes > all the Win98 installation on their computers are > pirated. > I think you can do nothink for it and it is not your problem. > Regards, > V Kashyap > > ---------------------------(end of broadcast)--------------------------- > TIP 9: the planner will ignore your desire to choose an index scan if your > joining column's datatypes do not match regards, ivan.
Sai Hertz And Control Systems wrote: > This was great help loads of thanks > Now its upto me to convert it into laymans language. Those limitations don't really describe what the real problems of FoxPro are. I've used FoxPro since the days it was a product of Fox Corporation so I know indepth all the issues. The biggest problem: completely and absolutely multi-user unsafe. If two machines try to update the same record and append to the safe table, one of the following things may occur: 1) One machine gets stuck "waiting to lock" and never ever ever comes back to life. 70% 2) FoxPro on one or both machines immediately crashes with a Windows exception error. 25% 3) Indexes get corrupted 4% 4) A garbage record is inserted 1% There is a way to solve the multi-user problem but it requires you to write your own table/record locking mechanisms. Basically, if you try to use FoxPro's RLOCK() or LOCK(), you are screwed. However, exclusive file handles on a shared network drive seemed pretty solid. (My experience on SAMBA, Netware and NT server -- dunno about Win98 file sharing though.) You just suffer a huge performance penalty as file creation/directory scanning incurs a high overhead. You also run the risk where if your code doesn't release locks, nobody else could ever do any transactions since they aren't auto released when a table is closed or a record pointer moved. Indexes also always get corrupted sooner or later whenever you exceed a table size threshold. Corruption of indexes will exhibit the following symptoms: 1) Searches get stuck in infinite loops 60% 2) Searches return the wrong results 30% 3) FoxPro crahses with a Windows exception error 5% 4) FoxPro just simply shuts down without any notification 5% Now, that being said, we still use FoxPro at our company. There are some things it is really good for like processing & manipulating bulk data. If I had to use perl or java or whatever to process comma delimited files or badly maintained excel spreadsheets, I would go nuts. There's just so many commands for manipulating data that make life much easier. We then use ODBC to update the "final" versions residing on Postgresql.