mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-19 16:25:38 +00:00
Bug 1569217 - Use single quoted literals in IFNULL, NULLIF, COALESCE. r=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D39514 --HG-- extra : moz-landing-system : lando
This commit is contained in:
parent
68ff8b6963
commit
44ccf4da4e
@ -341,7 +341,7 @@ this.PersonalityProvider = class PersonalityProvider {
|
||||
WHERE last_visit_date >= ${beginTimeSecs * 1000000}
|
||||
AND last_visit_date < ${endTimeSecs * 1000000}`;
|
||||
columns.forEach(requiredColumn => {
|
||||
sql += ` AND IFNULL(${requiredColumn}, "") <> ""`;
|
||||
sql += ` AND IFNULL(${requiredColumn}, '') <> ''`;
|
||||
});
|
||||
sql += " LIMIT 30000";
|
||||
|
||||
|
@ -411,7 +411,7 @@ describe("Personality Provider", () => {
|
||||
const history = await instance.fetchHistory(["requiredColumn"], 1, 1);
|
||||
assert.equal(
|
||||
history.sql,
|
||||
`SELECT url, title, visit_count, frecency, last_visit_date, description\n FROM moz_places\n WHERE last_visit_date >= 1000000\n AND last_visit_date < 1000000 AND IFNULL(requiredColumn, "") <> "" LIMIT 30000`
|
||||
`SELECT url, title, visit_count, frecency, last_visit_date, description\n FROM moz_places\n WHERE last_visit_date >= 1000000\n AND last_visit_date < 1000000 AND IFNULL(requiredColumn, '') <> '' LIMIT 30000`
|
||||
);
|
||||
assert.equal(history.options.columns.length, 1);
|
||||
assert.equal(Object.keys(history.options.params).length, 0);
|
||||
|
@ -1865,7 +1865,7 @@ async function updateBookmark(
|
||||
if (info.hasOwnProperty("title")) {
|
||||
tuples.set("title", {
|
||||
value: info.title,
|
||||
fragment: `title = NULLIF(:title, "")`,
|
||||
fragment: `title = NULLIF(:title, '')`,
|
||||
});
|
||||
}
|
||||
if (info.hasOwnProperty("dateAdded")) {
|
||||
@ -2113,7 +2113,7 @@ function insertBookmark(item, parent) {
|
||||
dateAdded, lastModified, guid,
|
||||
syncChangeCounter, syncStatus)
|
||||
VALUES (CASE WHEN :url ISNULL THEN NULL ELSE (SELECT id FROM moz_places WHERE url_hash = hash(:url) AND url = :url) END,
|
||||
:type, :parent, :index, NULLIF(:title, ""), :date_added,
|
||||
:type, :parent, :index, NULLIF(:title, ''), :date_added,
|
||||
:last_modified, :guid, :syncChangeCounter, :syncStatus)
|
||||
`,
|
||||
{
|
||||
@ -2211,7 +2211,7 @@ function insertBookmarkTree(items, source, parent, urls, lastAddedForParent) {
|
||||
VALUES (CASE WHEN :url ISNULL THEN NULL ELSE (SELECT id FROM moz_places WHERE url_hash = hash(:url) AND url = :url) END, :type,
|
||||
(SELECT id FROM moz_bookmarks WHERE guid = :parentGuid),
|
||||
IFNULL(:index, (SELECT count(*) FROM moz_bookmarks WHERE parent = :rootId)),
|
||||
NULLIF(:title, ""), :date_added, :last_modified, :guid,
|
||||
NULLIF(:title, ''), :date_added, :last_modified, :guid,
|
||||
:syncChangeCounter, :syncStatus)`,
|
||||
items
|
||||
);
|
||||
@ -2336,9 +2336,9 @@ async function queryBookmarks(info) {
|
||||
// are required to be in the result by the converting function
|
||||
// hence setting them to NULL
|
||||
let rows = await db.executeCached(
|
||||
`SELECT b.guid, IFNULL(p.guid, "") AS parentGuid, b.position AS 'index',
|
||||
`SELECT b.guid, IFNULL(p.guid, '') AS parentGuid, b.position AS 'index',
|
||||
b.dateAdded, b.lastModified, b.type,
|
||||
IFNULL(b.title, "") AS title, h.url AS url, b.parent, p.parent,
|
||||
IFNULL(b.title, '') AS title, h.url AS url, b.parent, p.parent,
|
||||
NULL AS _id,
|
||||
NULL AS _childCount,
|
||||
NULL AS _grandParentId,
|
||||
@ -2374,8 +2374,8 @@ async function queryBookmarks(info) {
|
||||
async function fetchBookmark(info, options = {}) {
|
||||
let query = async function(db) {
|
||||
let rows = await db.executeCached(
|
||||
`SELECT b.guid, IFNULL(p.guid, "") AS parentGuid, b.position AS 'index',
|
||||
b.dateAdded, b.lastModified, b.type, IFNULL(b.title, "") AS title,
|
||||
`SELECT b.guid, IFNULL(p.guid, '') AS parentGuid, b.position AS 'index',
|
||||
b.dateAdded, b.lastModified, b.type, IFNULL(b.title, '') AS title,
|
||||
h.url AS url, b.id AS _id, b.parent AS _parentId,
|
||||
(SELECT count(*) FROM moz_bookmarks WHERE parent = b.id) AS _childCount,
|
||||
p.parent AS _grandParentId, b.syncStatus AS _syncStatus
|
||||
@ -2408,8 +2408,8 @@ async function fetchBookmarkByPosition(info, options = {}) {
|
||||
let query = async function(db) {
|
||||
let index = info.index == Bookmarks.DEFAULT_INDEX ? null : info.index;
|
||||
let rows = await db.executeCached(
|
||||
`SELECT b.guid, IFNULL(p.guid, "") AS parentGuid, b.position AS 'index',
|
||||
b.dateAdded, b.lastModified, b.type, IFNULL(b.title, "") AS title,
|
||||
`SELECT b.guid, IFNULL(p.guid, '') AS parentGuid, b.position AS 'index',
|
||||
b.dateAdded, b.lastModified, b.type, IFNULL(b.title, '') AS title,
|
||||
h.url AS url, b.id AS _id, b.parent AS _parentId,
|
||||
(SELECT count(*) FROM moz_bookmarks WHERE parent = b.id) AS _childCount,
|
||||
p.parent AS _grandParentId, b.syncStatus AS _syncStatus
|
||||
@ -2439,8 +2439,8 @@ async function fetchBookmarkByPosition(info, options = {}) {
|
||||
async function fetchBookmarksByTags(info, options = {}) {
|
||||
let query = async function(db) {
|
||||
let rows = await db.executeCached(
|
||||
`SELECT b.guid, IFNULL(p.guid, "") AS parentGuid, b.position AS 'index',
|
||||
b.dateAdded, b.lastModified, b.type, IFNULL(b.title, "") AS title,
|
||||
`SELECT b.guid, IFNULL(p.guid, '') AS parentGuid, b.position AS 'index',
|
||||
b.dateAdded, b.lastModified, b.type, IFNULL(b.title, '') AS title,
|
||||
h.url AS url, b.id AS _id, b.parent AS _parentId,
|
||||
NULL AS _childCount,
|
||||
p.parent AS _grandParentId, b.syncStatus AS _syncStatus
|
||||
@ -2481,8 +2481,8 @@ async function fetchBookmarksByTags(info, options = {}) {
|
||||
async function fetchBookmarksByGUIDPrefix(info, options = {}) {
|
||||
let query = async function(db) {
|
||||
let rows = await db.executeCached(
|
||||
`SELECT b.guid, IFNULL(p.guid, "") AS parentGuid, b.position AS 'index',
|
||||
b.dateAdded, b.lastModified, b.type, IFNULL(b.title, "") AS title,
|
||||
`SELECT b.guid, IFNULL(p.guid, '') AS parentGuid, b.position AS 'index',
|
||||
b.dateAdded, b.lastModified, b.type, IFNULL(b.title, '') AS title,
|
||||
h.url AS url, b.id AS _id, b.parent AS _parentId,
|
||||
NULL AS _childCount,
|
||||
p.parent AS _grandParentId, b.syncStatus AS _syncStatus
|
||||
@ -2513,8 +2513,8 @@ async function fetchBookmarksByURL(info, options = {}) {
|
||||
let tagsFolderId = await promiseTagsFolderId();
|
||||
let rows = await db.executeCached(
|
||||
`/* do not warn (bug no): not worth to add an index */
|
||||
SELECT b.guid, IFNULL(p.guid, "") AS parentGuid, b.position AS 'index',
|
||||
b.dateAdded, b.lastModified, b.type, IFNULL(b.title, "") AS title,
|
||||
SELECT b.guid, IFNULL(p.guid, '') AS parentGuid, b.position AS 'index',
|
||||
b.dateAdded, b.lastModified, b.type, IFNULL(b.title, '') AS title,
|
||||
h.url AS url, b.id AS _id, b.parent AS _parentId,
|
||||
NULL AS _childCount, /* Unused for now */
|
||||
p.parent AS _grandParentId, b.syncStatus AS _syncStatus
|
||||
@ -2547,9 +2547,9 @@ function fetchRecentBookmarks(numberOfItems) {
|
||||
async function(db) {
|
||||
let tagsFolderId = await promiseTagsFolderId();
|
||||
let rows = await db.executeCached(
|
||||
`SELECT b.guid, IFNULL(p.guid, "") AS parentGuid, b.position AS 'index',
|
||||
`SELECT b.guid, IFNULL(p.guid, '') AS parentGuid, b.position AS 'index',
|
||||
b.dateAdded, b.lastModified, b.type,
|
||||
IFNULL(b.title, "") AS title, h.url AS url, NULL AS _id,
|
||||
IFNULL(b.title, '') AS title, h.url AS url, NULL AS _id,
|
||||
NULL AS _parentId, NULL AS _childCount, NULL AS _grandParentId,
|
||||
NULL AS _syncStatus
|
||||
FROM moz_bookmarks b
|
||||
@ -2576,8 +2576,8 @@ function fetchRecentBookmarks(numberOfItems) {
|
||||
|
||||
async function fetchBookmarksByParent(db, info) {
|
||||
let rows = await db.executeCached(
|
||||
`SELECT b.guid, IFNULL(p.guid, "") AS parentGuid, b.position AS 'index',
|
||||
b.dateAdded, b.lastModified, b.type, IFNULL(b.title, "") AS title,
|
||||
`SELECT b.guid, IFNULL(p.guid, '') AS parentGuid, b.position AS 'index',
|
||||
b.dateAdded, b.lastModified, b.type, IFNULL(b.title, '') AS title,
|
||||
h.url AS url, b.id AS _id, b.parent AS _parentId,
|
||||
(SELECT count(*) FROM moz_bookmarks WHERE parent = b.id) AS _childCount,
|
||||
p.parent AS _grandParentId, b.syncStatus AS _syncStatus
|
||||
@ -3170,7 +3170,7 @@ var removeFoldersContents = async function(db, folderGuids, options) {
|
||||
)
|
||||
SELECT b.id AS _id, b.parent AS _parentId, b.position AS 'index',
|
||||
b.type, url, b.guid, p.guid AS parentGuid, b.dateAdded,
|
||||
b.lastModified, IFNULL(b.title, "") AS title,
|
||||
b.lastModified, IFNULL(b.title, '') AS title,
|
||||
p.parent AS _grandParentId, NULL AS _childCount,
|
||||
b.syncStatus AS _syncStatus
|
||||
FROM descendants
|
||||
|
@ -1607,7 +1607,7 @@ var update = async function(db, pageInfo) {
|
||||
SET ${updateFragments.map(v => `${v} = :${v}`).join(", ")}
|
||||
WHERE id = :id
|
||||
AND (${updateFragments
|
||||
.map(v => `IFNULL(${v}, "") <> IFNULL(:${v}, "")`)
|
||||
.map(v => `IFNULL(${v}, '') <> IFNULL(:${v}, '')`)
|
||||
.join(" OR ")})
|
||||
`,
|
||||
{ id, ...params }
|
||||
|
@ -359,7 +359,7 @@ const HistorySyncUtils = (PlacesSyncUtils.history = Object.freeze({
|
||||
let db = await PlacesUtils.promiseDBConnection();
|
||||
let rows = await db.executeCached(
|
||||
`
|
||||
SELECT url, IFNULL(title, "") AS title, frecency
|
||||
SELECT url, IFNULL(title, '') AS title, frecency
|
||||
FROM moz_places
|
||||
WHERE guid = :guid`,
|
||||
{ guid }
|
||||
|
@ -1788,7 +1788,7 @@ var PlacesUtils = {
|
||||
FROM moz_bookmarks b2
|
||||
JOIN descendants ON b2.parent = descendants.id AND b2.id <> :tags_folder)
|
||||
SELECT d.level, d.id, d.guid, d.parent, d.parentGuid, d.type,
|
||||
d.position AS [index], IFNULL(d.title, "") AS title, d.dateAdded,
|
||||
d.position AS [index], IFNULL(d.title, '') AS title, d.dateAdded,
|
||||
d.lastModified, h.url, (SELECT icon_url FROM moz_icons i
|
||||
JOIN moz_icons_to_pages ON icon_id = i.id
|
||||
JOIN moz_pages_w_icons pi ON page_id = pi.id
|
||||
|
@ -857,7 +857,7 @@ class SyncedBookmarksMirror {
|
||||
dateAdded, title, keyword, validity,
|
||||
urlId)
|
||||
VALUES(:guid, :parentGuid, :serverModified, :needsMerge, :kind,
|
||||
:dateAdded, NULLIF(:title, ""), :keyword, :validity,
|
||||
:dateAdded, NULLIF(:title, ''), :keyword, :validity,
|
||||
(SELECT id FROM urls
|
||||
WHERE hash = hash(:url) AND
|
||||
url = :url))`,
|
||||
@ -955,7 +955,7 @@ class SyncedBookmarksMirror {
|
||||
urlId,
|
||||
validity)
|
||||
VALUES(:guid, :parentGuid, :serverModified, :needsMerge, :kind,
|
||||
:dateAdded, NULLIF(:title, ""),
|
||||
:dateAdded, NULLIF(:title, ''),
|
||||
(SELECT id FROM urls
|
||||
WHERE hash = hash(:url) AND
|
||||
url = :url),
|
||||
@ -986,7 +986,7 @@ class SyncedBookmarksMirror {
|
||||
REPLACE INTO items(guid, parentGuid, serverModified, needsMerge, kind,
|
||||
dateAdded, title)
|
||||
VALUES(:guid, :parentGuid, :serverModified, :needsMerge, :kind,
|
||||
:dateAdded, NULLIF(:title, ""))`,
|
||||
:dateAdded, NULLIF(:title, ''))`,
|
||||
{
|
||||
guid,
|
||||
parentGuid,
|
||||
@ -1041,7 +1041,7 @@ class SyncedBookmarksMirror {
|
||||
REPLACE INTO items(guid, parentGuid, serverModified, needsMerge, kind,
|
||||
dateAdded, title, feedURL, siteURL, validity)
|
||||
VALUES(:guid, :parentGuid, :serverModified, :needsMerge, :kind,
|
||||
:dateAdded, NULLIF(:title, ""), :feedURL, :siteURL, :validity)`,
|
||||
:dateAdded, NULLIF(:title, ''), :feedURL, :siteURL, :validity)`,
|
||||
{
|
||||
guid,
|
||||
parentGuid,
|
||||
@ -1215,9 +1215,9 @@ class SyncedBookmarksMirror {
|
||||
|
||||
let itemRows = await this.db.execute(`
|
||||
SELECT id, syncChangeCounter, guid, isDeleted, type, isQuery,
|
||||
tagFolderName, keyword, url, IFNULL(title, "") AS title,
|
||||
tagFolderName, keyword, url, IFNULL(title, '') AS title,
|
||||
position, parentGuid,
|
||||
IFNULL(parentTitle, "") AS parentTitle, dateAdded
|
||||
IFNULL(parentTitle, '') AS parentTitle, dateAdded
|
||||
FROM itemsToUpload`);
|
||||
|
||||
await Async.yieldingForEach(
|
||||
@ -2324,7 +2324,7 @@ class BookmarkObserverRecorder {
|
||||
MirrorLog.trace("Recording observer notifications for new items");
|
||||
let newItemRows = await this.db.execute(`
|
||||
SELECT b.id, p.id AS parentId, b.position, b.type, h.url,
|
||||
IFNULL(b.title, "") AS title, b.dateAdded, b.guid,
|
||||
IFNULL(b.title, '') AS title, b.dateAdded, b.guid,
|
||||
p.guid AS parentGuid, n.isTagging
|
||||
FROM itemsAdded n
|
||||
JOIN moz_bookmarks b ON b.guid = n.guid
|
||||
@ -2384,8 +2384,8 @@ class BookmarkObserverRecorder {
|
||||
MirrorLog.trace("Recording observer notifications for changed items");
|
||||
let changedItemRows = await this.db.execute(`
|
||||
SELECT b.id, b.guid, b.lastModified, b.type,
|
||||
IFNULL(b.title, "") AS newTitle,
|
||||
IFNULL(c.oldTitle, "") AS oldTitle,
|
||||
IFNULL(b.title, '') AS newTitle,
|
||||
IFNULL(c.oldTitle, '') AS oldTitle,
|
||||
h.url AS newURL, i.url AS oldURL,
|
||||
p.id AS parentId, p.guid AS parentGuid
|
||||
FROM itemsChanged c
|
||||
|
@ -159,9 +159,9 @@ const SQL_AUTOFILL_WITH = `
|
||||
WITH
|
||||
frecency_stats(count, sum, squares) AS (
|
||||
SELECT
|
||||
CAST((SELECT IFNULL(value, 0.0) FROM moz_meta WHERE key = "origin_frecency_count") AS REAL),
|
||||
CAST((SELECT IFNULL(value, 0.0) FROM moz_meta WHERE key = "origin_frecency_sum") AS REAL),
|
||||
CAST((SELECT IFNULL(value, 0.0) FROM moz_meta WHERE key = "origin_frecency_sum_of_squares") AS REAL)
|
||||
CAST((SELECT IFNULL(value, 0.0) FROM moz_meta WHERE key = 'origin_frecency_count') AS REAL),
|
||||
CAST((SELECT IFNULL(value, 0.0) FROM moz_meta WHERE key = 'origin_frecency_sum') AS REAL),
|
||||
CAST((SELECT IFNULL(value, 0.0) FROM moz_meta WHERE key = 'origin_frecency_sum_of_squares') AS REAL)
|
||||
),
|
||||
autofill_frecency_threshold(value) AS (
|
||||
SELECT
|
||||
|
@ -184,7 +184,7 @@ impl<'s> dogear::Store<Error> for Store<'s> {
|
||||
let mut contents = HashMap::new();
|
||||
|
||||
let mut statement = self.db.prepare(
|
||||
r#"SELECT b.guid, b.type, IFNULL(b.title, "") AS title, h.url,
|
||||
r#"SELECT b.guid, b.type, IFNULL(b.title, '') AS title, h.url,
|
||||
b.position
|
||||
FROM moz_bookmarks b
|
||||
JOIN moz_bookmarks p ON p.id = b.parent
|
||||
@ -301,7 +301,7 @@ impl<'s> dogear::Store<Error> for Store<'s> {
|
||||
let mut contents = HashMap::new();
|
||||
|
||||
let mut statement = self.db.prepare(
|
||||
r#"SELECT v.guid, v.kind, IFNULL(v.title, "") AS title, u.url,
|
||||
r#"SELECT v.guid, v.kind, IFNULL(v.title, '') AS title, u.url,
|
||||
IFNULL(s.position, -1) AS position
|
||||
FROM items v
|
||||
LEFT JOIN urls u ON u.id = v.urlId
|
||||
|
@ -2464,9 +2464,9 @@ tests.push({
|
||||
let db = await PlacesUtils.promiseDBConnection();
|
||||
let rows = await db.execute(`
|
||||
SELECT
|
||||
IFNULL((SELECT value FROM moz_meta WHERE key = "origin_frecency_count"), 0),
|
||||
IFNULL((SELECT value FROM moz_meta WHERE key = "origin_frecency_sum"), 0),
|
||||
IFNULL((SELECT value FROM moz_meta WHERE key = "origin_frecency_sum_of_squares"), 0)
|
||||
IFNULL((SELECT value FROM moz_meta WHERE key = 'origin_frecency_count'), 0),
|
||||
IFNULL((SELECT value FROM moz_meta WHERE key = 'origin_frecency_sum'), 0),
|
||||
IFNULL((SELECT value FROM moz_meta WHERE key = 'origin_frecency_sum_of_squares'), 0)
|
||||
`);
|
||||
return {
|
||||
count: rows[0].getResultByIndex(0),
|
||||
|
@ -1346,9 +1346,9 @@ async function getOriginFrecencyStats() {
|
||||
let db = await PlacesUtils.promiseDBConnection();
|
||||
let rows = await db.execute(`
|
||||
SELECT
|
||||
IFNULL((SELECT value FROM moz_meta WHERE key = "origin_frecency_count"), 0),
|
||||
IFNULL((SELECT value FROM moz_meta WHERE key = "origin_frecency_sum"), 0),
|
||||
IFNULL((SELECT value FROM moz_meta WHERE key = "origin_frecency_sum_of_squares"), 0)
|
||||
IFNULL((SELECT value FROM moz_meta WHERE key = 'origin_frecency_count'), 0),
|
||||
IFNULL((SELECT value FROM moz_meta WHERE key = 'origin_frecency_sum'), 0),
|
||||
IFNULL((SELECT value FROM moz_meta WHERE key = 'origin_frecency_sum_of_squares'), 0)
|
||||
`);
|
||||
let count = rows[0].getResultByIndex(0);
|
||||
let sum = rows[0].getResultByIndex(1);
|
||||
|
@ -1088,9 +1088,9 @@ async function promiseStats() {
|
||||
let db = await PlacesUtils.promiseDBConnection();
|
||||
let rows = await db.execute(`
|
||||
SELECT
|
||||
IFNULL((SELECT value FROM moz_meta WHERE key = "origin_frecency_count"), 0),
|
||||
IFNULL((SELECT value FROM moz_meta WHERE key = "origin_frecency_sum"), 0),
|
||||
IFNULL((SELECT value FROM moz_meta WHERE key = "origin_frecency_sum_of_squares"), 0)
|
||||
IFNULL((SELECT value FROM moz_meta WHERE key = 'origin_frecency_count'), 0),
|
||||
IFNULL((SELECT value FROM moz_meta WHERE key = 'origin_frecency_sum'), 0),
|
||||
IFNULL((SELECT value FROM moz_meta WHERE key = 'origin_frecency_sum_of_squares'), 0)
|
||||
`);
|
||||
return {
|
||||
count: rows[0].getResultByIndex(0),
|
||||
|
Loading…
Reference in New Issue
Block a user