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.
|