From d3a8e107acb4f729016b6d649bc83a888359fb7d Mon Sep 17 00:00:00 2001
From: Matteo Beccati <mbeccati@php.net>
Date: Thu, 4 Aug 2016 09:28:58 +0200
Subject: [PATCH] Clean up FR #72633

---
 NEWS                                                       | 2 +-
 ext/pdo_pgsql/pgsql_driver.c                               | 7 ++++---
 ext/pdo_pgsql/php_pdo_pgsql_int.h                          | 2 --
 .../tests/{bug_last_insert_id.phpt => bug72633.phpt}       | 2 +-
 4 files changed, 6 insertions(+), 7 deletions(-)
 rename ext/pdo_pgsql/tests/{bug_last_insert_id.phpt => bug72633.phpt} (86%)

diff --git a/NEWS b/NEWS
index 51d59f4026..21427cc9e5 100644
--- a/NEWS
+++ b/NEWS
@@ -72,7 +72,7 @@ PHP                                                                        NEWS
 - PDO_pgsql:
   . Fixed bug #70313 (PDO statement fails to throw exception). (Matteo)
   . Implemented FR #72633 (Postgres PDO lastInsertId() should work without
-    specifying a sequence). (Pablo Santiago Sánchez)
+    specifying a sequence). (Pablo Santiago Sánchez, Matteo)
 
 - Reflection:
   . Fixed bug #72222 (ReflectionClass::export doesn't handle array constants).
diff --git a/ext/pdo_pgsql/pgsql_driver.c b/ext/pdo_pgsql/pgsql_driver.c
index 52a7768492..5b78bcc438 100644
--- a/ext/pdo_pgsql/pgsql_driver.c
+++ b/ext/pdo_pgsql/pgsql_driver.c
@@ -360,12 +360,13 @@ static char *pdo_pgsql_last_insert_id(pdo_dbh_t *dbh, const char *name, unsigned
 	char *id = NULL;
 	PGresult *res;
 	ExecStatusType status;
-	const char *q[1];
-	q[0] = name;
 
-	if (PHP_PDO_PGSQL_LASTVAL_PG_VERSION <= PQserverVersion(H->server) && name == NULL) {
+	if (name == NULL) {
 		res = PQexec(H->server, "SELECT LASTVAL()");
 	} else {
+		const char *q[1];
+		q[0] = name;
+
 		res = PQexecParams(H->server, "SELECT CURRVAL($1)", 1, NULL, q, NULL, NULL, 0);
 	}
 	status = PQresultStatus(res);
diff --git a/ext/pdo_pgsql/php_pdo_pgsql_int.h b/ext/pdo_pgsql/php_pdo_pgsql_int.h
index 2876b312b7..eb645c58c4 100644
--- a/ext/pdo_pgsql/php_pdo_pgsql_int.h
+++ b/ext/pdo_pgsql/php_pdo_pgsql_int.h
@@ -29,8 +29,6 @@
 
 #define PHP_PDO_PGSQL_CONNECTION_FAILURE_SQLSTATE "08006"
 
-#define PHP_PDO_PGSQL_LASTVAL_PG_VERSION 80100
-
 typedef struct {
 	const char *file;
 	int line;
diff --git a/ext/pdo_pgsql/tests/bug_last_insert_id.phpt b/ext/pdo_pgsql/tests/bug72633.phpt
similarity index 86%
rename from ext/pdo_pgsql/tests/bug_last_insert_id.phpt
rename to ext/pdo_pgsql/tests/bug72633.phpt
index 30dd0f039a..06bd25e626 100644
--- a/ext/pdo_pgsql/tests/bug_last_insert_id.phpt
+++ b/ext/pdo_pgsql/tests/bug72633.phpt
@@ -1,5 +1,5 @@
 --TEST--
-currval() vs lastval() - PDO PgSQL Bug #1134 [BUG] New record, PostgreSQL and the Primary key https://github.com/phalcon/cphalcon/issues/1134
+PDO PgSQL Bug #72633 (Postgres PDO lastInsertId() should work without specifying a sequence)
 --SKIPIF--
 <?php
 if (!extension_loaded('pdo') || !extension_loaded('pdo_pgsql')) die('skip not loaded');
-- 
2.40.0