Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

gql++/connection.h

Go to the documentation of this file.
00001 /* This is for emacs: -*-Mode: C++;-*- */
00002 #if !defined(__INC_CONNECTION_H)
00003 #define __INC_CONNECTION_H
00004 
00005 #include "gql++/warnable.h"
00006 #include "gql++/object.h"
00007 
00011 namespace GQL {
00012 
00013 class Statement;
00014 class PreparedStatement;
00015 class CallableStatement;
00016 class DatabaseMetaData;
00017 
00022 class Connection : public Warnable
00023 {
00024   public:
00025     Connection() { }
00026     virtual ~Connection();
00027 
00029     virtual Statement *create_statement() = 0;
00030 
00032     virtual PreparedStatement *prepare_statement(const std::string& sql) = 0;
00033 
00035     virtual CallableStatement *prepare_call(const std::string& sql) = 0;
00036 
00038     virtual void commit() = 0;
00039 
00041     virtual bool get_auto_commit() const = 0;
00042 
00044     virtual void set_auto_commit(bool auto_commit = true) = 0;
00045 
00047     virtual void rollback() = 0;
00048     
00049     virtual std::string get_catalog() const = 0;
00050 
00052     virtual std::string native_sql(const std::string& sql) const = 0;
00053     
00054     virtual DatabaseMetaData *get_meta_data() = 0;
00055 
00056     virtual void set_read_only(bool read_only = true) = 0;
00057     virtual bool is_read_only() const = 0;
00058 
00059     virtual SQLObject *create_object();
00060     
00061     virtual SQLObject *create_blob();
00062     virtual void destroy_blob(SQLObject *blob);
00063 };
00064 
00065 }
00066 
00067 #endif

Generated on Thu May 1 18:08:01 2003 for gql by doxygen1.3