Author: Chris Guffey Date: 12/5/2006 - RJL Rev. 061205,061211 RJLRef: $CASE/06f522/asgnt3_report_cg_rl061211.txt [Was ./cguffey/asgnt3/assignment3_report.txt] Work accomplished: 1) Spent lots of time in group discussion and exchanging emails trying to clarify the functionality and scope of the project 2) Implemented code for keyValueListExists and associated functions (see code history below) 3) Worked with Alison to resolve compilation and runtime errors Revision History: file: $case/06f522/cguffey/asgnt3/assignment3.c changes: Initial attempt at coding keyValueListExists. Won't compile and only half implemented. file: $case/06f522/cguffey/asgnt3/assignment3_2.c changes:Introduced functions ExtractValues(...) and DetermineColType(...), file: $case/06f522/cguffey/asgnt3/assignment3_3.c changes: Introduced functions doesDEKeyExist(...), GetValueFromDECurr(...) and InitializeTableAbbr(...). This was to modularize the code, separate concerns and make it more readable to the human eye. Removed function DetermineColType(...). file: $case/06f522/cguffey/asgnt3/assignment3_4.c changes: - Created a linked list of structs that hold fname and fvalue characteristics of our CK - rewrote ExtractValue to use hcg_parse - pValueList is now only parsed once, not during every new DE row - reduced the number of nested loops in DoesDEKeyExist(...), because we extract the CK info before hand now we no longer needed the inner 2 loops, they were replaced with one less costly loop file: $case/06f522/cguffey/asgnt3/assignment3_5.c changes: - Fixed assorted compilation errors [RJL> Next change (below) may be a candidate for GVars extension: The CA relation relates TA ftype with CK fname; CQ holds fvalue in ASCII. CA like TA is metadata (has CK not CQ fkey) so cannot hold fvalue (encoded OR ASCII). CQ COULD hold encoded as well as ASCII value for validation use during search loop. TTid_pp; file: $case/06f522/cguffey/asgnt3/assignment3_9.c changes: - Alison found a bug where pFieldList was not being properly initialized. A simple modification in the function ExtractValues fixes this.