return $return;
}
- function limit1($query, $where) {
+ function limit1($table, $query, $where) {
return limit($query, $where, 1);
}
return ($limit !== null ? " TOP (" . ($limit + $offset) . ")" : "") . " $query$where"; // seek later
}
- function limit1($query, $where) {
+ function limit1($table, $query, $where) {
return limit($query, $where, 1);
}
}
/** Formulate SQL modification query with limit 1
+ * @param string
* @param string everything after UPDATE or DELETE
* @param string
* @return string
*/
- function limit1($query, $where) {
+ function limit1($table, $query, $where) {
return limit($query, $where, 1);
}
));
}
- function limit1($query, $where) {
- return " $query$where";
+ function limit1($table, $query, $where) {
+ return " $query$where"; //! limit
}
function db_collation($db, $collations) {
return " $query$where" . ($limit !== null ? $separator . "LIMIT $limit" . ($offset ? " OFFSET $offset" : "") : "");
}
- function limit1($query, $where) {
- return " $query$where";
+ function limit1($table, $query, $where) {
+ return (preg_match('~^INTO~', $query) ? limit($query, $where, 1) : "$query WHERE ctid = (SELECT ctid FROM " . table($table) . "$where LIMIT 1)");
}
function db_collation($db, $collations) {
return " $query$where" . ($limit !== null ? $separator . "LIMIT $limit" . ($offset ? " OFFSET $offset" : "") : "");
}
- function limit1($query, $where) {
+ function limit1($table, $query, $where) {
global $connection;
- return ($connection->result("SELECT sqlite_compileoption_used('ENABLE_UPDATE_DELETE_LIMIT')") ? limit($query, $where, 1) : " $query$where");
+ return ($connection->result("SELECT sqlite_compileoption_used('ENABLE_UPDATE_DELETE_LIMIT')") ? limit($query, $where, 1) : " $query$where"); //! limit
}
function db_collation($db, $collations) {
*/
function delete($table, $queryWhere, $limit = 0) {
$query = "FROM " . table($table);
- return queries("DELETE" . ($limit ? limit1($query, $queryWhere) : " $query$queryWhere"));
+ return queries("DELETE" . ($limit ? limit1($table, $query, $queryWhere) : " $query$queryWhere"));
}
/** Update data in table
$values[] = "$key = $val";
}
$query = table($table) . " SET$separator" . implode(",$separator", $values);
- return queries("UPDATE" . ($limit ? limit1($query, $queryWhere) : " $query$queryWhere"));
+ return queries("UPDATE" . ($limit ? limit1($table, $query, $queryWhere) : " $query$queryWhere"));
}
/** Insert data into table
$result = ($_POST["delete"]
? $driver->delete($TABLE, $where2, 1)
: ($_POST["clone"]
- ? queries("INSERT" . limit1($query, $where2))
+ ? queries("INSERT" . limit1($TABLE, $query, $where2))
: $driver->update($TABLE, $set, $where2, 1)
)
);
MySQL: Add floor and ceil select functions
MySQL: Add FIND_IN_SET search operator
MariaDB: Support JSON since MariaDB 10.2
-PostgreSQL: Support functions
+PostgreSQL: Support routines
+PostgreSQL: Limit rows in data manipulation without unique key
PostgreSQL: Allow editing views with uppercase letters (bug #467)
PostgreSQL: Allow now() as default value (bug #525)
SimpleDB: Document that allow_url_fopen is required