Release History
LucidDB 0.9.4
- FRG-384 Validate and return a specific error message if trying to create an idx to foreign table
- FRG-391 GRANT by sa to itself results in an internal error
- FRG-409 DDL statements should not allow the creation of zero length identifiers
- FRG-410 Poor error message when attempt to grant to nonexistent user
- FRG-420 Fix the three broken tests marked TODO in farrago/build.xml
- FRG-422 sqllineClient displays full stack trace on error
- FRG-430 Allow casting dynamic params in inner-operators like case, add a test
- FRG-402 distBuild.sh assumes an existing ant on PATH
- FRG-403 final elimination of RmiJdbc
- FRG-404 Extended character literals
- FRG-426 Update jline to 1.0
- FRG-405 Create system routines for DDL outputs for objects
- FRG-408 Create browse_foreign_tables and browse_foreign_columns
- FRG-414 create a udr to expose SqlAdvisor methods
- FRG-416 Support “thisjar:” for foreign data wrapper library-spec
- FRG-431 Upgraded vJDBC libraries, and update to JDBC4
- FNL-93 Upgrade Fennel to use STLPort 5.2.1
- FNL-94 Upgrade Fennel to use Boost 1.43
- EXT-4 better error message for create_table_as
- EXT-13 add one-param and two-param UDFs for scripting
- EXT-14 Improve error messages on scripting errors
- EXT-3 Receive contribution of timestamp UDRs from JL
- EXT-7 Add generic Scripting Routines to support Jython, JS, etc.
- LDB-161 Oracle JDBC driver is pulled from lucidera depot side.
- LDB-169 RAND function should store Random object back in context
- LDB-172 Script generates wrong data for TPC-H
- LDB-201 Rewrite count(*) to count(smallest idxed column) if idx only scans enabled
- LDB-212 Add MaxPermSize to server startup scripts
- LDB-235 Improve LucidDB install.sh to mod the java for OSX to include the -d32
- LDB-197 New UDP for conditional execution of SQL statement based on ZERO rows in input cursor
- LDB-209 New UDF to get current session ID
- LDB-214 Applib Extension: CREATE_TABLE_FROM_SOURCE_TABLE (DDB-25)
- LDB-215 Applib Extension: CREATE_TABLE_AS (DDB-26)
- LDB-216 Applib Extension: REMOTE_ROWS (DDB-3)
- LDB-217 Applib Extension: READ_ROWS_FROM_FILE UDX (DDB-8)
- LDB-218 Applib Extension: WRITE_ROWS_TO_FILE UDX (DDB-9)
- LDB-219 Applib Extension: CLEAR_PENTAHO_MONDRIAN_CACHE UDP (DDB-10)
- LDB-158 eliminate RmiJdbc from LucidDB dist
- FW-8 Defer the storage node query execution until Firewater query is completely opened
- FW-11 Optimize DISTINCT(PART_COLUMN) down onto slaves
- DDB-1 Create Farrago Streaming Loader
- DDB-3 Implement REMOTE_ROWS UDX
- DDB-8 Implement READ_ROWS_FROM_FILE UDX
- DDB-9 Implement WRITE_ROWS_TO_FILE UDX
- DDB-10 Implement and test CLEAR_PENTAHO_MONDRIAN_CACHE UDP
- DDB-21 Add DynamoDB driver/configuration to PDI
- DDB-25 Create Table from Source Table UDP
- DDB-26 Create Table As UDP
- DDB-22 Update LucidDB driver in PDI, and test two Farrago based drivers in PDI together
- DDB-32 Implement CUSTOM tab in PDI Streaming Loader
- DDB-33 Add “Automatically Create Table” checkbox to LucidDB streaming loader
- DDB-41 Create pentaho pdi kettle plugin
- DDB-30 RemoteRowsUDX Test case is failing intermittently
- DDB-48 SQL button in PDI loader does not actually present DDL changes necessary
- DDB-56 CouchDB SQL/MED adapter
- DADMINUI-32 UI Rejiggering Tree Objects and Add New
- DADMINUI-33 Enable permissions for users
- DADMINUI-8 Table / Column editors
- DADMINUI-1 Testing SVN commit messages
- DADMINUI-3 Select a UI technology
- DADMINUI-11 Reconnecting as a new user doesn’t actually change user for SQL queries
- DADMINUI-12 Initial login should trigger a refresh
- DADMINUI-13 FlexSQLAdmin is not properly quoting identifiers
- DADMINUI-17 Flex app expects unique table names across all schema
- DADMINUI-19 Shortcut keys don’t work on OSX
- DADMINUI-20 Need to actually log into spring when the flex call is made.
- DADMINUI-4 Flex SQLAdmin working with LucidDB
- DADMINUI-6 Enable login for Admin UI
- DADMINUI-9 Implement EXPLAIN PLAN screens in FlexSQLAdmin
- DADMINUI-10 Add Schema Support to FlexSQLAdmin
- DADMINUI-15 Any Flex changes to support CALL / other generic SQL calls
- DADMINUI-16 Present full text EXPLAIN PLAN with Explain Plan visual
- DADMINUI-18 script as.. commands should open new tab
- DADMINUI-23 View editor in AdminUI
- DADMINUI-37 On “edit table” screens, use RID as the identifier for UPDATE/DELETEs
- DADMINUI-40 Script Select As “View” produces bad SQL
- DADMINUI-42 Isolate and resolve issue with hanging app server
- DADMINUI-53 Can’t scroll to get the entire error message in
- DADMINUI-34 Create a perfmon style chart on top of DBA_PERFORMANCE counter web services
- DWS-9 Resolve recent integration that is now including ns2: prefixes in REST services
- DWS-12 Factor out jdbc.properties and add defaults for localhost
- DWS-2 Establish Enunciate build framework, and deploy to Jetty
- DWS-3 Establish first DynamoDB web service
- DWS-7 Write server side EXPLAIN PLAN web services
- DWS-14 Add GPL license headers to web services project
- DWS-4 SQL Listing, and Execution WS
- DWS-5 Configure a basic, LucidDB catalog based method for authenticating users
- DWS-8 Adjust server side FlexSQLAdmin services in support of DADMINUI-10
- DWS-10 Allow CALL and any other generic SQL to be executed
- DWS-17 Issues with the web server–hanging, locking, security popup
LucidDB 0.9.3
- require Java 6
- Mac port (FNL-85)
- Win64 port (FNL-87)
- SQL/J deployment descriptor execution (FRG-387)
- support Salesforce foreign data wrapper (packaged separately)
- support Pentaho Data Integration HTTP-based bulk loader (packaged separately)
- add APPLIB.CREATE_TABLE_AS procedure (LDB-215)
- add APPLIB.CREATE_TABLE_FROM_SOURCE_TABLE procedure (LDB-214)
- add APPLIB.WRITE_ROWS_TO_FILE UDX (LDB-218)
- add APPLIB.READ_ROWS_FROM_FILE UDX (LDB-217)
- add APPLIB.REMOTE_ROWS UDX (LDB-216)
- add APPLIB.EXEC_SQL_IF_NO_ROWS UDP (LDB-197)
- add APPLIB.CLEAR_PENTAHO_MONDRIAN_CACHE procedure (LDB-219)
- add SYS_ROOT.GET_CURRENT_SESSIONID function (LDB-209)
- daemon-friendly shutdown, SYS_ROOT.SHUTDOWN_DATABASE procedure (FRG-381)
- fix code cache leak in repeated execution of identical SQL (FNL-89)
- fix bug with connection timeout not being honored for http (FRG-395)
- eliminate synchronization bottleneck around Janino compiler (FRG-257)
- optimize count(*) when index-only scans enabled (LDB-201)
- fix spurious warning “non-existent transaction lock” (FRG-398)
- fix RAND function (LDB-169)
- fix EXPLAIN PLAN over client driver (FRG-393)
- improve error message for interval field value precision mismatch (FRG-397)
- miscellaneous JDBC foreign data wrapper fixes (FRG-308, FRG-339)
- eliminate RmiJdbc from LucidDB packaging (LDB-158)
- set MaxPermSize in startup scripts (LDB-212)
LucidDB 0.9.2
- add catalog-based password authentication
- change to HTTP as default client/server JDBC protocol
- add CPU cache-consciousness system parameter
- simplify build instructions a little bit
- beginning of cleanups on test harness
- include JTDS driver in classpath, and eliminate FarragoMedJdbc3p.jar
- fix deletion index rid-checking bug in ALTER TABLE REBUILD
- fix bitmap index creation bug for trailing spaces (LDB-198)
- fix catalog access problems via upgrade to Hibernate 3.3.2 (ENK-8)
- fix cancel for ANALYZE TABLE (FRG-379)
- add SKIP_TYPE_CHECK option to JDBC foreign data wrapper (FRG-340)
- support usage of dynamic parameters within UDX invocation
- improve JDBC foreign data wrapper SQL pushdown
- validate name uniqueness for CREATE USER/ROLE (FRG-244)
LucidDB 0.9.1
- miscellaneous compiler compatibility fixes
- fix buffer pool requirement calculation for nested loop joins
- optimize no-op replace column updates to avoid touching pages
- fix hang in kill/shutdown (FRG-294)
- additional bitmap index fixes
- optimize column store scans so filtered columns are scanned first
- fix crash in cleanup of dynamic parameter for unopened stream
- use UTF-8 for XMI catalog export
- fix catalog write performance on OpenSUSE (FRG-376)
LucidDB 0.9.0
- add new feature ALTER TABLE ADD COLUMN
- add new feature for support of the UDPATE statement
- add new feature for UNICODE support
- add new feature for CURRENT_SCHEMA/CATALOG (FRG-370)
- add support for UDX’s returning dynamic types based on column list parameters
- add feature !set showtime to sqlline
- add Star Schema Benchmark (SSB)
- overhaul build to use cmake instead of autotools
- overhaul Windows build to use MSVC instead of mingw
- change catalog persistence to use Hibernate
- fix for end-of-full-page loader bug
- allow restore_database to bypass restore of catalog data
- optimize common relational subexpressions
- optimize full-column update in MERGE/UPDATE
- change EXPLAIN PLAN to output MAX($1) instead of MAX(1)
- fix typo in asc_or_desc column name in JDBC index view
- fix buffer-flushing RID overlap bug in bitmap index generator
- optimize filters on null-generating OUTER JOIN inputs
- fix to allow ordering on expressions from the projection when the column expression is aliased
- fix validation for union of BOOLEAN and VARCHAR columns
- optimize to detect removable outer joins before semijoins
- optimize away some self-joins
- improve error message when attempting to drop an in-use warehouse label
- fix row count reset bug with CREATE OR REPLACE
- change penultimate_values UDX to return null for singular value
- fix index searches with prefetch and prepared statements (LDB-193)
- optimize away redundant casts
- fix backup for extent allocation nodes with 0 allocated pages
- fix bitmap index merge for oversize index keys
- fix validation of cacheReservePercentage parameter (FRG-366)
- fix PIVOT_COLUMNS_TO_ROWS UDX so it throws an exception if the input does not contain a single row
- fix bug with complaints from redundant database shutdown (LDB-190)
- fix I/O notification race condition in backup/restore (FNL-82)
- prevent duplicate target column names in INSERT/UPDATE; prevent cast from datetime to BIGINT; fix error message for illegal conversion in UPDATE (FRG-156, FRG-255, FRG-273)
- fix hang in DBA_SESSIONS view when DML is in progress (FRG-294)
- make abort work in most common cases (FRG-159, FNL-47, FNL-48, LDB-122, FRG-349)
- fix NPE when input to split_rows has null value
- prevent usage of non-boolean expression in ON clause (FRG-71)
LucidDB 0.8.0
- add new feature for warehouse labels
- add new feature for hot/incremental/differential backup/restore
- fix timestamp fractional seconds formatting when cast to VARCHAR
- add new applib.contiguous_value_intervals UDX
- add new sys_root.test_data_server and sys_root.test_all_servers_for_wrapper system procedures for testing links to SQL/MED data servers
- add ext directories (e.g. for moodss) to distribution (LDB-189)
- fix uninitialized variable which could cause bogus values for page allocation performance counters (FNL-78)
- rename non-standard POW function to SQL:2003 standard POWER (FRG-329)
- improve join ordering to use column count when number of rows is the same
- fix for join order optimization when multiple join factors have same weight
- add fifo support to flaftile reader
- add Mondrian aggregate designer support
- suppress AWT workaround in distribution startup scripts (FRG-350)
- ignore semijoin candidates with poor selectivity
- fix validator to prevent duplicate aliases in the same FROM clause
- JDK 1.6 build support
- add table prefix mapping support to SQL/MED JDBC wrapper
- add JNDI data source and connection pool support to SQL/MED JDBC wrapper
- fix SQL/MED JDBC wrapper pushdown bug with WHERE boolean_column (FRG-339)
- optimize away redundant buffering for upserts, deletes, and self-inserts
- fix shutdown warning from loopback connections (FRG-345)
- TPC-H query phrasing refinements
- fix bug with default values in INSERT/MERGE with UNION source
- fix flatfile reader bug where csv header row has missing column names
- fix for correlated subqueries on SQL/MED JDBC foreign tables
- fix issues with UDX input restarts (FRG-331)
- improve agg-distinct rewrite to consolidate common subexpressions
- fix native code error message rendering (LDB-177)
- use statement-level queues for all warnings
- fix executor inefficiency from accidental Boost graph copying
- add support for NATURAL JOIN
- optimize away some redundant casts
- lucidDbAllocFile script usage/validation improvements
- improve optimizer to reorder index intersections by selectivity
LucidDB 0.7.4
- new feature for constant reduction of uncorrelated subqueries by optimizer (controlled by “reduceNonCorrelateSubqueries” session parameter, default true)
- optimizer rewrite for relational expressions known to return zero rows
- improve join elimination algorithm to handle more than one outer join
- implement on-the-fly rowcount estimates for flatfiles based on file size and sampling the first block of rows
- improve cost estimate for joins where not all join conditions can be evaluated by hash join
- pull up projections even if expressions in the projection are subsequently referenced in join filters (to avoid cartesian joins)
- avoid extra join/aggregation for queries with multiple distinct aggregates but no non-distinct aggregates
- optimize aggregations in multi-input unions into a single aggregation
- add experimental support for Hibernate catalog storage (enki)
- add new lucidDbAllocFile utility for storage preallocation
- DDL performance improvements
- add new applib.estimate_statistics_for_schema UDP
- add new applib.penultimate_values UDX
- add new applib.topn UDX
- improve applib.collapse_rows UDX to run in streaming fashion
- add optional sequence numbers to applib.split_string UDX family
- add JBoss embedding example code
- add sqlline support for !set rowlimit
- add new performance counters for page allocation tracking
- change default for session parameter “validateDdlOnPrepare” from “true” to “false” (FRG-268)
- fix mbeans to avoid auto-starting the engine via new “requireExistingEngine” Farrago JDBC connection property
- new mbean for storage management
- fix some missing/redundant performance counter increments
- fix for cache race condition during checkpoints
- fix for optimizer bug with 0-column projections in cartesian joins
- fix optimizer estimate for distinct row count of right-semijoins
- fix for constant reduction in UDR arguments
- removal of incorrect assertion in bitmap index code
- fix bug with ReshapeExecStream evaluation of IS NULL constraints
- fix upgrade path broken by addition of new prefetch/2Q parameters in 0.7.3
- fix memory corruption which could occur from combination of nested loop join with index prefetch
- fix rare crashes during recovery caused by stats timer kicking in
- fix TRIM BOTH when string is all blanks (FRG-319)
- return empty results for foreign key JDBC metadata queries
- fix parsing of DELETE WHERE FALSE
- miscellaneous fixes for IN and uncorrelated subqueries (e.g. FRG-277)
- fix tiny memory leak from FarragoDbSessionIndexMap
- fix validator to prevent nested agg function invocations, agg function invocations in GROUP BY, and agg function invocations in ORDER BY (unless SELECT is already aggregating)
- when parsing type name from Java UDR method signature, trim off leading and trailing blanks
- fix constant reduction so time-sensitive evaluations such as CURRENT_TIMESTAMP return the same value when invoked from multiple expressions within the same statement
- fix DDL validator to prevent drop of system-defined indexes such as deletion index and constraint indexes
- more testcases for DELETE
- update query 13 in TPC-H, and add suggested preallocation sizes and script
LucidDB 0.7.3
- intelligent prefetch for all access paths
- 2Q victimization algorithm for improved data caching
- improvements to asynchronous I/O usage on Linux
- improvements to data cache lazy writer
- require libaio-dev package for builds
- fixes for TPC-H dbgen
- fixes for transaction boundaries in some DDL statements such as ANALYZE
- fix validation for join on top of set operator (FRG-163)
- use ESTIMATE in ANALYZE for TPC-H
- fix references to JVM version in installer error messages
- fix another rare bitmap index corruption (LDB-171)
- fix leak of java.util.logger.Logging objects
- fix for stale temp cache pages (FNL-69)
- fix for large rows passing from Java into native executor (FRG-305)
- allow JDBC driver to be loaded off of the bootstrap classpath
- truncate large rows produced by APPLIB.COLLAPSE_ROWS
- fix sqlline to ignore repeated Control-C signals
- improve JDBC foreign data wrapper to push down projections and handle TIMESTAMP and DATE literals for SQL Server
- add SCHEMA_MAPPING and TABLE_MAPPING options to JDBC foreign data wrapper
- fix non-nullable TINYINT datatype in JDBC foreign data wrapper
- add SYS_ROOT.RETRIEVE_REPOSITORY_LOB_TEXT
- optimizations for predicates known to be always true or false
- support column-level AS aliasing for VALUES construct
- fix for selectivity of non-pushable filters when computing distinct row counts for aggregates and projections
- fix for determination of uniqueness for join keys in the dimension table of a semijoin
- automatically strip invalid XML characters out of catalog XMI imports
- relax input restrictions for APPLIB.INSTR; increase output length for APPLIB.STR_REPLACE
- allow null inputs to APPLIB.SPLIT_STRING_TO_ROWS
LucidDB 0.7.2
- sampling support for ANALYZE
- BERNOULLI and SYSTEM options for TABLESAMPLE
- significant performance improvement for large DROP operations
- additional system views DBA_COLUMN_STATS and DBA_COLUMN_HISTOGRAMS
- table name mapping support in JDBC foreign data wrapper
- new system parameter “deviceSchedulerType” for controlling I/O impl
- new VJDBC listener system parameter “connectionTimeoutMillis”
- new session parameter “lastRowsRejected”
- new performance counters “DatabasePagesAllocatedAfterReclaim”, “TempPagesAllocatedAfterReclaim”
- miscellaneous optimizer improvements and fixes
- optimize away distinct agg for semijoins where the keys are already unique
- improve rowcount inference for UDX’s (FRG-289)
- support optimization for functional expressions in nested loop join conditions
- optimize away nested loop join temp index when LHS input is empty
- fixes for a few problems in efficient subquery decorrelation
- increase applib function input/output lengths
- fixes for page versioning concurrency and other code review findings
- fix a bad cache page access during index search
- fixes for some rare bitmap index corruptions during incremental load
- some segment-level tracing fixes
- improved error reporting for failures setting large cache sizes
- fix a rare problem with simultaneous commits (FNL-68)
- fix decimal rounding mode for converting literals in VALUES clause
- fix exception handling issues with JNI (FNL-67)
- change LucidDB mbean to use local JDBC driver rather than RMI
- improve EXPLAIN PLAN readability for GROUP BY
- improve rejected row logfile naming
LucidDB 0.7.1
- new nested loop join feature improves non-equijoin support for both inner and outer joins
- fixes in calendar-related applib functions
- VJDBC default connection timeout changed to 1 day
- fixes in rowscan-level filtering when used on the right hand side of a cartesian product
- validate to prevent duplicate column references in index/constraint definitions
- support for USING clause join conditions
- fix some code caching issues (FRG-263 and others)
- fixes for default value usage (FRG-285)
- fixes for rounding/truncation problems with large BIGINT values (avoid usage of intermediate floating point operations)
- fixes for outer join and rowscan row count estimation
- blackhawk and LucidDB test harness improvements
- Mondrian source replication feature added
- fixes for bitmap index corruption during incremental loads
- fixes for retrieving distinct DATE/TIME/TIMESTAMP objects via local JDBC driver
- suppress revalidation of dependent servers from CREATE OR REPLACE WRAPPER
- fix accidental conversion from empty string to NULL (FRG-275)
- avoid preemptive exclusive locking for snapshot-versioned pages
- fix some snapshot-versioned page deallocation problems
LucidDB 0.7.0
- 64-bit support
- fixes for asynchronous I/O calls
- fixes to support data files larger than 4 gigabytes
- improvements in timestamp and interval data type support
- read/write concurrency with snapshot consistency
- cost-based index selection
- constant-reduction optimization for CURRENT_DATE, CURRENT_TIME, etc
- new schema-selection property in JDBC URL’s
- new options for JDBC foreign data wrapper (FRG-267, schema mapping)
- pushdown of filters into JDBC foreign data servers
- fix for integer division behavior (round instead of truncate)
- logging for export schema procedure now uses logDir parameter if set
- pluggable authentication support via JAAS
- new http option for client/server JDBC
- fixes for out-of-disk exception handling
- fix for btree split bug in incremental load
- fixes for certain btree search bugs visible after upsert
- disablement of suboptimal index-only scans
- upgrade build to ant 1.7
- fix for LDB-160 (ALTER TABLE REBUILD on table with GENERATED ALWAYS column)
- fix for LDB-125 (flattened hierarchy cycle reporting)
- fix for an obscure outer join optimization bug; fixes from findbugs
- fix for cast of null values to/from certain datatypes
- new applib routines (split strings, enforce row constraints, julian date conversion)
- fixes for null input in applib
- fix for error message localization setup
- new session parameter for controlling whether DDL preparation does validation
- fix for row filtering bug with clusters on multiple columns
- upgrades of miscellaneous thirdparty libraries
- new check on startup for incompatible catalog version
- mbeans for management and monitoring of LucidDB via JMX
- new DYNAMIC_FUNCTION qualifier on UDR’s
- full error stack tracing for UDR invocation and scalar expression exceptions
- new warnings for SQL/MED source metadata changes
- refined fix for LDB-90
- improved SQL pretty printing (FRG-190, FRG-232, FRG-234)
- fix to flatfile reader when source column count less than target column count
- moodss integration improvements
- fixes for null value btree insertion order FNL-63)
- fix for segfault in hash aggregate on large data sets
- fix for segfault in error handling during load
- fixes for calendar generation regarding leap year, week start/end dates
- fix lingering table lock after executing DDL from within a UDR (FRG-141)
- fix hang on abrupt shutdown during DML (LDB-150)


