Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DBXTalk Draft Chapter #8

Open
wants to merge 8 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions DBXTalk/.DBXTalk.tex.properties.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<?xml version="1.0" ?><properties><property key="MasterFilename" value="DBXTalk.tex"/></properties>
1 change: 1 addition & 0 deletions DBXTalk/.VMIntro.tex.properties.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<?xml version="1.0" ?><properties><property key="MasterFilename" value="VMIntro.tex"/></properties>
6 changes: 6 additions & 0 deletions DBXTalk/DBXTalk.bbl
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
%
% This bibliography was produced by using jurabib.bst
%
\begin{thebibliography}{}

\end{thebibliography}
19 changes: 9 additions & 10 deletions DBXTalk/DBXTalk.tex
Original file line number Diff line number Diff line change
Expand Up @@ -34,16 +34,13 @@
\chapter{DBXTalk}
\chapterauthor{\authorguille{}}

DBXTalk is a database driver that allows interaction with major relational database engines such as
Oracle and MSSQL, apart from those which are open source, like PostgreSQL and MySQL.
DBXTalk is an open-source suite of tools to manage relational databases on top of Pharo. Its backbone is the DBXTalk database driver. The DBXTalk database driver allows the interaction with the major relational database engines. All other tools in the suite make use of this driver to fulfill their duties. Currently, the DBXTalk database driver supports the interaction with the following database engines: Oracle, MSSQL, PostgreSQL, MySQL, SQLite, SQLite 3, Sybase ASE, Firebird, and Interbase.

Moreover, this driver is integrated with GLORP, enabling a complete and open-source
solution to relational database access. To do this, DBXTalk uses a library called OpenDBX.
The DBXTalk suite, within its set of tools, provides GLORP, an Object-Relational Mapper (ORM) framework; Phoseydon, a tool providing scaffolding capabilities for easy applications; and Neptuno, a browser to analyze our database structure.

In this chapter we will present DBXTalk and build with step by step a little application.
In this chapter we will present DBXTalk core ideas, the tools it provides, and finally use them to build step by step a little application.


\section{DBXTalk Driver Architecture}
\section{DBXTalk Architecture}
The DBXTalk Driver relies on several components in order to connect to different relational databases:
\begin{itemize}
\item The OpenDBXDriver package talks to the OpenDBX library and handles the engines differences.
Expand Down Expand Up @@ -74,7 +71,7 @@ \section{DBXTalk Driver Architecture}
\end{figure}


\section{Installing DBXTalk OpenDBX Driver}
\section{DBXTalk Installation}
To install DBXTalk library, we need to install the previously detailed components: the OpenDBXDriver as well as some databases.

\subsection*{Install OpenDBX Driver}
Expand Down Expand Up @@ -219,11 +216,10 @@ \subsection{Fetching results}
Transcript show: result rowsAffected.
\end{code}

A SQL statement with rows as a result --such as a \emph{SELECT} statement-- brings a \ct{DBXResultSet} as result. A \ct{DBXResultSet} is a consumable set of rows. This means that once you've consumed all the rows in the \ct{DBXResultSet}, they will not be available any more. You can work with a \ct{DBXResultSet} in several ways:

\sd{stef stopped here}

A SQL statement with rows as a result --such as a \emph{SELECT} statement-- brings a \ct{DBXResultSet} as result. A \ct{DBXResultSet} is a consumable set of rows. This means that once you've consumed all the rows in the \ct{DBXResultSet}, they will not be available any more. You can work with a \ct{DBXResultSet} in several ways:

\begin{itemize}
\item Delegate row iteration to the result set:
\begin{code}{}
Expand Down Expand Up @@ -275,6 +271,8 @@ \subsection{Fetching results}
whileTrue: [ :aResult | "doSometing here with the result" ]. "iterating the results one by one."
\end{code}

<<<<<<< HEAD
=======

\section{Tools}

Expand All @@ -292,6 +290,7 @@ \section{Glorp}



>>>>>>> e7c68e168df735d2cdbf57b2e29c6bab2ec0dc66
%=========================================================
\ifx\wholebook\relax\else
\bibliographystyle{jurabib}
Expand Down
638 changes: 638 additions & 0 deletions PBE2.aux

Large diffs are not rendered by default.

Empty file added PBE2.glo
Empty file.
251 changes: 251 additions & 0 deletions PBE2.idx

Large diffs are not rendered by default.

Loading