Announcement

Collapse
No announcement yet.

PowerTree VS. Others

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • PowerTree VS. Others

    I am getting ready to convert a DOS based system to Windows
    using PB/DLL 6.0 and PB/CC 2.0. The current system uses BTree
    indexing and I want to continue to use btrees. In the product section
    of this web site it gives some general information about this product.

    Is there more detailed information? I have searched the entire site
    and can not find any.

    In searching the web I have found several btree indexing add ons.
    Does anyone have any experience with these? If so could you let me know?

    The PowerBasic compilers are excellent products and will do what I
    want to do. However I purchased PowerGen and as far as I am concerned
    it is not up to the same standards. I don't want to make another
    mistake.

    I have a tendency to run on when writing, (maybe I should volunteer
    for the book project.) so to be brief,

    1. Any comments on PowerTree would be appreciated.

    2. I do not want to use any SQL products.

    Thanks in advance,

    Larry Coleman

    [email protected]

    ------------------
    Larry
    Larry Coleman
    Savannah, Ga USA

  • #2
    Larry, there have been several discussion about PowerTree and other
    similar products that I can remember. Try using the Search link in the
    top right corner of your screen and type "PowerTree". I think you'll
    find what you are looking for.




    ------------------
    Bernard Ertl
    Bernard Ertl
    InterPlan Systems

    Comment


    • #3
      Hi Larry,

      You can try dvBtree at:
      http://wwww.zapsolution.com/winlift/index.htm
      Then press the "DEMOS" button
      look for demo #10 at the bottom of the page
      and download dvBTree.zip.

      The full product is provided with its PB/DLL source code
      and a free bonus compression DLL:
      dv32zlib.dll

      There is also a DOS PDS 7.1 version.


      ------------------
      Patrice Terrier
      mailto[email protected][email protected]</A>
      Patrice Terrier
      www.zapsolution.com
      www.objreader.com
      Addons: GDImage.DLL 32/64-bit (Graphic library), WinLIFT.DLL 32/64-bit (Skin Engine).

      Comment


      • #4
        Bernard,

        I have searched for PowerTree in the forum. The only thing I
        could glean from it was that no one was allowed to talk about
        it. I am not about to buy a "pig in a poke".

        Patrice,

        Thanks. I have downloaded the demo and will try it ASAP.

        Patrice,

        I tried the "demo" and all I got was a demo of the screen design.
        (Added later.)

        To anyone from PowerBasic,

        I do not want the format of the calls to the DLL. I just want to
        know the exact functions it performs. I am sure that releasing
        this information will not allow anyone to use pirated copies of
        your software. How do you expect to sell something if the buyer
        does not know exactly what it does?

        Larry Coleman

        ------------------
        Larry

        [This message has been edited by Larry Coleman (edited March 29, 2001).]
        Larry Coleman
        Savannah, Ga USA

        Comment


        • #5
          There is no prohibition against discussing PowerTree. The license only prohibits
          publishing source code that uses PowerTree. The description of PowerTree may be
          found here: http://www.powerbasic.com/products/powertree/
          Like any PowerBASIC product, PowerTree is covered by a 30-day money back guarantee.
          This guarantee does not apply to products ordered for electronic delivery.


          ------------------
          Tom Hanlin
          PowerBASIC Staff

          Comment


          • #6
            Larry,
            Being in a similar situation as you are, I opted to buy PowerTree because I love the products Bob produces. I'll admit that PowerTree is very fast, and presumably scalable, I found it extremely difficult to work with. *In my opinion* it is not intuitive, the documentation is poor at best, the sample code has almost no comments, and what is documented has errors. Personally, I am very disappointed and wish I had not opted for the download method so I could have requested a refund.

            If you want to try PowerTree, I would highly suggest not going the download route, at least then you'll get a chance to evaluate it for yourself.

            --Joe

            *DISCLAIMER*
            Before slamming me for stating my *opinion*, please remember that these are JUST my *opinions*. I'm sure others have DIFFERENT *opinions*, but a fellow member ASKED for *opinions* so I am supplying my *opinion* and nothing more.

            ------------------
            Software makes Hardware Happen

            Comment


            • #7
              Joe Byrne,

              Thanks for your honest opinion.

              Tom Hanlin,

              If you consider that site as the definitive site for information
              concerning PowerTree, well I guess I'll have to pass. I made the
              mistake of downloading PowerGen to "evaluate" it and never again
              will I download something that can not be "returned".

              I can not see the difficulty in having a three or four page
              something or other that describes the product. It sure is a good
              thing you guys make great compilers.

              To anyone else reading this,

              DO NOT DOWNLOAD FOR EVALUATION ANY PRODUCT FROM PowerBasic.


              ------------------
              Larry Coleman
              Larry Coleman
              Savannah, Ga USA

              Comment


              • #8
                Lary--

                >>I tried the "demo" and all I got was a demo of the screen design.
                (Added later.)


                I do not understand what you said.
                Did you look at the provided source code examples?
                The file you must download is
                DVBTREE.ZIP
                and not the WinlIFT examples.

                ------------------
                Patrice Terrier
                mailto[email protected][email protected]</A>
                Patrice Terrier
                www.zapsolution.com
                www.objreader.com
                Addons: GDImage.DLL 32/64-bit (Graphic library), WinLIFT.DLL 32/64-bit (Skin Engine).

                Comment


                • #9
                  Larry, we certainly appreciate your opinions, but we can't honestly be held responsible if you did not review or ask for the terms of trade, return provisions, etc.

                  To help answer your questions...

                  PowerTREE is a BTREE manager, and it has a proven track record in index management (and I even use it *myself* in my personal and commercial apps)... The main point is that PowerTREE is not a complete database engine - you use in conjunction with your existing database, by associating unique "keys" with your data.

                  PowerTREE provides approx 14 functions for key (index) management, covering such usage as Creating a new index, Adding keys, deleting keys, FindFirst, FindNext, FindPrevious, FindNextAfter, FindLastBefore, etc, and includes a couple of Soundex routines too.

                  PowerTREE uses a proprietary (and quite clever) algorythm to retrieve and search for keys extremely quickly. I've created some indexes that are 10's of megabytes in size, and PowerTREE can return keys from such indexes at incredible speed.

                  You can even search for partial keys, ie "SMI" will match on "SMITH", "SMITHERS", etc.

                  Keys can be up to approx 255 bytes each, and each key can be assigned a long integer "record number" which you use to associate a key with a record (or byte position, or something else meaningful to your database).

                  The example code supplied with PowerTREE is relatively simplistic, but it is hardly rocket science. For example, to open an index and retrieve all the partial keys with "SMI" would work like this:
                  Code:
                  'pseudocode
                  DIM x AS INDEXBLOCK
                  DIM A$(1024), y&
                   
                  x.KeySize = 64 ' 64 bytes for each key.  This is user-definable.
                  x.MultiUser = %TRUE ' enable index locking for multi-user mode
                  y& = 0
                   
                  OpenIndex "indexname.IDX", x
                  Result& = FindFirst("SMI",x)
                  WHILE ISFALSE Result& 
                    INCR y&
                    A$(y&) = x.Key + STR$(x.recordnum) ' key & record number
                    Resulyt& = FindNext("SMI",x)
                  WEND
                  CloseIndex x
                  MSGBOX "Found" + STR$(y&) + " items in the index!"
                  I hope this helps!


                  ------------------
                  Lance
                  PowerBASIC Support
                  mailto:[email protected][email protected]</A>
                  Lance
                  mailto:[email protected]

                  Comment


                  • #10
                    Larry,

                    The key (no pun intended!) here is Lance's comment that PowerTree is NOT a database manager but a btree index manager.

                    For example, you are responsible for putting the data in and out of the database. When deleting a record, you must somehow "mark" the record deleted and then when adding new records find the deleted records to overwrite.

                    I purchased Powertree when it first was available to solve some Y2K problems. Unfortunately, it had some serious bugs for my app (they are now fixed) and I could not wait any longer for the fix (as time was counting down!) so I had to desert it. As Lance said it is very quick and I think it is a good product but tedious to work with if you are accustomed to using database managers. If some wrapper functions were developed, it could become a great database manager. Unfortunately, I think that only Powerbasic could market such functions as for anyone else it would violate the Powertree license aggreement. (ie. the wrapper functions should only be in the hands of registered Powertree customers.)

                    Brent Boshart

                    ------------------
                    Brent Boshart

                    Comment


                    • #11
                      OK, thanks to everyone for your responses.

                      What I thought was a simple question has turned into a discourse
                      on whether I know what an index manager is as opposed to a
                      database manager. I have been in this business since 1960 and I
                      know the difference. I am interested in an index manager. The
                      applications I am converting use an index manager. The only files
                      I wish to convert are the index files.

                      Let me re-state my original questions.

                      1 - What are the functions in PowerTree. (Such as open index,
                      insert index item, delete index item, etc....) The product page
                      says there are fourteen. Lance says there are approximatly
                      fourteen?

                      2 - It would be appreciated if anyone who has had experience
                      with this product and/or other products could share those
                      experiences.

                      To Patrice,

                      I downloaded the DVBTREE demo. (Again? I have no idea what I did
                      the first time.) The documentation is complete and the product
                      looks like what I need.

                      To everyone else,

                      I should have realized that getting a straight answer about
                      PowerTree from PowerBasic would be a hassle. While searching
                      the forum for information on resource files, someone asked about
                      the cumbersome method of generation. The response was "why
                      re-invent the wheel?" It is not re-inventing the wheel when
                      you fix a flat tire.

                      ------------------
                      Larry Coleman
                      Larry Coleman
                      Savannah, Ga USA

                      Comment


                      • #12
                        Perhaps I was naive, and I certainly assumed too much when I bought PowerTree through a Software House, but I could not get PowerTree to work the way I thought it would.
                        My major stumbling blocks are:
                        1) You cannot natively mix data types in a composite key.
                        2) Keys should only be variable length strings
                        3) I could not find a way to NOT allow duplicates
                        4) I could not find a way to do a 'real' greater than or equal search

                        In Lance's example for SMI for SMITH or SMITHERS. I guess this works, but I could not get a search for SMI to work when the data went from SMH to SMJ. This is what I call a 'real' greater than or equal to search.
                        Perhaps you can do it, but I could not figure it out.

                        I DO believe that PowerTree was a worthwhile purchase for me because it opened my eyes to how the PC world manages indexes for nearly all of it competitors behave the same way. Only Btrieve does what I expect.

                        Joe


                        ------------------

                        Comment


                        • #13
                          Larry,

                          Like you, I needed some btree routines to move some programs
                          from DOS to Windows. I prefer the btree routines because they
                          allow much more flexibility in how I store the data files. In DOS,
                          I used C-Index Manager and could have opted to do the same in Windows but
                          thought I would try Powertree because of the price difference.

                          Like some of the others I have found the documentation confusing
                          but a little playing with the programs usually clears that up. The
                          documentation talks a lot about whether to use fixed length strings
                          or asciiz strings and for which functions ... all that can pretty
                          much be bypassed if you know when you need a whole key or partial key.

                          When I need a whole key (adding/deleting/finding exact matches), I
                          use
                          Key$ = LEFT$(Key$ + Space$(%KeyLen), %KeyLen)

                          and when I need a partial key (searches and stuff) I pass
                          Key$ = RTRIM$(Searchkey$) + CHR$(0))

                          This allows me to use dynamic strings (as long as I pass Key$ ByVal)

                          Powertree essentially uses one error code for everything .. this makes
                          using it kind of a Pass/Fail test. When it fails, you have to figure out
                          why (ie. failed to load the record number, End of File, no key found, etc).
                          This is one of the biggest drawbacks to me.

                          There is a function to find records by record number rather than key but
                          the docs are silent on what happens when you have multiple keys
                          for the same record.

                          All keys must be Ascii (no longs or other data types allowed).

                          Powertree is somewhat slower building keys. Some of our
                          systems require the user to send the data files to the home
                          office. To reduce file size, we have them send just the data
                          and the home office recreates the index files. The DOS (C-Index)
                          system was much faster doing this .. however much is a relative
                          term. We store multiple indexes in a single index file and some
                          indexes are 50+ characters. On the DOS system, rebuilding the keys
                          rarely took more than a minute or two. On Powertree it rarely takes
                          less than 10 minutes (but never more than 15). I can live with that
                          since once the indexes are built, accessing the file is as fast
                          as the DOS system. Some of the speed difference in rebuilding may
                          be attributed to Windows .. I have no way of knowing.

                          The conversion was pretty simple since we had wrappers around the
                          functions already. Once the wrappers were changed and tested, the
                          rest went pretty smooth (from the database side).

                          All in all, changing to Powertree wasn't difficult and it works. The
                          docs aren't the best but if you aren't under a time crunch and you
                          can play with Powertree a little you should be able to get what you want
                          out of the routines. While not ecstatic about Powertree, I am satisfied
                          with the product.

                          For the Powerbasic people .. insert normal request for a Powertree
                          forum where we can post source here!

                          Mike

                          ------------------

                          Comment


                          • #14
                            Originally posted by Larry Coleman:
                            OK, thanks to everyone for your responses.
                            My pleasure, although I have to note that your messages are sounding more and more like "demands"... this is only a Peer to Peer Support Forum afterall. You are more than welcome to ask our Tech Support or Sales departments for information...

                            What I thought was a simple question has turned into a discourse
                            on whether I know what an index manager is as opposed to a
                            database manager. I have been in this business since 1960 and I
                            know the difference. I am interested in an index manager. The
                            applications I am converting use an index manager. The only files
                            I wish to convert are the index files.
                            Answers given on this BBS are typically broad and often go further than the original question requested, since many people read these messages and may wish to know something about PowerTREE that you (apparently obviously) knew. I'm sorry that we offended you by stating the obvious... .

                            Let me re-state my original questions.
                            1 - What are the functions in PowerTree. (Such as open index,
                            insert index item, delete index item, etc....) The product page
                            says there are fourteen. Lance says there are approximatly
                            fourteen?
                            Fourteen = Approximately fourteen.
                            I did mention a reasonable list of the type of functions are involved. The following is a PRECISE list... I hope it is sufficient for you.
                            Code:
                            CreateIndex     Create a new index. If an index with the same name already exists, overwrite it with a new empty index.
                            Init            Open an existing index file.
                            Add             Add a key value to an open index.
                            Delete          Delete a key value from an open index.
                            FindFirst       Find the first occurrence of a key value in an index.
                            FindFirstAfter  Find the first key value after the search key in an index.
                            FindNext        Find the next occurrence of a key value in an index.
                            FindPrevious    Find the previous occurrence of a key value in an index.
                            FindLast        Find the last occurrence of a key value in an index.
                            FindLastBefore  Find the last occurrence of a key in an index, before the specified key value.
                            FindRecord      Find an exact match of a key value AND record number in an index.
                            GetKey          Return the key value associated with the current key.
                            CloseIndex      Close an open index file.
                            Soundex         Return a 4 byte "soundex code" for a string value.
                            I hope this is what you want to see. There is no "rebalance" functions, since PowerTREE is clever enough not to need rebalancingl, unlike most BTREE/index managers.

                            To everyone else,
                            I should have realized that getting a straight answer about
                            PowerTree from PowerBasic would be a hassle. While searching
                            the forum for information on resource files, someone asked about
                            the cumbersome method of generation. The response was "why
                            re-invent the wheel?" It is not re-inventing the wheel when
                            you fix a flat tire.
                            Larry, your attitude is really coming through here, and it really casts you in a bad light. If you don't want to use PowerTREE, then just don't buy the product - we won't force you to use it.

                            We've gone out of our way to answer your questions in a polite and courteous manner. We did not set out to disparage you, although you seem intent on dishing it out to us, so how about taking a deep breath and showing just a little courtesy in return?

                            Thank you.


                            ------------------
                            Lance
                            PowerBASIC Support
                            mailto:[email protected][email protected]</A>
                            Lance
                            mailto:[email protected]

                            Comment


                            • #15
                              Lance,

                              I have tried to get the information (via E-Mail) from the sales
                              department. As of now, I have not received a reply.

                              The information you provided in you last post was what I asked
                              for in the first place. If it had been provided it would have
                              saved a lot of time.

                              Is it not proper for a potential customer to be demanding?

                              Larry

                              ------------------
                              Larry Coleman
                              Larry Coleman
                              Savannah, Ga USA

                              Comment


                              • #16
                                Mr. Coleman...

                                I've scanned email records for the PowerBASIC Sales Department, and I find no record of a recent, nor unanswered, inquiry from you. Since you didn't specify which sales department you attempted to contact, I'll just presume it wasn't PowerBASIC. Perhaps you should resend it to them rather than complain here? Certainly would seem more productive.

                                Is it proper for a potential customer to be demanding? The short answer, in my personal opinion, is "Probably not", at least not this way. Your attitude is coming through "Loud and Clear", and that simply makes it very unpleasant for all the nice folks who visit here. You seem to be very unhappy, at least with regards to PowerBASIC, so perhaps further purchases from us might just be a mistake for you? If so, please just investigate the products you perceive as superior, ok?

                                We created this BBS so that our customers could communicate with each other, help each other, and easily gain a lot of valuable information at little cost. We have rules about derogatory postings about anyone/anything, and we will be enforcing them.

                                Thanks to everyone for participating!

                                Regards,

                                Bob Zale, President
                                PowerBASIC, Inc.



                                ------------------

                                Comment


                                • #17
                                  Mr. Zale

                                  Went to the following;
                                  http://www.powerbasic.com/product/

                                  and clicked on

                                  [email protected]

                                  Will you please point out to me anything I have said that is
                                  derogatory about anyone?

                                  I will take your suggestion.


                                  ------------------
                                  Larry Coleman
                                  Larry Coleman
                                  Savannah, Ga USA

                                  Comment


                                  • #18
                                    Very nice summary description of the PowerTree (tm) verbs.

                                    But...

                                    There is no "rebalance" functions, since PowerTREE is clever enough not to need rebalancingl, unlike most BTREE/index managers.
                                    "unlike most BTREE/index managers?"

                                    Oh, really? And can you provide a comprehensive of list BY BRAND NAME of "which" B-tree index products NEED rebalancing? And when you do, are you sure that will be "most?"

                                    Please be careful when making unsupported statements like this: you may have to support them in the future.



                                    ------------------
                                    Michael Mattias
                                    Racine WI USA
                                    [email protected]
                                    Michael Mattias
                                    Tal Systems Inc. (retired)
                                    Racine WI USA
                                    [email protected]
                                    http://www.talsystems.com

                                    Comment


                                    • #19
                                      I'm not sure where you saw the sign stating that every message posted here is
                                      guaranteed 100% accurate, Michael. If you consider a statement incorrect, of
                                      course, feel free to show evidence accordingly.

                                      ------------------
                                      Tom Hanlin
                                      PowerBASIC Staff

                                      Comment

                                      Working...
                                      X