Release Notes for CommDb
------------------------

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

Perforce Changelist 
=========================
Made by Ann Windsor, 05/07/00

- First release of v6.1 Commdb to mainline.  Alterations to include GPRS information.  See
Design doc in commdb\design\ for information on changes.
s
-------------------------------------------------------------------------------------------

Perforce Changelist 
=========================
Made by Ann Windsor, 24/05/00

- Fixed a bug in T_EDITDb where the IF_NAME and IF_NETWORKS fields were not being
set up correctly.  This is not a change to shippable code.

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

Perforce Changelist 36431
=========================
Made by Ann Windsor, 22/05/00

- Fixed a bug where the GetCurrentDialOutSettingL() and similar dial in function were
 not checking hidden records.

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

Perforce Changelist 35749
=========================
Made by Ann Windsor, 18/05/00

- Made a small correction to API documentation in WAP settings.

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

Perforce Changelist 35486
=========================
Made by Ann Windsor, 17/05/00

- Added new WAP settings table as per CR.  Fixed testcode and documentation to reflect this.

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

Perforce Changelist 34101
=========================
Made by Ann Windsor, 10/05/00

- Fixed a couple of small bugs in setting up SMSC nos in testcode.

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

Perforce Changelist 32496
=========================
Made by Ann Windsor, 28/4/00

- Fixed bug where the RFs handle was not being closed in the database conversion class.

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

Perforce Changelist 31101
=========================
Made by PaulG, 18/4/2000

Set first IAP record created in a new database to be the default record.

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

Perforce Changelist 30025
=========================
Made by Ann Windsor, 14/4/00

- Removed timer entirely when opening database.

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

Perforce Changelist 28649
=========================
Made by Ann Windsor, 7/4/00

- Fixed bug where RTimer was not being closed, causing a memory leak.
- Removed possibility to override the proxies table settings.

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

Perforce Changelist 24691
=========================
Made by PaulG, 17/3/2000

increased size of an error message buffer. pop-up warning caused crash due to too long a string.

modified the error message handling for t_errors, t_provid and t_screrr to correct wrong errors when testing NTRAS connections

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

Perforce Changelist 24142 & 24154
=================================
Made by PaulG, 16/3/2000

Commented out field from t_db which causes problems (this is temporary workaround). Will replace when fix created.

Updated 3 routers in t_isp to have correct login details

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

Perforce Changelist 23349
=========================
Made by PaulG, 10/3/2000

Altered variable max size to repair des16 overflow problem

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

Perforce changelist 22903
=========================
Made by AnnW, 8th March 2000

1.	Fixed bug where nested transaction could occur when setting a global setting.

2.	Fixed bug in T_EDITDB which could cause a descriptor overflow panic. Also fixed 
	problem where the console size was incorrect for Crystal emulator.  Still does 
	not work properly on Crystal emulator becuase no of lines on screen is different
	from ref ui.

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

Perforce changelist 21121
=========================
Made by AnnW, 

1.	Fixed a error in converter DLL where 2 ordinals were specified and there should have
	only been one.  This DLL is only used by COMMDB.DLL, so this should not cause any 
	problems.
	
2.	Updated API documentation.

3.	Added Bearer information to ISP tables, as follows:
	ISP_BEARER_NAME, ISP_BEARER_SPEED and ISP_BEARER_CE

4.	Added ISP specific init string fields to ISPs and MODEM tables (ISP_INIT_STRING and 
	MODEM_ISP_INIT_STRING respectively). The modem version should be written by NetDial.
	
5.	Removed WAP_MODEM field from WAP_ACCESS_POINT table.

4.	Fixed bug where the internal transactions used by COMMDB could become nested. Fixed
	CCommsDatabase::IsDatabaseWriteLockedL() function which was also making an invalid 
	check.

5.	Added testcode for CCommsDatabase::IsDatabaseWriteLockedL() which was formerly 
	untested ;-)
	
6.	Fixed bug in T_DB testcode where fax class for 9110 was set to 2.  Now set to Auto.
	Added in testcode for new fields.


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

Perforce changelist 16902
=========================
Made by AnnW, 3rd February 2000

1. Fixed a bug in Commdb T_DB testcode.

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

Perforce changelist 16460
=========================
Made by PaulG, 1st February 2000

1.	Added 3 additional IAP setups to IAP table for a cabled 9110 to menu in t_db.
2.	Added a new record to the modem table representing use of a 9110 as a modem.

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

Perforce changelist 12005
=========================
Made by AnnW, 22nd December 1999

1.	Added new fields fro SMS to MODEM table in database.  Updated testcode for this.

2.	Added T_EDITDB to BLD.INF

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

Perforce changelist 11886
=========================
Made by PaulG, 21st December 1999

1.	Altered enum for WAP Addressing Scheme as suggested by Nile.

2.	Updated T_EDITDB to access all tables in COMMDB, for use as a test control panel

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

Perforce changelist 9214
========================
Made by AnnW, 30th November 1999

This release is for the Crystal DFRD Project.

1.	Made it illegal to override WAP access point settings.

2.	Added documentation and exported to EPOC32 tree.

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

Perforce changelist 8122
========================
Made by AnnW, 19th November 1999

This release is for the Crystal DFRD Project.

1.	Added the WAP and HSCSD settings as per the Functional Spec.

2.	Fixed bug where ther long distance dial out code was not being set for phone number
	resolution (EDNAWIR-4DCFRY).

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

Release 105
===========
Made by AnnW, 6th October 1999

This release is for the Crystal DFRD Project.

1.	Made some changes to Proxies table:

i)	Fixed bug where proxies table was not being created.
ii)	Changed removed Name column.
iii)	Added ProxyServerName column which is long text.
iv)	Made ISP and ProtocolName fields not null.
v)	Removed template record for proxy table.

2.	Changed ISP columns in IAP tables to be not null, i.e. guarantee that an
	ISP is always specified.
	
3.	Changed template record reads so that if the template record does not
	exist, reads return zero length descriptors in the case of text fields
	or leave with KErrUnknown in the case of integer/boolean columns.  This
	is the same behaviour as reading columns in a normal record.

4.	Updated T_DB testcode.  Still needs some updating to be complete for 
	Crystal testing.

5.	Merged in relevant changes from ER5u share, versions 050 - 054.

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

Release 104
===========
Made by AnnW, 11th August 1999

This release is for the Crystal DFRD Project.

1.	Added new API functions for accessing the database type. (This can also
	be read directly from the database's global settings):
	
	CCommDbOverrideSettings added:
	
	inline TCommDbDatabaseType DatabaseType() const;
	
	CCommsDatbase added:
	
	inline TCommDbDatabaseType Type() const;
	
-------------------------------------------------------------------------------------------

Release 103
===========
Made by AnnW, 9th August 1999

This release is for the Crystal DFRD Project.

1.	Added new API functions for accessing the current default settings for
	any table.  These functions are aware of the database type and read the
	settings accordingly.

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

Release 102
===========
Made by AnnW, 6th August 1999

This release is for the Crystal DFRD Project.

1.	Added MODEM_DIAL_PAUSE_LENGTH field to Modem table which had been
	accidentally removed :-(.
	
2.	Removed EBLD.BAT and added BLD.INF for the new build system.

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

Release 101
===========
Made by AnnW, 7th July 1999

This release is for the Crystal DFRD Project.

1.	All changes as per functional spec at 
	v:\epo\0023 Networking 5.3\03.01 Commdb Functional Spec.doc	
	
2.	Updated testcode.

To do:

1.	Additional testcode for new functionality.

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

Release 100
===========
Made by AnnW, 5th March 1999

First release of CommDb for the Communicator DFRD (Crystal). Based on (frozen) ER5 release
027.

1.	Removed changes to database structure and functionality made in releases 022, 023 
	and 025.

2.	Modified the ISP tables to be IAP tables, renaming them and adding two fields: 
	the ID of a connected modem and the ID of a location record.

3.	Removed modem preferences table and added the modem preference fields to the modem
	config table.

4.	Added a CallbackTimeout field to the dial out IAP table for setting the time to wait 
	for server callback.

5.	Added a default setting, RedialAttempts which specifies the number of times to attemt 
	redial if the line is busy.

6.	Moved all the code for opening and closing the database into the constructor and
	destructor of the CCommsDatabase class.  The Open() and Close() functions in this
	class now do nothing.

7.	Added template records to the IAP and location tables.

8.	Added modifications document.

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

Release 054
===========
Made by AnnW, 8th September 1999

1.	Added to testcode for ER5u testing.
-------------------------------------------------------------------------------------------

Release 053
===========
Made by AnnW, 25th August 1999

1.	Fixed errors (due to changes in E32) and warnings from ARM4 in testcode. 

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

Release 052
===========
Made by AnnW, 1st July 1999

1.	Fixed bug where ISP_IF_CALLBACK_INFO field was Unicode text rather than ASCII. 
	This was breaking Unicode PPP.
	
2.	Changed phone number resolution functions in unicode build to take return 
	unicode phone numbers.  This is required for Roxette. (As change in release 028 
	on ER5 share.) 

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

Release 051
===========
Made by AnnW, 20th May 1999

1.	Added BLD.INF file.
2.	Built against ER5u baseline.

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

Release 050
===========
Made by AnnW, 13th April 1999

1.	Removed all narrow-specific stuff from MNT.CMD and EBLD.BAT.

2.	Removed narrow def files and database from source directories.

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

Release 027
===========
Made by AnnW, 2nd March 1999

1.	Removed __DECLARE_NAME() macros from constructors.

2.	Rewrote a section of the CCommsDbTableView::InsertRecord() which could leave!

3.	Fixed bug where cancelling can panic.  Changed ASSERT in CCommsDbTableView::
	CancelRecordChanges() to check only for the database being closed.  Also
	removed the TRAP around the non-leaving Cancel() call and only call the cancel if
	we are in add/update state.

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

Release 026
===========
Made by AnnW, 22nd February 1999

1.	Tidied up MNT.CMD (made sure no environment variables are left set).

2.	Implemented workaround for bug in DIAL where number not in correct format
	is not resolved correctly.

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

Release 025
===========
Made by AnnW, 29th January 1999

1.	Made a change to the database structure to accomodate the ER5 messaging control panel.
	The modem config table has new fields to specify default modem preferences, which must  
	be filled in.  For any given modem configuration, when that modem is subsequently set 
	as the connected modems, the default preferences are read out of the modem config record 
	and written into the modem preferences record.  
	These value may be subsequently overwritten by writing directly to the modem preferences 
	table. If the default preferences are later updated in the modem config table, the modem 
	preferences table will NOT be updated until the modem config id is rewritten to the 
	connected modem table.
   One problem with this is that if a view on the modem preferences table is held open over 
   the update of the modem config id in the connected modem record, the modifications will
   not appear and the view will have to be closed and reopened.

2. Disallowed the use of more than one record in the connected modem table or in the modem
   preferences table.  This is another modification for the ER5 control panel and will have 
   to be removed post-ER5.

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

Release 024
===========
Made by AnnW, 15th January 1999

1.	Changed database close function not to compact the database unless updates have been made.

2.	Updated test database with some working ISP accounts.

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

Release 023
===========
Made by AnnW, 7th January 1999

1.	Made a change to the database structure to accomodate the ER5 messaging control panel.
	The database modem config table has another new field DefaultPortName, which may or may 
	not be filled in.  If for any given modem configuration they are not blank, when that 
	modem is subsequently set as one of the connected modems, the default port name is read 
	out of the modem configuration record and written into the connected modem record.  
	This value may be subsequently overwritten by writing directly to that field in the 
	connected modem table.  If the default port is later updated in the modem config table, 
	the connected modem table will NOT be updated until the modem config id is rewritten 
	to the connected modem table.

2.	Updated testcode to reflect this change and added a test for this functionality.  Updated
	documentation.

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

Release 022
===========
Made by AnnW, 17th December 1998

1.	Made a change to the database structure to accomodate the ER5 messaging control panel.
	The database modem config table has two new fields DefaultTsyName and DefaultCsyName,
	which may or may not be filled in.  If for any given modem configuration they are not 
	blank, when that modem is subsequently set as one of the connected modems, the default
	tsy name and csy names are read out of the modem configuration record and written into
	the connected modem record.  These values may be subsequently overwritten by writing 
	directly to those fields in the connected modem table.  If the default tsy and csy are 
	later updated in the modem config table, the connected modem table will NOT be updated
	until the modem config id is rewritten to the connected modem table.

2.	Updated testcode to reflect this change and added a test for this functionality.  Updated
	documentation.

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

Release 021
===========
Made by AnnW, 16th December 1998

1.	Updated dependancies.

2.	Updated to use EBLD and EVALID.  Tidied up MNT.CMD.

3.	All source files boiler-plated for ER5.

4.	Added MAP files to releasables.

5.	Fixed bug where closing the database can panic DBMS.

6.	Updated documentation to include whether fields may be null or not.

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

Release 020
===========
Made by AnnW, 20th November 1998

1.	Updated to use DBMS 054.

2.	Fixed bug SW1-365 in T_EDITDB

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

Release 019
===========
Made by AnnW, 11th November 1998

1.	Updated docs for ER5.  Now complete.

2.	All source and releasables identical.

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

Release 018
===========
Made by AnnW, 4th November 1998

1.	Added UID specification for the database file.  This release is thus
	data incompatiable, though it is BC. Fixes bug SW1-357.

2.	Fixed bug SW1-359 in testcode.

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

Release 017
===========
Made by AnnW, 28th October 1998

1.	Changed UNICODE UID.

2.	Ensured REL/DEB compatibility.

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

Release 016
===========
Made by AnnW, 28th October 1998

1.	Added non static function for resolution of phone numbers for use by the
	control panel.

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

Release 015
===========
Made by AnnW, 22nd October 1998

1.	Tidied up MNT.CMD

2.	Upgraded to VC5 (and removed warnings).

3.	Added CCommsDbTemplateRecord::TemplateRecordExists() returning a TBool
	indicating whether or not a template record exists.

4.	Fixed bug in CCommsDbTableView::ReadTypeAttribL() which did not check for
	non existant column name and replaced L as it now leaves.

5.	Changed CCommsDbTableView and CCommsDbTemplateRecord ReadLengthOfLongTextL() 
	fucntions to ReadColumnLengthL() as they can be used to read the length of any 
	column.

6.	Written lots more testcode.

7.	Added ROM building.


Testing to be done:

1.	Test opening views with client defined SQL queries.

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

Release 014
===========
Made by AnnW, 10th October 1998

1.	Changed DBMS dependancy from 050 to 051 (not BC).

2.	Changed CCommsDbTableView::ReadTypeAttribL() to ReadAttrib() as it does not
	leave.

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

Release 013
===========
Made by AnnW, 25th September 1998

1.	Changed database file to be called COMMSDBU.DAT in unicode builds.

2.	Fixed T_EDITDB testcode so thatit can be used for editing records.

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

Release 012
===========
Made by AnnW, 24th September 1998

1.	Changed fields containing IP addresses from being 8 bit in all builds to being build
	dependant.

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

Release 011
===========
Made by AnnW, 11th September 1998

BC with 010 - source and binaries identical to 009

1.	Updated documentation.

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

Release 010
===========
Made by AnnW, 25th August 1998

BC with 009

1.	Moved const definition from COMMDB.H to CDBLEN.H to avoid PPP dependancy
	on DBMS and DIAL header files.

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

Release 009
===========
Made by AnnW, 20th August 1998

BC with 008

1.	Changed override settings to be contained in two classes CCommDbOverrideSettings
	has the basic functionality of setting and getting overrides, and a derived class 
	CStoreableOverrideSettings which deals with the storing of overrides for passing
	over IPC.  This avoids NifMan depending on STORE.

2.	Added missing exported functions for storing and restoring overrides.

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

Release 008
===========
Made by AnnW, 19th August 1998

BC with 007

1.	Moved override settings class from Kipper to CommDb, to allow NifMan
	to use it.

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

Release 007
===========
Made by AnnW, 3rd August 1998

BC with 006.

1.	Added a pause before connecting to the database server in WINS to work
	around the WINS server bug.

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

Release 006
===========
Made by AnnW, 9th July 1998

Not BC with previous releases due to API changes (see 3-5 below).

1.	Added ConnectedModem table as described in the \COMMDB\DOCS\NEWCFG.DOC.  There is no
	longer a default record for the ModemConfig table, only for the ConnectedModem table.

2.	Added ISP_DESCRIPTION and ISP_TYPE columns and removed ISP_UNICODE_CONVERSION and 
	ISP_IP_USE_DHCP columns from ISP tables.

3.	CCommsDatabase API changes:
	i)		Renamed Connect() to Open()
	ii)		Added RollbackTracsaction() function.
	iii)	Added functions to open views on tables based on SQL queries.
	iv)		Renamed GetDefaultSettingL() and SetDefaultSettingL() to
			SetDefaultRecordL() and GetDefaultRecordL().
	
4.	CCommsDbTableView API changes:
	i)		Renamed PutRecord() to PutRecordChanges() and changed to take a parameter to 
			specify whether the record is hidden or not.
	ii)		Renamed CancelRecord() to CancelRecordChanges().
	iii)	Removed FindRecord().
	iv)		Changed ReadLongTextL() to ReadLongTextLC() returning an HBufC*.
	v)		Added SetNullL() to set the specified column to null.

5.	Added CCommsDbTemplateRecord class to API.  This class enables the template record to
	be modified and read.  Separate class is required for this because the template is not
	available to clients in general and certain operations should not be allowed on it. 
	Modify() function opens the record for update, or inserts a new record if none exists.
	Delete() function deletes the record.  StoreModifications() stores modifications made 
	to the template since the Modify() call.  CancelModifications() cancels the modifications
	made to the template since the Modify() call.  Read and write functions are the same as
	for ordinary records.  There is no SetNullL() as template cells should not be null.

6.	Added hidden record functionality.

7.	Changed defaults table to locate records by name of table rather than ID.

8.	Changed CCommsDbTableView to use an RDbView rather than an RDbTable for accessing
	records.

9.	Added CDbColSet* member data to CCommsDbTableView to speed up finding appropriate 
	cells in the table.  This slows down opening the table slightly as the column set must 
	be requested from the server and stored on opening, but no later calls to the server to 
	get column definitions are required.

10.	Added CCommsDbTemplateRecord* member data to CCommsDbTableView for accessing the 
	template record (for the modem config table only) when the required column is null.

11.	Added distinction between null and zero-value numeric columns.  Trying to read a null 
	column now results in a KErrUnknown error.  In order for the template record in the
	modem config table to be used, the column must be null (not zero).

12.	Various speed and other improvements.

13.	Added to and updated test code.

14.	Updated deisgn doc and rose diagram.

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

Release 005
===========
Made by AnnW, 30th June 1998

1.	Added GetTableName() function to CCommsDbTableView class for use by Kipper.

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

Release 004
===========
Made by AnnW, 1st June 1998

1.	Changed modem reponse strings in modem config table to be 8-bit rather than
	build dependant.

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

Release 003
===========
Made by AnnW, 27th May 1998

1.	Changed to use the DBMS server, hence requires release 050 + of DBMS.
	The API now provides the concept of a database from which tables may be opened.
	For more details of this API see the document \CommDb\Design\DesignV1.doc.

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

Release 002
===========
Made by AnnW, 13th May 1998

1.	Added functionality to notify an interested client of changes to the default record 
	of a certain table.

2.	Added UseLoginScript fields to the database for dial in and dial out service tables.  
	This corresponds to the tick box in the UI "Use login script" and ensures that the 
	login script need not be deleted if unused.

3.	Removed to incorrect columns from the location table.

4.	Changed client side view of record ids so that they are never zero.  This ensures 
	that fields which reference other records can be null, indicating no record is 
	referenced without confusion with the row with zero id.

5.	Added functionality to use row zero as the default settings for modem config for 
	that table.  If a modem config record has a null cell then the value of that cell 
	is taken from the default record.

6.	Made some unicode changes.

7.	Added to test code.

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

Release 001
===========
Made by AnnW, 10th May 1998

This component is the congolmeration of the netdial database server and the dialstor. The 
tables and columns previously in the ISP database remain and new tables have been added
to cover the information previously contained in dialstor (modem, location and chargecard 
information).   In future it is expected that the database will grow to encompass more comms 
information.

The server is the same as the previous NetDial database server with the addition of record 
locking. This prohibits more than one client writing to the same database record at any one time 
and also allows clients to lock default records while they are using them.  Locking of any record 
and the concept of hidden records will be included in future releases, but are currently unsupported.

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



