Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
    • Switch to GitLab Next
  • Sign in / Register
M
massive-js
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 9
    • Issues 9
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
    • Iterations
  • Merge Requests 2
    • Merge Requests 2
  • Requirements
    • Requirements
    • List
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Security & Compliance
    • Security & Compliance
    • Dependency List
    • License Compliance
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Code Review
    • Insights
    • Issue
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • Dian Fay
  • massive-js
  • Issues
  • #721

Closed
Open
Opened Sep 17, 2020 by Radu@raduflp

Cannot use Dollar-Quoted values with like expressions

Summary

Using dollar quoted values in criteria object breaks conditions that use like operator due to the surrounding single-quotes

Example

Database setup

CREATE TABLE things (
  id SERIAL PRIMARY KEY,
  stuff TEXT
);

Code demonstrating the behavior

const userSearch = "hack"
db.things.find({ "stuff like": "$$%" + userSearch + "%$$" });

Expected behavior

generate WHERE stuff like $$%hack%$$ without the surrounding single-quotes

Actual behavior

generates WHERE stuff like '$$%hack%$$'

Additional context

cannot use the dollar quotes inside the like expression eg WHERE stuff like '%$$hack$$%' as it doesn't provided the expected behavior
Maybe I'm not aware of another approach.
For now I'm defaulting to db.query but it would be nice to be able use .find

Edited Sep 17, 2020 by Radu
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: dmfay/massive-js#721