pdf viewer in asp net c# : How to add photo to pdf in preview software control cloud windows azure winforms class postgresql-9.4-A491-part3018

Chapter 33. ECPG - Embedded SQL in C
rupshift
Convert a string to upper case.
void rupshift(char
*
str);
The function receives a pointer to the string and transforms every lower case character to upper
case.
byleng
Return the number of characters in a string without counting trailing blanks.
int byleng(char
*
str, int len);
The function expects a fixed-length string as its first argument (
str
)and its length as its second
argument (
len
). It returns the number of significant characters, that is the length of the string
without trailing blanks.
ldchar
Copy a fixed-lengthstring into a null-terminatedstring.
void ldchar(char
*
src, int len, char
*
dest);
The function receives the fixed-length string to copy (
src
), its length (
len
)and a pointer to the
destination memory (
dest
). Note that you need to reserve at least
len+1
bytes for the string
that
dest
points to. The functioncopies at most
len
bytes to the newlocation(less if the source
string has trailing blanks) and adds the null-terminator.
rgetmsg
int rgetmsg(int msgnum, char
*
s, int maxsize);
This function exists but is not implemented at the moment!
rtypalign
int rtypalign(int offset, int type);
This function exists but is not implemented at the moment!
rtypmsize
int rtypmsize(int type, int len);
This function exists but is not implemented at the moment!
rtypwidth
int rtypwidth(int sqltype, int sqllen);
This function exists but is not implemented at the moment!
rsetnull
Set a variable to NULL.
int rsetnull(int t, char
*
ptr);
Thefunctionreceives aninteger that indicatesthetype of thevariableanda pointer tothe variable
itself that is cast to a C char* pointer.
The following types exist:
CCHARTYPE
-For a variable of type
char
or
char
*
CSHORTTYPE
-For a variable of type
short int
CINTTYPE
-For a variable of type
int
CBOOLTYPE
-For a variable of type
boolean
CFLOATTYPE
-For a variable of type
float
838
How to add photo to pdf in preview - insert images into PDF in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Sample C# code to add image, picture, logo or digital photo into PDF document page using PDF page editor control
how to add image to pdf reader; acrobat insert image into pdf
How to add photo to pdf in preview - VB.NET PDF insert image library: insert images into PDF in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Guide VB.NET Programmers How to Add Images in PDF Document
how to add image to pdf; how to add an image to a pdf file in acrobat
Chapter 33. ECPG - Embedded SQL in C
CLONGTYPE
-For a variable of type
long
CDOUBLETYPE
-For a variable of type
double
CDECIMALTYPE
-For a variable of type
decimal
CDATETYPE
-For a variable of type
date
CDTIMETYPE
-For a variable of type
timestamp
Here is an example of a call to this function:
$char c[] = "abc
";
$short s = 17;
$int i = -74874;
rsetnull(CCHARTYPE, (char
*
) c);
rsetnull(CSHORTTYPE, (char
*
) &s);
rsetnull(CINTTYPE, (char
*
) &i);
risnull
Test if a variable is NULL.
int risnull(int t, char
*
ptr);
The function receives the type of the variable to test (
t
)as well a pointer to this variable (
ptr
).
Note that the latter needs to be cast to a char*. See the function
rsetnull
for a list of possible
variable types.
Here is an example of how to use this function:
$char c[] = "abc
";
$short s = 17;
$int i = -74874;
risnull(CCHARTYPE, (char
*
) c);
risnull(CSHORTTYPE, (char
*
) &s);
risnull(CINTTYPE, (char
*
) &i);
33.15.5. Additional Constants
Note that all constants here describe errors and all of them are defined to represent negative values.
In the descriptions of the different constants you can also find the value that the constants represent
in the current implementation. However you should not rely onthis number. You can however rely on
the fact all of them are defined to represent negative values.
ECPG_INFORMIX_NUM_OVERFLOW
Functions return this value if an overflow occurred in a calculation. Internally it is defined as
-1200 (the Informix definition).
ECPG_INFORMIX_NUM_UNDERFLOW
Functions return this value if an underflow occurred in a calculation. Internally it is defined as
-1201 (the Informix definition).
839
C# PDF remove image library: remove, delete images from PDF in C#.
Support removing vector image, graphic picture, digital photo, scanned signature, logo, etc. Remove Image from PDF Page Using C#. Add necessary references:
add photo to pdf reader; adding an image to a pdf in preview
VB.NET PDF remove image library: remove, delete images from PDF in
Support removing vector image, graphic picture, digital photo, scanned signature, logo, etc. VB.NET: Remove Image from PDF Page. Add necessary references:
adding an image to a pdf file; add image to pdf acrobat reader
Chapter 33. ECPG - Embedded SQL in C
ECPG_INFORMIX_DIVIDE_ZERO
Functions return this value if an attempt to divide by zero is observed. Internally it is defined as
-1202 (the Informix definition).
ECPG_INFORMIX_BAD_YEAR
Functions return this value if a bad value for a year was found while parsing a date. Internally it
is defined as -1204 (the Informix definition).
ECPG_INFORMIX_BAD_MONTH
Functions return this value if a bad value for a month was found while parsing a date. Internally
it is defined as -1205 (the Informix definition).
ECPG_INFORMIX_BAD_DAY
Functions return this value if a bad value for a day was found while parsing a date. Internally it
is defined as -1206 (the Informix definition).
ECPG_INFORMIX_ENOSHORTDATE
Functions return this value if a parsing routine needs a short date representation but did not get
the date string in the right length. Internally it is defined as -1209 (the Informix definition).
ECPG_INFORMIX_DATE_CONVERT
Functions return this value if an error occurred during date formatting. Internally it is defined as
-1210 (the Informix definition).
ECPG_INFORMIX_OUT_OF_MEMORY
Functions return this value if memory was exhausted during their operation. Internally it is de-
fined as -1211 (the Informix definition).
ECPG_INFORMIX_ENOTDMY
Functions returnthis value if a parsingroutine was supposed to get a format mask(like
mmddyy
)
but not all fields were listed correctly. Internally it is defined as -1212 (the Informix definition).
ECPG_INFORMIX_BAD_NUMERIC
Functions return this value either if a parsing routine cannot parse the textual representation for
anumericvalue because itcontains errors or if a routine cannot complete a calculation involving
numeric variables because at leastone of the numeric variables is invalid. Internally it is defined
as -1213 (the Informix definition).
ECPG_INFORMIX_BAD_EXPONENT
Functions return this value if a parsing routine cannot parse an exponent. Internally it is defined
as -1216 (the Informix definition).
ECPG_INFORMIX_BAD_DATE
Functions return this value if a parsing routine cannot parse a date. Internally it is defined as
-1218 (the Informix definition).
ECPG_INFORMIX_EXTRA_CHARS
Functions return this value if a parsing routine is passed extra characters it cannot parse. Inter-
nally it is defined as -1264 (the Informix definition).
840
VB.NET PDF copy, paste image library: copy, paste, cut PDF images
to copy, paste and cut vector image, graphic picture, digital photo, scanned signature VB.NET DLLs: Copy, Paste, Cut Image in PDF Page. Add necessary references:
add jpg to pdf online; how to add image to pdf in acrobat
Chapter 33. ECPG - Embedded SQL in C
33.16. Internals
This sectionexplains howECPGworks internally. This informationcanoccasionally be usefultohelp
users understand howto use ECPG.
The first four lines written by
ecpg
to the output are fixed lines. Two are comments and two are
include lines necessary to interface to the library. Then the preprocessor reads through the file and
writes output. Normally it just echoes everything to the output.
When it sees an
EXEC SQL
statement, it intervenes and changes it. The command starts with
EXEC
SQL
and ends with
;
.Everything in between is treated as an SQL statement and parsed for variable
substitution.
Variable substitution occurs when a symbol starts with a colon (
:
). The variable with that name is
looked up among the variables that were previously declared within a
EXEC SQL DECLARE
section.
The most important function inthe library is
ECPGdo
,which takes care of executingmostcommands.
It takes a variable number of arguments. This can easily add up to 50 or so arguments, and we hope
this will not be a problem onany platform.
The arguments are:
Aline number
This is the line number of the original line; used in error messages only.
Astring
This is the SQL command that is to be issued. It is modified by the input variables, i.e., the
variables that where not known at compile time but are tobe entered inthe command. Where the
variables should go the string contains
?
.
Input variables
Every input variable causes ten arguments to be created. (See below.)
ECPGt_EOIT
An
enum
telling that there are no more input variables.
Output variables
Every output variable causes ten arguments to be created. (See below.) These variables are filled
by the function.
ECPGt_EORT
An
enum
telling that there are no more variables.
For every variable that is part of the SQL command, the function gets ten arguments:
1. The type as a special symbol.
2. A pointer to the value or a pointer to the pointer.
3. The size of the variable if it is a
char
or
varchar
.
4. The number of elements in the array (for array fetches).
5. The offset to the next element in the array (for array fetches).
6. The type of the indicator variable as a special symbol.
7. A pointer to the indicator variable.
841
Chapter 33. ECPG - Embedded SQL in C
8. 0
9. The number of elements in the indicator array(for array fetches).
10. The offset to the next element in the indicator array (for array fetches).
Note that not all SQL commands are treated in this way. For instance, an open cursor statement like:
EXEC SQL OPEN
cursor
;
is not copied to the output. Instead, the cursor’s
DECLARE
command is used at the position of the
OPEN
command because it indeed opens the cursor.
Here is a completeexample describingtheoutputof thepreprocessor of a file
foo.pgc
(details might
change with each particular version of the preprocessor):
EXEC SQL BEGIN DECLARE SECTION;
int index;
int result;
EXEC SQL END DECLARE SECTION;
...
EXEC SQL SELECT res INTO :result FROM mytable WHERE index = :index;
is translated into:
/
*
Processed by ecpg (2.6.0)
*
/
/
*
These two include files are added by the preprocessor
*
/
#include <ecpgtype.h>;
#include <ecpglib.h>;
/
*
exec sql begin declare section
*
/
#line 1 "foo.pgc"
int index;
int result;
/
*
exec sql end declare section
*
/
...
ECPGdo(__LINE__, NULL, "SELECT res FROM mytable WHERE index = ?
",
ECPGt_int,&(index),1L,1L,sizeof(int),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
ECPGt_int,&(result),1L,1L,sizeof(int),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
#line 147 "foo.pgc"
(The indentation here is added for readability and not something the preprocessor does.)
842
Chapter 34. The Information Schema
The information schema consists of a set of views that contain information about the objects defined
in the current database. The information schema is defined in the SQL standard and can therefore
be expected to be portable and remain stable — unlike the system catalogs, which are specific to
PostgreSQL and are modeled after implementation concerns. The information schema views do not,
however, contain information about PostgreSQL-specific features; to inquire about those you need to
query the system catalogs or other PostgreSQL-specific views.
Note: When querying the database for constraint information, it is possible for a
standard-compliant query that expects to return one row to return several. This is because
the SQL standard requires constraint names to be unique within a schema, but PostgreSQL
does not enforce this restriction. PostgreSQL automatically-generated constraint names avoid
duplicates in the same schema, but users can specify such duplicate names.
This problem
can
appear when
querying
information
schema
views
such
as
check_constraint_routine_usage
,
check_constraints
,
domain_constraints
,
and
referential_constraints
.Someother views have similar issues but containthe table name to
help distinguish duplicate rows, e.g.,
constraint_column_usage
,
constraint_table_usage
,
table_constraints
.
34.1. The Schema
The information schema itself is a schema named
information_schema
.This schema automati-
cally exists in all databases. The owner of this schema is the initial database user in the cluster, and
that user naturally has all the privileges on this schema, including the ability to drop it (but the space
savings achieved by that are minuscule).
By default, the information schema is not in the schema search path, so you needto access allobjects
in it through qualified names. Since the names of some of the objects in the information schema are
generic names that might occur in user applications, you should be careful if you want to put the
information schema in the path.
34.2. Data Types
The columns of the information schema views use special data types that are defined in the informa-
tion schema. These are defined as simple domains over ordinary built-in types. You should not use
these types for workoutside the information schema, but your applications must be prepared for them
if they select from the information schema.
These types are:
cardinal_number
Anonnegative integer.
character_data
Acharacter string (without specific maximum length).
843
Chapter 34. The Information Schema
sql_identifier
Acharacter string. This type is used for SQL identifiers, the type
character_data
is used for
any other kind of text data.
time_stamp
Adomain over the type
timestamp with time zone
yes_or_no
Acharacter string domain that contains either
YES
or
NO
. This is used to represent Boolean
(true/false) data in the information schema. (The information schema was invented before the
type
boolean
was addedto the SQL standard, so this convention is necessary to keep the infor-
mation schema backward compatible.)
Every column in the information schema has one of these five types.
34.3.
information_schema_catalog_name
information_schema_catalog_name
is a table that always contains one row and one column
containing the name of the current database (current catalog, in SQL terminology).
Table 34-1.
information_schema_catalog_name
Columns
Name
Data Type
Description
catalog_name
sql_identifier
Name of the database that
contains this information
schema
34.4.
administrable_role_authorizations
The view
administrable_role_authorizations
identifies all roles that the current user has the
admin option for.
Table 34-2.
administrable_role_authorizations
Columns
Name
Data Type
Description
grantee
sql_identifier
Name of the role to which this
role membership was granted
(can be the current user, or a
different role incase of nested
role memberships)
role_name
sql_identifier
Name of a role
is_grantable
yes_or_no
Always
YES
34.5.
applicable_roles
The view
applicable_roles
identifies all roles whose privileges the current user can use. This
844
Chapter 34. The Information Schema
means there is some chain of role grants from the current user to the role inquestion. The current user
itself is also an applicable role. The set of applicable roles is generally used for permission checking.
Table 34-3.
applicable_roles
Columns
Name
Data Type
Description
grantee
sql_identifier
Name of the role to which this
role membership was granted
(can be the current user, or a
different role incase of nested
role memberships)
role_name
sql_identifier
Name of a role
is_grantable
yes_or_no
YES
if the grantee has the
admin option on the role,
NO
if
not
34.6.
attributes
The view
attributes
contains information about the attributes of composite data types defined in
thedatabase. (Note thattheview does not give information about table columns, whicharesometimes
called attributes in PostgreSQL contexts.) Only those attributes are shown that the current user has
access to (by way of being the owner of or having some privilege on the type).
Table 34-4.
attributes
Columns
Name
Data Type
Description
udt_catalog
sql_identifier
Name of the database
containing the data type
(always the current database)
udt_schema
sql_identifier
Name of the schema containing
the data type
udt_name
sql_identifier
Name of the data type
attribute_name
sql_identifier
Name of the attribute
ordinal_position
cardinal_number
Ordinal position of the attribute
within the data type (count
starts at 1)
attribute_default
character_data
Default expression of the
attribute
is_nullable
yes_or_no
YES
if the attribute is possibly
nullable,
NO
if it is known not
nullable.
845
Chapter 34. The Information Schema
Name
Data Type
Description
data_type
character_data
Data type of the attribute, if it
is a built-in type, or
ARRAY
if it
is some array (in that case, see
the view
element_types
),
else
USER-DEFINED
(in that
case, the type is identified in
attribute_udt_name
and
associated columns).
character_maximum_length
cardinal_number
If
data_type
identifies a
character or bit string type, the
declared maximum length; null
for all other data types or if no
maximum length was declared.
character_octet_length
cardinal_number
If
data_type
identifies a
character type, the maximum
possible length in octets (bytes)
of a datum; null for all other
data types. The maximum octet
length depends on the declared
character maximum length (see
above) and the server encoding.
character_set_catalog
sql_identifier
Applies to a feature not
available in PostgreSQL
character_set_schema
sql_identifier
Applies to a feature not
available in PostgreSQL
character_set_name
sql_identifier
Applies to a feature not
available in PostgreSQL
collation_catalog
sql_identifier
Name of the database
containing the collation of the
attribute (always the current
database), null if default or the
data type of the attribute is not
collatable
collation_schema
sql_identifier
Name of the schema containing
the collationof the attribute,
null if default or the data type of
the attribute is not collatable
collation_name
sql_identifier
Name of the collation of the
attribute, null if default or the
data type of the attribute is not
collatable
846
Chapter 34. The Information Schema
Name
Data Type
Description
numeric_precision
cardinal_number
If
data_type
identifies a
numeric type, this column
contains the (declared or
implicit) precision of the type
for this attribute. The precision
indicates the number of
significant digits. It can be
expressed in decimal (base 10)
or binary (base 2) terms, as
specified in the column
numeric_precision_radix
.
For all other data types, this
column is null.
numeric_precision_radix
cardinal_number
If
data_type
identifies a
numeric type, this column
indicates in which base the
values in the columns
numeric_precision
and
numeric_scale
are
expressed. The value is either 2
or 10. For all other data types,
this column is null.
numeric_scale
cardinal_number
If
data_type
identifies an
exact numeric type, this column
contains the (declared or
implicit) scale of the type for
this attribute. The scale
indicates the number of
significant digits to the right of
the decimal point. It can be
expressed in decimal (base 10)
or binary (base 2) terms, as
specified in the column
numeric_precision_radix
.
For all other data types, this
column is null.
datetime_precision
cardinal_number
If
data_type
identifies a date,
time, timestamp, or interval
type, this column contains the
(declared or implicit) fractional
seconds precision of the type
for this attribute, that is, the
number of decimal digits
maintained following the
decimal point in the seconds
value. For all other data types,
this column is null.
847
Documents you may be interested
Documents you may be interested