* Darko Prenosil <Darko.Prenosil@finteh.hr>
* Shridhar Daithankar <shridhar_daithankar@persistent.co.in>
*
- * $PostgreSQL: pgsql/contrib/dblink/dblink.c,v 1.91 2010/02/26 02:00:32 momjian Exp $
+ * $PostgreSQL: pgsql/contrib/dblink/dblink.c,v 1.92 2010/06/03 09:38:33 itagaki Exp $
* Copyright (c) 2001-2010, PostgreSQL Global Development Group
* ALL RIGHTS RESERVED;
*
#include "nodes/nodes.h"
#include "nodes/pg_list.h"
#include "parser/parse_type.h"
+#include "parser/scansup.h"
#include "utils/acl.h"
#include "utils/array.h"
#include "utils/builtins.h"
getConnectionByName(const char *name)
{
remoteConnHashEnt *hentry;
- char key[NAMEDATALEN];
+ char *key;
if (!remoteConnHash)
remoteConnHash = createConnHash();
- MemSet(key, 0, NAMEDATALEN);
- snprintf(key, NAMEDATALEN - 1, "%s", name);
+ key = pstrdup(name);
+ truncate_identifier(key, strlen(key), true);
hentry = (remoteConnHashEnt *) hash_search(remoteConnHash,
key, HASH_FIND, NULL);
{
remoteConnHashEnt *hentry;
bool found;
- char key[NAMEDATALEN];
+ char *key;
if (!remoteConnHash)
remoteConnHash = createConnHash();
- MemSet(key, 0, NAMEDATALEN);
- snprintf(key, NAMEDATALEN - 1, "%s", name);
+ key = pstrdup(name);
+ truncate_identifier(key, strlen(key), true);
hentry = (remoteConnHashEnt *) hash_search(remoteConnHash, key,
HASH_ENTER, &found);
{
remoteConnHashEnt *hentry;
bool found;
- char key[NAMEDATALEN];
+ char *key;
if (!remoteConnHash)
remoteConnHash = createConnHash();
- MemSet(key, 0, NAMEDATALEN);
- snprintf(key, NAMEDATALEN - 1, "%s", name);
-
+ key = pstrdup(name);
+ truncate_identifier(key, strlen(key), true);
hentry = (remoteConnHashEnt *) hash_search(remoteConnHash,
key, HASH_REMOVE, &found);
StringInfo buf = makeStringInfo();
ForeignDataWrapper *fdw;
AclResult aclresult;
+ char *srvname;
/* first gather the server connstr options */
- if (strlen(servername) < NAMEDATALEN)
- foreign_server = GetForeignServerByName(servername, true);
+ srvname = pstrdup(servername);
+ truncate_identifier(srvname, strlen(srvname), true);
+ foreign_server = GetForeignServerByName(srvname, true);
if (foreign_server)
{