After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 64385 - Port gda-interbase-server to the new server API
Port gda-interbase-server to the new server API
Status: RESOLVED DUPLICATE of bug 83016
Product: libgda
Classification: Other
Component: Interbase provider
unspecified
Other other
: Normal normal
: GNOME-DB-1-0
Assigned To: gnome-db Maintainers
gnome-db Maintainers
Depends on:
Blocks:
 
 
Reported: 2001-11-12 18:20 UTC by Rodrigo Moya
Modified: 2004-12-22 21:47 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Rodrigo Moya 2001-11-12 18:20:45 UTC

Comment 1 Rodrigo Moya 2001-12-23 14:49:22 UTC
All the basic stuff is now implemented for the GNOME 2 version, so, to sum up,
here are the methods that can be implemented with the current code for each
provider:

* open_connection

* close_connection

* execute_command -> This returns a GList of GdaServerRecordset's, and the
command text can be one or more commands (separated by ';'). Also, in the
GdaCommand object received as parameter to this method, there's a GdaCommandType
member, whose value determines the kind of command:
    - GDA_COMMAND_TYPE_SQL -> text is 1 or more SQL commands
    - GDA_COMMAND_TYPE_TABLE -> text is 1 or more table names. You must return
      the result of 'SELECT * FROM ?' for each given table
    - GDA_COMMAND_TYPE_XML -> text is a XML buffer containing 1 or more XML
      queries (please talk to me before even trying to start working on this)

* begin_transaction, commit_transaction, rollback_transaction: those all receive
a 'const gchar *trans_id' parameter. If the provider supports named
transactions, please use this trans_id value as the name for the transaction. If
it does not, just ignore it

* supports: this function is quite simple. It just gets a GNOME_Database_Feature
argument (which is a enum defined in the IDL), and the provider's implementation
just has to return TRUE/FALSE if the given feature is supported or not.
Comment 2 Rodrigo Moya 2002-01-10 12:26:20 UTC
* get_schema: this one gets a GNOME_Database_Connection_Schema value
and returns a GdaServerRecordset containing rows with information
about procedures, tables, types and views of the connection.
Comment 3 Rodrigo Moya 2002-02-26 15:20:50 UTC
A new SCHEMA has been added to the IDL: SCHEMA_FIELDS, which will be used
to retrieve the description of all the fields in a table.

The providers should return a recordset containing:
* name of the field
* data type
* size
* scale
* primary key?
* unique key?
* references (name of table.field referenced)
Comment 4 Gonzalo Paniagua Javier 2002-02-26 23:53:08 UTC
The recordset returned by SCHEMA FIELDS should also include a column to tell
if the field is defined as not null.

So, by now, it should contain:
  * name of the field: string
  * data type: integer (one of GDA_TYPE_*)
  * size: integer
  * scale: integer
  * primary key: boolean
  * unique key: boolean
  * references (name of table.field referenced): string
Comment 5 Rodrigo Moya 2002-03-31 13:01:16 UTC
New schemas have been added, that must be implemented by the different
providers. They are:
* SCHEMA_INDEXES: return a list of all indexes in the database
* SCHEMA_DATABASES: list of all databases available in the connection.
* SCHEMA_USERS: list of users
* SCHEMA_SEQUENCES: list of sequences
Comment 6 Rodrigo Moya 2002-04-16 12:47:56 UTC
Another thing to implemente -> see bug #78845
Comment 7 Rodrigo Moya 2002-12-29 21:22:08 UTC
We will support FireBird, the free version of Interbase.

*** This bug has been marked as a duplicate of 83016 ***