pdf viewer dll for c# : How to add a jpeg to a pdf Library application component .net html asp.net mvc postgresql-9.4-A4143-part2772

CREATE FUNCTION
Another way to return multiple columns is to use a
TABLE
function:
CREATE FUNCTION dup(int) RETURNS TABLE(f1 int, f2 text)
AS $$ SELECT $1, CAST($1 AS text) || ’ is text’ $$
LANGUAGE SQL;
SELECT
*
FROM dup(42);
However, a
TABLE
function is different from the preceding examples, because it actually returns a set
of records, not just one record.
Writing
SECURITY DEFINER
Functions Safely
Because a
SECURITY DEFINER
function is executed with the privileges of the user that created it,
careis neededto ensure that the function cannotbemisused. For security, search_path should beset to
exclude any schemas writable by untrustedusers. This prevents malicious users from creatingobjects
that mask objects used by the function. Particularly important in this regard is the temporary-table
schema, which is searched first by default, andis normallywritable byanyone. A secure arrangement
can be had byforcing the temporary schema tobe searched last. Todo this, write
pg_temp
as the last
entry in
search_path
.This function illustrates safe usage:
CREATE FUNCTION check_password(uname TEXT, pass TEXT)
RETURNS BOOLEAN AS $$
DECLARE passed BOOLEAN;
BEGIN
SELECT
(pwd = $2) INTO passed
FROM
pwds
WHERE
username = $1;
RETURN passed;
END;
$$
LANGUAGE plpgsql
SECURITY DEFINER
-- Set a secure search_path: trusted schema(s), then ’pg_temp’.
SET search_path = admin, pg_temp;
Before PostgreSQL version 8.3, the
SET
option was not available, andso older functions may contain
rather complicated logic to save, set, and restore
search_path
.The
SET
option is far easier to use
for this purpose.
Another point to keep in mind is that by default, execute privilege is granted to
PUBLIC
for newly
created functions (see GRANT for more information). Frequently you will wish to restrict use of a
securitydefiner functiontoonlysome users. Todothat, youmust revoke thedefault
PUBLIC
privileges
and then grant execute privilege selectively. To avoid having a window where the new function is
accessible to all, create it and set the privileges withina single transaction. For example:
BEGIN;
CREATE FUNCTION check_password(uname TEXT, pass TEXT) ... SECURITY DEFINER;
REVOKE ALL ON FUNCTION check_password(uname TEXT, pass TEXT) FROM PUBLIC;
GRANT EXECUTE ON FUNCTION check_password(uname TEXT, pass TEXT) TO admins;
COMMIT;
1358
How to add a jpeg to a pdf - 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
add a picture to a pdf; add photo pdf
How to add a jpeg to a pdf - 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
add image to pdf file; add picture to pdf file
CREATE FUNCTION
Compatibility
A
CREATE FUNCTION
commandis definedinSQL:1999andlater. The PostgreSQL versionis similar
but not fully compatible. The attributes are not portable, neither are the different available languages.
For compatibility with some other database systems,
argmode
can be written either before or after
argname
.But only the first way is standard-compliant.
For parameter defaults, the SQL standard specifies only the syntax with the
DEFAULT
key word. The
syntax with
=
is used in T-SQL and Firebird.
See Also
ALTER FUNCTION, DROP FUNCTION, GRANT, LOAD, REVOKE, createlang
1359
VB.NET PDF Convert to Jpeg SDK: Convert PDF to JPEG images in vb.
Convert PDF to JPEG Using VB.NET. Add necessary references: RasterEdge.Imaging.Basic. dll. RasterEdge.Imaging.Basic.Codec.dll. RasterEdge.Imaging.Drawing.dll.
add signature image to pdf acrobat; add picture to pdf in preview
C# PDF Convert to Jpeg SDK: Convert PDF to JPEG images in C#.net
Convert PDF to JPEG Using C#.NET. Add necessary references: RasterEdge.Imaging.Basic. dll. RasterEdge.Imaging.Basic.Codec.dll. RasterEdge.Imaging.Drawing.dll.
add signature image to pdf; how to add image to pdf acrobat
CREATE GROUP
Name
CREATE GROUP — define a new database role
Synopsis
CREATE GROUP
name
[ [ WITH ]
option
[ ... ] ]
where
option
can be:
SUPERUSER | NOSUPERUSER
| CREATEDB | NOCREATEDB
| CREATEROLE | NOCREATEROLE
| CREATEUSER | NOCREATEUSER
| INHERIT | NOINHERIT
| LOGIN | NOLOGIN
| [ ENCRYPTED | UNENCRYPTED ] PASSWORD ’
password
| VALID UNTIL ’
timestamp
| IN ROLE
role_name
[, ...]
| IN GROUP
role_name
[, ...]
| ROLE
role_name
[, ...]
| ADMIN
role_name
[, ...]
| USER
role_name
[, ...]
| SYSID
uid
Description
CREATE GROUP
is now an alias for CREATE ROLE.
Compatibility
There is no
CREATE GROUP
statement in the SQL standard.
See Also
CREATE ROLE
1360
VB.NET PDF Password Library: add, remove, edit PDF file password
VB: Add Password to PDF with Permission Settings Applied. This VB.NET example shows how to add PDF file password with access permission setting.
add photo to pdf reader; attach image to pdf form
C# PDF Password Library: add, remove, edit PDF file password in C#
C# Sample Code: Add Password to PDF with Permission Settings Applied in C#.NET. This example shows how to add PDF file password with access permission setting.
add png to pdf preview; add jpg to pdf
CREATE INDEX
Name
CREATE INDEX — define a new index
Synopsis
CREATE [ UNIQUE ] INDEX [ CONCURRENTLY ] [
name
] ON
table_name
[ USING
method
]
( {
column_name
| (
expression
) } [ COLLATE
collation
] [
opclass
] [ ASC | DESC ] [ NULLS { FIRST | LAST } ] [, ...] )
[ WITH (
storage_parameter
=
value
[, ... ] ) ]
[ TABLESPACE
tablespace_name
]
[ WHERE
predicate
]
Description
CREATE INDEX
constructs an index onthespecified column(s) of the specified relation, whichcan be
atable or a materialized view. Indexes are primarily used to enhance database performance (though
inappropriate use can result in slower performance).
The key field(s) for the index are specified as column names, or alternatively as expressions written
in parentheses. Multiple fields can be specified if the index method supports multicolumn indexes.
An index field can be an expression computed from the values of one or more columns of the table
row. This feature can be used to obtain fast access to data based on some transformation of the basic
data. For example, anindex computed on
upper(col)
would allow the clause
WHERE upper(col)
= ’JIM’
to use anindex.
PostgreSQL provides the index methods B-tree, hash, GiST, SP-GiST, andGIN. Users canalso define
their own index methods, but that is fairly complicated.
When the
WHERE
clause is present, a partial index is created. A partial index is an index that contains
entries for only a portion of a table, usually a portion that is more useful for indexing than the rest
of the table. For example, if you have a table that contains both billed and unbilled orders where the
unbilled orders take up a small fraction of the total table and yet that is an often used section, you
can improve performance by creating an index on just that portion. Another possible application is
to use
WHERE
with
UNIQUE
to enforce uniqueness over a subset of a table. See Section 11.8 for more
discussion.
The expression used in the
WHERE
clause can refer only to columns of the underlying table, but it can
use all columns, not just the ones being indexed. Presently, subqueries and aggregate expressions are
also forbidden in
WHERE
.The same restrictions apply to index fields that are expressions.
Allfunctions and operators usedinan index definition mustbe “immutable”, thatis, their results must
depend only on their arguments and never on any outside influence (such as the contents of another
table or the current time). This restriction ensures that the behavior of the index is well-defined. To
use a user-defined function in an index expression or
WHERE
clause, remember to mark the function
immutable when you create it.
1361
C# PDF Sticky Note Library: add, delete, update PDF note in C#.net
C#.NET PDF SDK - Add Sticky Note to PDF Page in C#.NET. Able to add notes to PDF using C# source code in Visual Studio .NET framework.
how to add image to pdf in preview; add an image to a pdf acrobat
C# Create PDF from images Library to convert Jpeg, png images to
Load 3 image files (BMP, JPEG and PNG Bitmap(Program.RootPath + "\\" 1.jpg")); images.Add(new Bitmap RootPath + "\\" 1.png")); / Build a PDF document with
how to add a photo to a pdf document; add photo to pdf preview
CREATE INDEX
Parameters
UNIQUE
Causes the system to check for duplicate values in the table when the index is created (if data
already exist) and each time data is added. Attempts to insert or update data which would result
in duplicate entries will generate an error.
CONCURRENTLY
When this option is used, PostgreSQL will build the index without taking any locks that prevent
concurrent inserts, updates, or deletes on the table; whereas a standard index build locks out
writes (but not reads) on the table until it’s done. There are several caveats to be aware of when
using this option — see Building Indexes Concurrently.
name
The name of the index to be created. Noschema name can be included here; the index is always
created in the same schema as its parent table. If the name is omitted, PostgreSQL chooses a
suitable name based on the parent table’s name and the indexed column name(s).
table_name
The name (possibly schema-qualified) of the table to be indexed.
method
The name of the index method to be used. Choices are
btree
,
hash
,
gist
,
spgist
and
gin
.
The default method is
btree
.
column_name
The name of a column of the table.
expression
Anexpressionbasedonone or morecolumns of the table. The expressionusuallymustbewritten
with surrounding parentheses, as shown in the syntax. However, the parentheses can be omitted
if the expression has the form of a function call.
collation
The name of the collation to use for the index. By default, the index uses the collation declared
for the column to be indexed or the result collation of the expression to be indexed. Indexes
with non-default collations can be useful for queries that involve expressions using non-default
collations.
opclass
The name of an operator class. See below for details.
ASC
Specifies ascending sort order (which is the default).
DESC
Specifies descending sort order.
NULLS FIRST
Specifies that nulls sort before non-nulls. This is the default when
DESC
is specified.
NULLS LAST
Specifies that nulls sort after non-nulls. This is the default when
DESC
is not specified.
1362
C# PDF File & Page Process Library SDK for C#.net, ASP.NET, MVC
C#: Convert PDF to HTML; C#: Convert PDF to Jpeg; C# File: Compress PDF; C# C# Read: PDF Image Extract; C# Write: Insert text into PDF; C# Write: Add Image to
add image in pdf using java; acrobat insert image in pdf
C# PDF Digital Signature Library: add, remove, update PDF digital
C#: Convert PDF to HTML; C#: Convert PDF to Jpeg; C# File: Compress PDF; C# C# Read: PDF Image Extract; C# Write: Insert text into PDF; C# Write: Add Image to
add jpeg signature to pdf; add image to pdf reader
CREATE INDEX
storage_parameter
The name of an index-method-specific storage parameter. See Index Storage Parameters for
details.
tablespace_name
The tablespace in which to create the index. If not specified, default_tablespace is consulted, or
temp_tablespaces for indexes on temporary tables.
predicate
The constraint expression for a partial index.
Index Storage Parameters
The optional
WITH
clause specifies storage parameters for the index. Each index method has its own
set of allowedstorage parameters. The B-tree, hash, GiST and SP-GiST indexmethods all accept this
parameter:
FILLFACTOR
The fillfactor for an index is a percentage that determines how full the index method will try
to pack index pages. For B-trees, leaf pages are filled to this percentage during initial index
build, and also when extending the index at the right (adding new largest key values). If pages
subsequently become completely full, they will be split, leading to gradual degradation in the
index’s efficiency. B-trees use a default fillfactor of 90, but any integer value from 10 to 100
can be selected. If the table is static then fillfactor 100 is best to minimize the index’s physical
size, but for heavily updated tables a smaller fillfactor is better to minimize the need for page
splits. The other indexmethods use fillfactor in different butroughly analogous ways;thedefault
fillfactor varies between methods.
GiST indexes additionally accept this parameter:
BUFFERING
Determines whether the buffering build technique described in Section 56.4.1 is used to build
the index. With
OFF
it is disabled, with
ON
it is enabled, and with
AUTO
it is initially disabled,
but turned on on-the-fly once the index size reaches effective_cache_size. The default is
AUTO
.
GIN indexes accept a different parameter:
FASTUPDATE
This setting controls usage of the fast update technique described in Section 58.4.1. It is a
Boolean parameter:
ON
enables fast update,
OFF
disables it. (Alternative spellings of
ON
and
OFF
are allowed as described in Section 18.1.) The default is
ON
.
Note: Turning
FASTUPDATE
off via
ALTER INDEX
prevents future insertions from going into
the list of pending index entries, but does not in itself flush previous entries. You might want
to
VACUUM
the table afterward to ensure the pending list is emptied.
1363
CREATE INDEX
Building Indexes Concurrently
Creating an index can interfere with regular operation of a database. Normally PostgreSQL locks the
table to be indexed against writes and performs the entire index build with a single scan of the table.
Other transactions can still read the table, but if they try to insert, update, or delete rows in the table
they will block until the index build is finished. This could have a severe effect if the system is a live
production database. Very large tables cantakemany hours tobe indexed, and evenfor smaller tables,
an index build can lock out writers for periods that are unacceptably long for a production system.
PostgreSQL supports building indexes without locking out writes. This method is invoked by spec-
ifying the
CONCURRENTLY
option of
CREATE INDEX
.When this option is used, PostgreSQL must
perform two scans of the table, and in addition it must wait for all existing transactions that could
potentially modify or use the index to terminate. Thus this method requires more total work than a
standardindex build and takes significantlylonger tocomplete. However, since itallows normaloper-
ations tocontinuewhile the index is built, this method is usefulfor addingnewindexes ina production
environment. Of course, the extra CPU and I/O load imposed by the index creation might slow other
operations.
In a concurrent index build, the index is actually entered into the system catalogs in one transaction,
thentwo table scans occur intwo more transactions. Before eachtable scan, the index build mustwait
for existing transactions that have modified the table to terminate. After the second scan, the index
build must wait for any transactions that have a snapshot (see Chapter 13) predating the second scan
to terminate. Then finally the index can be marked ready for use, and the
CREATE INDEX
command
terminates. Even then, however, the index may not be immediately usable for queries: in the worst
case, it cannot be used as long as transactions exist that predate the start of the index build.
If a problem arises while scanning the table, such as a deadlock or a uniqueness violation in a unique
index, the
CREATE INDEX
command will fail but leave behind an “invalid” index. This index will be
ignored for querying purposes because it might be incomplete; however it will still consume update
overhead. The psql
\d
command will report such an index as
INVALID
:
postgres=# \d tab
Table "public.tab"
Column |
Type
| Modifiers
--------+---------+-----------
col
| integer |
Indexes:
"idx" btree (col) INVALID
The recommendedrecoverymethodinsuchcases is todropthe index andtry againtoperform
CREATE
INDEX CONCURRENTLY
.(Another possibility is to rebuild the index with
REINDEX
.However, since
REINDEX
does not support concurrent builds, this option is unlikely to seem attractive.)
Another caveat whenbuildinga unique index concurrentlyis that the uniqueness constraint is already
being enforced against other transactions when the second table scan begins. This means that con-
straint violations could be reported in other queries prior to the index becoming available for use, or
even in cases where the index build eventually fails. Also, if a failure does occur in the second scan,
the “invalid” index continues to enforce its uniqueness constraint afterwards.
Concurrent builds of expression indexes and partial indexes are supported. Errors occurring in the
evaluation of these expressions could cause behavior similar to that described above for unique con-
straint violations.
Regular index builds permitother regular index builds on the same table to occur in parallel, butonly
one concurrent index build can occur on a table at a time. In both cases, no other types of schema
modification on the table are allowed meanwhile. Another difference is that a regular
CREATE INDEX
command canbe performed within a transaction block, but
CREATE INDEX CONCURRENTLY
cannot.
1364
CREATE INDEX
Notes
SeeChapter 11 for informationabout whenindexes can be used, whenthey are not used, andin which
particular situations they can be useful.
Caution
Hash index operations are not presently WAL-logged, so hash indexes might
need to be rebuilt with
REINDEX
after a database crash if there were unwritten
changes. Also, changes to hash indexes are not replicated over streaming or
file-based replication after the initial base backup, so they give wrong answers
to queries that subsequently use them. For these reasons, hash index use is
presently discouraged.
Currently, only the B-tree, GiST and GIN index methods support multicolumn indexes. Up to 32
fields can be specified by default. (This limit can be altered when building PostgreSQL.) Only B-tree
currently supports unique indexes.
An operator class can be specified for each column of an index. The operator class identifies the
operators to be used by the index for that column. For example, a B-tree index on four-byte integers
would use the
int4_ops
class; this operator class includes comparison functions for four-byte inte-
gers. In practice the default operator class for the column’s data type is usually sufficient. The main
point of having operator classes is that for some data types, there could be more than one meaningful
ordering. For example, we might want tosorta complex-number data type either by absolute value or
by real part. We could dothis by defining two operator classes for the data type and then selecting the
proper class when making an index. More information about operator classes is in Section 11.9 and
in Section 35.14.
For index methods thatsupport orderedscans (currently, onlyB-tree), the optionalclauses
ASC
,
DESC
,
NULLS FIRST
,and/or
NULLS LAST
can be specified to modify the sort ordering of the index. Since
an ordered index can be scanned either forward or backward, it is not normally useful to create a
single-column
DESC
index — that sort ordering is already available with a regular index. The value
of these options is that multicolumn indexes can be created that match the sort ordering requested by
amixed-ordering query, such as
SELECT ... ORDER BY x ASC, y DESC
.The
NULLS
options are
useful if you need to support “nulls sort low” behavior, rather than the default “nulls sort high”, in
queries that depend on indexes to avoid sorting steps.
For most index methods, the speed of creating an index is dependent on the setting of mainte-
nance_work_mem. Larger values will reduce the time needed for index creation, so long as you
don’t make it larger than the amount of memory really available, which would drive the machine
into swapping. For hash indexes, the value of effective_cache_size is also relevant to index creation
time: PostgreSQL will use one of two different hash index creation methods depending on whether
the estimated index size is more or less than
effective_cache_size
.For best results, make sure
thatthis parameter is also set tosomething reflective of available memory, and be careful that the sum
of
maintenance_work_mem
and
effective_cache_size
is less than the machine’s RAM less
whatever space is needed by other programs.
Use DROP INDEX to remove an index.
Priorreleases of PostgreSQL alsohadanR-tree indexmethod. Thismethod has beenremovedbecause
it had no significant advantages over the GiST method. If
USING rtree
is specified,
CREATE INDEX
will interpret it as
USING gist
,to simplify conversion of old databases to GiST.
1365
CREATE INDEX
Examples
To create a B-tree index on the column
title
in the table
films
:
CREATE UNIQUE INDEX title_idx ON films (title);
To create an index on the expression
lower(title)
,allowing efficient case-insensitive searches:
CREATE INDEX ON films ((lower(title)));
(In this example we have chosen to omit the index name, so the system will choose a name, typically
films_lower_idx
.)
To create an index with non-default collation:
CREATE INDEX title_idx_german ON films (title COLLATE "de_DE");
To create an index with non-default sort ordering of nulls:
CREATE INDEX title_idx_nulls_low ON films (title NULLS FIRST);
To create an index with non-default fill factor:
CREATE UNIQUE INDEX title_idx ON films (title) WITH (fillfactor = 70);
To create a GIN index with fast updates disabled:
CREATE INDEX gin_idx ON documents_table USING gin (locations) WITH (fastupdate = off);
To create an index on the column
code
in the table
films
and have the index reside inthe tablespace
indexspace
:
CREATE INDEX code_idx ON films (code) TABLESPACE indexspace;
To create a GiST index on a point attribute so that we can efficiently use box operators on the result
of the conversion function:
CREATE INDEX pointloc
ON points USING gist (box(location,location));
SELECT
*
FROM points
WHERE box(location,location) && ’(0,0),(1,1)’::box;
To create an index without locking out writes to the table:
CREATE INDEX CONCURRENTLY sales_quantity_index ON sales_table (quantity);
1366
CREATE INDEX
Compatibility
CREATE INDEX
is a PostgreSQL language extension. There are no provisions for indexes in the SQL
standard.
See Also
ALTER INDEX, DROP INDEX
1367
Documents you may be interested
Documents you may be interested