Revision history for Perl extension Genezzo
0.48 Fri Aug 26 23:33:21 2005
- Consolidate all dictionary defs/prefs, see "dump prefs"
0.47 Thu Aug 25 02:03:21 2005
- Object-Oriented SysHook
- arbitrary user preferences (via -define) and fileheader info
(via -fileheader_define).
- align fileheader on blocksize boundary
0.46 Sun Aug 7 20:10:17 2005
- more efficient update of rows that exceed small row threshold.
- add sync (flush changes to disk without committing a transaction).
0.45 Sat Jul 23 22:26:29 2005
- More fixes for Raw IO:
- Util: fix FileGetHeaderInfo for Raw IO - increase buffer size
to handle large, aligned file headers.
- Include file header size in space calculations for file size
and number of blocks -- don't extend past specified file size.
- add description field to _pref1 dictionary table
0.44 Sun Jul 17 00:34:51 2005
- Eric's fixes for my merge of Raw IO
- Fix FSF address everywhere
0.43 Fri Jul 8 02:34:17 2005
- Enforce case-insensitivity in table, column names.
- Foundation work for multiple tablespaces.
- Update address of FSF (spotted by the
sharp eyes of Darren Duncan!)
- Merge Eric Rollins' support for Raw IO.
- Fix Syshook documentation (thanks again, Eric!)
0.42 Fri Jun 17 01:31:05 2005
- fix boolean NOT
- Chain GZERR routines for Havok, UserExtend and other modules
- Add genexp.pl to install
- New parser, execution for UPDATE, CREATE
- retire Feeble parser
0.41 Thu May 26 00:42:38 2005
- allow TRUE, FALSE, and NULL in SELECT lists.
- New parser, execution for ALTER TABLE, DELETE, INSERT.
- Fix multi-line commands from input file (@file on command line).
- update SQL in tests to conform to standards.
0.40 Tue May 10 02:04:16 2005
- Allow arbitrary expressions in SELECT lists.
0.39 Mon Apr 11 00:35:29 2005
- More typechecking and analysis.
- Phase in new parser for SELECT with the following
pluses and minuses:
+ understands more of SQL grammar
+ better support for perl regex comparisons
+ added primitive EXPLAIN PLAN support
+ better complex expression support
- more restrictive on quoting conventions
- slower
- need to improve parser error messages/recovery
- identifiers still case-sensitive
0.38 Sat Mar 19 01:05:06 2005
- Add Plan and MakeAlgebra packages to support new parser
- Allow multiline SQL statements/require semicolon terminator
- Hook the Parse::RecDescent grammar to gnz_err.
0.37 Fri Feb 25 00:55:10 2005
- Add Parse::RecDescent dependency -- prelude to
new SQL parser.
Ship precompiled parser -- 3 meg (!) SQL.pm
compresses to about 100K.
0.36 Mon Feb 7 22:28:28 2005
- BufCa/bce: set fileread flag in buffercache element
when reading blocks in to counteract the spurious
dirtyflag setting when the bigbuf gets updated.
Set filenum/blocknum *before* the fileread so GetInfo
is up-to-date.
0.35 Tue Feb 1 22:53:00 2005
- fix parser to give error for INSERT with no VALUES
- fix 0.34 compatibility - syshook table changed.
- pass additional info BCFile/BufCa on current
filenum/blocknum.
0.34 Sun Jan 30 01:51:21 2005
- more SysHook support.
- option to disable havok
0.33 Sun Jan 23 01:53:03 2005
- genexpl.pl: export database
- handle backslashes in single-quoted strings.
- add rollback support.
- havok SysHook tables for system extensions.
0.32 Sat Jan 1 00:27:35 2005
- More error reporting (Feeble parser).
(Tip o' the hat to Eric Rollins)
- improve error newline formatting slightly.
- Try to maintain dictionary/file/block format compatibility
between versions.
0.31 Thu Dec 30 00:39:37 2004
- More error reporting (RSTab, SQLPrepare).
- add attribute parameters to GenDBI::connect like
PrintError, RaiseError, and GZERR.
0.30 Sat Dec 25 17:20:34 2004
- support (unquoted, uppercase) NULL in insert, update.
- More work on error reporting (GenDBI, Dict, RSTab).
0.29 Mon Dec 13 23:54:35 2004
- Havok API change.
- Revise error reporting mechanisms (Util, etc).
0.28 Mon Oct 4 01:09:37 2004
- cleanup of Havok and UserExtend. UserExtend simulates
function import. More pod documentation.
0.27 Tue Sep 28 23:51:23 2004
- more metadata fixes
0.26 Tue Sep 28 01:11:09 2004
- try to fix metadata
0.25 Mon Sep 27 01:33:50 2004
- print text of check constraints on failure
- trap undefined functions in WHERE clauses and CHECK constraints
- havok/UserExtend tables for user extensibility
0.24 Sun Sep 19 01:43:13 2004
- force sync on commit
0.23 Sat Sep 11 00:00:26 2004
- fix uniqueness for initial primary key constraint definition
in Dict::_index_create
- support multiple constraints on same table
- Remove associated constraints and indexes when a table is
dropped (maybe should require CASCADE option?)
- Cons1.t: basic constraint testing
0.22 Fri Aug 27 15:11:13 2004
- slightly better line-mode "help"
- remove trailing semicolons with trailing blanks
- clarify gendba, genDBI docs
- improve constraint support: UNIQUE and PRIMARY KEY
- create table: convert CHAR, VARCHAR, NUMBER, NUMERIC, INT,
DEC, SMALLINT, FLOAT, DOUBLE, REAL types to internal "c", "n"
- Util:PackRow mutated $value array, converting undefs to
zero-length strings, which broke primary key/not null
enforcement.
0.21 Thu Aug 12 09:31:15 2004
- cleanup for CPAN upload
0.20 Wed Jul 28 23:20:33 2004
- Dict changes:
use _get_col_hash to replace hard-coded column indexes in
Dict, Tablespace.
- bt2 - support for non-unique indexes where rid is part of key.
ALTER TABLE ADD CONSTRAINT support
0.19 Thu Jul 22 10:40:15 2004
- Gnzo2.t: uncovered issue where RSFile might return
incorrect rid's during push -- a very serious problem
for chained rows. Fixes to RSFile::_get_current_chunk
- Dict changes:
add ind1, ind1_cols tables for index information
add primary key for cons1_cols, _tsfiles, ind1, ind1_cols
dump "help" option
- fix fetch from empty index
0.18 Mon Jul 12 22:36:04 2004
- extensible datafiles via increase_by
- add "increase_by" to AddFile command. Support fixed size (bytes)
increase or percentage increase.
- Dict changes:
_tspace - addfile column
_tsfiles - increase_by column
- add "bigdb.sql" script to reset database to acquire multiple,
auto-extending datafiles
- fix month in iso-8601 dates
- insert select: check if table exists first
- add SHOW command with version, license
- convert to GPL
0.17 Sat Jul 3 15:18:54 2004
- Gnzo2.t: fixes for long row splitting and updating. Make sure
to write row status bit changes (versus just updating in memory).
Always insert the new row pieces first so if run out of
space, the original row value is preserved.
0.16 Thu Jul 1 14:48:44 2004
- IdxTab filter fixes
- btHash Index fetch (fetching from index as a "table")
filter fixes.
- Dict changes:
core table "creationdate" columns in iso-8601 format
(YYYY-MM-DDtHH:MI:SS) because numeric date "epoch"
not portable.
_tab1 - otype to object_type,
_tsfiles - add initial_size, calc_increase
- pass filename, size arguments for AddFile
- datafile portability: only store relative paths for file names
in _tsfiles so can move gnz_home directory
- default increase_by=50% for extent allocation
- Extensible datafiles via increase_by (in progress)
- Gnzo2.t: fixes for long row splitting and updating (still broken)
0.15 Mon Jun 21 21:32:43 2004
- Create Index <index_name> on <table_name> (col1 [,...<col_n>])
- Use primary key index lookup for equality predicates
(WHERE index_col = "literal")
- INDEX object type
- core table "creationdate" column as number (not char)
- estimation for rsidx/bthash - (placeholder - just straight count)
- fixes for primary key constraints
- Internal: bt2 - fix SQLFetch to match RSTab api
Dict - define and load primary key indexes in 2 phases
- fix "select count(*) from ggg" when ggg is an idxtab
0.14 Thu Jun 17 19:47:13 2004
- btree support for unique key (duplicate detection)
on insert, added key_type argument to simplify btree
api, start_key/stop_key support in index SQLPrepare,
IOT's with multiple value columns, WHERE clause support
for startkey/stopkey for (=, <, >) operations.
- Handle "nearest" start/stopkey, versus an exact match.
- Internal: start transitioning to object_id vs tablename
in dictionary, space mgmt, row sources
- primary key constraints for dictionary tables
- primary key index support
0.13 Fri Jun 4 02:24:31 2004
- index enhancement to support multicolumn keys,
index persistent space management,
fix rowcount on insert failure, index count support,
index-only table support via "ct <tabname> index <col=value>...",
limited WHERE clause support for equality keys
0.12 Fri May 21 01:40:43 2004
- change packrow - don't need separate len for null bitvec,
parameterize numeric pack types to support BER ints.
Add -define parameter to pass key=value pairs for db
initialization (e.g. blocksize=2k).
Fix rowcount in DBI fetch (GenDBI::SelectFetch).
Cleanup Tablespace handling of filearr,used/unused to match
Dict _tsfiles fileidx.
Use Util::UNPACK_TEMPL_ARR to cache common unpacking templates
to speed up UnPackRow.
bt2: faster insertion
0.11 Tue Mar 30 23:14:54 2004
- change col1 and pref1 column names so not reserved words,
fix bufcache creation to get size from prefs, use all free
blocks before checking pin status, parse IS [NOT] NULL
predicates
0.10 Fri Mar 19 23:59:46 2004
- describe table, better string parsing of relop tokens
(e.g. =, <, > ...), primitive sql update (basically single
row update column=value, no subqueries), slight fixes on
RSFile/SMFile nextblock improve row packing density, remove
surrounding quotes on insert/update values, return undef's in
SelectFetch (versus the string "<undef>"), quiet undef warnings
for WHERE filters, simple sql create/drop table, deprecate use
of pack Z template in fileheader to stay compatible with
perl 5.6.
0.09 Tue Mar 9 20:59:04 2004
- metadata support functions, DBI-style interfaces,
column aliases, basic WHERE clause support, sql DELETE,
dbi_example.pl script
- insert select, additional fileheader fields and checksum,
fixes for RSTab row splitting, HCount/ECount fetch
0.08 Tue Feb 10 08:11:20 2004
- row chaining/splitting, block labelling and checksums,
count estimation, variable fileheader with versioning,
HSuck, multiple file support via AddFile
0.07 Sun Nov 02 07:28:33 2003
- null handling in blocks, improve parser
0.06 Sat Oct 18 07:53:53 2003
- remove SQL::Statement dependency - use Feeble parser,
btree index prototyping, block (vs row) interface: make_new_block
0.05 Wed Oct 01 07:42:33 2003
- Dictionary restructure for true tids vs rids
0.04 Tue Sep 2 21:28:29 2003
- more comments, testing, configuration, automatic install,
single file database with self-describing dictionary
0.03 Experimental
0.02 Experimental
0.01 Wed Mar 26 11:52:41 2003
- original version; created by h2xs 1.20 with options
-X Genezzo