gambas-source-code/gb.db.sqlite3
Benoît Minisini d3501bf140 [DEVELOPMENT ENVIRONMENT]
* NEW: Work continues on integrating the database manager.
* NEW: Some cosmetic changes in the way controls are drawing on the form
  editor.
* NEW: Panels with Border property set to None are now drawn with a light 
  border.
* BUG: Fix the "Show tab" button and menu.

[INTERPRETER]
* NEW: _attach is a new dynamic special method that is called when an 
  object is attached to or detached from its event observer. The first 
  argument of this method is the event observer, and the second argument 
  the event handler prefix.

[COMPILER]
* NEW: An expression can be a NEW instruction now. Beware that it does not 
  work inside braces.

[GB.DB]
* BUG: Fix an error message in the sqlite handler.

[GB.DB.FORM]
* NEW: DataSource.Table can now be any SQL query. The Filter property is 
  ignored in that case.
* BUG: Setting DataSource.Table to NULL correctly resets the DataSource and
  its children.
* NEW: DataView automatically adjusts the height of its rows to the 
  contents.
* NEW: DataSource.CacheSize is a new property to set the number of rows 
  stored in the internal DataSource cache. When this property is set to 
  zero, the cache size takes its default value (64 rows).

[GB.DB.SQLITE2]
* BUG: Fix a crash in datatype mapping.

[GB.DB.SQLITE3]
* BUG: Fix a crash in datatype mapping.

[GB.QT4]
* BUG: Window.AutoResize property works as expected now.
* OPT: Some optimizations in GridView.
* NEW: GridView.Rows[].Visible returns if a specific row is visible.
* NEW: GridView.Rows[].EnsureVisible ensures that a specific row is 
  visible.
* BUG: Draw.Style.Panel draws the same thing as a panel border now.
* BUG: Window.Closed always returns the accurate value now.


git-svn-id: svn://localhost/gambas/trunk@2108 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-07-12 21:49:13 +00:00
..
src [DEVELOPMENT ENVIRONMENT] 2009-07-12 21:49:13 +00:00
acinclude.m4 * Copy https://gambas.svn.sourceforge.net/svnroot/gambas/2.0 to https://gambas.svn.sourceforge.net/svnroot/gambas/gambas 2007-12-30 16:41:49 +00:00
AUTHORS * Copy https://gambas.svn.sourceforge.net/svnroot/gambas/2.0 to https://gambas.svn.sourceforge.net/svnroot/gambas/gambas 2007-12-30 16:41:49 +00:00
ChangeLog * Copy https://gambas.svn.sourceforge.net/svnroot/gambas/2.0 to https://gambas.svn.sourceforge.net/svnroot/gambas/gambas 2007-12-30 16:41:49 +00:00
component.am [DEVELOPMENT ENVIRONMENT] 2009-04-10 21:19:32 +00:00
config.guess * Copy https://gambas.svn.sourceforge.net/svnroot/gambas/2.0 to https://gambas.svn.sourceforge.net/svnroot/gambas/gambas 2007-12-30 16:41:49 +00:00
config.sub * Copy https://gambas.svn.sourceforge.net/svnroot/gambas/2.0 to https://gambas.svn.sourceforge.net/svnroot/gambas/gambas 2007-12-30 16:41:49 +00:00
configure.ac [CONFIGURATION] 2008-04-29 13:40:55 +00:00
COPYING * Copy https://gambas.svn.sourceforge.net/svnroot/gambas/2.0 to https://gambas.svn.sourceforge.net/svnroot/gambas/gambas 2007-12-30 16:41:49 +00:00
depcomp * Copy https://gambas.svn.sourceforge.net/svnroot/gambas/2.0 to https://gambas.svn.sourceforge.net/svnroot/gambas/gambas 2007-12-30 16:41:49 +00:00
gambas.h * Copy https://gambas.svn.sourceforge.net/svnroot/gambas/2.0 to https://gambas.svn.sourceforge.net/svnroot/gambas/gambas 2007-12-30 16:41:49 +00:00
gb.db.h * Copy https://gambas.svn.sourceforge.net/svnroot/gambas/2.0 to https://gambas.svn.sourceforge.net/svnroot/gambas/gambas 2007-12-30 16:41:49 +00:00
gb.db.proto.h * Copy https://gambas.svn.sourceforge.net/svnroot/gambas/2.0 to https://gambas.svn.sourceforge.net/svnroot/gambas/gambas 2007-12-30 16:41:49 +00:00
gb_common.h * Copy https://gambas.svn.sourceforge.net/svnroot/gambas/2.0 to https://gambas.svn.sourceforge.net/svnroot/gambas/gambas 2007-12-30 16:41:49 +00:00
INSTALL * Copy https://gambas.svn.sourceforge.net/svnroot/gambas/2.0 to https://gambas.svn.sourceforge.net/svnroot/gambas/gambas 2007-12-30 16:41:49 +00:00
install-sh * Copy https://gambas.svn.sourceforge.net/svnroot/gambas/2.0 to https://gambas.svn.sourceforge.net/svnroot/gambas/gambas 2007-12-30 16:41:49 +00:00
ltmain.sh * Copy https://gambas.svn.sourceforge.net/svnroot/gambas/2.0 to https://gambas.svn.sourceforge.net/svnroot/gambas/gambas 2007-12-30 16:41:49 +00:00
Makefile.am * Copy https://gambas.svn.sourceforge.net/svnroot/gambas/2.0 to https://gambas.svn.sourceforge.net/svnroot/gambas/gambas 2007-12-30 16:41:49 +00:00
missing * Copy https://gambas.svn.sourceforge.net/svnroot/gambas/2.0 to https://gambas.svn.sourceforge.net/svnroot/gambas/gambas 2007-12-30 16:41:49 +00:00
NEWS * Copy https://gambas.svn.sourceforge.net/svnroot/gambas/2.0 to https://gambas.svn.sourceforge.net/svnroot/gambas/gambas 2007-12-30 16:41:49 +00:00
README * Copy https://gambas.svn.sourceforge.net/svnroot/gambas/2.0 to https://gambas.svn.sourceforge.net/svnroot/gambas/gambas 2007-12-30 16:41:49 +00:00
reconf * Copy https://gambas.svn.sourceforge.net/svnroot/gambas/2.0 to https://gambas.svn.sourceforge.net/svnroot/gambas/gambas 2007-12-30 16:41:49 +00:00

NG 29/12/2005 - For sqlite3 PRAGMA full_column_names is only useful
                when PRAGMA short_column_names is off. Included so
                that this will work from 3.2.1 onwards.

(Daniel Campos <danielcampos@netcourrier.com> ) - All float values has been replace
by double values, as some extra wrong decimals were added in conversions from sql data
types to Gambas data types.

Uses the STL and requires the sqliteclient library. Currently tested with
SQLite 2.8.13. from www.sqlite.org

sqlite is typeless...although in the create you can specify type details (these are
just comments!).  These types have been defined to map to gambas, those not defined
will default to string.

Database/Gambas Type : ft_String/ GB_T_STRING
DDL Value : BLOB, CHAR(, CLOB, TEXT, VARCHAR, ENUM, SET, YEAR, Non specified

Database/Gambas Type : ft_Boolean/ GB_T_BOOLEAN
DDL Value : CHAR, TINYINT, INT1, BOOL

Database Type/Gambas : ft_Short/ GB_T_INTEGER
DDL Value : SMALLINT, INT2, MEDIUMINT

Database/Gambas Type : ft_LongDouble/ GB_T_FLOAT
DDL Value : BIGINT, INT8

Database/Gambas Type : ft_Long/ GB_T_INTEGER
DDL Value : INTEGER, INT, INT4

Database/Gambas Type : ft_Float/GB_T_FLOAT
DDL Value : DECIMAL, NUMERIC, REAL, FLOAT, FLOAT8, FLOAT4

Database/Gambas Type : ft_Date/GB_T_DATE
DDL Value : TIMESTAMP, DATETIME, DATE, TIME

Database/Gambas Type : ft_Double/GB_T_FLOAT
DDL Value : DOUBLE

Thanks go to Leo Seib for his SQLiteDataset library ( sqlitedataset.sourceforge.net)
which has been the base for my hacking.

The order for locating database files is:
1) If database is fullpath qualified
2) If Host is specified as a valid path
3) If set, GAMBAS_SQLITE_DBHOME variable
4) Current working directory.

The driver will look for databases in the current working directory unless the environment
variable GAMBAS_SQLITE_DBHOME is set.

There is no concept of users within sqlite.  Access is controlled by file permissions
on the database file. 

Creates database /tmp/sqlite.db by default.  For the gambas-database-manager this will
allow functionality.

Sqlite is not case sensative on table or field names.  The implementation for Gambas is. 

Database :memory: will load only in memory