Vivien Malerba

malerba@gnome-db.org

The Libmergeant library aims at making relational database's data easy to manage by providing a complete meta-data dictionnary and several powerfull widgets to build applications upon.

Table of Contents
Introduction to the library
Objects related to the DBMS server
MgConf -- Main object: manages all the data dictionnary of the library.
MgServer -- Manages the connection to a database server.
MgResultSet -- Encapsulates a result set returned by the execution of a SELECT statement
MgServerDataType -- Represents a data type in the DBMS
MgServerFunction -- Represents a function in the DBMS.
MgServerAggregate -- Represents an aggregate in the DBMS (like COUNT() or AVG() for example)
Objects related to the database structure
MgDatabase -- Represents a database in the DBMS server
MgDbTable -- Represents a table or a view in the database
MgDbField -- Represents a field in a table or a view in the database
MgDbConstraint -- Represents a constraint within a database
Objects related to queries
General words about queries
General structure of a query
Graphical conventions to represent queries
Query's parameters
Structural requirements for each type of query
Direct SQL queries
MgQuery -- Represents any kind of DML query
MgTarget -- Represents a target entity within a query.
Query fields
MgQfield -- Parent class for any query's field
MgQfAll -- Represents all the fields of an entity (through a MgTarget object)
MgQfField -- Represents one field of an entity (through a MgTarget object)
MgQfFunc -- Represents a function (selected by a MgServerFunction object)
MgQfValue -- Represents a single value (or a parameter)
MgJoin -- Represents a join between two different entities
MgCondition -- Represents a condition within a query
MgParameter -- Represents a parameter when needed to execute a query
MgContext -- Manages all the MgParameter objects required to execute a query
Interfaces
MgXmlStorage -- Interface which provides saving and loading using XML structures
MgDataHandler -- Interface which provides data handling capabilities
MgDataEntry -- Interface which provides the user with specific widgets to manipulate data
MgEntity -- Interface to represent a generic entity (for tables, views or queries)
MgField -- Interface to represent a generic field (for tables's fields, etc)
MgRenderer -- Interface to get representations of objects as SQL statements, XML nodes or human readable text
MgReferer -- Interface to know when on object is completely defined
MgWorkWidget -- Interface used to perform common operations on widgets which implement it. The MgWorkForm and MgWorkGrid widgets do implement that interface.
Widgets
MgSelector -- Individual selection of libmergeant objects (data types, functions, ...)
MgWorkForm -- Form to display and modify data provided by a SELECT query
MgWorkGrid -- Grid (tabular view) to display and modify data provided by a SELECT query
MgDbmsUpdateViewer -- Progress bars for the DBMS update process
MgForm -- Simple form layout for the user to fill MgParameter objects
Data handlers
Built in data handlers
MgHandlerString -- 
MgHandlerBoolean -- 
MgHandlerTime -- 
MgHandlerNumerical -- 
MgHandlerNone -- Default handling of unkonwn data types
Plugins data handlers
MgHandlerText -- 
MgHandlerCidr -- Specific for Postgres's CIDR data type
MgHandlerPassmd5 -- Used to store password as an MD5 sum of real password
Data Entry widgets
Built in
MgEntryString -- 
MgEntryBoolean -- 
MgEntryTime -- 
MgEntryNone -- Default handling of unknown data types
MgEntryCombo -- A combo box to choose a value from a MgContext
Plugins
MgEntryCidr -- Specific for Postgres's CIDR data type
MgEntryPassmd5 -- Used to store password as an MD5 sum of real password
Cell Renderers (used in GtkTreeView widgets)
MgDataCellRendererInfo -- Cell renderer to display a cell contextual menu
MgDataCellRendererTextual -- Cell renderer for textual data
MgDataCellRendererBoolean -- Cell renderer for booleans
Utility objects
MgRefBase -- Used to reference other objects
MgGraphviz -- Creates .dot files which can then be processed with GraphViz.
MgWorkCore -- Creates UPDATE, INSERT and DELETE queries form a SELECT query
Non instantiable objects and widgets
MgBase -- The base class for many of the library'objects
MgEntryShell -- Provides the necessary button to control ths state of a MgDataEntry
MgEntryWrapper -- Abstract class that implements the MgDataEntry interface
Glossary