Products

SmartDB Development Framework

SmartDB Development Framework is an application programmer’s interface to PostgreSQL written in C++ (just SmartDB for short). SmartDB is designed as a set of object-oriented layers that allow client programs to pass queries to the PostgreSQL backend server and receive the results of these queries. As an underlying low-level layer for PostgreSQL communication SmartDB uses libpqtypes and libpq as result it offers a new way of handling parameterized queries and getting result values, using a predefined getters/ setters style interface. Apart from all above SmartDB is ORM tool (like Hibernate or Spring for Java or Active Record for Ruby/Python) which makes it possible to express relationships between tables in DB and C++ objects without much effort.

If you are writing software in C++ that needs to access databases managed by PostgreSQL and you’re looking for the enterprise-strength open-source database software—then SmartDB is the library of your choice.

 

Why use SmartDB?

  • Full support of all built-in Postgres data types(ARRAY, LOB, VARRAYNG etc);
  • The architecture is modeled after MPL which in turn is modeled after STL;
  • Most of the things are doing at compile time which significantly speed up a runtime;
  • Full SQL;
  • C++ mapping of DB exceptions;
  • Advanced logging mechanism;
  • Comprehensive API (ability to JOIN, SORT record sets on a client machine);
  • Predefined getters and setters on containers with user data;
  • Every command or query issues a result object, which is really a smart pointer so it can be copied around without incurring much cost in terms of performance;
  • Comprehended user guide and extensive unit-test coverage;

 

Why use C++ Object Oriented Framework instead of standard C libraries?

What C++ project brings you is:

  • Effective use of templates to reduce the inconvenience of dealing with type; Conversions of standard C++ strings to keep you from having to worry about buffer allocation and overflow attacks;
  • Object-oriented exceptions to take the tedious error-prone troubleshooting around error handling out of your hands;
  • Strong management of constructors and destructors to bring resource management under control;
  • All object-orientation possibilities to give you some extra reliability features that would be hard to get with plain C code;

 

Using SmartDB Framework

 

Documents and files are available for free.

Download zip archive

back