void db_prepare() { printf("Prepare ... "); fflush(stdout); PGresult* res = PQprepare(conn, STMT_ID_INSERT, Q_INSERT, 2, oidTypes); CHECK_RESULT(res); PQclear(res); res = PQprepare(conn, STMT_ID_SELECT, Q_SELECT, 1, oidTypes); CHECK_RESULT(res); PQclear(res); res = PQprepare(conn, STMT_ID_SELECT1, Q_SELECT1, 0, NULL); CHECK_RESULT(res); PQclear(res); res = PQprepare(conn, STMT_ID_UPDATE, Q_UPDATE, 2, oidTypes); CHECK_RESULT(res); PQclear(res); res = PQprepare(conn, STMT_ID_DELETE, Q_DELETE, 1, oidTypes); CHECK_RESULT(res); PQclear(res); printf("Done!\n"); }
void PgTblPlnrAMUserAccess::initStatements() { PGresult* res; res = PQprepare(dbs, "TblPlnrAMUserAccess_insertRec", "INSERT INTO TblPlnrAMUserAccess (refPlnrMUser, x1IxPlnrVCard, ixPlnrWUiaccess) VALUES ($1,$2,$3) RETURNING ref", 3, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblPlnrAMUserAccess_updateRec", "UPDATE TblPlnrAMUserAccess SET refPlnrMUser = $1, x1IxPlnrVCard = $2, ixPlnrWUiaccess = $3 WHERE ref = $4", 4, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblPlnrAMUserAccess_removeRecByRef", "DELETE FROM TblPlnrAMUserAccess WHERE ref = $1", 1, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblPlnrAMUserAccess_loadRecByRef", "SELECT ref, refPlnrMUser, x1IxPlnrVCard, ixPlnrWUiaccess FROM TblPlnrAMUserAccess WHERE ref = $1", 1, NULL); };
void PgTblPlnrAccRMUserUniversal::initStatements() { PGresult* res; res = PQprepare(dbs, "TblPlnrAccRMUserUniversal_insertRec", "INSERT INTO TblPlnrAccRMUserUniversal (refPlnrMUser, unvIxPlnrVMaintable, unvUref, ixPlnrVAccess) VALUES ($1,$2,$3,$4) RETURNING ref", 4, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblPlnrAccRMUserUniversal_updateRec", "UPDATE TblPlnrAccRMUserUniversal SET refPlnrMUser = $1, unvIxPlnrVMaintable = $2, unvUref = $3, ixPlnrVAccess = $4 WHERE ref = $5", 5, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblPlnrAccRMUserUniversal_removeRecByRef", "DELETE FROM TblPlnrAccRMUserUniversal WHERE ref = $1", 1, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblPlnrAccRMUserUniversal_loadRecByRef", "SELECT ref, refPlnrMUser, unvIxPlnrVMaintable, unvUref, ixPlnrVAccess FROM TblPlnrAccRMUserUniversal WHERE ref = $1", 1, NULL); res = PQprepare(dbs, "TblPlnrAccRMUserUniversal_loadRecByUsrMtbUnv", "SELECT ref, refPlnrMUser, unvIxPlnrVMaintable, unvUref, ixPlnrVAccess FROM TblPlnrAccRMUserUniversal WHERE refPlnrMUser = $1 AND unvIxPlnrVMaintable = $2 AND unvUref = $3", 3, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); };
void PgTblFmncSvcRMOrgMTool::initStatements() { PGresult* res; res = PQprepare(dbs, "TblFmncSvcRMOrgMTool_insertRec", "INSERT INTO TblFmncSvcRMOrgMTool (refFmncMOrg, refFmncMTool) VALUES ($1,$2) RETURNING ref", 2, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblFmncSvcRMOrgMTool_updateRec", "UPDATE TblFmncSvcRMOrgMTool SET refFmncMOrg = $1, refFmncMTool = $2 WHERE ref = $3", 3, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblFmncSvcRMOrgMTool_removeRecByRef", "DELETE FROM TblFmncSvcRMOrgMTool WHERE ref = $1", 1, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblFmncSvcRMOrgMTool_loadRecByRef", "SELECT ref, refFmncMOrg, refFmncMTool FROM TblFmncSvcRMOrgMTool WHERE ref = $1", 1, NULL); res = PQprepare(dbs, "TblFmncSvcRMOrgMTool_loadRefsByTol", "SELECT ref FROM TblFmncSvcRMOrgMTool WHERE refFmncMTool = $1", 1, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); };
void PgTblFmncRMFileMSample::initStatements() { PGresult* res; res = PQprepare(dbs, "TblFmncRMFileMSample_insertRec", "INSERT INTO TblFmncRMFileMSample (refFmncMFile, refFmncMSample) VALUES ($1,$2) RETURNING ref", 2, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblFmncRMFileMSample_updateRec", "UPDATE TblFmncRMFileMSample SET refFmncMFile = $1, refFmncMSample = $2 WHERE ref = $3", 3, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblFmncRMFileMSample_removeRecByRef", "DELETE FROM TblFmncRMFileMSample WHERE ref = $1", 1, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblFmncRMFileMSample_loadRecByRef", "SELECT ref, refFmncMFile, refFmncMSample FROM TblFmncRMFileMSample WHERE ref = $1", 1, NULL); res = PQprepare(dbs, "TblFmncRMFileMSample_loadRefsBySmp", "SELECT ref FROM TblFmncRMFileMSample WHERE refFmncMSample = $1", 1, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); };
void PgTblPlnrRMStackMStructure::initStatements() { PGresult* res; res = PQprepare(dbs, "TblPlnrRMStackMStructure_insertRec", "INSERT INTO TblPlnrRMStackMStructure (refPlnrMStack, refPlnrMStructure, fromSrefPlnrMLayer, toSrefPlnrMLayer) VALUES ($1,$2,$3,$4) RETURNING ref", 4, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblPlnrRMStackMStructure_updateRec", "UPDATE TblPlnrRMStackMStructure SET refPlnrMStack = $1, refPlnrMStructure = $2, fromSrefPlnrMLayer = $3, toSrefPlnrMLayer = $4 WHERE ref = $5", 5, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblPlnrRMStackMStructure_removeRecByRef", "DELETE FROM TblPlnrRMStackMStructure WHERE ref = $1", 1, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblPlnrRMStackMStructure_loadRecByRef", "SELECT ref, refPlnrMStack, refPlnrMStructure, fromSrefPlnrMLayer, toSrefPlnrMLayer FROM TblPlnrRMStackMStructure WHERE ref = $1", 1, NULL); res = PQprepare(dbs, "TblPlnrRMStackMStructure_loadRstByStk", "SELECT ref, refPlnrMStack, refPlnrMStructure, fromSrefPlnrMLayer, toSrefPlnrMLayer FROM TblPlnrRMStackMStructure WHERE refPlnrMStack = $1", 1, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); };
void PgTblFmncAMToolChar::initStatements() { PGresult* res; res = PQprepare(dbs, "TblFmncAMToolChar_insertRec", "INSERT INTO TblFmncAMToolChar (refFmncMTool, x1OsrefFmncKToolchar, Val, Comment) VALUES ($1,$2,$3,$4) RETURNING ref", 4, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblFmncAMToolChar_updateRec", "UPDATE TblFmncAMToolChar SET refFmncMTool = $1, x1OsrefFmncKToolchar = $2, Val = $3, Comment = $4 WHERE ref = $5", 5, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblFmncAMToolChar_removeRecByRef", "DELETE FROM TblFmncAMToolChar WHERE ref = $1", 1, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblFmncAMToolChar_loadRecByRef", "SELECT ref, refFmncMTool, x1OsrefFmncKToolchar, Val, Comment FROM TblFmncAMToolChar WHERE ref = $1", 1, NULL); res = PQprepare(dbs, "TblFmncAMToolChar_loadRefsByTol", "SELECT ref FROM TblFmncAMToolChar WHERE refFmncMTool = $1", 1, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); };
bool dbUpdate::Prepare() { csString statement; // count - 1 fields to update statement.Format("UPDATE %s SET ", table); unsigned int i; for (i=0;i<(count-1);i++) { if (i>0) statement.Append(","); statement.Append(command[i]); statement += (i+1); } statement.Append(" where "); statement.Append(idfield); // field count is the idfield statement.Append(" = $"); statement += (i+1); csString preparedName = ""; preparedName += *stmtNum; PGresult *res = PQprepare(conn, preparedName.GetData(), statement.GetData(), 0,0); prepared = (res && PQresultStatus(res) != PGRES_FATAL_ERROR); if(prepared) { stmt = preparedName; (*stmtNum)++; } return prepared; }
bool EpollPostgresql::queryPrepare(const char *stmtName, const char *query,const int &nParams,const bool &store)//return NULL if failed { if(conn==NULL) { std::cerr << "pg not connected" << std::endl; return false; } //std::cout << "Prepare the name: " << stmtName << ", query: " << query << ", database: " << this << std::endl; PGresult *resprep = PQprepare(conn,stmtName,query,nParams,/*,paramTypes*/NULL); const auto &ret=PQresultStatus(resprep); if (ret != PGRES_COMMAND_OK) { //if failed quit #ifdef DEBUG_MESSAGE_CLIENT_SQL std::cerr << simplifiedstrCoPG << ", "; #endif std::cerr << "Problem to prepare the query: " << query << ", return code: " << ret << ", error message: " << PQerrorMessage(conn) << std::endl; abort(); return false; } if(store) { PreparedStatementStore preparedStatementStore; preparedStatementStore.name=stmtName; preparedStatementStore.query=query; preparedStatementStore.nParams=nParams; preparedStatementUnitList.push_back(preparedStatementStore); } return true; }
/* * create_prepared_statement: * Returns 0 if prepared statement is created. * Returns 1 if prepared statement can't created. */ static int create_prepared_statement(DistDefInfo *dist_info) { static char sql[1024]; PGresult *result; #ifdef HAVE_PQPREPARE snprintf(sql, 1024, "SELECT %s($1::%s)", dist_info->dist_def_func, dist_info->type_list[dist_info->dist_key_col_id]); result = PQprepare(system_db_info->pgconn, dist_info->prepare_name, sql, 1, NULL); #else snprintf(sql, 1024, "PREPARE %s (%s) AS SELECT %s($1::%s)", dist_info->prepare_name, dist_info->type_list[dist_info->dist_key_col_id], dist_info->dist_def_func, dist_info->type_list[dist_info->dist_key_col_id]); result = PQexec(system_db_info->pgconn, sql); #endif /* HAVE_PQPREPARE */ if (!result || PQresultStatus(result) != PGRES_COMMAND_OK) { ereport(WARNING, (errmsg("error while creating prepared statement, PQprepare failed: \"%s\"", PQerrorMessage(system_db_info->pgconn)))); return 1; } dist_info->is_created_prepare = 1; return 0; }
CAMLprim value PQprepare_stub(value v_conn, value v_stm_name, value v_query) { CAMLparam1(v_conn); PGconn *conn = get_conn(v_conn); np_callback *np_cb = get_conn_cb(v_conn); PGresult *res; size_t stm_name_len = caml_string_length(v_stm_name) + 1; size_t query_len = caml_string_length(v_query) + 1; char *stm_name = caml_stat_alloc(stm_name_len); char *query = caml_stat_alloc(query_len); memcpy(stm_name, String_val(v_stm_name), stm_name_len); memcpy(query, String_val(v_query), query_len); caml_enter_blocking_section(); res = PQprepare(conn, stm_name, query, 0, NULL); free(stm_name); free(query); caml_leave_blocking_section(); CAMLreturn(alloc_result(res, np_cb)); #else CAMLprim value PQprepare_stub( value __unused v_conn, value __unused v_stm_name, value __unused v_query) { caml_failwith("Postgresql.prepare: not supported"); return Val_unit; #endif }
postgresql_statement::postgresql_statement(shared_ptr<postgresql_connection_impl> conn, const string &query) : conn(conn) { postgresql_result res(PQprepare(conn->get(), "", convert_query(query).c_str(), 0, NULL)); if (!res.command_ok()) throw database_error(PQresultErrorMessage(res.get())); }
static bool prepare_common(int lineno, struct connection *con, const char *name, const char *variable) { struct statement *stmt; struct prepared_statement *this; PGresult *query; /* allocate new statement */ this = (struct prepared_statement *) ecpg_alloc(sizeof(struct prepared_statement), lineno); if (!this) return false; stmt = (struct statement *) ecpg_alloc(sizeof(struct statement), lineno); if (!stmt) { ecpg_free(this); return false; } memset(stmt, 0, sizeof(struct statement)); /* create statement */ stmt->lineno = lineno; stmt->connection = con; stmt->command = ecpg_strdup(variable, lineno); stmt->inlist = stmt->outlist = NULL; /* if we have C variables in our statement replace them with '?' */ replace_variables(&(stmt->command), lineno); /* add prepared statement to our list */ this->name = ecpg_strdup(name, lineno); this->stmt = stmt; /* and finally really prepare the statement */ query = PQprepare(stmt->connection->connection, name, stmt->command, 0, NULL); if (!ecpg_check_PQresult(query, stmt->lineno, stmt->connection->connection, stmt->compat)) { ecpg_free(stmt->command); ecpg_free(this->name); ecpg_free(this); ecpg_free(stmt); return false; } ecpg_log("prepare_common on line %d: name %s; query: \"%s\"\n", stmt->lineno, name, stmt->command); PQclear(query); this->prepared = true; if (con->prep_stmts == NULL) this->next = NULL; else this->next = con->prep_stmts; con->prep_stmts = this; return true; }
void prepareQueries_p(preparation_t queries[],ssize_t num) { int i; for(i=0;i<num;++i) { fprintf(stderr,"Preparing query %s %p\n",queries[i].name,PQconn); PGresult* result = PQprepare(PQconn, queries[i].name, queries[i].query, 0, NULL); PQassert(result,result && PQresultStatus(result)==PGRES_COMMAND_OK); } }
void PgTblFmncMSample::initStatements() { PGresult* res; res = PQprepare(dbs, "TblFmncMSample_insertRec", "INSERT INTO TblFmncMSample (grp, own, supRefFmncMSample, supLvl, refFmncMArticle, sref, Material, refJState, ixVState, Comment) VALUES ($1,$2,$3,$4,$5,$6,$7,$8,$9,$10) RETURNING ref", 10, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblFmncMSample_updateRec", "UPDATE TblFmncMSample SET grp = $1, own = $2, supRefFmncMSample = $3, supLvl = $4, refFmncMArticle = $5, sref = $6, Material = $7, refJState = $8, ixVState = $9, Comment = $10 WHERE ref = $11", 11, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblFmncMSample_removeRecByRef", "DELETE FROM TblFmncMSample WHERE ref = $1", 1, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblFmncMSample_loadRecByRef", "SELECT ref, grp, own, supRefFmncMSample, supLvl, refFmncMArticle, sref, Material, refJState, ixVState, Comment FROM TblFmncMSample WHERE ref = $1", 1, NULL); res = PQprepare(dbs, "TblFmncMSample_confirmByRef", "SELECT ref FROM TblFmncMSample WHERE ref = $1", 1, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblFmncMSample_loadRefBySupSrf", "SELECT ref FROM TblFmncMSample WHERE supRefFmncMSample = $1 AND sref = $2", 2, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblFmncMSample_loadRefsBySup", "SELECT ref FROM TblFmncMSample WHERE supRefFmncMSample = $1 ORDER BY sref ASC", 1, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblFmncMSample_loadRstBySup", "SELECT ref, grp, own, supRefFmncMSample, supLvl, refFmncMArticle, sref, Material, refJState, ixVState, Comment FROM TblFmncMSample WHERE supRefFmncMSample = $1 ORDER BY sref ASC", 1, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblFmncMSample_loadSrfByRef", "SELECT sref FROM TblFmncMSample WHERE ref = $1", 1, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblFmncMSample_loadSupByRef", "SELECT supRefFmncMSample FROM TblFmncMSample WHERE ref = $1", 1, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); };
void sql_database::load_queries(const std::unordered_map<std::string, std::string> & queries) { auto & c = get_free_connection(); auto guard = make_guard(std::bind(&std::mutex::unlock, &c.lock)); for(auto && it : queries) { auto res = PQprepare(c.conn, it.first.c_str(), it.second.c_str(), 0, nullptr); auto res_guard = make_guard(std::bind(PQclear, res)); auto status = PQresultStatus(res); if (status == PGRES_FATAL_ERROR) { throw sql_error { "sql query failed due to "_s + PQresultErrorMessage(res) + ", query: " + it.first }; } } }
VALUE db_postgres_statement_initialize(VALUE self, VALUE adapter, VALUE sql) { PGresult *result; Statement *s = db_postgres_statement_handle(self); Adapter *a = db_postgres_adapter_handle_safe(adapter); snprintf(s->id, 128, "s%s", CSTRING(rb_uuid_string())); s->adapter = adapter; if (!a->native) sql = db_postgres_normalized_sql(sql); result = PQprepare(a->connection, s->id, CSTRING(sql), 0, 0); db_postgres_check_result(result); PQclear(result); return self; }
void PgTblPlnrMStructure::initStatements() { PGresult* res; res = PQprepare(dbs, "TblPlnrMStructure_insertRec", "INSERT INTO TblPlnrMStructure (hkIxVTbl, hkUref, sref, x0, x1, y0, y1) VALUES ($1,$2,$3,$4,$5,$6,$7) RETURNING ref", 7, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblPlnrMStructure_updateRec", "UPDATE TblPlnrMStructure SET hkIxVTbl = $1, hkUref = $2, sref = $3, x0 = $4, x1 = $5, y0 = $6, y1 = $7 WHERE ref = $8", 8, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblPlnrMStructure_removeRecByRef", "DELETE FROM TblPlnrMStructure WHERE ref = $1", 1, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblPlnrMStructure_loadRecByRef", "SELECT ref, hkIxVTbl, hkUref, sref, x0, x1, y0, y1 FROM TblPlnrMStructure WHERE ref = $1", 1, NULL); res = PQprepare(dbs, "TblPlnrMStructure_loadRefByHktHkuSrf", "SELECT ref FROM TblPlnrMStructure WHERE hkIxVTbl = $1 AND hkUref = $2 AND sref = $3", 3, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblPlnrMStructure_loadRefsByHktHku", "SELECT ref FROM TblPlnrMStructure WHERE hkIxVTbl = $1 AND hkUref = $2", 2, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblPlnrMStructure_loadRstByHktHku", "SELECT ref, hkIxVTbl, hkUref, sref, x0, x1, y0, y1 FROM TblPlnrMStructure WHERE hkIxVTbl = $1 AND hkUref = $2", 2, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblPlnrMStructure_loadSrfByRef", "SELECT sref FROM TblPlnrMStructure WHERE ref = $1", 1, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); };
PreparedStatement_T PostgresqlConnection_prepareStatement(T C, const char *sql, va_list ap) { char *name; int paramCount = 0; va_list ap_copy; assert(C); assert(sql); PQclear(C->res); va_copy(ap_copy, ap); StringBuffer_vset(C->sb, sql, ap_copy); va_end(ap_copy); paramCount = StringBuffer_prepare4postgres(C->sb); uint32_t t = ++statementid; // increment is atomic name = Str_cat("%d", t); C->res = PQprepare(C->db, name, StringBuffer_toString(C->sb), 0, NULL); C->lastError = C->res ? PQresultStatus(C->res) : PGRES_FATAL_ERROR; if (C->lastError == PGRES_EMPTY_QUERY || C->lastError == PGRES_COMMAND_OK || C->lastError == PGRES_TUPLES_OK) return PreparedStatement_new(PostgresqlPreparedStatement_new(C->db, C->maxRows, name, paramCount), (Pop_T)&postgresqlpops, paramCount); return NULL; }
void PgTblFmncMStep::initStatements() { PGresult* res; res = PQprepare(dbs, "TblFmncMStep_insertRec", "INSERT INTO TblFmncMStep (grp, own, refFmncMActivity, rlvIxVTbl, rlvUref, tplRefFmncMStep, ixWFilecfg, Title, start, refFmncMPerson) VALUES ($1,$2,$3,$4,$5,$6,$7,$8,$9,$10) RETURNING ref", 10, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblFmncMStep_updateRec", "UPDATE TblFmncMStep SET grp = $1, own = $2, refFmncMActivity = $3, rlvIxVTbl = $4, rlvUref = $5, tplRefFmncMStep = $6, ixWFilecfg = $7, Title = $8, start = $9, refFmncMPerson = $10 WHERE ref = $11", 11, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblFmncMStep_removeRecByRef", "DELETE FROM TblFmncMStep WHERE ref = $1", 1, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblFmncMStep_loadRecByRef", "SELECT ref, grp, own, refFmncMActivity, rlvIxVTbl, rlvUref, tplRefFmncMStep, ixWFilecfg, Title, start, refFmncMPerson FROM TblFmncMStep WHERE ref = $1", 1, NULL); res = PQprepare(dbs, "TblFmncMStep_loadRefsByAct", "SELECT ref FROM TblFmncMStep WHERE refFmncMActivity = $1", 1, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblFmncMStep_loadRefsByRltRlu", "SELECT ref FROM TblFmncMStep WHERE rlvIxVTbl = $1 AND rlvUref = $2", 2, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblFmncMStep_loadTitByRef", "SELECT Title FROM TblFmncMStep WHERE ref = $1", 1, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); };
void PgTblPlnrJMUserState::initStatements() { PGresult* res; res = PQprepare(dbs, "TblPlnrJMUserState_insertRec", "INSERT INTO TblPlnrJMUserState (refPlnrMUser, x1Startd, ixVState) VALUES ($1,$2,$3) RETURNING ref", 3, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblPlnrJMUserState_updateRec", "UPDATE TblPlnrJMUserState SET refPlnrMUser = $1, x1Startd = $2, ixVState = $3 WHERE ref = $4", 4, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblPlnrJMUserState_removeRecByRef", "DELETE FROM TblPlnrJMUserState WHERE ref = $1", 1, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblPlnrJMUserState_loadRecByRef", "SELECT ref, refPlnrMUser, x1Startd, ixVState FROM TblPlnrJMUserState WHERE ref = $1", 1, NULL); res = PQprepare(dbs, "TblPlnrJMUserState_loadRecByUsrSta", "SELECT ref, refPlnrMUser, x1Startd, ixVState FROM TblPlnrJMUserState WHERE refPlnrMUser = $1 AND x1Startd <= $2 ORDER BY x1Startd DESC OFFSET 0 LIMIT 1", 2, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblPlnrJMUserState_loadRefsByUsr", "SELECT ref FROM TblPlnrJMUserState WHERE refPlnrMUser = $1", 1, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblPlnrJMUserState_loadRstByUsr", "SELECT ref, refPlnrMUser, x1Startd, ixVState FROM TblPlnrJMUserState WHERE refPlnrMUser = $1 ORDER BY x1Startd ASC", 1, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); };
void PgTblFmncMUsergroup::initStatements() { PGresult* res; res = PQprepare(dbs, "TblFmncMUsergroup_insertRec", "INSERT INTO TblFmncMUsergroup (grp, own, sref, Comment) VALUES ($1,$2,$3,$4) RETURNING ref", 4, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblFmncMUsergroup_updateRec", "UPDATE TblFmncMUsergroup SET grp = $1, own = $2, sref = $3, Comment = $4 WHERE ref = $5", 5, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblFmncMUsergroup_removeRecByRef", "DELETE FROM TblFmncMUsergroup WHERE ref = $1", 1, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblFmncMUsergroup_loadRecByRef", "SELECT ref, grp, own, sref, Comment FROM TblFmncMUsergroup WHERE ref = $1", 1, NULL); res = PQprepare(dbs, "TblFmncMUsergroup_loadRecBySrf", "SELECT ref, grp, own, sref, Comment FROM TblFmncMUsergroup WHERE sref = $1", 1, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblFmncMUsergroup_loadRefBySrf", "SELECT ref FROM TblFmncMUsergroup WHERE sref = $1", 1, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblFmncMUsergroup_loadSrfByRef", "SELECT sref FROM TblFmncMUsergroup WHERE ref = $1", 1, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); };
static boolean prepareQuery(char *qName, char *query, int parameters, Oid *types) { PGresult *res = NULL; ASSERT(postgresIsInitialized()); PGconn *c = plugin->conn; res = PQprepare(c, qName, query, parameters, types); if (PQresultStatus(res) != PGRES_COMMAND_OK) CLOSE_RES_CONN_AND_FATAL(res, "prepare query %s failed: %s", qName, PQresultErrorMessage(res)); PQclear(res); DEBUG_LOG("prepared query: %s AS\n%s", qName, query); return TRUE; }
int pgpool_prepare(const char *name, const char *query, int num_params, const Oid *param_types) { assert(initialized); for (int i=0; i < poolsize; i++) { PGresult *res = PQprepare( pool[i], name, query, num_params, param_types); if (PQresultStatus(res) != PGRES_COMMAND_OK) { fprintf(stderr, "ERROR: prepare %s failed: %s", name, PQerrorMessage(pool[i])); PQclear(res); return -1; } PQclear(res); } return 0; }
void PgTblFmncHistRMUserUniversal::initStatements() { PGresult* res; res = PQprepare(dbs, "TblFmncHistRMUserUniversal_insertRec", "INSERT INTO TblFmncHistRMUserUniversal (refFmncMUser, unvIxFmncVMaintable, unvUref, ixFmncVCard, ixFmncVPreset, preIxFmncVMaintable, preUref, start) VALUES ($1,$2,$3,$4,$5,$6,$7,$8) RETURNING ref", 8, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblFmncHistRMUserUniversal_updateRec", "UPDATE TblFmncHistRMUserUniversal SET refFmncMUser = $1, unvIxFmncVMaintable = $2, unvUref = $3, ixFmncVCard = $4, ixFmncVPreset = $5, preIxFmncVMaintable = $6, preUref = $7, start = $8 WHERE ref = $9", 9, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblFmncHistRMUserUniversal_removeRecByRef", "DELETE FROM TblFmncHistRMUserUniversal WHERE ref = $1", 1, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblFmncHistRMUserUniversal_loadRecByRef", "SELECT ref, refFmncMUser, unvIxFmncVMaintable, unvUref, ixFmncVCard, ixFmncVPreset, preIxFmncVMaintable, preUref, start FROM TblFmncHistRMUserUniversal WHERE ref = $1", 1, NULL); res = PQprepare(dbs, "TblFmncHistRMUserUniversal_loadRstByUsrCrd", "SELECT ref, refFmncMUser, unvIxFmncVMaintable, unvUref, ixFmncVCard, ixFmncVPreset, preIxFmncVMaintable, preUref, start FROM TblFmncHistRMUserUniversal WHERE refFmncMUser = $1 AND ixFmncVCard = $2 ORDER BY start DESC", 2, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblFmncHistRMUserUniversal_loadUnuByRef", "SELECT unvUref FROM TblFmncHistRMUserUniversal WHERE ref = $1", 1, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); };
void PgTblPlnrRMFaceMVertex::initStatements() { PGresult* res; res = PQprepare(dbs, "TblPlnrRMFaceMVertex_insertRec", "INSERT INTO TblPlnrRMFaceMVertex (fceRefPlnrMFace, fceNum, refPlnrMVertex, rteIxVTbl, rteUref, ixVDir) VALUES ($1,$2,$3,$4,$5,$6) RETURNING ref", 6, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblPlnrRMFaceMVertex_updateRec", "UPDATE TblPlnrRMFaceMVertex SET fceRefPlnrMFace = $1, fceNum = $2, refPlnrMVertex = $3, rteIxVTbl = $4, rteUref = $5, ixVDir = $6 WHERE ref = $7", 7, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblPlnrRMFaceMVertex_removeRecByRef", "DELETE FROM TblPlnrRMFaceMVertex WHERE ref = $1", 1, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblPlnrRMFaceMVertex_loadRecByRef", "SELECT ref, fceRefPlnrMFace, fceNum, refPlnrMVertex, rteIxVTbl, rteUref, ixVDir FROM TblPlnrRMFaceMVertex WHERE ref = $1", 1, NULL); res = PQprepare(dbs, "TblPlnrRMFaceMVertex_loadRstByFce", "SELECT ref, fceRefPlnrMFace, fceNum, refPlnrMVertex, rteIxVTbl, rteUref, ixVDir FROM TblPlnrRMFaceMVertex WHERE fceRefPlnrMFace = $1 ORDER BY fceNum ASC", 1, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblPlnrRMFaceMVertex_loadRstByRttRtu", "SELECT ref, fceRefPlnrMFace, fceNum, refPlnrMVertex, rteIxVTbl, rteUref, ixVDir FROM TblPlnrRMFaceMVertex WHERE rteIxVTbl = $1 AND rteUref = $2", 2, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); };
bool dbInsert::Prepare() { csString statement; // count fields to update statement.Format("INSERT INTO %s (", table); for (unsigned int i=0;i<count;i++) { if (i>0) statement.Append(", "); statement.Append(command[i]); } statement.Append(") VALUES ("); for (unsigned int i=0;i<count;i++) { if (i>0) statement.Append(", "); statement.Append("$"); statement += (i+1); } statement.Append(")"); csString preparedName = ""; preparedName += *stmtNum; PGresult *res = PQprepare(conn, preparedName.GetData(), statement.GetData(), 0,0); prepared = (res && PQresultStatus(res) != PGRES_FATAL_ERROR); if(prepared) { stmt = preparedName; (*stmtNum)++; } return prepared; }
static awk_value_t * do_pg_prepare(int nargs, awk_value_t *result) { PGconn *conn; awk_value_t command; char *stmtName; PGresult *res; if (do_lint && (nargs > 2)) lintwarn(ext_id, _("pg_prepare: called with too many arguments")); if (!(conn = find_handle(conns, 0))) { set_ERRNO(_("pg_prepare called with unknown connection handle")); RET_NULSTR; } if (!get_argument(1, AWK_STRING, &command)) { set_ERRNO(_("pg_prepare 2nd argument should be a string")); RET_NULSTR; } res = PQprepare(conn, (stmtName = prep_name()), command.str_value.str, 0, NULL); if (!res) { /* I presume the connection is probably bad, since no result returned */ set_ERRNO(PQerrorMessage(conn)); RET_NULSTR; } if (PQresultStatus(res) != PGRES_COMMAND_OK) { set_ERRNO(PQresultErrorMessage(res)); PQclear(res); RET_NULSTR; } PQclear(res); return make_string_malloc(stmtName, strlen(stmtName), result); }
void PgTblFmncQUsgMNUser::initStatements() { PGresult* res; res = PQprepare(dbs, "TblFmncQUsgMNUser_insertRec", "INSERT INTO TblFmncQUsgMNUser (jref, jnum, mref, ref, ixFmncVUserlevel) VALUES ($1,$2,$3,$4,$5) RETURNING qref", 5, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblFmncQUsgMNUser_updateRec", "UPDATE TblFmncQUsgMNUser SET jref = $1, jnum = $2, mref = $3, ref = $4, ixFmncVUserlevel = $5 WHERE qref = $6", 6, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblFmncQUsgMNUser_removeRecByQref", "DELETE FROM TblFmncQUsgMNUser WHERE qref = $1", 1, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblFmncQUsgMNUser_removeRstByJref", "DELETE FROM TblFmncQUsgMNUser WHERE jref = $1", 1, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblFmncQUsgMNUser_loadRecByQref", "SELECT qref, jref, jnum, mref, ref, ixFmncVUserlevel FROM TblFmncQUsgMNUser WHERE qref = $1", 1, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblFmncQUsgMNUser_loadRstByJref", "SELECT qref, jref, jnum, mref, ref, ixFmncVUserlevel FROM TblFmncQUsgMNUser WHERE jref = $1 ORDER BY jnum ASC", 1, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); };
void PgTblPlnrQDtpAPar::initStatements() { PGresult* res; res = PQprepare(dbs, "TblPlnrQDtpAPar_insertRec", "INSERT INTO TblPlnrQDtpAPar (jref, jnum, ref, x2SrefKKey, refPlnrMFile, Val) VALUES ($1,$2,$3,$4,$5,$6) RETURNING qref", 6, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblPlnrQDtpAPar_updateRec", "UPDATE TblPlnrQDtpAPar SET jref = $1, jnum = $2, ref = $3, x2SrefKKey = $4, refPlnrMFile = $5, Val = $6 WHERE qref = $7", 7, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblPlnrQDtpAPar_removeRecByQref", "DELETE FROM TblPlnrQDtpAPar WHERE qref = $1", 1, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblPlnrQDtpAPar_removeRstByJref", "DELETE FROM TblPlnrQDtpAPar WHERE jref = $1", 1, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblPlnrQDtpAPar_loadRecByQref", "SELECT qref, jref, jnum, ref, x2SrefKKey, refPlnrMFile, Val FROM TblPlnrQDtpAPar WHERE qref = $1", 1, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); res = PQprepare(dbs, "TblPlnrQDtpAPar_loadRstByJref", "SELECT qref, jref, jnum, ref, x2SrefKKey, refPlnrMFile, Val FROM TblPlnrQDtpAPar WHERE jref = $1 ORDER BY jnum ASC", 1, NULL); if (PQresultStatus(res) != PGRES_COMMAND_OK) initStatementsErr(res); };