Commit Graph

136 Commits

Author SHA1 Message Date
lacak
37e0aa202c fcl-db: sqldb: propagate LogEvents from TSQLConnector to proxy TSQLConnection
git-svn-id: trunk@27293 -
2014-03-27 07:26:51 +00:00
reiniero
f005a65ce4 fcl-db:
* add logging support for TSQLConnection.ExecuteDirect

git-svn-id: trunk@27258 -
2014-03-24 12:10:15 +00:00
lacak
285d459801 fcl-db: sqldb: cosmetic
git-svn-id: trunk@27257 -
2014-03-24 10:57:36 +00:00
reiniero
420e0165a2 fcl-db: sqlconnection:
* actually follow default property for Property LogEvents..Default LogAllEvents in constructor
* addresses issue #25867

git-svn-id: trunk@27170 -
2014-03-17 08:01:36 +00:00
lacak
cf42b3bdc0 fcl-db: cosmetic
git-svn-id: trunk@27127 -
2014-03-13 13:41:29 +00:00
lacak
607369f830 fcl-db: sqldb: add PSGetTableName; addition to rev.27074
git-svn-id: trunk@27114 -
2014-03-12 10:56:49 +00:00
michael
3c015a3ab1 * Made property TableName protected (as suggested in 20395)
git-svn-id: trunk@27074 -
2014-03-10 12:44:04 +00:00
lacak
2c0bd0fe59 fcl-db: sqldb: when TSQLQuery.FieldDefs.Update is called (is used by IDE Field editor for "Add fields ...") for closed (never prepared) dataset then Cursor is nil, and is passed to TSQLConnection.AddFieldDefs where AV can occurs.
So call Prepare before ...
Bug #25829

git-svn-id: trunk@27021 -
2014-03-07 11:22:28 +00:00
lacak
277c3fb00a fcl-db: sqldb: cosmetic (reorder methods)
git-svn-id: trunk@26962 -
2014-03-05 14:40:43 +00:00
lacak
3765b74ecd fcl-db: sqldb: simplify GetStatementInfo method signature
(it was protected and now is 3 weeks public in TSQLConnection)

git-svn-id: trunk@26961 -
2014-03-05 11:20:21 +00:00
lacak
e5850015d9 fcl-db: cosmetic
git-svn-id: trunk@26947 -
2014-03-04 12:10:33 +00:00
michael
948f40f24b * Use TFieldDef descendent
git-svn-id: trunk@26780 -
2014-02-15 10:41:45 +00:00
michael
ed25721ff0 * Use TSQLDBParams instead of TParams
git-svn-id: trunk@26773 -
2014-02-14 15:39:41 +00:00
michael
a0f9e3fefd * Update using TCustomSQLStatement instead of TSQLQuery
git-svn-id: trunk@26769 -
2014-02-14 13:32:06 +00:00
michael
b9eb560dde * Some cosmetic changes, added SQLConnection/SQLTransaction to avoid typecasts everywhere
git-svn-id: trunk@26767 -
2014-02-14 12:58:00 +00:00
lacak
9c2ffc30ee fcl-db:
- introduce ESQLDatabaseError (with fields: ErrorCode and SQLState) as direct descendant of EDatabaseError and an ancestor for all SQLConnection specific exceptions (like EPQDatabaseError, EIBDatabaseError, EODBCException, etc.)
- add overriden method PSGetUpdateException to create EUpdateException with ErrorCode taken from this new ESQLDatabaseException
- adapted some connections to use this new TSQLDatabaseError
Bug #23798

git-svn-id: trunk@26765 -
2014-02-14 11:43:54 +00:00
michael
1abce09e3c * Made GetStatementInfo public (bug ID 24113)
git-svn-id: trunk@26725 -
2014-02-08 11:58:36 +00:00
reiniero
9db59ea8e7 * fcl-db: cosmetic: replace Dutch variable name with English
git-svn-id: trunk@26419 -
2014-01-11 01:35:58 +00:00
lacak
b6005af745 fcl-db: sqldb: add support for backtick "`" as identifier delimiter.
git-svn-id: trunk@26152 -
2013-11-28 13:23:46 +00:00
reiniero
494d79bd7e * fcl-db: TSQLScript: support explicit COMMIT/COMMIT WORK and COMMIT RETAIN script commands (with UseCommit) to use commit, respectively commit retaining.
git-svn-id: trunk@26120 -
2013-11-23 17:32:36 +00:00
reiniero
caa86aaab9 * fcl-db: tsqlscript: do not parse : as parameters; fixes creating Firebird stored procedures with select bla into :bla
cosmetic: comments

git-svn-id: trunk@26112 -
2013-11-20 07:38:25 +00:00
lacak
f02dd9fde9 fcl-db: sqldb: formatting + add default information schema query for SchemaType=stProcedures (for those TSQLConnection descendants, which does not implement own schema query use sql standard)
git-svn-id: trunk@26087 -
2013-11-14 11:55:42 +00:00
michael
48250dcafd * implementation of sqSupportEmptyDatabaseName from Laco, used in PostGres and MSSQL
git-svn-id: trunk@25584 -
2013-09-27 11:42:15 +00:00
michael
10eb918bed * Register/Unregister SQL Statements less often
git-svn-id: trunk@25540 -
2013-09-23 18:11:34 +00:00
michael
ae4810edd6 * Restore old behaviour for caNone for Action
git-svn-id: trunk@25252 -
2013-08-12 12:56:16 +00:00
michael
b1c111b423 * Mark transaction as closed in caNone case of EndTranscation
git-svn-id: trunk@25251 -
2013-08-12 12:44:03 +00:00
lacak
59b2c38530 fcl-db: sqldb: formatting
git-svn-id: trunk@25166 -
2013-07-24 11:02:02 +00:00
lacak
bc7fd7afa8 fcl-db: sqldb: - Move private method "GetStatementInfo" to protected and make it virtual to allow TSQLConnection descendants override it
- Rename new property "CheckParams" to "ParamCheck" to align with other components such as Zeos, IBObjects, IBX, ADODB, ElevateDB, SQLMemTable and many others.

git-svn-id: trunk@25165 -
2013-07-24 10:40:08 +00:00
lacak
8602706228 fcl-db: sqldb:
- do not allocate cursor when opening bufdataset from file
- when closing TSQLQuery do not deallocate cursor while can be prepared (fixes "[SETUP] unable to close due to unfinalised statements" bug for SQLite)
- when unpreparing statement take into account that there are also SQLConnections which does not support [un]preparation of statements ... bur for those we must still call UnRegisterStatement (fixes multiple "[TEARDOWN] Access violation" in tests)

git-svn-id: trunk@25063 -
2013-07-08 10:40:27 +00:00
michael
087b6b4a39 * Fixed Master/Detail relation in SQLDB and fixed memory leak
git-svn-id: trunk@25055 -
2013-07-07 18:14:11 +00:00
lacak
ee2fee4259 fcl-db: sqldb:
- handle quoted table names when retrieving server index informations for quoted TableName
- reset updated flag of ServerIndexDefs when SQL.Text changes
- new tests unit for sqlDB
- tested for FB, MSSQL, MySQL, PostgreSQL, Sqlite, odbc_MSSQL, odbc_PostgreSQL, odbc_Firebird, odbc_MySQL

git-svn-id: trunk@24880 -
2013-06-12 11:01:59 +00:00
lacak
b7d5ed4bd7 fcl-db: sqldb: Some SQLConnections does not support statement [un]preparation, so let them do cleanup f.e. cancel pending queries and/or free resultset when dataset is closed.
git-svn-id: trunk@24803 -
2013-06-04 10:11:38 +00:00
lacak
299938e784 fcl-db: sqldb: FSelectable must be set to true by default, to work for TSQLConnections which does not provide information about statement (if there will be resultset) at preparation stage.
git-svn-id: trunk@24795 -
2013-06-03 06:29:51 +00:00
michael
ff1c478ba4 * Fix some memory leaks (not all: see AppendDeleteCancelUpd)
git-svn-id: trunk@24768 -
2013-06-02 13:13:42 +00:00
michael
03dd596485 * Refactor TSQLQuery to use TSQLStatement
git-svn-id: trunk@24742 -
2013-06-01 18:23:41 +00:00
michael
678fb02f11 * Fix cursor mem leak
git-svn-id: trunk@24732 -
2013-06-01 17:07:52 +00:00
michael
f58b3aa25a * Implemented CheckParams for TSQLStatement, TSQLQuery. It disables check for parameter names
git-svn-id: trunk@24705 -
2013-06-01 12:29:18 +00:00
michael
abe86dea9f * TSQLStatement.RowsAffected
git-svn-id: trunk@24703 -
2013-06-01 10:56:24 +00:00
michael
5042e1060f * Activated Action for TSQLTransaction
git-svn-id: trunk@24702 -
2013-06-01 10:55:30 +00:00
michael
4466342d82 * First implementation of TSQLStatement
git-svn-id: trunk@24694 -
2013-06-01 10:02:11 +00:00
lacak
19132fc98d fcl-db: sqldb: implemented TSQLConnection.GetSchemaNames
Added stSchemata to TSchemaType (Delphi has strange stUserNames instead)
At TSQLConnection level stSchemata defaults to 'select *  from INFORMATION_SCHEMA.SCHEMATA', which can be overriden in descendants.

git-svn-id: trunk@23921 -
2013-03-18 09:58:50 +00:00
michael
7fbf05dd18 * Make statementtype public in TSQLQuery
git-svn-id: trunk@23498 -
2013-01-22 20:36:05 +00:00
michael
f566201a8d * Notification should be protected
git-svn-id: trunk@23455 -
2013-01-20 11:25:28 +00:00
lacak
7e2627f047 fcl-db: formatting (char case)
git-svn-id: trunk@23139 -
2012-12-14 07:00:39 +00:00
lacak
66a6b15efe fcl-db: switch from usage of [stSelect, stExecProcedure] to FSelectable to determine if there is result set.
(see also previous commit)

git-svn-id: trunk@23137 -
2012-12-13 11:26:45 +00:00
lacak
6a9c3a6061 fcl-db: introduce FSelectable as new TSQLCursor class field. Update sql connectors to set it after Preparation or Execution of sql statement to signal if there will be or is result set. This change is neutral. In next commit I will use FSelectable to determine if allow Open or raise SErrNoSelectStatement.
(motivation is that there are many various statements, that are not stSelect nor stExecProcedure, which also return result set)

git-svn-id: trunk@23136 -
2012-12-13 11:16:25 +00:00
michael
5f053be31d * Switched to using ansistring, because dynlibs use ansistrings
git-svn-id: trunk@22949 -
2012-11-07 23:08:31 +00:00
ludob
35f1339404 sqldb: Modified ftAutoinc behavior slightly to match Delphi behavior and allow updating of ftAutoInc fields for those db backends that support it. Added support for odbc ReadOnly fields. Patch from Lacak2 Mantis #22531
git-svn-id: trunk@22935 -
2012-11-05 15:23:15 +00:00
lacak
d338b2c63b * adds new virtual method GetConnectionInfo into TSQLConnection
(allows retrieval of various connection related informations like type and version of DBMS, name and version of client library)
* implements this method for MySQL, PostgreSQL, SQLite, ODBC
Patch by DB-Core team

git-svn-id: trunk@22886 -
2012-10-31 09:13:32 +00:00
ludob
91a468307a Fix for table names converted to uppercase Mantis 0022766 Patch by Lacak2
git-svn-id: trunk@22572 -
2012-10-07 15:06:59 +00:00