From 10fd8280878d759567549ad2ad958a7d1cb8a7a9 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Wed, 8 Sep 2010 22:39:11 -0400 Subject: [PATCH] you'll all miss the last of the ASCII art --- doc/build/core/engines.rst | 12 +++--------- doc/build/core/sqla_engine_arch.png | Bin 0 -> 28189 bytes doc/build/intro.rst | 21 ++++++++++++++++----- doc/build/sqla_arch_small.jpg | Bin 41140 -> 0 bytes doc/build/sqla_arch_small.png | Bin 0 -> 48834 bytes 5 files changed, 19 insertions(+), 14 deletions(-) create mode 100644 doc/build/core/sqla_engine_arch.png delete mode 100644 doc/build/sqla_arch_small.jpg create mode 100644 doc/build/sqla_arch_small.png diff --git a/doc/build/core/engines.rst b/doc/build/core/engines.rst index c6364b2fd5..02c904f189 100644 --- a/doc/build/core/engines.rst +++ b/doc/build/core/engines.rst @@ -9,15 +9,9 @@ The **Engine** is the starting point for any SQLAlchemy application. It's application through a connection pool and a **Dialect**, which describes how to talk to a specific kind of database/DBAPI combination. -The general structure is this:: - - +-----------+ __________ - /---| Pool |---\ (__________) - +-------------+ / +-----------+ \ +--------+ | | - connect() <--| Engine |---x x----| DBAPI |---| database | - +-------------+ \ +-----------+ / +--------+ | | - \---| Dialect |---/ |__________| - +-----------+ (__________) +The general structure can be illustrated as follows: + +.. image:: sqla_engine_arch.png Where above, a :class:`~sqlalchemy.engine.base.Engine` references both a :class:`~sqlalchemy.engine.base.Dialect` and :class:`~sqlalchemy.pool.Pool`, diff --git a/doc/build/core/sqla_engine_arch.png b/doc/build/core/sqla_engine_arch.png new file mode 100644 index 0000000000000000000000000000000000000000..f54d105bd708f1705e75b5f17e9e75af28229833 GIT binary patch literal 28189 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 literal 0 Hc-jL100001 diff --git a/doc/build/intro.rst b/doc/build/intro.rst index f111953f1a..bf57f8d73a 100644 --- a/doc/build/intro.rst +++ b/doc/build/intro.rst @@ -8,11 +8,22 @@ Overview ======== -The SQLAlchemy SQL Toolkit and Object Relational Mapper is a comprehensive set of tools for working with databases and Python. It has several distinct areas of functionality which can be used individually or combined together. Its major components are illustrated below. The arrows represent the general dependencies of components: - -.. image:: sqla_arch_small.jpg - -Above, the two most significant front-facing portions of SQLAlchemy are the **Object Relational Mapper** and the **SQL Expression Language**. SQL Expressions can be used independently of the ORM. When using the ORM, the SQL Expression language remains part of the public facing API as it is used within object-relational configurations and queries. +The SQLAlchemy SQL Toolkit and Object Relational Mapper +is a comprehensive set of tools for working with +databases and Python. It has several distinct areas of +functionality which can be used individually or combined +together. Its major components are illustrated below. The +arrows represent the general dependencies of components: + +.. image:: sqla_arch_small.png + +Above, the two most significant front-facing portions of +SQLAlchemy are the **Object Relational Mapper** and the +**SQL Expression Language**. SQL Expressions can be used +independently of the ORM. When using the ORM, the SQL +Expression language remains part of the public facing API +as it is used within object-relational configurations and +queries. Documentation Overview ====================== diff --git a/doc/build/sqla_arch_small.jpg b/doc/build/sqla_arch_small.jpg deleted file mode 100644 index 2976030d70ce15db0746cee561d7c5256cc9c918..0000000000000000000000000000000000000000 GIT binary patch literal 0 Hc-jL100001 literal 41140 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 diff --git a/doc/build/sqla_arch_small.png b/doc/build/sqla_arch_small.png new file mode 100644 index 0000000000000000000000000000000000000000..521a0813ba14c143326e6fecba5cc83f26b754ab GIT binary patch literal 48834 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⪙N> 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 K(lwIrKm0G^|ILj6 literal 0 Hc-jL100001 -- 2.47.3