File: HISTORY

package info (click to toggle)
msql 2.0.3-5
  • links: PTS
  • area: non-free
  • in suites: hamm, slink
  • size: 3,596 kB
  • ctags: 2,483
  • sloc: ansic: 34,769; sh: 1,309; yacc: 1,084; perl: 328; makefile: 267
file content (459 lines) | stat: -rwxr-xr-x 17,237 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
7 Oct 1997   2.0.3
-------------------------

	mSQL
	====

	o Fixed cpp problem on build (compilation failed on some systems)
	o Fixed infinite loop problem when updating an index value using
	  the index as the condition
	o Fixed core dump when using a sub condition in conjunction with
	  and index for row selection
	o Replaced hard coded make with $(MAKE) in makegen macros



        Lite / W3-mSQL
        ==============

	o Fixed several queries in msql-auth that did not include the
	  namespace to which they applied.


	

22 Sep 1997  2.0.2
-------------------------

	mSQL
	====

	o Rolled in Bob Sum's patches
	o Fixed translation of missing numerci values to NULL in msqlimport
	o Fixed floating point rounding problems with money values
	o Fixed denial of service attack problem with malformed protocols
	o Fixed core dump if overflow buffers of a TEXT field extend 
	  beyond the mapped region during an update
	o Fixed core dump when query string is longer than the debug buffer
	o Fixed SNI security concerns regarding buffer overflows
	o Added forward name lookup testing of hostnames during ACL checks
	o Fixed handling of reals, money and time in DISTINCT queries
	o Fixed server memory leak in certain mmap errors
	o Fixed memory leak in API library for empty selects
	o Fixed problems with updating and index where the index is in
	  use by the update query (i.e. in the where clause)
	o Changed the memory syncher to force a remap rather than using
	  msync as Linux appears to not sync the mapped regions.
	o Fixed an mmap region leak
	o Fixed problem where connection could be reached due to errors
	  causing session to abort
	o Fixed problem with TCP Port number in bcmp during host_lookup
	  (when host_lookup = false).  Thanks for the note Dirk.

	# Code branch for experimental development



  Jun 1997  2.0.1
-------------------------

	mSQL
	====

	o Modified select loop range handling to avoid potential
	  infinite loop searching for active sockets
	o Forced a mode of 0777 on the UNIX socket just in case
	o Rolled in completed Win32 portability
	o Fixed comparison of negative time/date values
	o Fixed matching of null values to 0
	o Fixed handling of null values in conditions other than
	  equals and not-equals
	o Fixed value overwriting when updating the value of a TEXT
	  field that was originally set to NULL
	o Fixed integrity of the overflow buffer on deletion of table
	  Rows containing NULL text fields.
	o Fixed non-unique index error when updating a row using the
	  index for row selection
	o Fixed wierd "field cannot be null" errors when inserting valid
	  data into not-null fields.
	o Fixed CHAR and TEXT comparison problem where the in-table
	  value fills the entire field width and the literal value
	  is longer than the field width (sub string match problem).
	o Fixed generation of values for _sysdate and _systime
	o Fixed handling of system variable like _systime for queries
	  on empty tables
	o Fixed problem in msqlDateOffset()
	o Rolled in Bob Sum's *LIKE fixes.  Some of the NULL handling
 	  code replaces the above mentioned NULL fixes.
	  
	



	Lite / W3-mSQL
	==============

	o Fixed definitions of HAVE_DYNAMIC
	o Added performance optimisations
	o Fixed strseg() handling of strings shorter than the specified
	  substring.



	Misc
	====

	o Updated doco for 2.0.1
	o RTF version of documentation replaced by HTML.  The
	  translation is still very rough and the PostScript version
	  should be used where possible.
	o Added testing for sys/timeb.h to the configure script




8 Jun 1997  2.0 Release
-------------------------

	mSQL
	====

	o Fixed minor read overflow in AVL tree initialisation
	o Further optimised index selection during candidate setup
	o Fixed memory leak in sub-condition handling
	o Fixed bug in handling of reversed ident conds in inner loop 
	  condition when using an index for the inner loop of a join
	o Fixed unique index handling problem
	o Fixed bug in comparison with some system variables
	o Fixed pre/post increment problem of sequences during query
	  execution
	o Fixed handling of TIME and DATE fields in msqldump
	o Fixed core dump where and index fields is compared to an IDENT
	  values who's value is NULL during a join.
	o Fixed core dump in certain situations if the value passed to
	  an index based condition is longer than the field length.
	o Fixed bug in the sorting of real values
	o Fixed obscure bug in resetting an index value to the same value
	  if that index was used for the lookup and the index node
	  contained duplicate values
	o Optimised index updates so that indices are only modified if
	  the value has actually changed
	o Made cache invalidation consistent
	o Added "copy" and "move" to msqladmin
	o Added section based name spaces to the config routines
	o Added further configuration output to "msqladmin version"
	o Rewrote msqlimport from scratch
	o Added date / time format routines to the API library



	Lite / W3-mSQL
	==============

	o Added .shtml as a valid HTML suffix for W3-mSQL processed files.
	o Added @variable for accessing global symbols from a local
	  namespace (e.g. using globals from within a function)
	o Fixed core dump when adding an empty function to a lite library
	o Fixed double contraction of \\ escapes




8 May 1997  2.0 Beta 7
----------------------

	mSQL
	====

	o Added test for "make target" before performing a build
	o Fixed unique index handling if updating the index value with
	  itself
	o Fixed access control for UPDATE queries
	o Fixed core dump if _rowid > numRows given in a select
	o Fixed problem with incorrect precision in update of real fields
	o Forced debug initialisation messages to stderr


	Lite / W3-mSQL
	==============

	o Fixed handling of multi-value web form data (i.e. multi-select
	  lists) during the casting of the values to an array.
	o Upgraded limits in W3-mSQL passed variable lengths 
	o Fixed initialisation of symbol table prior to checking W3-Auth
	  based access control


11 April 1997  2.0 Beta 6
-------------------------

	mSQL
	====

	o fixed rand() srand() portability macros
	o added strptime check to autoconf script
	o added strptime function to lib mSQL if needed
	o completed Win32 porting of client API and client apps
	o completed Win32 porting of server although indexing still
	  needs some debugging.
	o fixed per field cache pointer during tmp table creation (core
	  dump when ordering the result of a join with a TEXT field)
	o fixed handling of 8 bit char sets in regexp matching
	o fixed ident handling in joins (particularly in self joins)
	  when multiple idents used in the comparison clause
	o fixed timestamp bug where timestamps were reset in a condition
	o fixed NOT NULL testing for NULL fields
	o fixed NOT NULL testing for NULL indices
	o fixed resetting overflow table mapping length to 0 when
	  dropping a table cache entry in loadTableDef()
	o fixed potential leak of mapped region in initTable()
	o updated client library to use MSQL_DEBUG not MINERVA_DEBUG
	o updated libmsql to use stderr for debugging
	o added short-circuits for condition testing (i.e. bail as soon
	  as we can tell the result of and AND or an OR etc)
	o fixed leak of overflow buffers when deleting rows containing
	  TEXT fields
	o added soundex based matching using the SLIKE operator
	o fixed handling on blank date fields (ie. '')
	o fixed LIMIT handling


	Lite / W3-mSQL
	==============

	o More performance upgrades
		- Symbol names no-longer malloced
		- Symbol values < 10 bytes long no longer malloced
		- Results show 300% performance increase in virtual
	  	  machine operating speed
	o Fixed string length mis-match between locally created and
	  passed variable values (e.g. html form data etc)
	o Forced flushing of output after an echo() as a call to
	  system() following a non-flushed echo() could cause the
	  output order to skew



20  March 1997 	2.0 Beta 5
--------------------------

	mSQL
	====

	o Rewrote regression test suite to obtain better code coverage
	o Added real value precision handling to solve real number
	  rounding errors.  The desired precision is now stored with
	  the value in the database table.
	o Added code to translate system variables (eg _rowid) into
	  "real" table fields during creation of a result table.  This
	  allows the sysvar value from the original table to be carried
	  through a DISTINCT or an ORDER rather than it being incorrectly
	  generated from the result table.
	o Added ability to order a result on the value of a system
	  variable
	o Added more system diagnostics for low-level errors
	o Added more file ownership testing (for those that chown the
	  data file and don't get it correct)
	o Added /dev/tty test in makegen macros.  I though expecting 
	  /dev/tty to exists was fair but apparantly not so on IRIX
	  5.3.
	o Added README.sco for build details on SCO
	o Added msqlGetSequenceInfo() to API and server
	o Added support for showing sequence structure to relshow
	o Added support for dumping current sequence status to msqldump
	o Added support for UINT data type
	o Added support for DATE data type
	o Added support for TIME data type
	o Added support for MONEY data type
	o Added mmap region syncing for data files, overflow files and
	  the mapped regions of the AVL index files.  Frequency of sync's 
	  is configured in msql.conf.
	o Added support for sequences in relshow (sequence creation at
	  the current sequence value)
	o Added msqlGetSequenceInfo() API function
	o Added _systime system variable
	o Added mSQL time and date functions to the API library.  These
	  allow for conversion from the text representations used by
	  mSQL into a valid UNIX time_t value.
	o _sysdate system variable now returns a date type value of the
	  current data on the server machine (not the UNIX time value
	  as previously returned)
	o Rows are now padded to an 8 byte boundary for memory alignment
	  reasons (mmap() access to the row headers structures on Alpha)
	o Row header timestamp now time_t rather than int for machines
	  that use long time values (e.g. the Alpha)
	o Fixed memory leak in yyprev symbol handling
	o Fixed wild free in lexer symbol handling (core dump)
	o Fixed timestamp overwrite problem for the Alpha
	o Fixed relshow core dump for invalid index name
	o Fixed core dump in AVL code when accessing an unaligned real 
	  (i.e. a double) value in the tree node
	o Fixed bad handling of numeric index types by moving the field
	  value auto-casting earlier in the control flow
	o Fixed AVL Lookup problem for indices comprised of real values
	o Fixed compound index handling bug (key could be incorrectly
		formatted on lookup resulting in no results).
	o Fixed problem with ident comparisons on single table selects
	o Fixed problem with ident to sysvar comparisons on single table 
	  selects (e.g. select * from foo where f1 = _rowid)
	o Fixed wild free problem for ident values in join code (core dump)
	o Fixed memory over-read on some TEXT field operations
	o Fixed data hole free list handling
	o Fixed multiple increment of sequence value (i.e. select _seq
		from foo would increment the seq for each row)
	o Fixed multiple increment of seq in conditions (i.e.
		"select _seq from foo where id > _seq" would increment
		the sequence twice (once for each call to getSysVar() )
	o Fixed handling of system variables in join results
	o Fixed 8 byte alignment problems in the AVL tree code.  The
		entire server is now 64bit clean and passes the
		new regression test on an Alpha under OSF/1



	Lite / W3-mSQL
	==============

	o Rewrote all symbol table handling code to use a 64 way
	  hash table for symbol lookups.  Also added a short-cut for
	  symbol searches.  General performance increase in every aspect
	  of the language results from this modification.
	o Added support for non-local authentication databases via the
	  msql.conf file.
	o Added support for HTML comments and other non-Lite tags that
	  start with <!
	o Adding hooks for the mSQL time and date routines to mod_std
	o Added getTzOffset() to mod_std for hacking time values
	o Added toksplit() to mod_std
	o Added literal symbol re-use code
	o Fixed auto-casting problems with the new uint type
	o Fixed auto-base-conversion (i.e. octal & hex).  Conversions
	  now only performed on literals, not on variables during a cast
	  or an auto-cast
	o Fixed off-by-one error in count operator for text strings
	o Fixed regression test results to reflect the current test
	  output
	o Fixed space handling in urlEncode()
	o Fixed problem with string truncation in sub()
	o Fixed problem with handling some C styled comments
	o Fixed core dump when trying to cast an array to a scalar type
	o Fixed off by one error in array literal element length
	o Fixed handling of array indexing in text expansion (e.g. 
	  in echo() strings) when array indexed by a variable value
	o Fixed auto casting for int and uint in printf formats




	Misc
	====

	o Fixed a couple of bugs in the time library for date/time handling
	o Added errno.h to the headers searched in setup when looking for
	  sys_errlist (for NetBSD 1.2)
	o Added stdlib.h to the headers searched in setup when looking for
	  ssize_t (for Irix 6.2)
	o Started total re-working of the documentation kit.
	o Code has been "linted" within and inch of its life (using
	  gcc -Wall)



1  February 1997 	2.0 Beta 4
-----------------------------------

	Lite / W3-mSQL
	==============

	o Added support for Multi-Select form data to W3-mSQL
	o Added typeof() function to Lite standard module
	o Fixed bug in expandText() handling mis-defined symbols
	o Added work-around for the gnu getopt() library
	o Added work-around for the gnu atoi() function
	o Added 'uint' type handling and "%u" to printf()
	o Fixed problem with fuction call arg count on some machines
	o Fixed last character match problem in tr()
	o Fixed a few doco bugs in the mSQL module doc's
	o Fixed up type checking during a cast
	o Fixed a problem if the first element of an array is not a CHAR val
	o Fixed urlEncode problem for the + character


	mSQL
	====

	o Fixed token destruction in error reporting from the parser
	o Fixed documentation example for sequence creation
	o Fixed core dump in mSQL monitor on overly large error results
	o Fixed inaccurate initialisation of ident segments in msqlCreateIdent
	o Added support for MSQL_CONF_FILE environment variable
	o Fixed looping problem in wild-card delete
	o Fixed some _more_ doco bugs
	o Fixed problem with comparison of TEXT fields with NULL
	o Fixed problem with the matchVarChar() function when comparing
	  values with TEXT fields
	o Fixed bug in LIKE and CLIKE for matching multiple % wildcards
	  to an empty string
	o Fixed a possible problem with the static size of the connection
	  array



14  January 1997	2.0 Beta 3
-----------------------------------

	o Fixed bugs in table join logic
	o Fixed bug that allowed an update to set a non-unique value
	  for a unique index
	o Completed dynamic loading of module object code in Lite / W3-mSQL
	o Fixed some documentation errors in the HTML manual
	o Fixed non-flushed output in user prompts from msqladmin and msql 
	o Fixed problem with fields being inserted with the NULL flag set
	o Added a 0 exit val to msqldump
	o Fixed some API function prototypes 
	o Added strdup() to the malloc test code (although we don't
	  use the malloc library anymore for in-house code testing)
	o Fixed memory leaks in parser, msqlServerDelete, QUIT processing,
	  join condition lists, and join ident fields.
	o Wrote the mod_graph dynamic loaded graphing module for Lite &
	  W3-mSQL.
	o Added optional W3-auth security.  The file .w3-auth must now
	  be created in the directory containing the requested file to
	  enable W3-auth access control.




6  January 1997		2.0 Beta 2
-----------------------------------
	o Fixed problem with deletion using an index for row selection
	  (reshuffle of dup values in tree node caused getNext to skip
	   a valid entry)
	o Fixed bug in bulk index creation where it was including
	  non-active rows in the newly created index.
	o Added strncasecmp() for SVR4 people (so they can dodge the BSD lib)
	o Fixed bug in the AVL node swapping code wrt dup node lists.
	o Fixed core dump bug when DISTINCT used with an empty result
	  table.
	o Fixed bug in the updating of CHAR fields.
	o Increased listen queue for UNIX socket to 128
	o Fixed bug in updateValues() where by a full field width char
	  value would trash the active flag of the next field (i.e. NULL
	  termination of the string).
	o Fixed param count test in Lite function calling.
	o Increased Lite VM performance by up to 20% by caching stack 
	  frames and other reuseable items.
	o mSQL Server performance increases
	  - Removed some more malloc & bzero overhead 
	  - Added speedup for boxes without hardware multiply (like
	    lots of the early SPARCs).  
	  - The above modifications produced a 20% faster "killer"
	    result on a SPARC without hardware math.
	o Added support for symbolic Macros in modules
	o Started support for dynamic loading shared modules



16 December 1996	2.0 Beta 1
-----------------------------------
	o Initial public beta release of the 2.0 code base.