Browse Source

* added a rough-readme to sqldb

git-svn-id: trunk@917 -
joost 20 years ago
parent
commit
7950c3ae5e
1 changed files with 81 additions and 0 deletions
  1. 81 0
      fcl/db/sqldb/readme.txt

+ 81 - 0
fcl/db/sqldb/readme.txt

@@ -0,0 +1,81 @@
+SQLDB readme file, 20 Aug 2005, Joost van der Sluis
+
+since there is no real documentation about sqldb yet, this should be regarded as
+a small reminder to myself, and to others who want to write their own
+connections.
+
+From the TSQLConnection point-of-view the following methods are called if a
+select-statement is used:
+
+OPEN:
+  Prepare: (is only called when prepared is false)
+            - AllocateCursorHandle (only if the cursor <> nil)
+            - Preparestatement
+  Execute:
+            - Execute
+            - AddFieldDefs (only if called for the first time after a prepare)
+
+GETNEXTPAKCET: (probably called several times, offcourse)
+            - Fetch
+            - Loadfield
+
+CLOSE:
+            - FreeFieldBuffers
+            - UnPrepareStatement (Only if prepare is False, thus if prepared queries
+                         were not supported)
+UnPrepare:
+            - UnPrepareStatement
+            
+DESTROY:
+            - DeAllocateCursorHandle (Also called if the Connection is changed)
+            
+
+From the TSQLConnection point-of-view the following methods are called if a non-
+select-statement is used (execsql):
+
+Prepare: (is only called when prepared is false)
+            - AllocateCursorHandle (only if the cursor <> nil)
+            - Preparestatement
+
+Execute:
+            - Execute
+            - UnPrepareStatement (Only if prepare is False, thus if prepared queries
+                         were not supported)
+
+
+UNPREPARE:
+            - UnPrepareStatement
+
+DESTROY:
+            - DeAllocateCursorHandle (Also called if the Connection is changed)
+
+
+A short description of what each method in a TSQLConnection should do:
+
+* Function AllocateCursorHandle : TSQLCursor; override;
+
+This function creates and returns a TSQLcursor which can be used by any query
+for the used type of database. The cursor is only database-dependent, it is
+deallocated when the connection of the query changes, or if the query is
+destroyed.
+
+* Procedure DeAllocateCursorHandle(var cursor : TSQLCursor); override;
+
+This function deallocates the TSQLCursor, and sets its value to nil.
+
+* procedure PrepareStatement(cursor: TSQLCursor;ATransaction : TSQLTransaction;buf : string; AParams : TParams); override;
+
+This functions prepares the query which is given in buf.
+
+It's only called if Prepared is True.
+If the database supports prepared queries for the kind of sql-statement (in
+cursor.FStatementType) and the prepare was successfully, then cursor.FPrepared
+is set to True, so that prepare will not be called again, until UnPrepared
+is called. (which sets FPrepared to False)
+
+* procedure FreeFldBuffers(cursor : TSQLCursor); override;
+
+This procedure is called if a Select-query is closed. This procedure is used to
+handle all actions which are needed to close a select-statement.
+
+