head	1.12;
access;
symbols
	REL-09_01_0200:1.12
	REL-09_01_0100:1.12
	REL-09_00_0310:1.12
	REL-09_00_0300:1.12
	REL-09_00_0200:1.12
	REL-09_00_0101:1.12
	REL-09_00_0100:1.11
	REL-08_04_0200:1.11
	REL-08_04_0100:1.11
	REL-08_03_0400:1.10
	REL-08_03_0300:1.10
	REL-08_03_0200:1.9
	REL-08_03_0100:1.9
	REL-08_02_0500:1.9
	REL-08_02_0400:1.9
	REL-08_02_0300:1.9
	REL-08_02_0200:1.8
	REL-08_02_0100:1.8
	REL8_1_STABLE:1.8.0.2
	REL-08_01_0200:1.8
	REL-07_03_ENHANCED:1.4.0.2
	REL-08_01_0102:1.8
	REL-08_01_0101:1.8
	REL-08_01_0100:1.8
	REL-08_01_0006:1.8
	REL-08_01_0005:1.8
	REL-08_00_0103:1.5
	REL-08_01_0004:1.8
	REL-08_01_0003:1.6
	REL-08_00_0102:1.5
	REL-08_01_0002:1.6
	REL-08_01_0001:1.6
	PRE_LIBPQ:1.5.0.2
	REL-08_00_0101:1.5
	REL-08_00_0100:1.5
	REL-08_00_0005:1.5
	REL-08_00_0004:1.4
	REL-08_00_0002:1.4
	REL-08_00_0001:1.4
	REL-07_03_0209:1.4
	REL-07_03_0200:1.4
	REL-07_03_0100:1.4
	REL-07_02_0005:1.3
	REL-07_02_0004:1.3
	REL-07_02_0003:1.3
	REL7_2_STABLE:1.3.0.4
	REL7_2:1.3
	REL7_2_RC2:1.3
	REL7_2_RC1:1.3
	REL7_2_BETA5:1.3
	REL7_2_BETA4:1.3
	REL7_2_BETA3:1.3
	REL7_2_BETA2:1.3
	REL7_2_BETA1:1.3
	REL7_1_2:1.3
	REL7_1_STABLE:1.3.0.2
	REL7_1_BETA:1.2
	REL7_1_BETA3:1.2
	REL7_1_BETA2:1.2
	REL7_1:1.2
	REL7_0_PATCHES:1.2.0.6
	REL7_0:1.2
	REL6_5_PATCHES:1.2.0.4
	REL6_5:1.2
	REL6_4:1.2.0.2;
locks; strict;
comment	@# @;


1.12
date	2010.10.15.16.48.04;	author h-saito;	state Exp;
branches;
next	1.11;

1.11
date	2009.04.07.16.08.45;	author h-saito;	state Exp;
branches;
next	1.10;

1.10
date	2008.08.09.14.51.38;	author h-saito;	state Exp;
branches;
next	1.9;

1.9
date	2006.11.09.08.20.26;	author dpage;	state Exp;
branches;
next	1.8;

1.8
date	2005.08.30.10.28.32;	author dpage;	state Exp;
branches;
next	1.7;

1.7
date	2005.08.27.20.14.55;	author dpage;	state Exp;
branches;
next	1.6;

1.6
date	2005.07.13.14.23.35;	author dpage;	state Exp;
branches;
next	1.5;

1.5
date	2005.02.10.15.41.30;	author dpage;	state Exp;
branches;
next	1.4;

1.4
date	2003.01.27.10.34.56;	author dpage;	state Exp;
branches
	1.4.2.1;
next	1.3;

1.3
date	2001.04.17.07.30.53;	author inoue;	state Exp;
branches;
next	1.2;

1.2
date	98.10.06.05.58.32;	author thomas;	state Exp;
branches;
next	1.1;

1.1
date	98.06.03.20.33.43;	author byronn;	state Exp;
branches;
next	;

1.4.2.1
date	2006.01.06.21.39.47;	author dpage;	state dead;
branches;
next	;


desc
@@


1.12
log
@Re-release will be packed up with my mistake..
This is best release by Inoue-san great work.
Prep Version 09.00.0101.
@
text
@ 
/********************************************************************
 
  PSQLODBC.DLL - A library to talk to the PostgreSQL DBMS using ODBC.


  Copyright (C) 1998          Insight Distribution Systems
  Copyright (C) 1998 - 2010   The PostgreSQL Global Development Group

  Multibyte support was added by Sankyo Unyu Service, (C) 2001.

  The code contained in this library is based on code written by 
  Christian Czezatke and Dan McGuirk, (C) 1996.


  This library is free software; you can redistribute it and/or modify
  it under the terms of the GNU Library General Public License as 
  published by the Free Software Foundation; either version 2 of the 
  License, or (at your option) any later version.

  This library is distributed in the hope that it will be useful, but
  WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTIBILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  Library General Public License for more details.

  You should have received a copy of the GNU Library General Public
  License along with this library (see "license.txt"); if not, write to
  the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA
  02139, USA.


  How to contact the authors:

  email:   pgsql-odbc@@postgresql.org
  website: http://pgfoundry.org/projects/psqlodbc


***********************************************************************/

@


1.11
log
@Prep 08.04.0100.
@
text
@d8 1
a8 1
  Copyright (C) 1998 - 2009   The PostgreSQL Global Development Group
@


1.10
log
@commit test
@
text
@d8 1
a8 1
  Copyright (C) 1998 - 2008   The PostgreSQL Global Development Group
@


1.9
log
@Test commit
@
text
@d8 1
a8 1
  Copyright (C) 1998 - 2005   The PostgreSQL Global Development Group
@


1.8
log
@Test commit - ignore
@
text
@d3 1
a3 1

d34 1
a34 1
  email:   pgsql-odbc@@postgresql.org
@


1.7
log
@Further documentation updates
@
text
@d1 1
a1 1

@


1.6
log
@New version of the driver with libpq based comms layer, courtesy of Anoop Kumar of Pervasive PostgreSQL. Version number bumped, and extra strings modified in the resource file to make it obvious when the libpq version of the driver is being run.
@
text
@d2 1
a2 94
Readme for psqlodbc.dll                                                  04/04/2001
-----------------------------------------------------------------------------------
Precompiled binaries for Win32 are available from ftp://ftp.postgresql.org/pub/odbc


I.  Building the Driver from the source code

This section describes how to build the PostgreSQL ODBC Driver (psqlodbc.dll).
Microsoft Visual C++ version 4.0 or higher is required. Other compilers may work 
but have not been formally tested. The psqlodbc.dll may be built either in the 
VC++ IDE or from the command line:

IDE Method
----------

1.  Create a new project workspace with the type DLL.  For the name, type in the
    name "psqlodbc".

2.  The above step creates the directory "psqlodbc" under the 
    "\<Visual C++ top level directory>\projects" path to hold the source files.
    (example, \msdev\projects\psqlodbc).  Now, either unzip the source code release
    into this directory or just copy all the files into this directory.

3.  Insert all of the source files (*.c, *.h, *.rc, *.def) into the Visual project
    with the exception of md5.c using the "Insert files into project" command.  
    You may have to do 2 inserts -- the first to get the 'c' and header files, and 
    the second to get the def file. Don't forget the .def file since it is an 
    important part of the release. You can even insert ".txt" files into the 
    projects -- they will do nothing.
	
4.  Add the "wsock32.lib" library to the end of the list of libraries for linking
    using the Build settings menu.
	
5.  Select the type of build on the toolbar (i.e., Release or Debug).  This is
    one of the useful features of the visual c++ environment in that you can
    browse the entire project if you build the "Debug" release.  For release
    purposes however, select "Release" build.

6.  Build the dll by selecting Build from the build menu.

7.  When complete, the "psqlodbc.dll" file is under the "Release" subdirectory.
    (i.e., "\msdev\projects\psqlodbc\release\psqlodbc.dll")

Command Line Method
-------------------

1. From a command prompt, run the vcvars32.bat file that comes with Visual C++. This 
   will setup the environment for using the VC++ compiler.
   
2. CD to the directory containing the source code.

3. Use NMAKE to build the dll eg:

      a. Using Libpq Interface (Default):
            C:\psqlodbc\> nmake /f win32.mak CFG=Release ALL PG_INC="c:\postgresql\include"
	    or
            C:\psqlodbc\> nmake /f win32.mak CFG=Release ALL MODE=USE_LIBPQ PG_INC="c:\postgresql\include"

	    Possible configurations are Release and Debug.
            Possible build types are ALL or CLEAN.
            PG_INC must contain the include folder name of PostgreSQL installation.

      b. Using Socket:
            C:\psqlodbc\> nmake /f win32.mak CFG=Release ALL MODE=USE_SOCK

	    Possible configurations are Release and Debug.
            Possible build types are ALL or CLEAN.
      
      c. For cleaning up intermediate files:
	    C:\psqlodbc\> nmake /f win32.mak CFG=Release CLEAN MODE=USE_SOCK

II.  Using Large Objects for handling LongVarBinary (OLE Objects in Access)

Large objects are mapped to LONGVARBINARY in the driver to allow storing things like
OLE objects in Microsoft Access.  Multiple SQLPutData and SQLGetData calls are usually
used to send and retrieve these objects.  The driver creates a new large object and simply
inserts its 'identifier' into the respective table.  However, since Postgres uses an 'Oid'
to identify a Large Object, it is necessary to create a new Postgres type to be able
to discriminate between an ordinary Oid and a Large Object Oid.  Until this new type
becomes an official part of Postgres, it must be added into the desired database and
looked up for each connection.  The type used in the driver is simply called "lo" and
here is the command used to create it:

create type lo (internallength=4,externallength=10,input=int4in,output=int4out,
                default='',passedbyvalue);

Once this is done, simply use the new 'lo' type to define columns in that database.  Note
that this must be done for each database you want to use large objects in with the driver.
When the driver sees an 'lo' type, it will handle it as LONGVARBINARY.

Another important note is that this new type is lacking in functionality.  It will not
cleanup after itself on updates and deletes, thus leaving orphans around and using up
extra disk space.  And currently, Postgres does not support the vacuuming of large
objects.  Hopefully in the future, a real large object data type will be available.
d4 1
a4 2
But for now, it sure is fun to stick a Word document, Visio document, or avi of a dancing
baby into a database column, even if you will fill up your server's hard disk after a while!
d7 33
@


1.5
log
@Note the need for vcvars32.bat when compiling in Windows on the command line.
@
text
@d55 17
a71 4
      C:\psqlodbc\> nmake /f win32.mak CFG=Release ALL

      Possible configurations are Release and Debug.
      Possible build types are ALL or CLEAN.
@


1.4
log
@Note that windows users shouldn't include md5.c in their projects per suggestion from Andreas Pflug
@
text
@d48 4
a51 1
1.  From a command prompt, CD to the directory containing the source code.
d53 1
a53 1
2.  Use NMAKE to build the dll eg:
d55 1
a55 4
    C:\psqlodbc\> nmake /f win32.mak CFG=Release ALL

    Possible configurations are Release, Debug, MultiByteRelease or MultiByteDebug
    Possible build types are ALL or CLEAN
d57 2
@


1.4.2.1
log
@Remove obsolete file.
@
text
@@


1.3
log
@The renewal of README thanks to Dave Page.
@
text
@d26 5
a30 4
    using the "Insert files into project" command.  You may have to do 2 inserts --
    the first to get the 'c' and header files, and the second to get the def file.
    Don't forget the .def file since it is an important part of the release.
    You can even insert ".txt" files into the projects -- they will do nothing.
@


1.2
log
@Update source code to Byron's v6.30.0250 sources plus minor cleanup
 to get rid of unused variables.
Get clean compile on Linux (Thomas and Gerald).
Implement autoconf/configure for standalone builds and use the existing
 autoconf/configure system when in the Postgres source tree.
Code tests and functions with ApplixWare-4.4.1beta on a Linux box.
Changes should be backward compatible with WIN32 but still needs testing.
@
text
@d2 3
a4 3
Readme for psqlodbc.dll                         4/15/98
-------------------------------------------------------------------------------
Latest binary and source updates available at http://www.insightdist.com/psqlodbc
d10 6
a15 5
Microsoft Visual C++ version 4.0 or higher is required.  There is no manually 
constructed Makefile.  The visual C++ environment automatically generates one
during the build process. Thus, the project binary files (".ncb", ".mdp", ".aps") 
nor the makefile are really distributed as part of the source code release
(although they are probably in there anyway).
d44 11
a83 23


III.  Using Row Versioning feature and creating the missing equals operator

In order to use row versioning, you must overload the int4eq function for use
with the xid type.  Also, you need to create an operator to compare xid to int4.
You must do this for each database you want to use this feature on.
Here are the details:

create function int4eq(xid,int4)
  returns bool
  as ''
  language 'internal';

create operator = (
        leftarg=xid,
        rightarg=int4,
        procedure=int4eq,
        commutator='=',
        negator='<>',
        restrict=eqsel,
        join=eqjoinsel
        );
@


1.1
log
@Update odbc driver to current version V.0244
@
text
@d73 23
@

