/* questionmarks is not needed but remains in there for the time being to not change the API */ bool ECPGprepare(int lineno, const char *connection_name, const bool questionmarks, const char *name, const char *variable) { struct connection *con; struct prepared_statement *this, *prev; const char *real_connection_name = NULL; (void) questionmarks; /* quiet the compiler */ real_connection_name = ecpg_get_con_name_by_declared_name(name); if (real_connection_name == NULL) { /* * If can't get the connection name by declared name then using connection name * coming from the parameter connection_name */ real_connection_name = connection_name; } con = ecpg_get_connection(real_connection_name); if (!ecpg_init(con, real_connection_name, lineno)) return false; /* check if we already have prepared this statement */ this = ecpg_find_prepared_statement(name, con, &prev); if (this && !deallocate_one(lineno, ECPG_COMPAT_PGSQL, con, prev, this)) return false; return prepare_common(lineno, con, name, variable); }
/* questionmarks is not needed but remains in there for the time being to not change the API */ bool ECPGprepare(int lineno, const char *connection_name, const bool questionmarks, const char *name, const char *variable) { struct connection *con; struct prepared_statement *this, *prev; (void) questionmarks; /* quiet the compiler */ con = ecpg_get_connection(connection_name); if (!ecpg_init(con, connection_name, lineno)) return false; /* check if we already have prepared this statement */ this = ecpg_find_prepared_statement(name, con, &prev); if (this && !deallocate_one(lineno, ECPG_COMPAT_PGSQL, con, prev, this)) return false; return prepare_common(lineno, con, name, variable); }