Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Postgres FD Implementation
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Abuhujair Javed
Postgres FD Implementation
Commits
09634eaf
Commit
09634eaf
authored
Nov 19, 2001
by
Bruce Momjian
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Indent jdbc case labels using pgjindent.
parent
6c8120d6
Changes
32
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
32 changed files
with
1236 additions
and
1211 deletions
+1236
-1211
src/interfaces/jdbc/example/ImageViewer.java
src/interfaces/jdbc/example/ImageViewer.java
+0
-1
src/interfaces/jdbc/example/Unicode.java
src/interfaces/jdbc/example/Unicode.java
+15
-15
src/interfaces/jdbc/example/basic.java
src/interfaces/jdbc/example/basic.java
+3
-1
src/interfaces/jdbc/example/blobtest.java
src/interfaces/jdbc/example/blobtest.java
+0
-4
src/interfaces/jdbc/example/corba/StockClient.java
src/interfaces/jdbc/example/corba/StockClient.java
+19
-19
src/interfaces/jdbc/example/datestyle.java
src/interfaces/jdbc/example/datestyle.java
+0
-2
src/interfaces/jdbc/example/metadata.java
src/interfaces/jdbc/example/metadata.java
+0
-1
src/interfaces/jdbc/example/psql.java
src/interfaces/jdbc/example/psql.java
+1
-2
src/interfaces/jdbc/example/threadsafe.java
src/interfaces/jdbc/example/threadsafe.java
+0
-2
src/interfaces/jdbc/org/postgresql/Connection.java
src/interfaces/jdbc/org/postgresql/Connection.java
+114
-115
src/interfaces/jdbc/org/postgresql/PG_Stream.java
src/interfaces/jdbc/org/postgresql/PG_Stream.java
+1
-2
src/interfaces/jdbc/org/postgresql/PostgresqlDataSource.java
src/interfaces/jdbc/org/postgresql/PostgresqlDataSource.java
+1
-19
src/interfaces/jdbc/org/postgresql/Statement.java
src/interfaces/jdbc/org/postgresql/Statement.java
+37
-37
src/interfaces/jdbc/org/postgresql/core/BytePoolDim1.java
src/interfaces/jdbc/org/postgresql/core/BytePoolDim1.java
+17
-18
src/interfaces/jdbc/org/postgresql/core/BytePoolDim2.java
src/interfaces/jdbc/org/postgresql/core/BytePoolDim2.java
+14
-14
src/interfaces/jdbc/org/postgresql/core/QueryExecutor.java
src/interfaces/jdbc/org/postgresql/core/QueryExecutor.java
+48
-49
src/interfaces/jdbc/org/postgresql/fastpath/Fastpath.java
src/interfaces/jdbc/org/postgresql/fastpath/Fastpath.java
+39
-40
src/interfaces/jdbc/org/postgresql/geometric/PGpath.java
src/interfaces/jdbc/org/postgresql/geometric/PGpath.java
+0
-1
src/interfaces/jdbc/org/postgresql/jdbc1/DatabaseMetaData.java
...nterfaces/jdbc/org/postgresql/jdbc1/DatabaseMetaData.java
+145
-125
src/interfaces/jdbc/org/postgresql/jdbc1/PreparedStatement.java
...terfaces/jdbc/org/postgresql/jdbc1/PreparedStatement.java
+46
-46
src/interfaces/jdbc/org/postgresql/jdbc1/ResultSet.java
src/interfaces/jdbc/org/postgresql/jdbc1/ResultSet.java
+70
-67
src/interfaces/jdbc/org/postgresql/jdbc1/ResultSetMetaData.java
...terfaces/jdbc/org/postgresql/jdbc1/ResultSetMetaData.java
+65
-65
src/interfaces/jdbc/org/postgresql/jdbc2/Array.java
src/interfaces/jdbc/org/postgresql/jdbc2/Array.java
+176
-176
src/interfaces/jdbc/org/postgresql/jdbc2/DatabaseMetaData.java
...nterfaces/jdbc/org/postgresql/jdbc2/DatabaseMetaData.java
+174
-153
src/interfaces/jdbc/org/postgresql/jdbc2/PreparedStatement.java
...terfaces/jdbc/org/postgresql/jdbc2/PreparedStatement.java
+46
-46
src/interfaces/jdbc/org/postgresql/jdbc2/ResultSet.java
src/interfaces/jdbc/org/postgresql/jdbc2/ResultSet.java
+99
-87
src/interfaces/jdbc/org/postgresql/jdbc2/ResultSetMetaData.java
...terfaces/jdbc/org/postgresql/jdbc2/ResultSetMetaData.java
+65
-65
src/interfaces/jdbc/org/postgresql/test/jdbc2/BlobTest.java
src/interfaces/jdbc/org/postgresql/test/jdbc2/BlobTest.java
+30
-30
src/interfaces/jdbc/org/postgresql/test/jdbc2/ResultSetTest.java
...erfaces/jdbc/org/postgresql/test/jdbc2/ResultSetTest.java
+7
-7
src/interfaces/jdbc/org/postgresql/util/PGtokenizer.java
src/interfaces/jdbc/org/postgresql/util/PGtokenizer.java
+1
-0
src/interfaces/jdbc/org/postgresql/xa/XADataSourceImpl.java
src/interfaces/jdbc/org/postgresql/xa/XADataSourceImpl.java
+2
-1
src/tools/pgindent/pgjindent
src/tools/pgindent/pgjindent
+1
-1
No files found.
src/interfaces/jdbc/example/ImageViewer.java
View file @
09634eaf
...
...
@@ -291,7 +291,6 @@ public class ImageViewer implements ItemListener
public
void
run
()
{
// Now the real import stuff
if
(
name
!=
null
&&
dir
!=
null
)
{
...
...
src/interfaces/jdbc/example/Unicode.java
View file @
09634eaf
src/interfaces/jdbc/example/basic.java
View file @
09634eaf
...
...
@@ -6,7 +6,7 @@ import java.text.*;
/*
*
* $Id: basic.java,v 1.
9 2001/11/19 22:43:13
momjian Exp $
* $Id: basic.java,v 1.
10 2001/11/19 23:16:44
momjian Exp $
*
* This example tests the basic components of the JDBC driver, and shows
* how even the simplest of queries can be implemented.
...
...
@@ -137,6 +137,7 @@ public class basic
// Now run the query again, showing a more efficient way of getting the
// result if you don't know what column number a value is in
System
.
out
.
println
(
"performing another query"
);
rs
=
st
.
executeQuery
(
"select * from basic where b>1"
);
if
(
rs
!=
null
)
...
...
@@ -163,6 +164,7 @@ public class basic
// Now test maxrows by setting it to 3 rows
st
.
setMaxRows
(
3
);
System
.
out
.
println
(
"performing a query limited to "
+
st
.
getMaxRows
());
rs
=
st
.
executeQuery
(
"select a, b from basic"
);
...
...
src/interfaces/jdbc/example/blobtest.java
View file @
09634eaf
...
...
@@ -61,7 +61,6 @@ public class blobtest
System
.
out
.
println
(
"Now closing the connection"
);
s
.
close
();
db
.
close
();
}
/*
...
...
@@ -171,7 +170,6 @@ public class blobtest
lobj
.
unlink
(
oid
);
}
//=======================================================================
// This tests the Blob interface of the JDBC 2.0 specification
public
void
jdbc2api
(
int
oid
)
throws
SQLException
,
IOException
{
...
...
@@ -218,8 +216,6 @@ public class blobtest
db
.
setAutoCommit
(
false
);
}
//=======================================================================
public
static
void
instructions
()
{
System
.
err
.
println
(
"java example.blobtest jdbc-url user password [debug]"
);
...
...
src/interfaces/jdbc/example/corba/StockClient.java
View file @
09634eaf
...
...
@@ -9,7 +9,7 @@ import org.omg.CosNaming.*;
*
* It has no GUI, just a text frontend to keep it simple.
*
* $Id: StockClient.java,v 1.
3 2001/11/19 22:43:13
momjian Exp $
* $Id: StockClient.java,v 1.
4 2001/11/19 23:16:45
momjian Exp $
*/
public
class
StockClient
{
...
...
src/interfaces/jdbc/example/datestyle.java
View file @
09634eaf
...
...
@@ -9,7 +9,6 @@ import java.text.*;
*
* To use this example, you need a database to be in existence. This example
* will create a table called datestyle.
*
*/
public
class
datestyle
...
...
@@ -105,7 +104,6 @@ public class datestyle
ps
.
setDate
(
1
,
standard
);
ps
.
executeUpdate
();
ps
.
close
();
}
/*
...
...
src/interfaces/jdbc/example/metadata.java
View file @
09634eaf
...
...
@@ -218,7 +218,6 @@ public class metadata
{
if
(
line
.
startsWith
(
"\\d"
))
{
if
(
line
.
startsWith
(
"\\d "
))
{
// Display details about a table
...
...
src/interfaces/jdbc/example/psql.java
View file @
09634eaf
...
...
@@ -50,7 +50,7 @@ public class psql
// Now the main loop.
int
tt
=
0
,
lineno
=
1
;
while
(
tt
!=
StreamTokenizer
.
TT_EOF
&&
!
done
)
{
// done added by CWJ to permit \q command
{
System
.
out
.
print
(
"["
+
lineno
+
"] "
);
System
.
out
.
flush
();
...
...
@@ -72,7 +72,6 @@ public class psql
System
.
out
.
println
(
"Now closing the connection"
);
st
.
close
();
db
.
close
();
}
/*
...
...
src/interfaces/jdbc/example/threadsafe.java
View file @
09634eaf
...
...
@@ -53,7 +53,6 @@ public class threadsafe
System
.
out
.
println
(
"Now closing the connection"
);
st
.
close
();
db
.
close
();
}
/*
...
...
@@ -108,7 +107,6 @@ public class threadsafe
System
.
out
.
println
(
"Waiting for threads to run"
);
while
(
thread1
.
isAlive
()
||
thread2
.
isAlive
()
||
thread3
.
isAlive
())
thread0
.
yield
();
}
finally
{
...
...
src/interfaces/jdbc/org/postgresql/Connection.java
View file @
09634eaf
...
...
@@ -11,7 +11,7 @@ import org.postgresql.util.*;
import
org.postgresql.core.*
;
/*
* $Id: Connection.java,v 1.3
6 2001/11/19 22:33:37
momjian Exp $
* $Id: Connection.java,v 1.3
7 2001/11/19 23:16:45
momjian Exp $
*
* This abstract class is used by org.postgresql.Driver to open either the JDBC1 or
* JDBC2 versions of the Connection class.
...
...
@@ -115,7 +115,7 @@ public abstract class Connection
this_url
=
url
;
PG_DATABASE
=
database
;
PG_USER
=
info
.
getProperty
(
"user"
);
PG_PASSWORD
=
info
.
getProperty
(
"password"
,
""
);
PG_PASSWORD
=
info
.
getProperty
(
"password"
,
""
);
PG_PORT
=
port
;
PG_HOST
=
host
;
PG_STATUS
=
CONNECTION_BAD
;
...
...
@@ -1166,6 +1166,5 @@ public abstract class Connection
}
return
pgType
;
}
}
src/interfaces/jdbc/org/postgresql/PG_Stream.java
View file @
09634eaf
...
...
@@ -10,7 +10,7 @@ import org.postgresql.core.*;
import
org.postgresql.util.*
;
/*
* $Id: PG_Stream.java,v 1.1
5 2001/11/19 22:33:37
momjian Exp $
* $Id: PG_Stream.java,v 1.1
6 2001/11/19 23:16:45
momjian Exp $
*
* This class is used by Connection & PGlobj for communicating with the
* backend.
...
...
@@ -371,5 +371,4 @@ public class PG_Stream
pg_input
.
close
();
connection
.
close
();
}
}
src/interfaces/jdbc/org/postgresql/PostgresqlDataSource.java
View file @
09634eaf
...
...
@@ -40,7 +40,7 @@
*
* Copyright 1999 (C) Exoffice Technologies Inc. All Rights Reserved.
*
* $Id: PostgresqlDataSource.java,v 1.
4 2001/11/19 22:33:37
momjian Exp $
* $Id: PostgresqlDataSource.java,v 1.
5 2001/11/19 23:16:45
momjian Exp $
*/
...
...
@@ -133,38 +133,32 @@ public class PostgresqlDataSource
*/
private
int
_loginTimeout
;
/*
* Holds the user's account name.
*/
private
String
_user
;
/*
* Holds the database password.
*/
private
String
_password
;
/*
* Holds the name of the particular database on the server.
*/
private
String
_databaseName
;
/*
* Description of this datasource.
*/
private
String
_description
=
"PostgreSQL DataSource"
;
/*
* Holds the database server name. If null, this is
* assumed to be the localhost.
*/
private
String
_serverName
;
/*
* Holds the port number where a server is listening.
* The default value will open a connection with an
...
...
@@ -172,7 +166,6 @@ public class PostgresqlDataSource
*/
private
int
_portNumber
=
DEFAULT_PORT
;
/*
* The default port number. Since we open the connection
* without specifying the port if it's the default one,
...
...
@@ -180,7 +173,6 @@ public class PostgresqlDataSource
*/
private
static
final
int
DEFAULT_PORT
=
0
;
/*
* Holds the log writer to which all messages should be
* printed. The default writer is obtained from the driver
...
...
@@ -189,7 +181,6 @@ public class PostgresqlDataSource
*/
private
transient
PrintWriter
_logWriter
;
/*
* Each datasource maintains it's own driver, in case of
* driver-specific setup (e.g. pools, log writer).
...
...
@@ -197,9 +188,6 @@ public class PostgresqlDataSource
// FIXME
// private transient postgresql.Driver _driver;
private
transient
org
.
postgresql
.
Driver
_driver
;
//---------
public
PostgresqlDataSource
()
{
...
...
@@ -233,12 +221,10 @@ public class PostgresqlDataSource
// FIXME
// _driver = new postgresql.Driver();
_driver
=
new
org
.
postgresql
.
Driver
();
//-----------
//FIXME
// _driver.setLogWriter( _logWriter );
// Method seems to be unavailable. Just commented it out.
//----------
}
catch
(
SQLException
except
)
{
...
...
@@ -282,7 +268,6 @@ public class PostgresqlDataSource
// if ( ! ( conn instanceof postgresql.jdbc2.Connection ) ) {
if
(
!
(
conn
instanceof
org
.
postgresql
.
jdbc2
.
Connection
)
)
{
//--------
if
(
_logWriter
!=
null
)
_logWriter
.
println
(
"DataSource: JDBC 1 connections not supported"
);
throw
new
PSQLException
(
"postgresql.ds.onlyjdbc2"
);
...
...
@@ -317,7 +302,6 @@ public class PostgresqlDataSource
// FIXME
// _driver.setLogWriter( writer );
// Method seems to be unavailable. Commented it out.
//----------
_logWriter
=
writer
;
}
}
...
...
@@ -617,7 +601,5 @@ public class PostgresqlDataSource
else
return
null
;
}
}
src/interfaces/jdbc/org/postgresql/Statement.java
View file @
09634eaf
src/interfaces/jdbc/org/postgresql/core/BytePoolDim1.java
View file @
09634eaf
...
...
@@ -6,7 +6,6 @@ package org.postgresql.core;
*/
public
class
BytePoolDim1
{
/*
* The maximum size of the array we manage.
*/
...
...
src/interfaces/jdbc/org/postgresql/core/BytePoolDim2.java
View file @
09634eaf
src/interfaces/jdbc/org/postgresql/core/QueryExecutor.java
View file @
09634eaf
...
...
@@ -13,7 +13,7 @@ import org.postgresql.util.PSQLException;
* <p>The lifetime of a QueryExecutor object is from sending the query
* until the response has been received from the backend.
*
* $Id: QueryExecutor.java,v 1.
4 2001/11/19 22:33:37
momjian Exp $
* $Id: QueryExecutor.java,v 1.
5 2001/11/19 23:16:45
momjian Exp $
*/
public
class
QueryExecutor
...
...
@@ -162,7 +162,6 @@ public class QueryExecutor
*/
private
void
receiveCommandStatus
()
throws
SQLException
{
status
=
pg_stream
.
ReceiveString
(
connection
.
getEncoding
());
try
...
...
src/interfaces/jdbc/org/postgresql/fastpath/Fastpath.java
View file @
09634eaf
...
...
@@ -61,7 +61,6 @@ public class Fastpath
// added Oct 7 1998 to give us thread safety
synchronized
(
stream
)
{
// send the function call
try
{
...
...
src/interfaces/jdbc/org/postgresql/geometric/PGpath.java
View file @
09634eaf
...
...
@@ -148,5 +148,4 @@ public class PGpath extends PGobject implements Serializable, Cloneable
{
open
=
true
;
}
}
src/interfaces/jdbc/org/postgresql/jdbc1/DatabaseMetaData.java
View file @
09634eaf
...
...
@@ -13,7 +13,7 @@ import org.postgresql.util.PSQLException;
/*
* This class provides information about the database as a whole.
*
* $Id: DatabaseMetaData.java,v 1.
39 2001/11/19 22:33:38
momjian Exp $
* $Id: DatabaseMetaData.java,v 1.
40 2001/11/19 23:16:45
momjian Exp $
*
* <p>Many of the methods here return lists of information in ResultSets. You
* can use the normal ResultSet methods such as getString and getInt to
...
...
@@ -2274,22 +2274,22 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData
private
java
.
sql
.
ResultSet
getImportedExportedKeys
(
String
catalog
,
String
schema
,
String
primaryTable
,
String
foreignTable
)
throws
SQLException
{
Field
f
[]
=
new
Field
[
14
];
f
[
0
]
=
new
Field
(
connection
,
"PKTABLE_CAT"
,
iVarcharOid
,
32
);
f
[
1
]
=
new
Field
(
connection
,
"PKTABLE_SCHEM"
,
iVarcharOid
,
32
);
f
[
2
]
=
new
Field
(
connection
,
"PKTABLE_NAME"
,
iVarcharOid
,
32
);
f
[
3
]
=
new
Field
(
connection
,
"PKCOLUMN_NAME"
,
iVarcharOid
,
32
);
f
[
4
]
=
new
Field
(
connection
,
"FKTABLE_CAT"
,
iVarcharOid
,
32
);
f
[
5
]
=
new
Field
(
connection
,
"FKTABLE_SCHEM"
,
iVarcharOid
,
32
);
f
[
6
]
=
new
Field
(
connection
,
"FKTABLE_NAME"
,
iVarcharOid
,
32
);
f
[
7
]
=
new
Field
(
connection
,
"FKCOLUMN_NAME"
,
iVarcharOid
,
32
);
f
[
8
]
=
new
Field
(
connection
,
"KEY_SEQ"
,
iInt2Oid
,
2
);
f
[
9
]
=
new
Field
(
connection
,
"UPDATE_RULE"
,
iInt2Oid
,
2
);
f
[
10
]
=
new
Field
(
connection
,
"DELETE_RULE"
,
iInt2Oid
,
2
);
f
[
11
]
=
new
Field
(
connection
,
"FK_NAME"
,
iVarcharOid
,
32
);
f
[
12
]
=
new
Field
(
connection
,
"PK_NAME"
,
iVarcharOid
,
32
);
f
[
13
]
=
new
Field
(
connection
,
"DEFERRABILITY"
,
iInt2Oid
,
2
);
Field
f
[]
=
new
Field
[
14
];
f
[
0
]
=
new
Field
(
connection
,
"PKTABLE_CAT"
,
iVarcharOid
,
32
);
f
[
1
]
=
new
Field
(
connection
,
"PKTABLE_SCHEM"
,
iVarcharOid
,
32
);
f
[
2
]
=
new
Field
(
connection
,
"PKTABLE_NAME"
,
iVarcharOid
,
32
);
f
[
3
]
=
new
Field
(
connection
,
"PKCOLUMN_NAME"
,
iVarcharOid
,
32
);
f
[
4
]
=
new
Field
(
connection
,
"FKTABLE_CAT"
,
iVarcharOid
,
32
);
f
[
5
]
=
new
Field
(
connection
,
"FKTABLE_SCHEM"
,
iVarcharOid
,
32
);
f
[
6
]
=
new
Field
(
connection
,
"FKTABLE_NAME"
,
iVarcharOid
,
32
);
f
[
7
]
=
new
Field
(
connection
,
"FKCOLUMN_NAME"
,
iVarcharOid
,
32
);
f
[
8
]
=
new
Field
(
connection
,
"KEY_SEQ"
,
iInt2Oid
,
2
);
f
[
9
]
=
new
Field
(
connection
,
"UPDATE_RULE"
,
iInt2Oid
,
2
);
f
[
10
]
=
new
Field
(
connection
,
"DELETE_RULE"
,
iInt2Oid
,
2
);
f
[
11
]
=
new
Field
(
connection
,
"FK_NAME"
,
iVarcharOid
,
32
);
f
[
12
]
=
new
Field
(
connection
,
"PK_NAME"
,
iVarcharOid
,
32
);
f
[
13
]
=
new
Field
(
connection
,
"DEFERRABILITY"
,
iInt2Oid
,
2
);
java
.
sql
.
ResultSet
rs
=
connection
.
ExecSQL
(
"SELECT c.relname,c2.relname,"
+
"t.tgconstrname,ic.relname,"
...
...
@@ -2299,87 +2299,107 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData
+
"pg_class ic,pg_proc p, pg_index i "
+
"WHERE t.tgrelid=c.oid AND t.tgconstrrelid=c2.oid "
+
"AND t.tgfoid=p.oid AND tgisconstraint "
+
((
primaryTable
!=
null
)
?
"AND c2.relname='"
+
primaryTable
+
"' "
:
""
)
+
((
foreignTable
!=
null
)
?
"AND c.relname='"
+
foreignTable
+
"' "
:
""
)
+
((
primaryTable
!=
null
)
?
"AND c2.relname='"
+
primaryTable
+
"' "
:
""
)
+
((
foreignTable
!=
null
)
?
"AND c.relname='"
+
foreignTable
+
"' "
:
""
)
+
"AND i.indrelid=c.oid "
+
"AND i.indexrelid=ic.oid AND i.indisprimary "
+
"ORDER BY c.relname,c2.relname"
);
Vector
tuples
=
new
Vector
();
short
seq
=
0
;
if
(
rs
.
next
())
{
short
seq
=
0
;
if
(
rs
.
next
())
{
boolean
hasMore
;
do
{
byte
tuple
[][]=
new
byte
[
14
][
0
];
do
{
byte
tuple
[][]
=
new
byte
[
14
][
0
];
for
(
int
k
=
0
;
k
<
14
;
k
++)
tuple
[
k
]
=
null
;
String
fKeyName
=
rs
.
getString
(
3
);
boolean
foundRule
=
false
;
do
{
String
proname
=
rs
.
getString
(
9
);
if
(
proname
!=
null
&&
proname
.
startsWith
(
"RI_FKey_"
))
{
int
col
=-
1
;
if
(
proname
.
endsWith
(
"_upd"
))
col
=
9
;
// UPDATE_RULE
else
if
(
proname
.
endsWith
(
"_del"
))
col
=
10
;
// DELETE_RULE
if
(
col
>-
1
)
{
String
rule
=
proname
.
substring
(
8
,
proname
.
length
()-
4
);
int
action
=
importedKeyNoAction
;
if
(
"cascade"
.
equals
(
rule
))
action
=
importedKeyCascade
;
else
if
(
"setnull"
.
equals
(
rule
))
action
=
importedKeySetNull
;
else
if
(
"setdefault"
.
equals
(
rule
))
action
=
importedKeySetDefault
;
tuple
[
col
]=
Integer
.
toString
(
action
).
getBytes
();
foundRule
=
true
;
}
}
}
while
((
hasMore
=
rs
.
next
())
&&
fKeyName
.
equals
(
rs
.
getString
(
3
)));
if
(
foundRule
)
{
tuple
[
2
]=
rs
.
getBytes
(
2
);
//PKTABLE_NAME
tuple
[
6
]=
rs
.
getBytes
(
1
);
//FKTABLE_NAME
String
fKeyName
=
rs
.
getString
(
3
);
boolean
foundRule
=
false
;
do
{
String
proname
=
rs
.
getString
(
9
);
if
(
proname
!=
null
&&
proname
.
startsWith
(
"RI_FKey_"
))
{
int
col
=
-
1
;
if
(
proname
.
endsWith
(
"_upd"
))
col
=
9
;
// UPDATE_RULE
else
if
(
proname
.
endsWith
(
"_del"
))
col
=
10
;
// DELETE_RULE
if
(
col
>
-
1
)
{
String
rule
=
proname
.
substring
(
8
,
proname
.
length
()
-
4
);
int
action
=
importedKeyNoAction
;
if
(
"cascade"
.
equals
(
rule
))
action
=
importedKeyCascade
;
else
if
(
"setnull"
.
equals
(
rule
))
action
=
importedKeySetNull
;
else
if
(
"setdefault"
.
equals
(
rule
))
action
=
importedKeySetDefault
;
tuple
[
col
]
=
Integer
.
toString
(
action
).
getBytes
();
foundRule
=
true
;
}
}
}
while
((
hasMore
=
rs
.
next
())
&&
fKeyName
.
equals
(
rs
.
getString
(
3
)));
if
(
foundRule
)
{
tuple
[
2
]
=
rs
.
getBytes
(
2
);
//PKTABLE_NAME
tuple
[
6
]
=
rs
.
getBytes
(
1
);
//FKTABLE_NAME
// Parse the tgargs data
StringBuffer
fkeyColumns
=
new
StringBuffer
();
StringBuffer
pkeyColumns
=
new
StringBuffer
();
int
numColumns
=(
rs
.
getInt
(
7
)
>>
1
)
-
2
;
String
s
=
rs
.
getString
(
8
);
int
pos
=
s
.
lastIndexOf
(
"\\000"
);
for
(
int
c
=
0
;
c
<
numColumns
;
c
++)
{
if
(
pos
>-
1
)
{
int
pos2
=
s
.
lastIndexOf
(
"\\000"
,
pos
-
1
);
if
(
pos2
>-
1
)
{
if
(
fkeyColumns
.
length
()>
0
)
fkeyColumns
.
insert
(
0
,
','
);
fkeyColumns
.
insert
(
0
,
s
.
substring
(
pos2
+
4
,
pos
));
//FKCOLUMN_NAME
pos
=
s
.
lastIndexOf
(
"\\000"
,
pos2
-
1
);
if
(
pos
>-
1
)
{
if
(
pkeyColumns
.
length
()>
0
)
pkeyColumns
.
insert
(
0
,
','
);
pkeyColumns
.
insert
(
0
,
s
.
substring
(
pos
+
4
,
pos2
));
//PKCOLUMN_NAME
StringBuffer
fkeyColumns
=
new
StringBuffer
();
StringBuffer
pkeyColumns
=
new
StringBuffer
();
int
numColumns
=
(
rs
.
getInt
(
7
)
>>
1
)
-
2
;
String
s
=
rs
.
getString
(
8
);
int
pos
=
s
.
lastIndexOf
(
"\\000"
);
for
(
int
c
=
0
;
c
<
numColumns
;
c
++)
{
if
(
pos
>
-
1
)
{
int
pos2
=
s
.
lastIndexOf
(
"\\000"
,
pos
-
1
);
if
(
pos2
>
-
1
)
{
if
(
fkeyColumns
.
length
()
>
0
)
fkeyColumns
.
insert
(
0
,
','
);
fkeyColumns
.
insert
(
0
,
s
.
substring
(
pos2
+
4
,
pos
));
//FKCOLUMN_NAME
pos
=
s
.
lastIndexOf
(
"\\000"
,
pos2
-
1
);
if
(
pos
>
-
1
)
{
if
(
pkeyColumns
.
length
()
>
0
)
pkeyColumns
.
insert
(
0
,
','
);
pkeyColumns
.
insert
(
0
,
s
.
substring
(
pos
+
4
,
pos2
));
//PKCOLUMN_NAME
}
}
}
}
tuple
[
7
]=
fkeyColumns
.
toString
().
getBytes
();
//FKCOLUMN_NAME
tuple
[
3
]=
pkeyColumns
.
toString
().
getBytes
();
//PKCOLUMN_NAME
tuple
[
7
]
=
fkeyColumns
.
toString
().
getBytes
();
//FKCOLUMN_NAME
tuple
[
3
]
=
pkeyColumns
.
toString
().
getBytes
();
//PKCOLUMN_NAME
tuple
[
8
]=
Integer
.
toString
(
seq
++).
getBytes
();
//KEY_SEQ
tuple
[
11
]=
fKeyName
.
getBytes
();
//FK_NAME
tuple
[
12
]=
rs
.
getBytes
(
4
);
//PK_NAME
tuple
[
8
]
=
Integer
.
toString
(
seq
++).
getBytes
();
//KEY_SEQ
tuple
[
11
]
=
fKeyName
.
getBytes
();
//FK_NAME
tuple
[
12
]
=
rs
.
getBytes
(
4
);
//PK_NAME
// DEFERRABILITY
int
deferrability
=
importedKeyNotDeferrable
;
boolean
deferrable
=
rs
.
getBoolean
(
5
);
boolean
initiallyDeferred
=
rs
.
getBoolean
(
6
);
if
(
deferrable
)
{
int
deferrability
=
importedKeyNotDeferrable
;
boolean
deferrable
=
rs
.
getBoolean
(
5
);
boolean
initiallyDeferred
=
rs
.
getBoolean
(
6
);
if
(
deferrable
)
{
if
(
initiallyDeferred
)
deferrability
=
importedKeyInitiallyDeferred
;
deferrability
=
importedKeyInitiallyDeferred
;
else
deferrability
=
importedKeyInitiallyImmediate
;
deferrability
=
importedKeyInitiallyImmediate
;
}
tuple
[
13
]=
Integer
.
toString
(
deferrability
).
getBytes
();
tuple
[
13
]
=
Integer
.
toString
(
deferrability
).
getBytes
();
tuples
.
addElement
(
tuple
);
}
}
while
(
hasMore
);
}
while
(
hasMore
);
}
return
new
ResultSet
(
connection
,
f
,
tuples
,
"OK"
,
1
);
...
...
src/interfaces/jdbc/org/postgresql/jdbc1/PreparedStatement.java
View file @
09634eaf
src/interfaces/jdbc/org/postgresql/jdbc1/ResultSet.java
View file @
09634eaf
...
...
@@ -447,9 +447,12 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu
return
null
;
// length == 10: SQL Date
// length > 10: SQL Timestamp, assumes PGDATESTYLE=ISO
try
{
return
java
.
sql
.
Date
.
valueOf
((
s
.
length
()
==
10
)
?
s
:
s
.
substring
(
0
,
10
));
}
catch
(
NumberFormatException
e
)
{
try
{
return
java
.
sql
.
Date
.
valueOf
((
s
.
length
()
==
10
)
?
s
:
s
.
substring
(
0
,
10
));
}
catch
(
NumberFormatException
e
)
{
throw
new
PSQLException
(
"postgresql.res.baddate"
,
s
);
}
}
...
...
src/interfaces/jdbc/org/postgresql/jdbc1/ResultSetMetaData.java
View file @
09634eaf
src/interfaces/jdbc/org/postgresql/jdbc2/Array.java
View file @
09634eaf
src/interfaces/jdbc/org/postgresql/jdbc2/DatabaseMetaData.java
View file @
09634eaf
This diff is collapsed.
Click to expand it.
src/interfaces/jdbc/org/postgresql/jdbc2/PreparedStatement.java
View file @
09634eaf
src/interfaces/jdbc/org/postgresql/jdbc2/ResultSet.java
View file @
09634eaf
...
...
@@ -1565,9 +1565,12 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu
return
null
;
// length == 10: SQL Date
// length > 10: SQL Timestamp, assumes PGDATESTYLE=ISO
try
{
return
java
.
sql
.
Date
.
valueOf
((
s
.
length
()
==
10
)
?
s
:
s
.
substring
(
0
,
10
));
}
catch
(
NumberFormatException
e
)
{
try
{
return
java
.
sql
.
Date
.
valueOf
((
s
.
length
()
==
10
)
?
s
:
s
.
substring
(
0
,
10
));
}
catch
(
NumberFormatException
e
)
{
throw
new
PSQLException
(
"postgresql.res.baddate"
,
s
);
}
}
...
...
@@ -1578,10 +1581,13 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu
return
null
;
// SQL NULL
// length == 8: SQL Time
// length > 8: SQL Timestamp
try
{
return
java
.
sql
.
Time
.
valueOf
((
s
.
length
()
==
8
)
?
s
:
s
.
substring
(
11
,
19
));
}
catch
(
NumberFormatException
e
)
{
throw
new
PSQLException
(
"postgresql.res.badtime"
,
s
);
try
{
return
java
.
sql
.
Time
.
valueOf
((
s
.
length
()
==
8
)
?
s
:
s
.
substring
(
11
,
19
));
}
catch
(
NumberFormatException
e
)
{
throw
new
PSQLException
(
"postgresql.res.badtime"
,
s
);
}
}
...
...
@@ -1639,21 +1645,27 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu
{
resultSet
.
sbuf
.
append
(
"GMT"
).
append
(
s
.
substring
(
s
.
length
()
-
3
)).
append
(
":00"
);
}
}
else
if
(
sub
==
':'
)
{
}
else
if
(
sub
==
':'
)
{
//we may have found timezone info of format +/-HH:MM, or there is no
//timezone info at all and this is the : preceding the seconds
char
sub2
=
resultSet
.
sbuf
.
charAt
(
resultSet
.
sbuf
.
length
()-
5
);
char
sub2
=
resultSet
.
sbuf
.
charAt
(
resultSet
.
sbuf
.
length
()
-
5
);
if
(
sub2
==
'+'
||
sub2
==
'-'
)
{
//we have found timezone info of format +/-HH:MM
resultSet
.
sbuf
.
setLength
(
resultSet
.
sbuf
.
length
()-
5
);
resultSet
.
sbuf
.
setLength
(
resultSet
.
sbuf
.
length
()
-
5
);
if
(
subsecond
)
{
resultSet
.
sbuf
.
append
(
'0'
).
append
(
"GMT"
).
append
(
s
.
substring
(
s
.
length
()-
5
));
}
else
{
resultSet
.
sbuf
.
append
(
"GMT"
).
append
(
s
.
substring
(
s
.
length
()-
5
));
resultSet
.
sbuf
.
append
(
'0'
).
append
(
"GMT"
).
append
(
s
.
substring
(
s
.
length
()
-
5
));
}
}
else
if
(
subsecond
)
{
else
{
resultSet
.
sbuf
.
append
(
"GMT"
).
append
(
s
.
substring
(
s
.
length
()
-
5
));
}
}
else
if
(
subsecond
)
{
resultSet
.
sbuf
.
append
(
'0'
);
}
}
...
...
src/interfaces/jdbc/org/postgresql/jdbc2/ResultSetMetaData.java
View file @
09634eaf
src/interfaces/jdbc/org/postgresql/test/jdbc2/BlobTest.java
View file @
09634eaf
...
...
@@ -8,7 +8,7 @@ import java.sql.*;
import
org.postgresql.largeobject.*
;
/*
* $Id: BlobTest.java,v 1.
4 2001/11/19 22:33:39
momjian Exp $
* $Id: BlobTest.java,v 1.
5 2001/11/19 23:16:46
momjian Exp $
*
* Some simple tests based on problems reported by users. Hopefully these will
* help prevent previous problems from re-occuring ;-)
...
...
src/interfaces/jdbc/org/postgresql/test/jdbc2/ResultSetTest.java
View file @
09634eaf
...
...
@@ -45,13 +45,13 @@ public class ResultSetTest extends TestCase
Statement
stmt
=
con
.
createStatement
();
ResultSet
rs
=
stmt
.
executeQuery
(
"SELECT * FROM testrs"
);
assertTrue
(
rs
.
absolute
(-
1
));
assertTrue
(
rs
.
absolute
(
-
1
));
assertEquals
(
6
,
rs
.
getRow
());
assertTrue
(
rs
.
absolute
(
1
));
assertEquals
(
1
,
rs
.
getRow
());
assertTrue
(!
rs
.
absolute
(-
10
));
assertTrue
(!
rs
.
absolute
(
-
10
));
assertEquals
(
0
,
rs
.
getRow
());
assertTrue
(
rs
.
next
());
assertEquals
(
1
,
rs
.
getRow
());
...
...
src/interfaces/jdbc/org/postgresql/util/PGtokenizer.java
View file @
09634eaf
...
...
@@ -77,6 +77,7 @@ public class PGtokenizer
// Don't forget the last token ;-)
if
(
s
<
string
.
length
())
tokens
.
addElement
(
string
.
substring
(
s
));
...
...
src/interfaces/jdbc/org/postgresql/xa/XADataSourceImpl.java
View file @
09634eaf
...
...
@@ -40,7 +40,7 @@
*
* Copyright 1999 (C) Exoffice Technologies Inc. All Rights Reserved.
*
* $Id: XADataSourceImpl.java,v 1.
3 2001/11/19 22:33:39
momjian Exp $
* $Id: XADataSourceImpl.java,v 1.
4 2001/11/19 23:16:46
momjian Exp $
*/
...
...
@@ -379,6 +379,7 @@ public abstract class XADataSourceImpl
// Look for all connections inside a transaction that
// should have timed out by now.
timeout
=
System
.
currentTimeMillis
();
enum
=
_txConnections
.
elements
();
while
(
enum
.
hasMoreElements
()
)
...
...
src/tools/pgindent/pgjindent
View file @
09634eaf
...
...
@@ -16,7 +16,7 @@ fi
for
FILE
do
astyle
--style
=
java
-b
-p
-j
<
"
$FILE
"
>
/tmp/
$$
2>/tmp/
$$
a
astyle
--style
=
java
-b
-p
-j
-S
<
"
$FILE
"
>
/tmp/
$$
2>/tmp/
$$
a
if
[
"
$?
"
-ne
0
-o
-s
/tmp/
$$
a
]
then
echo
"
$FILE
"
cat
/tmp/
$$
a
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment