* contrib/sddsqlt3/core.c
! fix DBUSEAREA() operation with SQLITE3 SDD to return empty result
when query conditions are false or the source table has no rows.
Previously an logically correct example caused RTE:
DBUSEAREA(,, "SELECT * FROM existing_table WHERE FALSE")
! fix double-free error in sqLite3Disconnect(), looks like the
sqlite3_close() return value checking was reverted, SQLITE_OK is 0
* use CDP API to get UTF8 string length
* use new sqlite3_prepare_v3() when built against
sqlite 3.20.0 or upper (change borrowed from Viktor's 3.4 fork)
+ add HB_SQLT3_MAP_DECLARED_EMULATED define (not yet enabled by default)
which make this SDD additionally parse SQLite column declarations.
Right now it can make HB_FT_DATE fields working using standard
ISO 8601 "yyyy-mm-dd" syntax. Also declarations not significant for
SQLite, but useful in xBase-style programming - SQL numeric(len,dec)
columns are detected in this mode and will be reflected in dbStruct().
+ add support for alternative StoD() like syntax for HB_FT_DATE columns
+ add support for ISO 8601 "YYYY-MM-DD HH:MM:SS.FFF" timestamp declared
columns, SQLite stored strings are converted to proper HB_FT_TIMESTAMP
fields
+ added HB_SQLT3_FIELDNAME_STRICT define, which enables shortening
of field to "name" if SQLite returns "table.name". Such fields are
not completly usable in xBase code - WA->T.FIELD syntax is not
valid, but FieldPos("t.field") is OK. I think it should be default
behaviour or some runtime setting should be introduced for convenience
when working with specific SQL queries.
* contrib/rddsql/sqlbase.c
* contrib/rddsql/sqlmix.c
+ added ZAP functionality to SQLBASE and SQLMIX RDDs,
index tags are preserved while ZAP-ing SQLMIX area.
They are cleaned, no REINDEX is needed
* changed to allow values of any type in "V" SIX3 / HB_FT_ANY fields
in SQLBASE/SQLMIX RDD workareas
* contrib/hbfoxpro/relfunc.c
! fix InList() FoxPro compatible function not looking at the last
parameter passed. Thanks to Attila Szabo for the information
posted on the developers list.