*** ecpg.sgml Wed Jul 29 08:57:13 1998
--- /home/postgres/pg-mm/ecpg.sgml Fri Sep 18 09:10:29 1998
***************
*** 45,59 ****
from variables in your C program. Many RDBMS packages
support this embedded language.
!
! There is an ANSI-standard describing how the embedded language should
! work. Most embedded SQL preprocessors I have seen and heard of make
! extensions so it is difficult to obtain portability between them
! anyway. I have not read the standard but I hope that my implementation
! does not deviate too much and that it would be possible to port programs
! with embedded SQL written for other RDBMS packages
! to Postgres and thus
! promoting the spirit of free software.
The Concept
--- 45,56 ----
from variables in your C program. Many RDBMS packages
support this embedded language.
! There is an ANSI-standard describing how the embedded language should
! work. ecpg was designed to meet this standard as much as possible. So it is
! possible to port programs with embedded SQL written for
! other RDBMS packages to
! Postgres and thus promoting the spirit of free
! software.
The Concept
***************
*** 432,456 ****
- Preprocessor output
-
-
- The variables should be static.
-
-
-
-
-
- Preprocessor cannot do syntax checking on your SQL statements
-
-
- Whatever you write is copied more or less exactly to the Postgres and
- you will not be able to locate your errors until run-time.
-
-
-
-
-
no restriction to strings only
--- 429,434 ----
***************
*** 485,535 ****
records
! Possibility to define records or structures in the declare section
! in a way that the record can be filled from one row in the database.
-
- This is a simpler way to handle an entire row at a time.
-
! array operations
! Oracle has array operations that enhances speed. When implementing it in
! ecpg it is done for compatibility reasons only. For them to
! improve speed would require a lot more insight in the Postgres internal
! mechanisms than I possess.
! indicator variables
! Oracle has indicator variables that tell if a value is null or if
! it is empty. This largely simplifies array operations and provides for a
! way to hack around some design flaws in the handling of VARCHAR2
! (like that an empty string isn't distinguishable from a
! null value). I am not sure if this is an Oracle extension or part
! of the ANSI standard.
! typedefs
! As well as complex types like records and arrays, typedefs would be
! a good thing to take care of.
-
conversion of scripts
--- 463,521 ----
records
! Records or structures have to be defined in the declare section.
! missing statements
! The following statements are not implemented thus far:
!
!
! exec sql type
!
!
! exec sql prepare
!
!
! exec sql allocate
!
!
! exec sql free
!
!
! exec sql whenever sqlwarning
!
!
! SQLSTATE
!
!
! message īno data foundī
! The error message for "no data" in an exec sql insert select from statement
! has to be 100.
! sqlwanr[6]
! sqlwarn[6] should be 'W' if the PRECISION or SCALE value specified in a SET
! DESCRIPTOR statement will be ignored.
conversion of scripts