
TurboDB Components - Version 3.3.50
******************************************************

Date: 8/9/2001
Author: Peter Pohmann
Email: pohmann@dataweb.de

******************************************************
CONTENT
- Windows Installation
- Linux Installation
- New Features

******************************************************
WINDOWS INSTALLATION

1. Uninstall any prior or demo version of TurboDB
   Components from your system and shut down Delphi.

2. Start tdbw?.exe. ? stands for e(valuation),
   s(tandard) or p(rofessional) depending on the
   edition you have. The setup program will install
   the package and register the TurboDB components
   palette within your Delphi IDE.

3. Start Delphi. You will find a palette page called
   TurboDB that holds the new components.

4. In the Delphi IDE select Help/Customize.... Then
   add the turbodb.cnt file on the Contents page and
   the turbodb.hlp file on the Index and Link pages
   of OpenHelp. These files are located in the
   doc\help subdirectory of your TurboDB installation.
   Select "File/Save Project" to save your changes.

5. Select Tools/Environment/Library and add the
   lib?/Delphi? or lib?/CppBuilder? path of TurboDB to
   the library path.

6. Open the book "TurboDB Reference" in the Delphi
   online help and read the topic "First Steps".

7. Alternatively you can open the HTML help files in
   the doc\html subdirectory.

******************************************************
LINUX INSTALLATION

1. Uninstall any prior or demo version of TurboDB
   Components from your system and shut down Kylix.

2. Unzip the downloaded *.zip file to get a *.tar file,
   e.g: unzip tdbl?.zip. ? stands for e(valuation),
   s(tandard) or p(rofessional) depending on the
   edition you have.The commercial editions will need
   a password to unzip. The password will be sent to
   you by e-mail when registering your copy.

3. Un-tar the file into one single directory, e.g:
   tar -xf tdbl?.tar

4. Copy the file bplturbodb33?.so.6.0 to /usr/lib.
   It is to be found in the linux/libm/Kylix sub-
   directory of your TurboDB installation.

5. Create a symbolic link named bplturbodb33?.so.6
   to bplturbodb33?.so.6.0 in /usr/lib:
   ln -s /usr/lib/bplturbodb33?.so.6.0 /usr/lib/
   bplturbodb33?.so.6

6. Run Kylix and select Components/Install/Packages
   /Add.. in the IDE. Browse for the design time
   package called dclturbodb33?.so.6.0 file that
   you just unpacked. It is located in the
   linux\lib?\Kylix subdirectory of your TurboDB
   installation directory. (? stands for e, s or p
   depending on the edition you have.) You must set
   the directory filter to *.* to see the file.

7. Select Tools/Configure Tools/Add/Browse... and look
   for the file TurboDBViewer, which can be found in
   the linux/bin subdirectory of your installation.

8. Select Tools/Environment/Library and add the
   lib?/Kylix path of TurboDB to the library path.

9. Read the topic "First Steps" in the HTML
   documentation found in the htmldoc subdirectory.
   The starting page for the documentation is
   Index.html.

10.Included in the package is the database management
   tool TurboDB Viewer, which is a Kylix application
   and such needs some of the Kylix libraries located
   in the kylix/bin subdirectory to run.
   Chances are that this directory is already in your
   LD_LIBRARY_PATH or that there are already links
   from a library directory like /bin to the kylix/bin
   directory. If this is not the case you have to do
   it now in order to run TurboDB Viewer.

******************************************************
NEW FEATURES

TurboDB 3.3 introduces the following new features and
enhancements:
- Support for Delphi 6 (All editions)
- Filter expressions are now 100% compatible to BDE
  filter expressions (All editions).
- Filter options as in the BDE are now supported.
  Previous versions of TurboDB used to employ special
  comparison operators (e.g. like) for this purpose 
  (All editions).
- Kylix version has the property editors, too (Linux
  edition).
- Date and time formats are now 100% compatible to BDE
  (All editions).
- FindFirst, FindNext, FindPrior and FindLast are 100%
  BDE compatible now (All editions).
- The batch move component can now create MyBase data
  packets, that can directly be read by any 
  TClientDataSet component (All editions).
- OnFilterRecord and OnCalcFields are supported along
  with calculated and lookup fields (All editions).
- Support for comments within SQL statments

TurboDB 3 introduces the following new features and
enhancements:
- TurboDB Components are also available for Kylix. All
  files and source code are 100% compatible between
  platforms.
- New query component for executing SQL statements
  (Professional edition)
- Local menu of TTdbTable component in IDE has
  commands for creating and altering tables. (All
  Windows editions)
- New visual tool for managing tables and indexes (All
  editions)
- 32 bit integer data type in database tables (All
  editions)
- Date time data type in database tables (All editions)
- New methods for creating and altering database
  tables at run-time (All editions)
- Additional methods for searching and replacing
  record field values. (All editions)
- Import from data set components (All editions)
- Master-detail-relationship in the BDE standard mode
  using the MasterFields property (All editions)

******************************************************
CHANGES

Release 50
......................................................
New features
- TTdbTable.EmptyTable now raises exception if table
  is read only.
- Scrollbar in grid behaves better now when data set
  is filtered.
- procedure TTdbTable.FindNearest added for BDE
  compatibility.
- Result of FindFirst, FindNext, FindPrior, FindLast
  and Found property now compatible with BDE.
- TTdbTable.Exists added
- IndexDefs are now stored and used in CreateTable
- Creating an index now overwrites any existing file
  of this name without notice instead of issuing an
  error message.
- Date and time literals in filters and queries have
  been changed to be compatible with the BDE.
  Examples: "10/1/01", "2:10 am"
- OnFilterRecord event now works correctly
- FindFirst, FindNext, FindPrior and FindLast now also
  work for keyword filters.
- Language Driver interface has been changed to take
  care of filter options (Windows only).
- TTdbBatchMove has now properties for the quote
  character and the separator character in text files.
  The number of table formats is reduced to tffSDF,
  tffMyBase, tffDBase and tffTdb.


Bug fixes
- Kylix version did not recognize hard line breaks in
  memos. Fixed.
- TTdbDataSet.Locate on filtered data sets changed the
  filter. Fixed.
- TTdbDataSet.Locate and TTdbDataSet.Lookup brought up
  error message with field names Note, Monat, Date and
  some others. Fixed.
- Applying a filter on a filtered dataset used to
  restrict the current filter instead of calculating a
  brand one. Fixed.
- Appending record to a filtered dataset using the
  arrow down key in the grid and cancelling the
  operation lead to a grid showing only one row. Fixed.
- Deleting the last record in a filtered record set
  sometimes showed still one row. Fixed.
- RenameTable did not work correctly, if the table
  component used a database component. Fixed.
- FindPrior didn't work correctly. Fixed.
- The Found property didn't work the same way BDE
  TTable does. Fixed.
- Filters for multi-level indexes with strings had
  problems if the string value started with z. Fixed.
- Some field names identical with names of built-in
  functions (Note, Month, Year, Day, Date, Datum,
  Monat, Jahr, Tag etc.) lead to difficulties. Fixed.
- Kylix version did not recognize hard line breaks in
  memos. Fixed.
- Indexes including descending datetime fields did not
  sort correctly. Fixed.  


Release 49
......................................................
New features
- TurboDB now checks that all tables within the same
  session use the same language driver.
- Language drivers are taken into account in queries
  not only in filters (Windows only).
- Query parser shows row and column of SQL statement,
  if there is an error in the statement.

Bug fixes
- String parameters for queries needed enclosing
  quotes. Fixed.
- When the filter range was empty, there was sometimes
  still a "virtual" record shown. Fixed.
- Scrollbar in filtered datasets sometimese behaved
  strange. Fixed.

Release 48
......................................................
Bug fixes
- TurboDB Viewer does not force the record id columns
  to be named RecordId.
- Values of enumerations fields are shown correctly in
  the properties window.
- Spontaneous malfunction of
  TTdbTable.UpdateFulltextIndex. fixed.
- Filters for multi-level indexes with strings had
  problems if the string value started with z. Fixed.
- Scrollbar in grid behaves better now when data set
  is filtered.
- Result of FindFirst, FindNext, FindPrior, FindLast
  and Found property now compatible with BDE.

Release 47
......................................................
- SQL statements sometimes didn't evaluate the having
  clause correctly. Fixed.
- Queries with multiple columns referencing the same
  table field sometimes caused an access violation. Fixed.
- Reestablishing of formerly open database
  connections did not work correctly. Fixed.

Release 46
......................................................
New Features
- Works with Delphi 6.
- TurboDB design-time package is now compatible with
  other design packages which use TurboDB run-time
  package.
- Property TDataSet.RecordNo is now writable to go
  directly to a record.

Bug Fixes
- Going to a bookmark after reaching EOT issued a
  "record not found" exception. Fixed.
- TurboDB Design package is now compatible with other
  design packages which use TurboDB run-time package.
- TurboSQL allows keyword AS for table correlation
  names. This is a non-standard feature but available
  in Local SQL.
- FindFirst, FindNext, FindPrior, FindLast now do the
  same as First, Next, Prior, Last but provide a
  function result instead of raising an exception if
  there is no appropriate record.
- Spontaneous malfunctioning of "group by" fixed.

Release 45
......................................................
New Features
- NativeFieldDefs has been renamed to FieldDefsTdb.
  FieldDefs is no more published. The properties of
  TTdbFieldDef have changed. There will be a lot of
  "property does not exist" error messages when you
  open an old form containing TTdbDataSet components
  but you can safely ignore them. Adding TdbFieldDefs
  to a FieldDefsTdb is now done using the Add method.
  See the online-help for details.-
- FieldDefsTdb and FieldDefs are now synchronized.

Release 44
......................................................
New Features
- Available for Delphi 4.
- SQL insert and update accept expressions
- New event OnPasswordNeeded for TTdbConnection to
  enter password and/or key when opening protected
  tables.
- In the IDE a password dialog shows up when opening a
  protected table.
- The properties Password and Key of TTdbTable have
  been changed from published to public. You must open
  all forms containing TTdbTable components in the IDE
  and press the Ignore button, when Delphi tells you
  that the properties have gone.
- TTdbConnection has an Exclusive property and a
  ReadOnly property.

Bug Fixes
- Password-protected tables created by Table Designer
  could be opened only if the password was entered in
  upper case. Fixed.
- Complex multi-user deletion operations sometimes
  crashed TurboDB. Fixed.
- Live query result return to original record set
  after putting off filter.

Release 42
......................................................
Bug Fixes
- Live data sets work with calculated columns and
  colum correlation names.
- Function TTdbConnection.Execute is implemented.

Release 41
......................................................
New Features
- TTdbDataSet makes use of its Constraints property.
- TTdbQuery has a Filter and Filtered property as well.
- TTdbConnection.RefreshDataSets updates all data sets.

Bug Fixes
- InsertRecord and AppendRecord now work.
- Editing live Results Sets fixed.
- CanModify is working.

Release 40
......................................................
New Features
- Relation fields can now be shown and edited in grids
  and edit controls.

Release 39
......................................................
Bug Fixes
- Setting Table1 as master of Table2 and Table2 as
  master of Table1 now issues a "Circular data link"
  exception instead of a "Stack overflow".
- Interchanging master-detail relation is now possible
  by first removing the master and then reassigning it.
- The "Unknown data type in RealConvert" exception has
  been fixed.

Release 38
......................................................
New Features
- TTdbTable has two new properties MasterFields and
  DetailFields. These properties are used when linking
  tables without link and relation fields (BDE
  compatibility mode). In addition to the TTable
  component the field names of the master and the
  detail table that used for the link must not be
  equal. TurboDB shows those records of the detail
  table, where the values of the DetailFields equate
  the values of the MasterFields of the master table
  in the order the field names are given.

Release 37
......................................................
New Features
- TTdbBatchMove now supports import from any TDataSet
- TTdbBatchMove supports batch modes Append, Update,
  AppendUpdate, Delete, Copy
- TTdbTable supports SetKey, GotoKey, GotoNearest and
  FindKey methods for fast index-based searching
- TTdbTable IsConditionValid lets you evaluate
  arbitrary filter conditions on the active record.
- TTdbTable.IndexFiles property has been removed. Use
  the name property of the TTdbTable.IndexDefs entries
  instead.
- TTdbDataSet.RecordCount now reports the record count
  with respect to current filtering and/or
  master/detail restriction.
- TTdbTable.Close now closes the table file
  physically, if the TTdbTable component was the last
  to access it.
- TTdbTable supports custom language drivers (Windows only).
- An additional tool creates standard language drivers
  for almost all languages.

Release 36
......................................................
New Features
- New 32-bit Integer type for columns
- TurboDB Workbench allows for defining nullable
  columns and 32-bit Integers
- Supports altering tables in the component
- Enhanced multi-user accessibility and modification
  detection
- Suppports renaming tables in the component
- Supports native field definitions for optimal
  control
- New DateTime column type
- New easy command DateTimeStr to convert DateTime
  values to strings
- New property TTdbTable.TableLevel
- New easy command DateTimeVal to convert Date and
  DateTime strings to values
- New methods TTdbTable.LockTable and
  TTdbTable.UnlockTable

Release 23
......................................................
New Features
- Includes a Windows online help file
- TurboDB components can open tables in shared mode
- TTdbTable has a new property: Exclusive
- TTdbTable has a new property: FieldDefs
- TurboDB is now able to create und use full-text
  indexes
- TTdbTable has new properties: FilterType and
  FullTextTable
- TurboDB is now able to create and open encrypted
  tables
- TTdbTable has new properties: Password and Key
- TTdbTable has new methods: EmptyTable and
  DeleteTable
- TTdbDataSet has new event: OnResolveLink
- In TTdbBatchMove ExportColumnNames has been renamed
  to ColumnNames

Bug Fixes
- TTdbTable.Lookup has been corrected.
- TTdbTable.Locate has been extended to all data types.

Known Problems
- TdbBatchMove does not handle German umlauts
  correctly in XML export.

To Do
- Add TTdbTable.CreateTable and TTdbTable.RepairTable.
- Use Unicode for XML export.
- Port version 2 to Linux.

******************************************************
END OF FILE
