modeling-cvs Mailing List for Object-Relational Bridge for python (Page 14)
Status: Abandoned
Brought to you by:
sbigaret
You can subscribe to this list here.
| 2003 |
Jan
|
Feb
|
Mar
(54) |
Apr
(29) |
May
(94) |
Jun
(47) |
Jul
(156) |
Aug
(132) |
Sep
(40) |
Oct
(6) |
Nov
(18) |
Dec
(24) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2004 |
Jan
(18) |
Feb
(59) |
Mar
(7) |
Apr
|
May
(8) |
Jun
(2) |
Jul
(12) |
Aug
(15) |
Sep
(12) |
Oct
(6) |
Nov
(25) |
Dec
(1) |
| 2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2006 |
Jan
|
Feb
(27) |
Mar
|
Apr
(16) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <sbi...@us...> - 2003-08-26 20:25:49
|
Update of /cvsroot/modeling/ProjectModeling/Modeling/doc/UserGuide
In directory sc8-pr-cvs1:/tmp/cvs-serv27061/Modeling/doc/UserGuide
Modified Files:
DefiningaModel.tex
Log Message:
Added templates for documentation of PyModel-association, relationship, RToOne, RToMany
Index: DefiningaModel.tex
===================================================================
RCS file: /cvsroot/modeling/ProjectModeling/Modeling/doc/UserGuide/DefiningaModel.tex,v
retrieving revision 1.26
retrieving revision 1.27
diff -C2 -d -r1.26 -r1.27
*** DefiningaModel.tex 26 Aug 2003 20:04:58 -0000 1.26
--- DefiningaModel.tex 26 Aug 2003 20:25:45 -0000 1.27
***************
*** 1004,1023 ****
\subsection{Association\label{pymodel-association-props}}
! tbd.
%%
\subsection{Relationship\label{pymodel-relationship-props}}
! tbd.
%%
\subsubsection{RToOne\label{pymodel-relationship-props-toone}}
! tbd.
%%
\subsubsection{RToMany\label{pymodel-relationship-props-tomany}}
! tbd.
--- 1004,1058 ----
\subsection{Association\label{pymodel-association-props}}
! \begin{longtableiv}{p{3cm}p{1.5cm}p{4cm}p{5.5cm}}{code}{Prop.}{Type}{Default}{Comment}
! \lineiv{multiplicity}{\code{~}}{~}{~}
! \lineiv{relations}{\code{~}}{~}{~}
! \lineiv{keys}{\code{~}}{~}{~}
! \lineiv{delete}{\code{~}}{~}{~}
! \lineiv{isClassProperty}{\code{~}}{~}{~}
! \lineiv{joinSemantic}{\code{~}}{~}{~}
! \lineiv{displayLabel}{\code{~}}{~}{~}
! \lineiv{doc}{\code{~}}{~}{~}
! \end{longtableiv}
%%
\subsection{Relationship\label{pymodel-relationship-props}}
! \begin{longtableiv}{p{3cm}p{1.5cm}p{4cm}p{5.5cm}}{code}{Prop.}{Type}{Default}{Comment}
! \lineiv{name}{\code{string}}{\emph{no default}}{The \code{name} is the only
! mandatory arguments when instanciating a \class{APrimaryKey}. Once set, it
! should not be changed}
! \lineiv{delete}{\code{~}}{~}{~}
! \lineiv{isClassProperty}{\code{~}}{~}{~}
! \lineiv{multiplicity}{\code{~}}{~}{~}
! \lineiv{joinSemantic}{\code{~}}{~}{~}
! \lineiv{src}{\code{~}}{~}{~}
! \lineiv{dst}{\code{~}}{~}{~}
! \lineiv{displayLabel}{\code{~}}{~}{~}
! \lineiv{doc}{\code{~}}{~}{~}
! \lineiv{inverse}{\code{~}}{~}{~}
! \end{longtableiv}
!
%%
\subsubsection{RToOne\label{pymodel-relationship-props-toone}}
! \begin{longtableiv}{p{3cm}p{1.5cm}p{4cm}p{5.5cm}}{code}{Prop.}{Type}{Default}{Comment}
! \lineiv{name}{\code{string}}{\emph{no default}}{The \code{name} is the only
! mandatory arguments when instanciating a \class{APrimaryKey}. Once set, it
! should not be changed}
! \lineiv{multiplicity}{\code{~}}{~}{~}
! \lineiv{joinSemantic}{\code{~}}{~}{~}
! \end{longtableiv}
%%
\subsubsection{RToMany\label{pymodel-relationship-props-tomany}}
! \begin{longtableiv}{p{3cm}p{1.5cm}p{4cm}p{5.5cm}}{code}{Prop.}{Type}{Default}{Comment}
! \lineiv{name}{\code{string}}{\emph{no default}}{The \code{name} is the only
! mandatory arguments when instanciating a \class{APrimaryKey}. Once set, it
! should not be changed}
! \lineiv{multiplicity}{\code{}}{}{}
! \lineiv{joinSemantic}{\code{}}{}{}
! \end{longtableiv}
|
|
From: <sbi...@us...> - 2003-08-26 20:05:06
|
Update of /cvsroot/modeling/ProjectModeling/Modeling/doc/UserGuide
In directory sc8-pr-cvs1:/tmp/cvs-serv22482/Modeling/doc/UserGuide
Modified Files:
DefiningaModel.tex
Log Message:
Added type info. for PyModel-datetime, integer, float, string, PK and FK
Index: DefiningaModel.tex
===================================================================
RCS file: /cvsroot/modeling/ProjectModeling/Modeling/doc/UserGuide/DefiningaModel.tex,v
retrieving revision 1.25
retrieving revision 1.26
diff -C2 -d -r1.25 -r1.26
*** DefiningaModel.tex 26 Aug 2003 19:38:35 -0000 1.25
--- DefiningaModel.tex 26 Aug 2003 20:04:58 -0000 1.26
***************
*** 856,860 ****
\lineiv{width}{\code{int}}{\code{0}}{}
\lineiv{scale}{\code{int}}{\code{0}}{}
! \lineiv{defaultValue}{}{\code{None}}{}
\lineiv{usedForLocking}{\code{int}}{\code{0}}{}
\lineiv{displayLabel}{\code{string}}{\code{''}}{}
--- 856,860 ----
\lineiv{width}{\code{int}}{\code{0}}{}
\lineiv{scale}{\code{int}}{\code{0}}{}
! \lineiv{defaultValue}{~}{\code{None}}{}
\lineiv{usedForLocking}{\code{int}}{\code{0}}{}
\lineiv{displayLabel}{\code{string}}{\code{''}}{}
***************
*** 873,888 ****
The component \class{ADateTime} redefines the following defaults:
! \begin{longtableiii}{p{3cm}p{4cm}p{7cm}}{code}{Prop.}{Default}{Comment}
! \lineiii{name}{\emph{no default}}{The \code{name} is the only mandatory
arguments when instanciating a \class{ADateTime}. Once set, it should not be
changed}
! \lineiii{type}{\code{'DateTime'}}{}
! \lineiii{externalType}{\code{TIMESTAMP}}{Be warned: not all database supports
\code{TIMESTAMP}. If this is the case, you'll probably have to redefine this
default value in your PyModel. Discussion on supported SQL datatypes can be
found at section~\ref{attributes-props}.}
! \lineiii{defaultValue}{\code{None}}{}
! \lineiii{usedForLocking}{\code{1}}{}
! \end{longtableiii}
\begin{notice}
--- 873,888 ----
The component \class{ADateTime} redefines the following defaults:
! \begin{longtableiv}{p{3cm}p{1.5cm}p{4cm}p{5.5cm}}{code}{Prop.}{Type}{Default}{Comment}
! \lineiv{name}{\code{string}}{\emph{no default}}{The \code{name} is the only mandatory
arguments when instanciating a \class{ADateTime}. Once set, it should not be
changed}
! \lineiv{type}{\code{string}}{\code{'DateTime'}}{}
! \lineiv{externalType}{\code{string}}{\code{TIMESTAMP}}{Be warned: not all database supports
\code{TIMESTAMP}. If this is the case, you'll probably have to redefine this
default value in your PyModel. Discussion on supported SQL datatypes can be
found at section~\ref{attributes-props}.}
! \lineiv{defaultValue}{~}{\code{None}}{}
! \lineiv{usedForLocking}{\code{int}}{\code{1}}{}
! \end{longtableiv}
\begin{notice}
***************
*** 896,910 ****
The component \class{AFloat} redefines the following defaults:
! \begin{longtableiii}{p{3cm}p{4cm}p{7cm}}{code}{Prop.}{Default}{Comment}
! \lineiii{name}{\emph{no default}}{The \code{name} is the only mandatory
! arguments when instanciating a \class{AFloat}. Once set, it should not be
! changed}
! \lineiii{type}{\code{'string'}}{}
! \lineiii{externalType}{\code{'NUMERIC'}}{}
! \lineiii{precision}{\code{15}}{}
! \lineiii{scale}{\code{5}}{}
! \lineiii{defaultValue}{\code{0.0}}{}
! \lineiii{usedForLocking}{\code{1}}{}
! \end{longtableiii}
\begin{notice}
--- 896,910 ----
The component \class{AFloat} redefines the following defaults:
! \begin{longtableiv}{p{3cm}p{1.5cm}p{4cm}p{5.5cm}}{code}{Prop.}{Type}{Default}{Comment}
! \lineiv{name}{\code{string}}{\emph{no default}}{The \code{name} is the only
! mandatory arguments when instanciating a \class{AFloat}. Once set, it should
! not be changed}
! \lineiv{type}{\code{string}}{\code{'string'}}{}
! \lineiv{externalType}{\code{string}}{\code{'NUMERIC'}}{}
! \lineiv{precision}{\code{int}}{\code{15}}{}
! \lineiv{scale}{\code{int}}{\code{5}}{}
! \lineiv{defaultValue}{~}{\code{0.0}}{}
! \lineiv{usedForLocking}{\code{int}}{\code{1}}{}
! \end{longtableiv}
\begin{notice}
***************
*** 918,930 ****
The component \class{AFloat} redefines the following defaults:
! \begin{longtableiii}{p{3cm}p{4cm}p{7cm}}{code}{Prop.}{Default}{Comment}
! \lineiii{name}{\emph{no default}}{The \code{name} is the only mandatory
arguments when instanciating a \class{AInteger}. Once set, it should not be
changed}
! \lineiii{type}{\code{'int'}}{}
! \lineiii{externalType}{\code{'INTEGER'}}{}
! \lineiii{defaultValue}{\code{0}}{}
! \lineiii{usedForLocking}{\code{1}}{}
! \end{longtableiii}
\begin{notice}
--- 918,930 ----
The component \class{AFloat} redefines the following defaults:
! \begin{longtableiv}{p{3cm}p{1.5cm}p{4cm}p{5.5cm}}{code}{Prop.}{Type}{Default}{Comment}
! \lineiv{name}{\code{string}}{\emph{no default}}{The \code{name} is the only mandatory
arguments when instanciating a \class{AInteger}. Once set, it should not be
changed}
! \lineiv{type}{\code{string}}{\code{'int'}}{}
! \lineiv{externalType}{\code{string}}{\code{'INTEGER'}}{}
! \lineiv{defaultValue}{~}{\code{0}}{}
! \lineiv{usedForLocking}{\code{int}}{\code{1}}{}
! \end{longtableiv}
\begin{notice}
***************
*** 938,954 ****
The component \class{AFloat} redefines the following defaults:
! \begin{longtableiii}{p{3cm}p{4cm}p{7cm}}{code}{Prop.}{Default}{Comment}
! \lineiii{name}{\emph{no default}}{The \code{name} is the only mandatory
! arguments when instanciating a \class{AString}. Once set, it should not be
! changed}
! \lineiii{type}{\code{'string'}}{No matter whether you run python2.1 (where
! \code{type('').__name__=='string'}) or python2.2 (where
\code{type('').__name__=='str'}), you should always use 'string' for a
character type.}
! \lineiii{externalType}{\code{'VARCHAR'}}{}
! \lineiii{width}{\code{255}}{}
! \lineiii{defaultValue}{\code{''}}{}
! \lineiii{usedForLocking}{\code{1}}{}
! \end{longtableiii}
\begin{notice}
--- 938,954 ----
The component \class{AFloat} redefines the following defaults:
! \begin{longtableiv}{p{3cm}p{1.5cm}p{4cm}p{5.5cm}}{code}{Prop.}{Type}{Default}{Comment}
! \lineiv{name}{\code{string}}{\emph{no default}}{The \code{name} is the only
! mandatory arguments when instanciating a \class{AString}. Once set, it should
! not be changed}
! \lineiv{type}{\code{string}}{\code{'string'}}{No matter whether you run
! python2.1 (where \code{type('').__name__=='string'}) or python2.2 (where
\code{type('').__name__=='str'}), you should always use 'string' for a
character type.}
! \lineiv{externalType}{\code{string}}{\code{'VARCHAR'}}{}
! \lineiv{width}{\code{int}}{\code{255}}{}
! \lineiv{defaultValue}{~}{\code{''}}{}
! \lineiv{usedForLocking}{\code{int}}{\code{1}}{}
! \end{longtableiv}
\begin{notice}
***************
*** 962,977 ****
The component \class{AFloat} redefines the following defaults:
! \begin{longtableiii}{p{3cm}p{4cm}p{7cm}}{code}{Prop.}{Default}{Comment}
! \lineiii{name}{\emph{no default}}{The \code{name} is the only mandatory
! arguments when instanciating a \class{APrimaryKey}. Once set, it should not be
! changed}
! \lineiii{isClassProperty}{\code{0}}{}
! \lineiii{isRequired}{\code{1}}{You should not change this default, nor
! overwrite it: a primary key should be mandatory.}
! \lineiii{defaultValue}{\code{None} if \code{isClassProperty} is false,
! \code{0} otherwise}{}
! \lineiii{doc}{\code{'Primary Key'}}{}
! \lineiii{usedForLocking}{\code{0}}{}
! \end{longtableiii}
\begin{notice}
--- 962,977 ----
The component \class{AFloat} redefines the following defaults:
! \begin{longtableiv}{p{3cm}p{1.5cm}p{4cm}p{5.5cm}}{code}{Prop.}{Type}{Default}{Comment}
! \lineiv{name}{\code{string}}{\emph{no default}}{The \code{name} is the only
! mandatory arguments when instanciating a \class{APrimaryKey}. Once set, it
! should not be changed}
! \lineiv{isClassProperty}{\code{int}}{\code{0}}{}
! \lineiv{isRequired}{\code{int}}{\code{1}}{You should not change this default,
! nor overwrite it: a primary key should be mandatory.}
! \lineiv{defaultValue}{~}{\code{None} if \code{isClassProperty} is
! false, \code{0} otherwise}{}
! \lineiv{doc}{\code{string}}{\code{'Primary Key'}}{}
! \lineiv{usedForLocking}{\code{int}}{\code{0}}{}
! \end{longtableiv}
\begin{notice}
***************
*** 985,998 ****
The component \class{AFloat} redefines the following defaults:
! \begin{longtableiii}{p{3cm}p{4cm}p{7cm}}{code}{Prop.}{Default}{Comment}
! \lineiii{name}{\emph{no default}}{The \code{name} is the only mandatory
! arguments when instanciating a \class{AForeignKey}. Once set, it should not be
! changed}
! \lineiii{isClassProperty}{\code{0}}{}
! \lineiii{isRequired}{\code{0}}{}
! \lineiii{defaultValue}{\code{None}}{}
! \lineiii{doc}{\code{'Foreign Key'}}{}
! \lineiii{usedForLocking}{\code{0}}{}
! \end{longtableiii}
\begin{notice}
--- 985,998 ----
The component \class{AFloat} redefines the following defaults:
! \begin{longtableiv}{p{3cm}p{1.5cm}p{4cm}p{5.5cm}}{code}{Prop.}{Type}{Default}{Comment}
! \lineiv{name}{\code{string}}{\emph{no default}}{The \code{name} is the only
! mandatory arguments when instanciating a \class{AForeignKey}. Once set, it
! should not be changed}
! \lineiv{isClassProperty}{\code{int}}{\code{0}}{}
! \lineiv{isRequired}{\code{int}}{\code{0}}{}
! \lineiv{defaultValue}{~}{\code{None}}{}
! \lineiv{doc}{\code{string}}{\code{'Foreign Key'}}{}
! \lineiv{usedForLocking}{\code{int}}{\code{0}}{}
! \end{longtableiv}
\begin{notice}
|
|
From: <sbi...@us...> - 2003-08-26 19:40:42
|
Update of /cvsroot/modeling/ProjectModeling/Modeling
In directory sc8-pr-cvs1:/tmp/cvs-serv17140/Modeling
Modified Files:
PyModel.py
Log Message:
PyModel.Model:
- Fixed bug #795561: __init__() did not recognize 'version' as a parameter
- Now raises PyModel.IncompatibleVersionError when a model has an
incompatible version (was: ValueError)
Index: PyModel.py
===================================================================
RCS file: /cvsroot/modeling/ProjectModeling/Modeling/PyModel.py,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** PyModel.py 3 Aug 2003 12:54:48 -0000 1.4
--- PyModel.py 26 Aug 2003 19:40:24 -0000 1.5
***************
*** 58,62 ****
from utils import isListOrTuple
! identity=lambda x: x
def debug(msg):
--- 58,67 ----
from utils import isListOrTuple
! class IncompatibleVersionError(RuntimeError):
! pass
!
! def identity(x):
! "Returns x, unchanged"
! return x
def debug(msg):
***************
*** 71,75 ****
self.method=method
self.param=args
!
class BaseDescription:
''' Base description class (should not be exported to client code) '''
--- 76,82 ----
self.method=method
self.param=args
! def __repr__(self):
! return '%s%s'%(self.method, self.param)
!
class BaseDescription:
''' Base description class (should not be exported to client code) '''
***************
*** 123,130 ****
self.name=self.requiredField(name)
self.entities=list(kw.get('entities', []))
from Model import Model as MModel
self.component=MModel(name)
updateComponent(self, kw, Model.defaults, name,
! ignore=('entities','associations'))
def entityNamed(self, name):
--- 130,139 ----
self.name=self.requiredField(name)
self.entities=list(kw.get('entities', []))
+ self.entities=list(kw.get('associations', []))
from Model import Model as MModel
self.component=MModel(name)
updateComponent(self, kw, Model.defaults, name,
! ignore=('entities','associations','version'))
! self.version=kw.get('version', None)
def entityNamed(self, name):
***************
*** 177,181 ****
# Check version
if getattr(self, 'version', None)!=BaseDescription.VERSION:
! raise ValueError, 'Incompatible versions'
#
--- 186,190 ----
# Check version
if getattr(self, 'version', None)!=BaseDescription.VERSION:
! raise IncompatibleVersionError, 'Incompatible versions --please check MIGRATION'
#
|
|
From: <sbi...@us...> - 2003-08-26 19:40:32
|
Update of /cvsroot/modeling/ProjectModeling
In directory sc8-pr-cvs1:/tmp/cvs-serv17140
Modified Files:
CHANGES
Log Message:
PyModel.Model:
- Fixed bug #795561: __init__() did not recognize 'version' as a parameter
- Now raises PyModel.IncompatibleVersionError when a model has an
incompatible version (was: ValueError)
Index: CHANGES
===================================================================
RCS file: /cvsroot/modeling/ProjectModeling/CHANGES,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** CHANGES 24 Aug 2003 14:13:08 -0000 1.10
--- CHANGES 26 Aug 2003 19:40:24 -0000 1.11
***************
*** 8,11 ****
--- 8,21 ----
--------------------------------------------------------
+ * PyModel.Model:
+
+ - Fixed bug #795561: __init__() did not recognize 'version' as a parameter
+
+ - Now raises PyModel.IncompatibleVersionError when a model has an
+ incompatible version (was: ValueError)
+
+ * Fix for bug #785432 included in the previous release was misplaced and
+ inactive. Fixed.
+
* SQLExpression: added support for joinClauseString(), which offers an
alternative when the underlying db-server does not support SQL JOIN
|
|
From: <sbi...@us...> - 2003-08-26 19:38:40
|
Update of /cvsroot/modeling/ProjectModeling/Modeling/doc/UserGuide
In directory sc8-pr-cvs1:/tmp/cvs-serv16806/doc/UserGuide
Modified Files:
DefiningaModel.tex
Log Message:
Added doc for PyModel.Model.version
Index: DefiningaModel.tex
===================================================================
RCS file: /cvsroot/modeling/ProjectModeling/Modeling/doc/UserGuide/DefiningaModel.tex,v
retrieving revision 1.24
retrieving revision 1.25
diff -C2 -d -r1.24 -r1.25
*** DefiningaModel.tex 26 Aug 2003 18:53:45 -0000 1.24
--- DefiningaModel.tex 26 Aug 2003 19:38:35 -0000 1.25
***************
*** 780,783 ****
--- 780,819 ----
\subsubsection{Model's {\tt version}\label{pymodel-model-props-version}}
+ A special property, \code{version}, should be set in every PyModel, and it
+ should be equal to \code{PyModel.Model.VERSION}, currently \code{'0.1'} (a
+ string value).
+
+
+ Its purpose is to track changes in the PyModel mechanisms, especially to warn
+ you when some defaults have changed. When this happens, the file
+ \file{MIGRATION} shipped along with the source distribution, and located in
+ the top-level directory of the distribution, this file will contain details
+ about the changes, such as: the defaults that should be checked, how to update
+ your existing PyModels, etc.
+
+
+ How does this work? When a PyModel is interpreted, its \code{version} is
+ checked; if they do not correspond, you will get an exception
+ \exception{PyModel.IncompatibleVersionError} (a subclass of
+ \exception{RuntimeError}).
+
+
+ We highly recommend that you use the literate string value of \code{version}
+ and that you do not directly assign \code{PyModel.Model.VERSION} to it; you'll
+ supply it as a property, like in:
+
+ \begin{verbatim}
+ >>> model=PyModel.Model('ModelName')
+ >>> model.version='0.1'
+ \end{verbatim}
+
+ or:
+ \begin{verbatim}
+ >>> model=PyModel.Model('<ModelName>', version='0.1')
+ \end{verbatim}
+
+ This way, you are sure that you'll be warned when the default behaviour of
+ PyModels changes.
+
\subsection{Entity\label{pymodel-entity-props}}
|
|
From: <sbi...@us...> - 2003-08-26 18:53:49
|
Update of /cvsroot/modeling/ProjectModeling/Modeling/doc/UserGuide
In directory sc8-pr-cvs1:/tmp/cvs-serv11878/doc/UserGuide
Modified Files:
DefiningaModel.tex
Log Message:
Added type info for PyModel-model's props
Index: DefiningaModel.tex
===================================================================
RCS file: /cvsroot/modeling/ProjectModeling/Modeling/doc/UserGuide/DefiningaModel.tex,v
retrieving revision 1.23
retrieving revision 1.24
diff -C2 -d -r1.23 -r1.24
*** DefiningaModel.tex 26 Aug 2003 18:41:26 -0000 1.23
--- DefiningaModel.tex 26 Aug 2003 18:53:45 -0000 1.24
***************
*** 739,757 ****
A model defines the following properties:
! \begin{longtableiii}{p{3cm}p{4cm}p{7cm}}{code}{Prop.}{Default}{Comment}
! \lineiii{name}{\emph{no default}}{The \code{name} is the only mandatory
! arguments when instanciating a \class{Model}. Once set, it should not be
! changed}
! \lineiii{packageName}{value of \code{name}}{Dynamically }
! \lineiii{adaptorName}{\code{''}}{}
! \lineiii{connDict}
{\code{\{ 'host': '', 'database': '', 'user': '', 'password': '' \}}}{}
! \lineiii{entities}{\code{[]}}{Entities for the model are appended to this
sequence.}
! \lineiii{associations}{\code{[]}}{Associations are appended to this
sequence.}
! \lineiii{doc}{\code{''}}{this is the ``comment'' field}
! \lineiii{version}{\emph{no default}}{}
! \end{longtableiii}
\begin{notice}
--- 739,758 ----
A model defines the following properties:
! \begin{longtableiv}{p{3cm}p{1.5cm}p{4cm}p{5.5cm}}{code}{Prop.}{Type}{Default}{Comment}
! \lineiv{name}{\code{string}}{\emph{no default}}{The \code{name} is the only
! mandatory arguments when instanciating a \class{Model}. Once set, it should
! not be changed}
! \lineiv{packageName}{\code{string}}{value of \code{name}}{Dynamically }
! \lineiv{adaptorName}{\code{string}}{\code{''}}{}
! \lineiv{connDict}{\code{dict}}
{\code{\{ 'host': '', 'database': '', 'user': '', 'password': '' \}}}{}
! \lineiv{entities}{sequence}{\code{[]}}{Entities for the model are appended to this
sequence.}
! \lineiv{associations}{sequence}{\code{[]}}{Associations are appended to this
sequence.}
! \lineiv{doc}{\code{string}}{\code{''}}{this is the ``comment'' field}
! \lineiv{version}{\code{string}}{\emph{no default}}{currently \code{'0.1'}
! --see below}
! \end{longtableiv}
\begin{notice}
***************
*** 774,799 ****
\begin{verbatim}
! model.adaptorName='Postgresql'}.
\end{verbatim}
\subsection{Entity\label{pymodel-entity-props}}
The component \class{Entity} defines the following properties:
! \begin{longtableiv}{p{3cm}p{4cm}p{1.5cm}p{5.5cm}}{code}{Prop.}{Default}{type}{Comment}
! \lineiv{name}{\emph{no default}}{\code{string}}{The \code{name} is the only mandatory
arguments when instanciating a \class{Entity}. Once set, it should not be
changed}
! \lineiv{className}{value of \code{name}}{\code{string}}{}
! \lineiv{moduleName}{value of \code{name}}{\code{string}}{}
! \lineiv{externalName}{\code{externalNameForInternalName(name)}}{\code{string}}{}
! \lineiv{isAbstract}{\code{0}}{\code{int}}{}
! \lineiv{isReadOnly}{\code{0}}{\code{int}}{}
! \lineiv{properties}{\code{[]}}{\code{sequence}}{Sequence of \class{Attribute} and
\class{Relationship} objects}
! \lineiv{parent}{\code{''}}{\code{string}}{The \code{name} of its parent entity (inheritance)}
! \lineiv{typeName}{\code{''}}{\code{string}}{}
! \lineiv{doc}{\code{''}}{\code{string}}{comment}
\end{longtableiv}
\begin{notice}
--- 775,802 ----
\begin{verbatim}
! model.adaptorName='Postgresql'
\end{verbatim}
+ \subsubsection{Model's {\tt version}\label{pymodel-model-props-version}}
+
\subsection{Entity\label{pymodel-entity-props}}
The component \class{Entity} defines the following properties:
! \begin{longtableiv}{p{3cm}p{1.5cm}p{4cm}p{5.5cm}}{code}{Prop.}{Type}{Default}{Comment}
! \lineiv{name}{\code{string}}{\emph{no default}}{The \code{name} is the only mandatory
arguments when instanciating a \class{Entity}. Once set, it should not be
changed}
! \lineiv{className}{\code{string}}{value of \code{name}}{}
! \lineiv{moduleName}{\code{string}}{value of \code{name}}{}
! \lineiv{externalName}{\code{string}}{\code{externalNameForInternalName(name)}}{}
! \lineiv{isAbstract}{\code{int}}{\code{0}}{}
! \lineiv{isReadOnly}{\code{int}}{\code{0}}{}
! \lineiv{properties}{sequence}{\code{[]}}{Sequence of \class{Attribute} and
\class{Relationship} objects}
! \lineiv{parent}{\code{string}}{\code{''}}{The \code{name} of its parent entity (inheritance)}
! \lineiv{typeName}{\code{string}}{\code{''}}{}
! \lineiv{doc}{\code{string}}{\code{''}}{comment}
\end{longtableiv}
\begin{notice}
***************
*** 805,809 ****
\subsection{Attribute\label{pymodel-attribute-props}}
! \begin{longtableiv}{p{3cm}p{4cm}p{1.5cmcm}p{5.5cm}}{code}{Prop.}{Type}{Default}{Comment}
\lineiv{name}{\code{string}}{\emph{no default}}{The \code{name} is the only mandatory
arguments when instanciating a \class{Attribute}. Once set, it should not be
--- 808,812 ----
\subsection{Attribute\label{pymodel-attribute-props}}
! \begin{longtableiv}{p{3cm}p{1.5cm}p{4cm}p{5.5cm}}{code}{Prop.}{Type}{Default}{Comment}
\lineiv{name}{\code{string}}{\emph{no default}}{The \code{name} is the only mandatory
arguments when instanciating a \class{Attribute}. Once set, it should not be
|
|
From: <sbi...@us...> - 2003-08-26 18:41:31
|
Update of /cvsroot/modeling/ProjectModeling/Modeling/doc/UserGuide
In directory sc8-pr-cvs1:/tmp/cvs-serv9717/doc/UserGuide
Modified Files:
DefiningaModel.tex
Log Message:
Added type for PyModel-entity and -attribute's props
Index: DefiningaModel.tex
===================================================================
RCS file: /cvsroot/modeling/ProjectModeling/Modeling/doc/UserGuide/DefiningaModel.tex,v
retrieving revision 1.22
retrieving revision 1.23
diff -C2 -d -r1.22 -r1.23
*** DefiningaModel.tex 24 Aug 2003 17:58:16 -0000 1.22
--- DefiningaModel.tex 26 Aug 2003 18:41:26 -0000 1.23
***************
*** 93,96 ****
--- 93,97 ----
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \newpage
\section{Concepts\label{model-concepts}}
***************
*** 604,607 ****
--- 605,609 ----
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \newpage
\section{PyModels\label{pymodel}}
***************
*** 779,798 ****
The component \class{Entity} defines the following properties:
! \begin{longtableiii}{p{3cm}p{4cm}p{7cm}}{code}{Prop.}{Default}{Comment}
! \lineiii{name}{\emph{no default}}{The \code{name} is the only mandatory
arguments when instanciating a \class{Entity}. Once set, it should not be
changed}
! \lineiii{className}{value of \code{name}}{}
! \lineiii{moduleName}{value of \code{name}}{}
! \lineiii{externalName}{\code{externalNameForInternalName(name)}}{}
! \lineiii{isAbstract}{\code{0}}{}
! \lineiii{isReadOnly}{\code{0}}{}
! \lineiii{properties}{\code{[]}}{Sequence of \class{Attribute} and
\class{Relationship} objects}
! \lineiii{parent}{\code{''}}{The name of its parent entity (inheritance)}
! \lineiii{typeName}{\code{''}}{}
! \lineiii{doc}{\code{''}}{comment}
! \end{longtableiii}
\begin{notice}
For details about these properties and their meaning, please refer
--- 781,800 ----
The component \class{Entity} defines the following properties:
! \begin{longtableiv}{p{3cm}p{4cm}p{1.5cm}p{5.5cm}}{code}{Prop.}{Default}{type}{Comment}
! \lineiv{name}{\emph{no default}}{\code{string}}{The \code{name} is the only mandatory
arguments when instanciating a \class{Entity}. Once set, it should not be
changed}
! \lineiv{className}{value of \code{name}}{\code{string}}{}
! \lineiv{moduleName}{value of \code{name}}{\code{string}}{}
! \lineiv{externalName}{\code{externalNameForInternalName(name)}}{\code{string}}{}
! \lineiv{isAbstract}{\code{0}}{\code{int}}{}
! \lineiv{isReadOnly}{\code{0}}{\code{int}}{}
! \lineiv{properties}{\code{[]}}{\code{sequence}}{Sequence of \class{Attribute} and
\class{Relationship} objects}
! \lineiv{parent}{\code{''}}{\code{string}}{The \code{name} of its parent entity (inheritance)}
! \lineiv{typeName}{\code{''}}{\code{string}}{}
! \lineiv{doc}{\code{''}}{\code{string}}{comment}
! \end{longtableiv}
\begin{notice}
For details about these properties and their meaning, please refer
***************
*** 803,823 ****
\subsection{Attribute\label{pymodel-attribute-props}}
! \begin{longtableiii}{p{3cm}p{4cm}p{7cm}}{code}{Prop.}{Default}{Comment}
! \lineiii{name}{\emph{no default}}{The \code{name} is the only mandatory
arguments when instanciating a \class{Attribute}. Once set, it should not be
changed}
! \lineiii{columnName}{\code{externalNameForInternalName(name)}}{}
! \lineiii{type}{\code{'int'}}{}
! \lineiii{externalType}{\code{'INTEGER'}}{}
! \lineiii{isClassProperty}{\code{1}}{}
! \lineiii{isRequired}{\code{0}}{}
! \lineiii{precision}{\code{0}}{}
! \lineiii{width}{\code{0}}{}
! \lineiii{scale}{\code{0}}{}
! \lineiii{defaultValue}{\code{None}}{}
! \lineiii{usedForLocking}{\code{0}}{}
! \lineiii{displayLabel}{\code{''}}{}
! \lineiii{doc}{\code{''}}{comment}
! \end{longtableiii}
\begin{notice}
--- 805,825 ----
\subsection{Attribute\label{pymodel-attribute-props}}
! \begin{longtableiv}{p{3cm}p{4cm}p{1.5cmcm}p{5.5cm}}{code}{Prop.}{Type}{Default}{Comment}
! \lineiv{name}{\code{string}}{\emph{no default}}{The \code{name} is the only mandatory
arguments when instanciating a \class{Attribute}. Once set, it should not be
changed}
! \lineiv{columnName}{\code{string}}{\code{externalNameForInternalName(name)}}{}
! \lineiv{type}{\code{string}}{\code{'int'}}{}
! \lineiv{externalType}{\code{string}}{\code{'INTEGER'}}{}
! \lineiv{isClassProperty}{\code{int}}{\code{1}}{}
! \lineiv{isRequired}{\code{int}}{\code{0}}{}
! \lineiv{precision}{\code{int}}{\code{0}}{}
! \lineiv{width}{\code{int}}{\code{0}}{}
! \lineiv{scale}{\code{int}}{\code{0}}{}
! \lineiv{defaultValue}{}{\code{None}}{}
! \lineiv{usedForLocking}{\code{int}}{\code{0}}{}
! \lineiv{displayLabel}{\code{string}}{\code{''}}{}
! \lineiv{doc}{\code{string}}{\code{''}}{comment}
! \end{longtableiv}
\begin{notice}
***************
*** 982,985 ****
--- 984,988 ----
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \newpage
\section{{\sc Xml} model\label{model-xml-format}}
***************
*** 1212,1215 ****
--- 1215,1219 ----
\makeatother
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \newpage
\section{General guidelines and gotchas \label{guidelines-gotchas}}
|
|
From: <sbi...@us...> - 2003-08-26 07:16:21
|
Update of /cvsroot/modeling/ProjectModeling/Modeling/doc/UserGuide
In directory sc8-pr-cvs1:/tmp/cvs-serv10473/doc/UserGuide
Modified Files:
DefiningaModel.tex
Log Message:
Added doc. for multiplicity lower/upper bound
Index: DefiningaModel.tex
===================================================================
RCS file: /cvsroot/modeling/ProjectModeling/Modeling/doc/UserGuide/DefiningaModel.tex,v
retrieving revision 1.16
retrieving revision 1.17
diff -C2 -d -r1.16 -r1.17
*** DefiningaModel.tex 24 Aug 2003 14:26:18 -0000 1.16
--- DefiningaModel.tex 24 Aug 2003 14:33:31 -0000 1.17
***************
*** 539,546 ****
\item[\code{multiplicityLowerBound}, \code{multiplicityUpperBound}:]
! the lower- and upper- bound defining the
! relationships' multiplicity. Note that the lower- and upper-bounds are
! automatically checked when you try to save changes you made to an
! object.
The exact definition of to-one and to-many relationships
--- 539,552 ----
\item[\code{multiplicityLowerBound}, \code{multiplicityUpperBound}:]
! the multiplicty lower bound of a relationship defines the minimum number
! of objects that should be in relation. If the lower bound is zero, none
! are required: this is an \emph{optional} relationship; if the lower
! bound is one or more, this is a \emph{mandatory} relationship.
!
! The multiplicity upper bound defines the maximum allowed number of
! objects in relations. It can be any positive number, given that it is
! always greater or equal than the lower bound. As a special exception,
! values \code{-1} (minus one) or \code{'*'} serve to indicate an
! unconstrained upper bound.
The exact definition of to-one and to-many relationships
|
|
From: <sbi...@us...> - 2003-08-25 15:47:27
|
Update of /cvsroot/modeling/ProjectModeling/Modeling/DatabaseAdaptors/SQLiteAdaptorLayer
In directory sc8-pr-cvs1:/tmp/cvs-serv8310/Modeling/DatabaseAdaptors/SQLiteAdaptorLayer
Modified Files:
__init__.py
Log Message:
Added the list of supported SQL datatypes in __init__ docstring
Index: __init__.py
===================================================================
RCS file: /cvsroot/modeling/ProjectModeling/Modeling/DatabaseAdaptors/SQLiteAdaptorLayer/__init__.py,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** __init__.py 11 Jun 2003 11:10:17 -0000 1.1
--- __init__.py 24 Aug 2003 14:15:13 -0000 1.2
***************
*** 33,36 ****
--- 33,42 ----
'host', 'user', 'password' -- ignored
+ Supported SQL datatypes are:
+
+ VARCHAR, CHAR, TEXT,
+ FLOAT, INT, INTEGER, NUMERIC, NUMBER, DECIMAL, SMALLINT, REAL
+ DATE, TIME, DATETIME
+
Informations about the SQLite database can be found at http://www.sqlite.org/.
"""
|
|
From: <sbi...@us...> - 2003-08-25 00:57:22
|
Update of /cvsroot/modeling/ProjectModeling/Modeling/DatabaseAdaptors/PostgresqlAdaptorLayer
In directory sc8-pr-cvs1:/tmp/cvs-serv8310/Modeling/DatabaseAdaptors/PostgresqlAdaptorLayer
Modified Files:
__init__.py
Log Message:
Added the list of supported SQL datatypes in __init__ docstring
Index: __init__.py
===================================================================
RCS file: /cvsroot/modeling/ProjectModeling/Modeling/DatabaseAdaptors/PostgresqlAdaptorLayer/__init__.py,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** __init__.py 3 Aug 2003 11:10:50 -0000 1.3
--- __init__.py 24 Aug 2003 14:15:13 -0000 1.4
***************
*** 50,53 ****
--- 50,62 ----
'user', 'password' -- user credentials
+ Supported SQL datatypes are:
+
+ VARCHAR, CHAR, TEXT,
+ FLOAT, INT, INTEGER, NUMERIC,
+ DATE, TIME, DATETIME, TIMESTAMP, TIMESTAMP WITHOUT TIME ZONE,
+ TIMESTAMP WITH TIME ZONE
+
+ Note: postgresql v7.3+ does not support DATETIME anymore.
+
"""
|
|
From: <sbi...@us...> - 2003-08-24 23:56:24
|
Update of /cvsroot/modeling/ProjectModeling/Modeling/doc/UserGuide
In directory sc8-pr-cvs1:/tmp/cvs-serv9666/doc/UserGuide
Modified Files:
DefiningaModel.tex
Log Message:
Added doc.&links for supported external SQL datatypes
Index: DefiningaModel.tex
===================================================================
RCS file: /cvsroot/modeling/ProjectModeling/Modeling/doc/UserGuide/DefiningaModel.tex,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -d -r1.15 -r1.16
*** DefiningaModel.tex 23 Aug 2003 16:52:36 -0000 1.15
--- DefiningaModel.tex 24 Aug 2003 14:26:18 -0000 1.16
***************
*** 358,362 ****
\item[\code{type}:] this is the associated python type, which can be either
! \code{string}, \code{'int'}\footnote{Note that python types \code{int}
and \code{long int} are treated the same way. This is due to different
DB-adaptors having different behaviours --some can also have a
--- 358,362 ----
\item[\code{type}:] this is the associated python type, which can be either
! \code{string}, \code{int}\footnote{Note that python types \code{int}
and \code{long int} are treated the same way. This is due to different
DB-adaptors having different behaviours --some can also have a
***************
*** 365,377 ****
(e.g. 42); anyway it sounds reasonable to consider \code{int} and
\code{long int} as equivalent within the framework's core.}
! \code{'float'} or \code{'DateTime'} (mapping to egenix's
\module{mxDateTime} --or to \class{DCOracle2.Timestamp}). You should
keep
% [sbigaret] NOTE: this might be checked and/or enforced at some time
% \module{mxDateTime}). While this is not (yet) checked, you should keep
! the externalType and the python type in sync (python \code{string}:
! SQL \code{CHAR}, \code{VARCHAR} or \code{TEXT}\footnote{if you
! db-server supports \code{TEXT}}, \code{int}: SQL \code{INTEGER},
! etc.)
\item[\code{isClassProperty}:] indicates whether the Attribute correspond to a
--- 365,377 ----
(e.g. 42); anyway it sounds reasonable to consider \code{int} and
\code{long int} as equivalent within the framework's core.}
! \code{float} or \code{DateTime} (mapping to egenix's
\module{mxDateTime} --or to \class{DCOracle2.Timestamp}). You should
keep
% [sbigaret] NOTE: this might be checked and/or enforced at some time
% \module{mxDateTime}). While this is not (yet) checked, you should keep
! the \code{externalType} (described below) and the python type in sync
! (python \code{string}: SQL \code{CHAR}, \code{VARCHAR} or
! \code{TEXT}\footnote{if you db-server supports \code{TEXT}},
! \code{int}: SQL \code{INTEGER}, etc.).
\item[\code{isClassProperty}:] indicates whether the Attribute correspond to a
***************
*** 389,397 ****
\item[\code{externalType}:] the SQL type to which this attribute should be
! mapped. Supported SQL types are: \code{INTEGER}/\code{INT},
! \code{CHAR}/\code{VARCHAR} (requires a \code{width}, see below),
! \code{TEXT},
! \code{NUMERIC} (requires \code{precision} and \code{scale}, see
! below), \code{TIMESTAMP} and \code{DATETIME}.
\item[\code{precision}, \code{scale}, \code{width}:]
--- 389,406 ----
\item[\code{externalType}:] the SQL type to which this attribute should be
! mapped. The supported SQL datatypes depend on the adaptor, please
! refer to their documentation for details:
!
! \begin{itemize}
!
! \item{\bf MySQL:} \ulink{MySQLAdaptorLayer}{http://modeling.sourceforge.net/API/Modeling-API/public/Modeling.DatabaseAdaptors.MySQLAdaptorLayer-module.html}
!
! \item{\bf Oracle:} \ulink{OracleAdaptorLayer}{http://modeling.sourceforge.net/API/Modeling-API/public/Modeling.DatabaseAdaptors.OracleAdaptorLayer-module.html}
!
! \item{\bf PostgresqlSQL:} \ulink{PostgresqlAdaptorLayer}{http://modeling.sourceforge.net/API/Modeling-API/public/Modeling.DatabaseAdaptors.PostgresqlAdaptorLayer-module.html}
!
! \item{\bf SQLite:} \ulink{SQLiteAdaptorLayer}{http://modeling.sourceforge.net/API/Modeling-API/public/Modeling.DatabaseAdaptors.SQLiteAdaptorLayer-module.html}
!
! \end{itemize}
\item[\code{precision}, \code{scale}, \code{width}:]
|
|
From: <sbi...@us...> - 2003-08-24 19:15:44
|
Update of /cvsroot/modeling/ProjectModeling/Modeling/doc/UserGuide
In directory sc8-pr-cvs1:/tmp/cvs-serv8326/doc/UserGuide
Modified Files:
DefiningaModel.tex
Log Message:
misc. update
Index: DefiningaModel.tex
===================================================================
RCS file: /cvsroot/modeling/ProjectModeling/Modeling/doc/UserGuide/DefiningaModel.tex,v
retrieving revision 1.21
retrieving revision 1.22
diff -C2 -d -r1.21 -r1.22
*** DefiningaModel.tex 24 Aug 2003 17:56:14 -0000 1.21
--- DefiningaModel.tex 24 Aug 2003 17:58:16 -0000 1.22
***************
*** 782,786 ****
\lineiii{name}{\emph{no default}}{The \code{name} is the only mandatory
! arguments when instanciating a \class{Attribute}. Once set, it should not be
changed}
\lineiii{className}{value of \code{name}}{}
--- 782,786 ----
\lineiii{name}{\emph{no default}}{The \code{name} is the only mandatory
! arguments when instanciating a \class{Entity}. Once set, it should not be
changed}
\lineiii{className}{value of \code{name}}{}
***************
*** 834,838 ****
\begin{longtableiii}{p{3cm}p{4cm}p{7cm}}{code}{Prop.}{Default}{Comment}
\lineiii{name}{\emph{no default}}{The \code{name} is the only mandatory
! arguments when instanciating a \class{Attribute}. Once set, it should not be
changed}
\lineiii{type}{\code{'DateTime'}}{}
--- 834,838 ----
\begin{longtableiii}{p{3cm}p{4cm}p{7cm}}{code}{Prop.}{Default}{Comment}
\lineiii{name}{\emph{no default}}{The \code{name} is the only mandatory
! arguments when instanciating a \class{ADateTime}. Once set, it should not be
changed}
\lineiii{type}{\code{'DateTime'}}{}
***************
*** 857,861 ****
\begin{longtableiii}{p{3cm}p{4cm}p{7cm}}{code}{Prop.}{Default}{Comment}
\lineiii{name}{\emph{no default}}{The \code{name} is the only mandatory
! arguments when instanciating a \class{Attribute}. Once set, it should not be
changed}
\lineiii{type}{\code{'string'}}{}
--- 857,861 ----
\begin{longtableiii}{p{3cm}p{4cm}p{7cm}}{code}{Prop.}{Default}{Comment}
\lineiii{name}{\emph{no default}}{The \code{name} is the only mandatory
! arguments when instanciating a \class{AFloat}. Once set, it should not be
changed}
\lineiii{type}{\code{'string'}}{}
***************
*** 879,883 ****
\begin{longtableiii}{p{3cm}p{4cm}p{7cm}}{code}{Prop.}{Default}{Comment}
\lineiii{name}{\emph{no default}}{The \code{name} is the only mandatory
! arguments when instanciating a \class{Attribute}. Once set, it should not be
changed}
\lineiii{type}{\code{'int'}}{}
--- 879,883 ----
\begin{longtableiii}{p{3cm}p{4cm}p{7cm}}{code}{Prop.}{Default}{Comment}
\lineiii{name}{\emph{no default}}{The \code{name} is the only mandatory
! arguments when instanciating a \class{AInteger}. Once set, it should not be
changed}
\lineiii{type}{\code{'int'}}{}
***************
*** 899,903 ****
\begin{longtableiii}{p{3cm}p{4cm}p{7cm}}{code}{Prop.}{Default}{Comment}
\lineiii{name}{\emph{no default}}{The \code{name} is the only mandatory
! arguments when instanciating a \class{Attribute}. Once set, it should not be
changed}
\lineiii{type}{\code{'string'}}{No matter whether you run python2.1 (where
--- 899,903 ----
\begin{longtableiii}{p{3cm}p{4cm}p{7cm}}{code}{Prop.}{Default}{Comment}
\lineiii{name}{\emph{no default}}{The \code{name} is the only mandatory
! arguments when instanciating a \class{AString}. Once set, it should not be
changed}
\lineiii{type}{\code{'string'}}{No matter whether you run python2.1 (where
***************
*** 923,927 ****
\begin{longtableiii}{p{3cm}p{4cm}p{7cm}}{code}{Prop.}{Default}{Comment}
\lineiii{name}{\emph{no default}}{The \code{name} is the only mandatory
! arguments when instanciating a \class{Attribute}. Once set, it should not be
changed}
\lineiii{isClassProperty}{\code{0}}{}
--- 923,927 ----
\begin{longtableiii}{p{3cm}p{4cm}p{7cm}}{code}{Prop.}{Default}{Comment}
\lineiii{name}{\emph{no default}}{The \code{name} is the only mandatory
! arguments when instanciating a \class{APrimaryKey}. Once set, it should not be
changed}
\lineiii{isClassProperty}{\code{0}}{}
***************
*** 946,950 ****
\begin{longtableiii}{p{3cm}p{4cm}p{7cm}}{code}{Prop.}{Default}{Comment}
\lineiii{name}{\emph{no default}}{The \code{name} is the only mandatory
! arguments when instanciating a \class{Attribute}. Once set, it should not be
changed}
\lineiii{isClassProperty}{\code{0}}{}
--- 946,950 ----
\begin{longtableiii}{p{3cm}p{4cm}p{7cm}}{code}{Prop.}{Default}{Comment}
\lineiii{name}{\emph{no default}}{The \code{name} is the only mandatory
! arguments when instanciating a \class{AForeignKey}. Once set, it should not be
changed}
\lineiii{isClassProperty}{\code{0}}{}
|
|
From: <sbi...@us...> - 2003-08-24 19:15:38
|
Update of /cvsroot/modeling/ProjectModeling/Modeling/doc/UserGuide
In directory sc8-pr-cvs1:/tmp/cvs-serv7317/doc/UserGuide
Modified Files:
DefiningaModel.tex
Log Message:
Updated doc. for PyModel: misc. fix defaultValue for APrimaryKey
Index: DefiningaModel.tex
===================================================================
RCS file: /cvsroot/modeling/ProjectModeling/Modeling/doc/UserGuide/DefiningaModel.tex,v
retrieving revision 1.19
retrieving revision 1.20
diff -C2 -d -r1.19 -r1.20
*** DefiningaModel.tex 24 Aug 2003 17:38:04 -0000 1.19
--- DefiningaModel.tex 24 Aug 2003 17:53:14 -0000 1.20
***************
*** 928,932 ****
\lineiii{isRequired}{\code{1}}{You should not change this default, nor
overwrite it: a primary key should be mandatory.}
! \lineiii{defaultValue}{\code{}}{}
\lineiii{doc}{\code{'Primary Key'}}{}
\lineiii{usedForLocking}{\code{0}}{}
--- 928,933 ----
\lineiii{isRequired}{\code{1}}{You should not change this default, nor
overwrite it: a primary key should be mandatory.}
! \lineiii{defaultValue}{\code{None} if \code{isClassProperty} is false,
! \code{0} otherwise}{}
\lineiii{doc}{\code{'Primary Key'}}{}
\lineiii{usedForLocking}{\code{0}}{}
|
|
From: <sbi...@us...> - 2003-08-24 19:01:41
|
Update of /cvsroot/modeling/ProjectModeling/Modeling/doc/UserGuide
In directory sc8-pr-cvs1:/tmp/cvs-serv31265/doc/UserGuide
Modified Files:
DefiningaModel.tex
Log Message:
Updated doc. for PyModel: organization of the section, defining defaults, component: Model
Index: DefiningaModel.tex
===================================================================
RCS file: /cvsroot/modeling/ProjectModeling/Modeling/doc/UserGuide/DefiningaModel.tex,v
retrieving revision 1.17
retrieving revision 1.18
diff -C2 -d -r1.17 -r1.18
*** DefiningaModel.tex 24 Aug 2003 14:33:31 -0000 1.17
--- DefiningaModel.tex 24 Aug 2003 16:55:51 -0000 1.18
***************
*** 606,609 ****
--- 606,615 ----
\section{PyModels\label{pymodel}}
+ Now that we know the different components of a model, it is time to examine
+ how they can be practically defined. This section examines a python definition
+ of a model, and the next section will show how this can be done equivalently
+ in a xml-file.
+
+
A PyModel is a python module that defines a variable \var{model}
that is of type \class{PyModel.Model}. Objects of type \class{Model} collect
***************
*** 617,620 ****
--- 623,651 ----
and others may of course be defined as necessary.
+
+ \subsection{Organization of this chapter}
+
+ The next section, \ref{pymodel-sample}, will give a full example of a PyModel.
+
+
+ Section~\ref{pymodel-defauls} will then discuss defaults: what they are, and
+ how they will be changed. It should be read before referring to the
+ components' details, since it explains important things that won't be repeated
+ afterwards.
+
+
+ Then, for each component of a model (\class{Model}, \class{Entity}, etc.), a
+ comprehensive list of available properties will be given, including their
+ default values. These properties are those we saw in
+ section~\ref{model-details}. We suppose here that the content of this section
+ is known, so if you need details about the meaning and effects of some
+ component's property, please refer to the component's detailed description,
+ above.
+
+
+ Last, please note that the section describing Models
+ (~\ref{pymodel-entity-props}) exposes in details how these properties can be
+ set; this information will not be repeated in the sections coming afterwards.
+
\subsection{A sample PyModel\label{pymodel-sample}}
***************
*** 624,627 ****
--- 655,661 ----
\class{APrimaryKey} and \class{AString}.
+ \makeatletter
+ \def\verbatim@font{\footnotesize\ttfamily}
+ \makeatother
\begin{verbatim}
from Modeling.PyModel import *
***************
*** 641,646 ****
_connDict = {'database': 'AUTHOR_BOOKS'}
! model = Model('AuthorBooks',adaptorName='Postgresql',
! connDict=_connDict)
model.version='0.1'
model.entities = [
--- 675,679 ----
_connDict = {'database': 'AUTHOR_BOOKS'}
! model = Model('AuthorBooks',adaptorName='Postgresql', connDict=_connDict)
model.version='0.1'
model.entities = [
***************
*** 648,653 ****
Entity('Book',
properties=[ AString('title', isRequired=1, columnName='title'),
! AFloat('price'),
! ],
),
Entity('Writer',
--- 681,686 ----
Entity('Book',
properties=[ AString('title', isRequired=1, columnName='title'),
! AFloat('price'),
! ],
),
Entity('Writer',
***************
*** 661,665 ****
),
]
-
model.associations=[
Association('Book', 'Writer',
--- 694,697 ----
***************
*** 671,678 ****
]
\end{verbatim}
! \subsection{Model\label{pymodel-entity-props}}
! tbd.
\subsection{Entity\label{pymodel-entity-props}}
--- 703,777 ----
]
\end{verbatim}
+ \makeatletter
+ \def\verbatim@font{\normalsize\ttfamily}
+ \makeatother
! A PyModel is typically made of two parts: a first part sets the defaults, then
! the second one defines the model. Defaults helps you keep the model definition
! tidy, by removing the repetitive parts from the model definition itself; in
! this example, the defaults add a primary key to each entity, sets the
! \code{width} for strings, etc.
! \subsection{Defaults\label{pymodel-defaults}}
!
! In the coming description of the components of a model, you'll see that every
! possible property is assigned a default value.
!
! This default value will be used if you omit it in your definition. For
! example, a component \class{AString} representing a string attribute has a
! default value of \code{255} assigned to its \code{width}. This default value
! may, or may be not, what you need. To avoid the unnecessary overhead of
! overwriting the defaults in each component \class{AString}, you can set a
! different default for one, or more, of its properties:
! \begin{verbatim}
! AString.defaults['width']=30
! AString.defaults['externalType']='TEXT'
! \end{verbatim}
!
! This is a general mechanism that you can use for every single property defined
! by a component, simply by changing the corresponding entry in the component
! class's dictionary \code{defaults}.
!
! \subsection{Model\label{pymodel-model-props}}
!
! A model defines the following properties:
!
! \begin{longtableiii}{p{3cm}p{4cm}p{7cm}}{code}{Prop.}{Default}{Comment}
! \lineiii{name}{\emph{no default}}{The \code{name} is the only mandatory
! arguments when instanciating a \class{Model}. Once set, it should not be
! changed}
! \lineiii{packageName}{value of \code{name}}{Dynamically }
! \lineiii{adaptorName}{\code{''}}{}
! \lineiii{connDict}
! {\code{\{ 'host': '', 'database': '', 'user': '', 'password': '' \}}}{}
! \lineiii{entities}{\code{[]}}{Entities for the model are appended to this
! sequence.}
! \lineiii{associations}{\code{[]}}{Associations are appended to this
! sequence.}
! \lineiii{doc}{\code{''}}{this is the ``comment'' field}
! \lineiii{version}{\emph{no default}}{}
! \end{longtableiii}
!
! \begin{notice}
! For details about these properties and their meaning, please refer to~\ref{model-props}.
! \end{notice}
!
! When instanciated, a model should supply its name:
!
! \begin{verbatim}
! model = Model('AuthorBooks')
! \end{verbatim}
!
! Properties can be set at instanciation time:
!
! \begin{verbatim}
! model = Model('AuthorBooks', adaptorName='Postgresql')
! \end{verbatim}
!
! or by direct assignment:
!
! \begin{verbatim}
! model.adaptorName='Postgresql'}.
! \end{verbatim}
\subsection{Entity\label{pymodel-entity-props}}
***************
*** 680,690 ****
tbd.
! \subsection{Attribute\label{pymodel-entity-props}}
AInteger, AString, AFloat, ADateTime, APrimaryKey, AForeignKey
! \subsubsection{Primary keys\label{pymodel-entity-props-primary-keys}}
! \subsubsection{ForeignKeys\label{pymodel-entity-props-foreign-keys}}
\subsection{Relationship\label{pymodel-relationship-props}}
--- 779,789 ----
tbd.
! \subsection{Attribute\label{pymodel-attribute-props}}
AInteger, AString, AFloat, ADateTime, APrimaryKey, AForeignKey
! \subsubsection{Primary keys\label{pymodel-attribute-props-primary-keys}}
! \subsubsection{ForeignKeys\label{pymodel-attribute-props-foreign-keys}}
\subsection{Relationship\label{pymodel-relationship-props}}
***************
*** 856,859 ****
--- 955,961 ----
\subsection{Full format of an xml-model\label{full-xml-format}}
+ \makeatletter
+ \def\verbatim@font{\footnotesize\ttfamily}
+ \makeatother
\begin{verbatim}
<?xml version='1.0' encoding='iso-8859-1'?>
***************
*** 920,925 ****
</model>
\end{verbatim}
!
!
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{General guidelines and gotchas \label{guidelines-gotchas}}
--- 1022,1028 ----
</model>
\end{verbatim}
! \makeatletter
! \def\verbatim@font{\normalsize\ttfamily}
! \makeatother
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{General guidelines and gotchas \label{guidelines-gotchas}}
|
|
From: <sbi...@us...> - 2003-08-24 17:57:59
|
Update of /cvsroot/modeling/ProjectModeling/Modeling/DatabaseAdaptors/OracleAdaptorLayer In directory sc8-pr-cvs1:/tmp/cvs-serv8310/Modeling/DatabaseAdaptors/OracleAdaptorLayer Modified Files: __init__.py Log Message: Added the list of supported SQL datatypes in __init__ docstring Index: __init__.py =================================================================== RCS file: /cvsroot/modeling/ProjectModeling/Modeling/DatabaseAdaptors/OracleAdaptorLayer/__init__.py,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** __init__.py 19 Aug 2003 22:03:34 -0000 1.1 --- __init__.py 24 Aug 2003 14:15:13 -0000 1.2 *************** *** 37,49 **** ! Supported datatypes are: ! char, varchar, varchar2, nchar, nvarchar2 ! number, decimal, int, integer, smallint, float, numeric, real, ! date, time with the additional datatypes for 9i: ! timestamp, timestamp with time zone, timestamp with local time zone """ --- 37,49 ---- ! Supported SQL datatypes are: ! CHAR, VARCHAR, VARCHAR2, NCHAR, NVARCHAR2 ! NUMBER, DECIMAL, INT, INTEGER, SMALLINT, FLOAT, NUMERIC, REAL, ! DATE, TIME with the additional datatypes for 9i: ! TIMESTAMP, TIMESTAMP WITH TIME ZONE, TIMESTAMP WITH LOCAL TIME ZONE """ |
|
From: <sbi...@us...> - 2003-08-24 17:56:17
|
Update of /cvsroot/modeling/ProjectModeling/Modeling/doc/UserGuide
In directory sc8-pr-cvs1:/tmp/cvs-serv7771/doc/UserGuide
Modified Files:
DefiningaModel.tex
Log Message:
typo.
Index: DefiningaModel.tex
===================================================================
RCS file: /cvsroot/modeling/ProjectModeling/Modeling/doc/UserGuide/DefiningaModel.tex,v
retrieving revision 1.20
retrieving revision 1.21
diff -C2 -d -r1.20 -r1.21
*** DefiningaModel.tex 24 Aug 2003 17:53:14 -0000 1.20
--- DefiningaModel.tex 24 Aug 2003 17:56:14 -0000 1.21
***************
*** 904,908 ****
\code{type('').__name__=='string'}) or python2.2 (where
\code{type('').__name__=='str'}), you should always use 'string' for a
! character type.
\lineiii{externalType}{\code{'VARCHAR'}}{}
\lineiii{width}{\code{255}}{}
--- 904,908 ----
\code{type('').__name__=='string'}) or python2.2 (where
\code{type('').__name__=='str'}), you should always use 'string' for a
! character type.}
\lineiii{externalType}{\code{'VARCHAR'}}{}
\lineiii{width}{\code{255}}{}
|
|
From: <sbi...@us...> - 2003-08-24 17:38:07
|
Update of /cvsroot/modeling/ProjectModeling/Modeling/doc/UserGuide
In directory sc8-pr-cvs1:/tmp/cvs-serv5564/doc/UserGuide
Modified Files:
DefiningaModel.tex
Log Message:
Updated doc. for PyModel: defaults for components: Entity, Attribute, ADateTime, AFloat, AInteger, AString, APrimaryKey, AForeignKey
Index: DefiningaModel.tex
===================================================================
RCS file: /cvsroot/modeling/ProjectModeling/Modeling/doc/UserGuide/DefiningaModel.tex,v
retrieving revision 1.18
retrieving revision 1.19
diff -C2 -d -r1.18 -r1.19
*** DefiningaModel.tex 24 Aug 2003 16:55:51 -0000 1.18
--- DefiningaModel.tex 24 Aug 2003 17:38:04 -0000 1.19
***************
*** 458,462 ****
\end{itemize}
! \subsubsection{Foreign keys\label{attributes-PKs-props}}
A foreign key is an attribute that:
--- 458,462 ----
\end{itemize}
! \subsubsection{Foreign keys\label{attributes-FKs-props}}
A foreign key is an attribute that:
***************
*** 645,649 ****
Last, please note that the section describing Models
! (~\ref{pymodel-entity-props}) exposes in details how these properties can be
set; this information will not be repeated in the sections coming afterwards.
--- 645,649 ----
Last, please note that the section describing Models
! (\ref{pymodel-entity-props}) exposes in details how these properties can be
set; this information will not be repeated in the sections coming afterwards.
***************
*** 777,800 ****
\subsection{Entity\label{pymodel-entity-props}}
! tbd.
\subsection{Attribute\label{pymodel-attribute-props}}
! AInteger, AString, AFloat, ADateTime, APrimaryKey, AForeignKey
! \subsubsection{Primary keys\label{pymodel-attribute-props-primary-keys}}
- \subsubsection{ForeignKeys\label{pymodel-attribute-props-foreign-keys}}
! \subsection{Relationship\label{pymodel-relationship-props}}
! RToOne, RToMany
\subsection{Association\label{pymodel-association-props}}
tbd.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! \section{Description of the {\sc xml} format\label{model-xml-format}}
\subsection{Overview of the xml\label{model-xml-format-overview}}
--- 777,985 ----
\subsection{Entity\label{pymodel-entity-props}}
! The component \class{Entity} defines the following properties:
+ \begin{longtableiii}{p{3cm}p{4cm}p{7cm}}{code}{Prop.}{Default}{Comment}
+
+ \lineiii{name}{\emph{no default}}{The \code{name} is the only mandatory
+ arguments when instanciating a \class{Attribute}. Once set, it should not be
+ changed}
+ \lineiii{className}{value of \code{name}}{}
+ \lineiii{moduleName}{value of \code{name}}{}
+ \lineiii{externalName}{\code{externalNameForInternalName(name)}}{}
+ \lineiii{isAbstract}{\code{0}}{}
+ \lineiii{isReadOnly}{\code{0}}{}
+ \lineiii{properties}{\code{[]}}{Sequence of \class{Attribute} and
+ \class{Relationship} objects}
+ \lineiii{parent}{\code{''}}{The name of its parent entity (inheritance)}
+ \lineiii{typeName}{\code{''}}{}
+ \lineiii{doc}{\code{''}}{comment}
+ \end{longtableiii}
+ \begin{notice}
+ For details about these properties and their meaning, please refer
+ to~\ref{entity-props}.
+ \end{notice}
+
+ %%
\subsection{Attribute\label{pymodel-attribute-props}}
! \begin{longtableiii}{p{3cm}p{4cm}p{7cm}}{code}{Prop.}{Default}{Comment}
! \lineiii{name}{\emph{no default}}{The \code{name} is the only mandatory
! arguments when instanciating a \class{Attribute}. Once set, it should not be
! changed}
! \lineiii{columnName}{\code{externalNameForInternalName(name)}}{}
! \lineiii{type}{\code{'int'}}{}
! \lineiii{externalType}{\code{'INTEGER'}}{}
! \lineiii{isClassProperty}{\code{1}}{}
! \lineiii{isRequired}{\code{0}}{}
! \lineiii{precision}{\code{0}}{}
! \lineiii{width}{\code{0}}{}
! \lineiii{scale}{\code{0}}{}
! \lineiii{defaultValue}{\code{None}}{}
! \lineiii{usedForLocking}{\code{0}}{}
! \lineiii{displayLabel}{\code{''}}{}
! \lineiii{doc}{\code{''}}{comment}
! \end{longtableiii}
! \begin{notice}
! For details about these properties and their meaning, please refer
! to~\ref{attributes-props}.
! \end{notice}
! %%
! \subsubsection{ADateTime\label{pymodel-attribute-props-datetime}}
! The component \class{ADateTime} redefines the following defaults:
!
! \begin{longtableiii}{p{3cm}p{4cm}p{7cm}}{code}{Prop.}{Default}{Comment}
! \lineiii{name}{\emph{no default}}{The \code{name} is the only mandatory
! arguments when instanciating a \class{Attribute}. Once set, it should not be
! changed}
! \lineiii{type}{\code{'DateTime'}}{}
! \lineiii{externalType}{\code{TIMESTAMP}}{Be warned: not all database supports
! \code{TIMESTAMP}. If this is the case, you'll probably have to redefine this
! default value in your PyModel. Discussion on supported SQL datatypes can be
! found at section~\ref{attributes-props}.}
! \lineiii{defaultValue}{\code{None}}{}
! \lineiii{usedForLocking}{\code{1}}{}
! \end{longtableiii}
!
! \begin{notice}
! For details about these properties and their meaning, please refer
! to~\ref{attributes-props}.
! \end{notice}
!
! %%
! \subsubsection{AFloat\label{pymodel-attribute-props-float}}
!
! The component \class{AFloat} redefines the following defaults:
!
! \begin{longtableiii}{p{3cm}p{4cm}p{7cm}}{code}{Prop.}{Default}{Comment}
! \lineiii{name}{\emph{no default}}{The \code{name} is the only mandatory
! arguments when instanciating a \class{Attribute}. Once set, it should not be
! changed}
! \lineiii{type}{\code{'string'}}{}
! \lineiii{externalType}{\code{'NUMERIC'}}{}
! \lineiii{precision}{\code{15}}{}
! \lineiii{scale}{\code{5}}{}
! \lineiii{defaultValue}{\code{0.0}}{}
! \lineiii{usedForLocking}{\code{1}}{}
! \end{longtableiii}
!
! \begin{notice}
! For details about these properties and their meaning, please refer
! to~\ref{attributes-props}.
! \end{notice}
!
! %%
! \subsubsection{AInteger\label{pymodel-attribute-props-integer}}
!
! The component \class{AFloat} redefines the following defaults:
+ \begin{longtableiii}{p{3cm}p{4cm}p{7cm}}{code}{Prop.}{Default}{Comment}
+ \lineiii{name}{\emph{no default}}{The \code{name} is the only mandatory
+ arguments when instanciating a \class{Attribute}. Once set, it should not be
+ changed}
+ \lineiii{type}{\code{'int'}}{}
+ \lineiii{externalType}{\code{'INTEGER'}}{}
+ \lineiii{defaultValue}{\code{0}}{}
+ \lineiii{usedForLocking}{\code{1}}{}
+ \end{longtableiii}
+
+ \begin{notice}
+ For details about these properties and their meaning, please refer
+ to~\ref{attributes-props}.
+ \end{notice}
+
+ %%
+ \subsubsection{AString\label{pymodel-attribute-props-string}}
+
+ The component \class{AFloat} redefines the following defaults:
+
+ \begin{longtableiii}{p{3cm}p{4cm}p{7cm}}{code}{Prop.}{Default}{Comment}
+ \lineiii{name}{\emph{no default}}{The \code{name} is the only mandatory
+ arguments when instanciating a \class{Attribute}. Once set, it should not be
+ changed}
+ \lineiii{type}{\code{'string'}}{No matter whether you run python2.1 (where
+ \code{type('').__name__=='string'}) or python2.2 (where
+ \code{type('').__name__=='str'}), you should always use 'string' for a
+ character type.
+ \lineiii{externalType}{\code{'VARCHAR'}}{}
+ \lineiii{width}{\code{255}}{}
+ \lineiii{defaultValue}{\code{''}}{}
+ \lineiii{usedForLocking}{\code{1}}{}
+ \end{longtableiii}
+
+ \begin{notice}
+ For details about these properties and their meaning, please refer
+ to~\ref{attributes-props}.
+ \end{notice}
+
+ %%
+ \subsubsection{APrimaryKey\label{pymodel-attribute-props-primary-key}}
+
+ The component \class{AFloat} redefines the following defaults:
+
+ \begin{longtableiii}{p{3cm}p{4cm}p{7cm}}{code}{Prop.}{Default}{Comment}
+ \lineiii{name}{\emph{no default}}{The \code{name} is the only mandatory
+ arguments when instanciating a \class{Attribute}. Once set, it should not be
+ changed}
+ \lineiii{isClassProperty}{\code{0}}{}
+ \lineiii{isRequired}{\code{1}}{You should not change this default, nor
+ overwrite it: a primary key should be mandatory.}
+ \lineiii{defaultValue}{\code{}}{}
+ \lineiii{doc}{\code{'Primary Key'}}{}
+ \lineiii{usedForLocking}{\code{0}}{}
+ \end{longtableiii}
+
+ \begin{notice}
+ For details about these properties and their meaning, please refer
+ to~\ref{attributes-props}.
+ \end{notice}
+
+ %%
+ \subsubsection{AForeignKey\label{pymodel-attribute-props-foreign-key}}
+
+ The component \class{AFloat} redefines the following defaults:
+
+ \begin{longtableiii}{p{3cm}p{4cm}p{7cm}}{code}{Prop.}{Default}{Comment}
+ \lineiii{name}{\emph{no default}}{The \code{name} is the only mandatory
+ arguments when instanciating a \class{Attribute}. Once set, it should not be
+ changed}
+ \lineiii{isClassProperty}{\code{0}}{}
+ \lineiii{isRequired}{\code{0}}{}
+ \lineiii{defaultValue}{\code{None}}{}
+ \lineiii{doc}{\code{'Foreign Key'}}{}
+ \lineiii{usedForLocking}{\code{0}}{}
+ \end{longtableiii}
+
+ \begin{notice}
+ For details about these properties and their meaning, please refer
+ to~\ref{attributes-props}.
+ \end{notice}
+
+ %%
\subsection{Association\label{pymodel-association-props}}
tbd.
+ %%
+ \subsection{Relationship\label{pymodel-relationship-props}}
+
+ tbd.
+
+ %%
+ \subsubsection{RToOne\label{pymodel-relationship-props-toone}}
+
+ tbd.
+
+ %%
+ \subsubsection{RToMany\label{pymodel-relationship-props-tomany}}
+
+ tbd.
+
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! \section{{\sc Xml} model\label{model-xml-format}}
\subsection{Overview of the xml\label{model-xml-format-overview}}
|
|
From: <sbi...@us...> - 2003-08-24 16:33:12
|
Update of /cvsroot/modeling/ProjectModeling/Modeling/DatabaseAdaptors/MySQLAdaptorLayer
In directory sc8-pr-cvs1:/tmp/cvs-serv8310/Modeling/DatabaseAdaptors/MySQLAdaptorLayer
Modified Files:
__init__.py
Log Message:
Added the list of supported SQL datatypes in __init__ docstring
Index: __init__.py
===================================================================
RCS file: /cvsroot/modeling/ProjectModeling/Modeling/DatabaseAdaptors/MySQLAdaptorLayer/__init__.py,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** __init__.py 3 Aug 2003 11:10:49 -0000 1.3
--- __init__.py 24 Aug 2003 14:15:13 -0000 1.4
***************
*** 41,44 ****
--- 41,50 ----
'user', 'password' -- user credentials
+ Supported SQL datatypes are:
+
+ VARCHAR, CHAR, TEXT,
+ FLOAT, INT, INTEGER, NUMERIC,
+ DATE, TIME, DATETIME
+
"""
|
|
From: <sbi...@us...> - 2003-08-24 16:19:41
|
Update of /cvsroot/modeling/ProjectModeling
In directory sc8-pr-cvs1:/tmp/cvs-serv8021
Modified Files:
CHANGES
Log Message:
Fix for bug #785432 included in the previous release was misplaced and
inactive. Fixed.
Index: CHANGES
===================================================================
RCS file: /cvsroot/modeling/ProjectModeling/CHANGES,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** CHANGES 23 Aug 2003 16:54:14 -0000 1.9
--- CHANGES 24 Aug 2003 14:13:08 -0000 1.10
***************
*** 13,16 ****
--- 13,17 ----
* Added OracleAdaptorLayer (do not use now, there are still commits)
+ Test units updated.
0.9-pre-13 (2003/08/10)
|
|
From: <sbi...@us...> - 2003-08-24 16:19:40
|
Update of /cvsroot/modeling/ProjectModeling/Modeling/DatabaseAdaptors/SQLiteAdaptorLayer
In directory sc8-pr-cvs1:/tmp/cvs-serv8021/Modeling/DatabaseAdaptors/SQLiteAdaptorLayer
Modified Files:
SQLiteSQLExpression.py SQLiteSchemaGeneration.py
Log Message:
Fix for bug #785432 included in the previous release was misplaced and
inactive. Fixed.
Index: SQLiteSQLExpression.py
===================================================================
RCS file: /cvsroot/modeling/ProjectModeling/Modeling/DatabaseAdaptors/SQLiteAdaptorLayer/SQLiteSQLExpression.py,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** SQLiteSQLExpression.py 10 Aug 2003 14:43:16 -0000 1.2
--- SQLiteSQLExpression.py 24 Aug 2003 14:13:08 -0000 1.3
***************
*** 259,260 ****
--- 259,281 ----
else:
return SQLExpression.sqlStringForSelector(self, selector, value)
+
+ def valueTypeForExternalTypeMapping(self):
+ """
+ Extends the inherited method's result set and adds the SQL types:
+ DATETIME, TEXT, NUMBER, DECIMAL, SMALLINT, REAL.
+
+ See also: SQLExpression.valueTypeForExternalTypeMapping()
+ """
+ # Note: SQLite does not care about SQL types, since all types are treated
+ # as strings in this db-server. Any valid (or invalid) sql types can be
+ # added here, neither the framework nor SQLite cares.
+ values=SQLExpression.valueTypeForExternalTypeMapping.im_func(self)
+ values.update({ 'datetime': DateType,
+ 'text': CharacterType,
+ 'number': NumericType,
+ 'decimal': NumericType,
+ 'smallint': NumericType,
+ 'real': NumericType,
+ }
+ )
+ return values
Index: SQLiteSchemaGeneration.py
===================================================================
RCS file: /cvsroot/modeling/ProjectModeling/Modeling/DatabaseAdaptors/SQLiteAdaptorLayer/SQLiteSchemaGeneration.py,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** SQLiteSchemaGeneration.py 9 Aug 2003 11:17:45 -0000 1.3
--- SQLiteSchemaGeneration.py 24 Aug 2003 14:13:09 -0000 1.4
***************
*** 268,290 ****
sqlExprs.append(sqlExpr)
return sqlExprs
-
- def valueTypeForExternalTypeMapping(self):
- """
- Extends the inherited method's result set and adds the SQL types:
- DATETIME, TEXT, NUMBER, DECIMAL, SMALLINT, REAL.
-
- See also: SQLExpression.valueTypeForExternalTypeMapping()
- """
- # Note: SQLite does not care about SQL types, since all types are treated
- # as strings in this db-server. Any valid (or invalid) sql types can be
- # added here, neither the framework nor SQLite cares.
- values=SQLExpression.valueTypeForExternalTypeMapping.im_func(self)
- values.update({ 'datetime': DateType,
- 'text': CharacterType,
- 'number': NumericType,
- 'decimal': NumericType,
- 'smallint': NumericType,
- 'real': NumericType,
- }
- )
- return values
--- 268,269 ----
|
|
From: <sbi...@us...> - 2003-08-23 19:40:59
|
Update of /cvsroot/modeling/ProjectModeling/Modeling/doc/UserGuide
In directory sc8-pr-cvs1:/tmp/cvs-serv17483
Modified Files:
DefiningaModel.tex
Log Message:
Rewrite of parts of the UserGuide has begun --prepare for doc. for PyModels
Index: DefiningaModel.tex
===================================================================
RCS file: /cvsroot/modeling/ProjectModeling/Modeling/doc/UserGuide/DefiningaModel.tex,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -d -r1.14 -r1.15
*** DefiningaModel.tex 31 Jul 2003 20:51:43 -0000 1.14
--- DefiningaModel.tex 23 Aug 2003 16:52:36 -0000 1.15
***************
*** 1,30 ****
! \chapter{Defining the Model \label{define-model}}
!
\section*{Introduction\label{model-intro}}
-
Models define how an object model maps to a relational model. The model used
follows the Entity-Relationship Modelling. This discipline is still very
active, even if it was initiated by M. Peter P. Chen in 1976 (one of the
! most cited paper in computer science (rank 36), see
[...1284 lines suppressed...]
- multiplicityLowerBound = ( int > -1 ) : 0
- multiplicityUpperBound = ( int > -1 | -1,* ) : 1
- -- -1 or * indicate unconstrained upper bound
- destinationEntity = '' -- name of destination entity
- joinSemantic = ( 0,Inner | 1,FullOuter | 2,LeftOuter | 3,Right Outer ) : 0
- displayLabel = '' -- text label to use in applications
- comment = '' -- a comment
- >
- <!-- unordered content: (join) -->
- <join
- sourceAttribute = '' -- name of source attribute, in enclosing entity
- destinationAttribute = '' -- name of target attribute, in ../@destinationEntity
- />
- </relation>
- </entity>
- </model>
- \end{verbatim}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
--- 1117,1120 ----
|
|
From: <sbi...@us...> - 2003-08-23 18:49:53
|
Update of /cvsroot/modeling/ProjectModeling
In directory sc8-pr-cvs1:/tmp/cvs-serv17756
Modified Files:
CHANGES
Log Message:
typo
Index: CHANGES
===================================================================
RCS file: /cvsroot/modeling/ProjectModeling/CHANGES,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** CHANGES 20 Aug 2003 19:58:04 -0000 1.8
--- CHANGES 23 Aug 2003 16:54:14 -0000 1.9
***************
*** 31,35 ****
DECIMAL, SMALLINT, REAL as well in addition to the sql types basically
accepted by the core's SQLExpression (CHAR, FLOAT, INT, INTEGER, NUMERIC,
! DATE, TIME, TUMESTAMP and VARCHAR)
* Fixed bug #785434: mdl_generate_DB_schema now detects when the database
--- 31,35 ----
DECIMAL, SMALLINT, REAL as well in addition to the sql types basically
accepted by the core's SQLExpression (CHAR, FLOAT, INT, INTEGER, NUMERIC,
! DATE, TIME, TIMESTAMP and VARCHAR)
* Fixed bug #785434: mdl_generate_DB_schema now detects when the database
|
|
From: <sbi...@us...> - 2003-08-23 18:33:55
|
Update of /cvsroot/modeling/ProjectModeling/Modeling/doc/UserGuide
In directory sc8-pr-cvs1:/tmp/cvs-serv17627
Modified Files:
CodeRequirements.tex
Log Message:
added ref. to model
Index: CodeRequirements.tex
===================================================================
RCS file: /cvsroot/modeling/ProjectModeling/Modeling/doc/UserGuide/CodeRequirements.tex,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** CodeRequirements.tex 4 Jul 2003 17:06:52 -0000 1.1
--- CodeRequirements.tex 23 Aug 2003 16:53:31 -0000 1.2
***************
*** 35,39 ****
We take the model \code{AuthorBooks} as an example--you'll find it at:\\
! \file{Modeling/tests/testPackages/AuthorBooks/model_AuthorBooks.xml}.
--- 35,40 ----
We take the model \code{AuthorBooks} as an example--you'll find it at:\\
! \file{Modeling/tests/testPackages/AuthorBooks/model_AuthorBooks.xml}, as
! defined in section~\ref{model-author-books}.
|
|
From: <sbi...@us...> - 2003-08-23 17:18:00
|
Update of /cvsroot/modeling/ProjectModeling/Modeling/doc/UserGuide
In directory sc8-pr-cvs1:/tmp/cvs-serv17670
Modified Files:
ManipulatingGraphOfObjects.tex
Log Message:
added ref. to model
Index: ManipulatingGraphOfObjects.tex
===================================================================
RCS file: /cvsroot/modeling/ProjectModeling/Modeling/doc/UserGuide/ManipulatingGraphOfObjects.tex,v
retrieving revision 1.17
retrieving revision 1.18
diff -C2 -d -r1.17 -r1.18
*** ManipulatingGraphOfObjects.tex 3 Aug 2003 10:59:42 -0000 1.17
--- ManipulatingGraphOfObjects.tex 23 Aug 2003 16:53:50 -0000 1.18
***************
*** 381,386 ****
\end{verbatim}
! (This model is in fact a subset of the model \code{StoreEmployees} you'll find
! in the unittests shipped with the framework)
\begin{itemize}
--- 381,385 ----
\end{verbatim}
! (See the full model description in section~\ref{model-store-employees})
\begin{itemize}
|
|
From: <sbi...@us...> - 2003-08-23 16:26:40
|
Update of /cvsroot/modeling/ProjectModeling
In directory sc8-pr-cvs1:/tmp/cvs-serv1354
Modified Files:
setup.py
Log Message:
Added OracleAdaptorLayer
Index: setup.py
===================================================================
RCS file: /cvsroot/modeling/ProjectModeling/setup.py,v
retrieving revision 1.31
retrieving revision 1.32
diff -C2 -d -r1.31 -r1.32
*** setup.py 10 Aug 2003 21:14:49 -0000 1.31
--- setup.py 23 Aug 2003 15:01:12 -0000 1.32
***************
*** 59,64 ****
'Modeling.DatabaseAdaptors',
'Modeling.DatabaseAdaptors.AbstractDBAPI2AdaptorLayer',
- 'Modeling.DatabaseAdaptors.PostgresqlAdaptorLayer',
'Modeling.DatabaseAdaptors.MySQLAdaptorLayer',
'Modeling.DatabaseAdaptors.SQLiteAdaptorLayer',
],
--- 59,65 ----
'Modeling.DatabaseAdaptors',
'Modeling.DatabaseAdaptors.AbstractDBAPI2AdaptorLayer',
'Modeling.DatabaseAdaptors.MySQLAdaptorLayer',
+ 'Modeling.DatabaseAdaptors.OracleAdaptorLayer',
+ 'Modeling.DatabaseAdaptors.PostgresqlAdaptorLayer',
'Modeling.DatabaseAdaptors.SQLiteAdaptorLayer',
],
|