: We will be porting a DOS based application written w/ Borland C & the
: Paradox Engine to Solaris 2.4. After searching for a database library for
: Unix, I came up w/ Faircom's C-Tree Plus. This seems to compile on many
: Unix platforms (as well as DOS) which was one of the main reasons for
: choosing it (for future development). I was just curious if anybody else
: has used it & what their opinions of it are (ease of use? speed of coding
: w/ it? speed of runtime performance? where could I direct general
: questions about it-- is there a newsgroup or do I have to contact Faircom
: tech-support for every 'little' question?)
Well, we've used the Faircom toolkit for a couple of years now, and me
personally for about a year. The toolkit has ctree, rtree (report script) and
dtree (interface builder). The version we have is 6.0 for ctree, rtree 1.2,
and dtree 3.1. The sole use up to this point has been on SCO. I am currently
trying to port our application from SCO to IRIX 5.2. The latest version of
the toolkit supports IRIX, but dtree still isn't ready so I'm having to wait
for that to be released. The version we currently have isn't working at all
on the SGI.
Overall, I'm not particularly thrilled with Faircom, though most of my problems
are more related to the awful application I inherited. The previous
programmers working on it had to heavily modify dtree to get things to work
in unix. The screen stuff it had didn't use curses, and they modified it to
do so. Rtree is pretty limited in what you can do with it, but if you stay
within those limits, it works fairly well.
Ctree itself seems to be fairly decent, though. It is missing some key
features that I've found on other databases, though. For example, I haven't
seen any function that lets you search on a range of keys (between "A" and "D"
for example). You can probably write one yourself, though. Speed seems to
be mediocre to me, though that may be related to our crappy application again.
But, I've found things like MS-Access to have a much quicker database engine.
(If you get the SQL support for ctree, the "between" is supported.)
If you're a perl programmer, go get the ctreeperl extensions for perl 4.036.
I haven't used them yet, but they could be very useful to you.
I haven't had much experience yet with technical support yet, but I expect I
will very soon if I can't get ctree to work on IRIX. The contact I've had so
far has been good.
Faircom is working on ODBC drivers for ctree. I don't know when they'll be
: I did have one question regarding the usage of strings in the database
: fields. According to the manual, they advise not to use strcpy() to copy
: data into the database fields-- is there a particular reason to this??
: They say that you should use their version of memcpy() instead because the
: data may have embedded NULL characters in the strings & may not be NULL
: terminated. The reason I ask, is that the DOS app I must port uses
: strcpy() througout & the string-fields in the Paradox table are all NULL
: terminated w/o any embedded NULL characters. So, given that all of the
: strings I am using are properly NULL terminated, can I get away w/ strcpy()
: w/ C-tree Plus?? It seemed a bit strange when I read it in the manual,
: but I haven't yet coded anything, so I am just asking.
You'll probably be okay. What they probably want is for you to use their
memcpy because it checks strings for you, or at least that's my guess.
In general I would prefer to use something else than ctree. Part of this is
because of the poor coding on our application, but the other part is the time
required to write an application using straight C. In this world of "visual"
programming languages, having to write an application completely in C seems
archaic to me and a waste of time.