5app / dare Goto Github PK
View Code? Open in Web Editor NEWDatabase and REST
Home Page: https://www.npmjs.com/package/dare
License: MIT License
Database and REST
Home Page: https://www.npmjs.com/package/dare
License: MIT License
7.0.16
to 7.0.17
.π¨ View failing branch.
This version is covered by your current version range and after updating it in your project the build failed.
@semantic-release/git is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.
The new version differs by 7 commits.
5132713
fix(package): update execa to version 3.2.0
7c9eb9a
fix: require Node.js >=8.16
4b73226
chore(package): update xo to version 0.25.2
a317bae
ci(node): set node 8 to node 8.3 and add node 12
4cb24c8
chore(package): update clear-module to version 4.0.0
9043edc
chore: remove commitizen from our dependencies
55c6df7
chore(package): update commitizen to version 4.0.0
See the full diff
There is a collection of frequently asked questions. If those donβt help, you can always ask the humans behind Greenkeeper.
Your Greenkeeper Bot π΄
filter: {
type: '!folder'
}
6.5.1
to 6.6.0
.π¨ View failing branch.
This version is covered by your current version range and after updating it in your project the build failed.
eslint is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.
39dfe08
Update: false positives in function-call-argument-newline (fixes #12123) (#12280) (Scott O'Hara)4d84210
Update: improve report location for no-trailing-spaces (fixes #12315) (#12477) (Milos Djermanovic)c6a7745
Update: no-trailing-spaces false negatives after comments (fixes #12479) (#12480) (Milos Djermanovic)0bffe95
Fix: no-misleading-character-class crash on invalid regex (fixes #12169) (#12347) (Milos Djermanovic)c6a9a3b
Update: Add enforceForIndexOf option to use-isnan (fixes #12207) (#12379) (Milos Djermanovic)364877b
Update: measure plugin loading time and output in debug message (#12395) (Victor Homyakov)1744fab
Fix: operator-assignment removes and duplicates comments (#12485) (Milos Djermanovic)52ca11a
Fix: operator-assignment invalid autofix with adjacent tokens (#12483) (Milos Djermanovic)0f6d0dc
Fix: CLIEngine#addPlugin reset lastConfigArrays (fixes #12425) (#12468) (Toru Nagashima)923a8cb
Chore: Fix lint failure in JSDoc comment (#12489) (Brandon Mills)aac3be4
Update: Add ignored prop regex no-param-reassign (#11275) (Luke Bennett)e5382d6
Chore: Remove unused parameter in dot-location (#12464) (Milos Djermanovic)49faefb
Fix: no-obj-calls false positive (fixes #12437) (#12467) (Toru Nagashima)b3dbd96
Fix: problematic installation issue (fixes #11018) (#12309) (Toru Nagashima)cd7c29b
Sponsors: Sync README with website (ESLint Jenkins)8233873
Docs: Add note about Node.js requiring SSL support (fixes #11413) (#12475) (Nicholas C. Zakas)89e8aaf
Fix: improve report location for no-tabs (#12471) (Milos Djermanovic)7dffe48
Update: Enable function string option in comma-dangle (fixes #12058) (#12462) (YeonJuan)e15e1f9
Docs: fix doc for no-unneeded-ternary rule (fixes #12098) (#12410) (Sam Rae)b1dc58f
Sponsors: Sync README with website (ESLint Jenkins)61749c9
Chore: Provide debug log for parser errors (#12474) (Brad Zacher)7c8bbe0
Update: enforceForOrderingRelations no-unsafe-negation (fixes #12163) (#12414) (Sam Rae)349ed67
Update: improve report location for no-mixed-operators (#12328) (Chiawen Chen)a102eaa
Fix: prefer-numeric-literals invalid autofix with adjacent tokens (#12387) (Milos Djermanovic)6e7c18d
Update: enforceForNewInMemberExpressions no-extra-parens (fixes #12428) (#12436) (Milos Djermanovic)51fbbd7
Fix: array-bracket-newline consistent error with comments (fixes #12416) (#12441) (Milos Djermanovic)e657d4c
Fix: report full dot location in dot-location (#12452) (Milos Djermanovic)2d6e345
Update: make isSpaceBetweenTokens() ignore newline in comments (#12407) (YeonJuan)84f71de
Update: remove default overrides in keyword-spacing (fixes #12369) (#12411) (YeonJuan)18a0b0e
Update: improve report location for no-space-in-parens (#12364) (Chiawen Chen)d61c8a5
Update: improve report location for no-multi-spaces (#12329) (Chiawen Chen)561093f
Upgrade: bump inquirer to ^7.0.0 (#12440) (Joe Graham)fb633b2
Chore: Add a script for testing with more control (#12444) (Eric Wang)012ec51
Sponsors: Sync README with website (ESLint Jenkins)874fe16
New: pass cwd from cli engine (#12389) (Eric Wang)b962775
Update: no-self-assign should detect member expression with this (#12279) (Tibor Blenessy)02977f2
Docs: Clarify eslint:recommended
semver policy (#12429) (Kevin Partington)97045ae
Docs: Fixes object type for rules
in "Use a Plugin" (#12409) (Daisy Develops)24ca088
Docs: Fix typo in v6 migration guide (#12412) (Benjamim Sonntag)b094008
Chore: update version parameter name (#12402) (Toru Nagashima)e5637ba
Chore: enable jsdoc/require-description (#12365) (Kai Cataldo)d31f337
Sponsors: Sync README with website (ESLint Jenkins)7ffb22f
Chore: Clean up inline directive parsing (#12375) (Jordan Eldredge)84467c0
Docs: fix wrong max-depth example (fixes #11991) (#12358) (Gabriel R Sezefredo)3642342
Docs: Fix minor formatting/grammar errors (#12371) (cherryblossom000)c47fa0d
Docs: Fix missing word in sentence (#12361) (Dan Boulet)8108f49
Chore: enable additional eslint-plugin-jsdoc rules (#12336) (Kai Cataldo)b718d2e
Chore: update issue template with --eslint-fix flag (#12352) (James George)20ba14d
Sponsors: Sync README with website (ESLint Jenkins)566a947
Sponsors: Sync README with website (ESLint Jenkins)070cbd0
Sponsors: Sync README with website (ESLint Jenkins)The new version differs by 53 commits.
879c373
6.6.0
c8ba30a
Build: changelog update for 6.6.0
39dfe08
Update: false positives in function-call-argument-newline (fixes #12123) (#12280)
4d84210
Update: improve report location for no-trailing-spaces (fixes #12315) (#12477)
c6a7745
Update: no-trailing-spaces false negatives after comments (fixes #12479) (#12480)
0bffe95
Fix: no-misleading-character-class crash on invalid regex (fixes #12169) (#12347)
c6a9a3b
Update: Add enforceForIndexOf option to use-isnan (fixes #12207) (#12379)
364877b
Update: measure plugin loading time and output in debug message (#12395)
1744fab
Fix: operator-assignment removes and duplicates comments (#12485)
52ca11a
Fix: operator-assignment invalid autofix with adjacent tokens (#12483)
0f6d0dc
Fix: CLIEngine#addPlugin reset lastConfigArrays (fixes #12425) (#12468)
923a8cb
Chore: Fix lint failure in JSDoc comment (#12489)
aac3be4
Update: Add ignored prop regex no-param-reassign (#11275)
e5382d6
Chore: Remove unused parameter in dot-location (#12464)
49faefb
Fix: no-obj-calls false positive (fixes #12437) (#12467)
There are 53 commits in total.
See the full diff
There is a collection of frequently asked questions. If those donβt help, you can always ask the humans behind Greenkeeper.
Your Greenkeeper Bot π΄
Dependabot couldn't find a package-lock.json for this project.
Dependabot requires a package-lock.json to evaluate your project's current Javascript dependencies. It had expected to find one at the path: /package-lock.json
.
If this isn't a Javascript project, or if it is a library, you may wish to disable updates for it from within Dependabot.
You can mention @dependabot in the comments below to contact the Dependabot team.
To support two or more scopes of the same table we currently require a distinct alias to be available. This isn't ideal for example in the following commit https://github.com/5app/dashboard/commit/bca238e258c7c7eada3fd5d58bf905cbc73ef8f5 userCollections_*
has been aliased 5 times in order to support 5 separate join statements and syntax.
E.g. this illustrates a hack in a Dare schema
table_alias: {
userCollections: 'userCollections',
userCollections_a: 'userCollections',
userCollections_b: 'userCollections',
userCollections_c: 'userCollections',
userCollections_d: 'userCollections',
userCollections_e: 'userCollections',
}
Just so in the query generator it looks like...
const fields = [{
'Completed': 'COUNT(DISTINCT userCollections_a.id)',
'Inactive 30 days': 'COUNT(DISTINCT userCollections_b.id)',
'Inactive 90 days': 'COUNT(DISTINCT userCollections_c.id)',
'Unpinned - Completed': 'COUNT(DISTINCT userCollections_d.id)',
'Unpinned - Not completed': 'COUNT(DISTINCT userCollections_e.id)',
}];
const join = {
userCollections: {
type: 'user'
},
userCollections_a: {
completion_rate: 1
},
userCollections_b: {
type: 'user',
'-completion_rate': 1, // Not Completed
'updated_time': `..${isoDateAdd(-30)}`
},
userCollections_c: {
type: 'user',
'-completion_rate': 1, // Not Completed
'updated_time': `..${isoDateAdd(-90)}`
},
userCollections_d: {
type: 'user',
'completion_rate': 1, // Completed
'is_deleted': 1
},
userCollections_e: {
type: 'user',
'-completion_rate': 1, // Not Completed
'is_deleted': 1
},
This approach could be simplified by supporting a isolation extension on the join names, such that the schema does not have to be ammended. E.g. userCollections#a
would always map to userCollections
but allow for unique joins, distinguished from userCollections#b
for example.
There is no way to conditionally join a value across two fields. Aka search multiple fields for a value, e.g. (title, body):word
, to create the sql WHERE (title = 'word' OR body='word')
or indeed fields across many tables WHERE (a.title=? OR meta.fulltext = ?)
.
Proposal
Support additional syntax where the value of a filter prop is an Array of Objects
e.g....
const filter = {
'$arbitary': [
// Local Scope
{
title: ?
},
// Nested...
{
meta: {
fulltext: ?
}
}
]
}
In the above case an Array is passed into the filters, in order to create an cond1 [...OR condN]
SQL conditions block.
The Array is given an $arbitrary
key prop, whose definition has no meaning and would be ignored. It is simply there to mix conditional OR
with regular AND
.
The parser currently accepts an array to mean a list of possible values e.g. field IN (1,2,3)
.
The parser would need to be adapted to decide whether any or all of these values are objects and therefore to apply the CONDITIONAL OR rule.
For example in the below the values are a mix...
const filter = {
'field': [
'a',
'b',
{
alternative: {
alternativeField: 'c'
}
}
]
}
The parser would understand the first and second values to be a definition of the field
and the third to define it's own table field and value. But the query would return anything that matches any of the three. i.e. WHERE (field IN ('a', 'b') OR alternative.alternativeField = 'c')
. Note that the field
is redundant in the third option. And the filter could have also have been written...
const filter = {
'$something': [
{
field: ['a', 'b']
},
{
alternative: {
alternativeField: 'c'
}
}
]
}
Map to another field, much like a table relationship without prefixing the table. i.e.
{
"users": {
"name": "displayName"
}
}
In this example requesting the "name" would map to the "displayName" field, aka...
dare.get('users', ['name']); // SELECT displayName as name FROM users;
Usecase: If a field has been renamed it's nice to still support the old name for a while. It's already possible to do this with Generated fields within a dare.get
however that is rather cumbersome.
This ticket supersedes #31.
Obtain the number of rows a count request would have retrieved had it not been limited.
e.g.
// Request with a limit
const dataset = dare.get(request);
// How many rows matched to generate pagination
const count = dare.getCount(request);
Approach
Create a new function dare.getCount(request)
. This will be able to take an existing request object in the first parameter and retrieve the number of records which match this query.
This can be done by stripping away any fields
, orderby
, limit
and start
props.
Defining a single field containing COUNT(DISTINCT ${groupby})
where groupby is any custom or derived groupby
applied to the matching dataset.
Provide a means to handle NOT FOUND exceptions when modifying via patch.
It seems like a useful feature to have in certain circumstances, yet expose vulnerabilities and sensitive information in others, it also fails to render generated content.
The orderby and groupby conditions are not compatible with the handling of nested fields
In order to get the parent information to decide on whether additional joins are required.
Set restrictions per field to restrict it's usage in:
SELECT field's ...
INSERT .. (field's...) ..
UPDATE .. field's...
Let fields be defined with readable and or writable flags in the schema
field_name: {
readable: false,
writeable: false
}
And shorthand field_name: false
to prevent all usage.
Add the possibility to manipulate additionals data after the requested dare operation as been executed.
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Lines |
---|---|---|---|---|---|
All files | 96.09 | 92.56 | 96.12 | 96.12 | |
src | 95.34 | 92.23 | 95.06 | 95.4 | |
format_request.js | 100 | 97.89 | 100 | 100 | 257,327,387 |
get.js | 97.09 | 92.98 | 95.83 | 96.97 | ... 145,263,277 |
index.js | 95.27 | 90.77 | 96.88 | 95.86 | ... 322,331,350 |
join_handler.js | 97.67 | 97.67 | 100 | 97.67 | 97 |
response_handler.js | 78.18 | 68.75 | 77.78 | 77.36 | ... 127,131,133 |
table_handler.js | 81.25 | 75 | 100 | 81.25 | 22,23,24 |
src/utils | 98.8 | 93.75 | 100 | 98.76 | |
JSONparse.js | 100 | 100 | 100 | 100 | |
error.js | 100 | 80 | 100 | 100 | 23 |
field_format.js | 100 | 100 | 100 | 100 | |
field_reducer.js | 100 | 96 | 100 | 100 | 6 |
format_datetime.js | 92.31 | 90 | 100 | 92.31 | 32,48 |
group_concat.js | 100 | 80 | 100 | 100 | 7,34,36 |
prepare.js | 100 | 100 | 100 | 100 | |
unwrap_field.js | 100 | 100 | 100 | 100 | |
validate_alias.js | 100 | 100 | 100 | 100 | |
validate_field.js | 100 | 100 | 100 | 100 | |
validate_label.js | 100 | 100 | 100 | 100 |
Dependabot couldn't find a package-lock.json for this project.
Dependabot requires a package-lock.json to evaluate your project's current Javascript dependencies. It had expected to find one at the path: /package-lock.json
.
If this isn't a Javascript project, or if it is a library, you may wish to disable updates for it from within Dependabot.
You can mention @dependabot in the comments below to contact the Dependabot team.
6.0.2
to 6.1.0
.π¨ View failing branch.
This version is covered by your current version range and after updating it in your project the build failed.
mocha is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.
options
parameter (@plroebuck).jsonc
extension (@sstephant)These are soft-deprecated, and will emit a warning upon use. Support will be removed in (likely) the next major version of Mocha:
this.skip()
in "before each" hooks (@juergba)--allow-uncaught
for uncaught exceptions thrown inside hooks (@givanse)and some regressions:
Suite
cloning by copying root
property (@fatso83)The new version differs by 28 commits.
f4fc95a
Release v6.1.0
bd29dbd
update CHANGELOG for v6.1.0 [ci skip]
aaf2b72
Use cwd-relative pathname to load config file (#3829)
b079d24
upgrade deps as per npm audit fix; closes #3854
e87c689
Deprecate this.skip() for "after all" hooks (#3719)
81cfa90
Copy Suite property "root" when cloning; closes #3847 (#3848)
8aa2fc4
Fix issue 3714, hide pound icon showing on hover header on docs page (#3850)
586bf78
Update JS-YAML to address security issue (#3845)
d1024a3
Update doc examples "tests.html" (#3811)
1d570e0
Delete "/docs/example/chai.js"
ade8b90
runner.js: "self.test" undefined in Browser (#3835)
0098147
Replace findup-sync with find-up for faster startup (#3830)
d5ba121
Remove "package" flag from sample config file because it can only be passes as CLI arg (#3793)
a3089ad
update package-lock
75430ec
Upgrade yargs-parser dependency to avoid loading 2 copies of yargs
There are 28 commits in total.
See the full diff
There is a collection of frequently asked questions. If those donβt help, you can always ask the humans behind Greenkeeper.
Your Greenkeeper Bot π΄
As mentioned in the PR: https://github.com/5app/dashboard/pull/6754
Any values passed to Dare api which are a type of object should be stringified.
I find it hard to locate the source of most dare errors when a bug surface.
Could we introduce stacktraces to the error object?
Variables stored as integers or booleans in SQL are being returned as strings via DARE.
Expected behaviour is to return them as the same type stored - or equivalent JS type.
Dare endpoint doesnt typecheck nested results.
Typecast ints eg: +"0"
Problem
To manipulate the format of the response, aka pipe out CSV to a write buffer, one needs to override the response_handler
on the instance. However doing so means that the integration needs to handle the formatting of the response. Aka:
Recreating these each time isn't ideal
Solution
Create a response_row_handler
which would be called during the default response_handler
. And allow this handler to be amended per-instance.
And It would be processed in the following manner
response_handler
convert_structured_fields
: determines which fields contain multiple records and expand them.generated_fields
: Generate the bespoke fields based upon the datasetresponse_row_handler
: Add bespoke handling of the recordSo the new handler could be anything and would save on recreating the above functionality
Improve the scope filters to support same filter syntax as outlined in the main filter https://github.com/5app/dare#filter-syntax
Strings should be properly escaped. However like in the example below REPLACE(c.name, '"', '\"')
is not escaping the response
SELECT a.id,
(SELECT CONCAT('[', GROUP_CONCAT(CONCAT_WS('', '[', '"', REPLACE(c.name, '"', '\"'), '"', ']')), ']')
FROM assetTags b
JOIN tags c ON (c.id = b.tag_id)
WHERE b.asset_id = a.id
LIMIT 1) AS 'assetTags[tag.name]',
FROM table a
...
Is not escaping them in the output...
id | assetTags[tag.name] |
---|---|
123 | [[""this is quoted""], ...] |
It should be escaped like... [["\"this is quoted\""], ...]
Dependabot couldn't find a package-lock.json for this project.
Dependabot requires a package-lock.json to evaluate your project's current Javascript dependencies. It had expected to find one at the path: /package-lock.json
.
If this isn't a Javascript project, or if it is a library, you may wish to disable updates for it from within Dependabot.
You can mention @dependabot in the comments below to contact the Dependabot team.
15.13.20
to 15.13.21
.π¨ View failing branch.
This version is covered by your current version range and after updating it in your project the build failed.
semantic-release is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.
The new version differs by 3 commits.
391af98
fix(package): update hosted-git-info to version 3.0.0
d45d8b6
docs: fix typo
519df0d
chore: remove commitizen from our dependencies
See the full diff
There is a collection of frequently asked questions. If those donβt help, you can always ask the humans behind Greenkeeper.
Your Greenkeeper Bot π΄
The filter object is mutated where there is an empty array. Objects should be treated as immutable.
e.g.
const filter = {value: []};
dare.get('table', ['name'], filter);
console.log(filter.value); // [null]
console.log(filter.value.length); // 1
15.13.27
to 15.13.28
.π¨ View failing branch.
This version is covered by your current version range and after updating it in your project the build failed.
semantic-release is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.
The new version differs by 3 commits.
1693073
fix(package): update execa to version 3.2.0
2f3d934
fix: require Node.js >=8.16
f645547
docs(recipes): GitHub actions (#1317)
See the full diff
There is a collection of frequently asked questions. If those donβt help, you can always ask the humans behind Greenkeeper.
Your Greenkeeper Bot π΄
3.0.6
to 3.0.7
.π¨ View failing branch.
This version is covered by your current version range and after updating it in your project the build failed.
coveralls is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.
The new version differs by 1 commits.
2ed185c
added support for GitLab Merge Request IID
See the full diff
There is a collection of frequently asked questions. If those donβt help, you can always ask the humans behind Greenkeeper.
Your Greenkeeper Bot π΄
0.7.7
to 0.7.8
.π¨ View failing branch.
This version is covered by your current version range and after updating it in your project the build failed.
eslint-config-5app is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.
The new version differs by 2 commits.
67e7b2d
chore(release): 0.7.8 [skip ci]
2f08585
fix(deps): update dependency eslint-plugin-jsdoc to v16
See the full diff
There is a collection of frequently asked questions. If those donβt help, you can always ask the humans behind Greenkeeper.
Your Greenkeeper Bot π΄
0.7.1
to 0.7.2
.π¨ View failing branch.
This version is covered by your current version range and after updating it in your project the build failed.
eslint-config-5app is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.
The new version differs by 6 commits.
cf56437
chore(release): 0.7.2 [skip ci]
6df1a0f
fix(ci): breaking builds on Node12... hopeful fix
7218884
Merge pull request #34 from 5app/greenkeeper/eslint-plugin-jsdoc-15.10.0
3506284
chore(package): update eslint-plugin-jsdoc to version 15.10.0
6204278
Merge pull request #33 from 5app/greenkeeper/eslint-plugin-jsdoc-15.9.3
7718ae5
chore(package): update eslint-plugin-jsdoc to version 15.9.3
See the full diff
There is a collection of frequently asked questions. If those donβt help, you can always ask the humans behind Greenkeeper.
Your Greenkeeper Bot π΄
For one to many relationships puts the fields from the many table into a CONCAT, i.e...
{
one_id,
many: {
many_id,
could_be_null_field
}
}
// Results in...
// ... GROUP_CONCAT(CONCAT(many_id, could_be_null_field))...
Which if could_be_null_field
is null the whole row will be excluded.
CONCAT() returns NULL if any argument is NULL.
https://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_concat
Normalised field values via alias names are not supported.
For a 1:n join
Typically a response array would be defined as n
...
// Request Fields...
{
{n: ['field']}
}
// Response Array...
[{
n: [{
field: "Example"
}, ...]
}, ...]
The objective here is to allow 1:n to be normalised such that the request/response looks like...
// Request
{
{nfield: 'n.field'}
}
// Response
[{
nfield: "Example"
}, ...]
fields: ['id', 'name']
orderby: 'anothertable.rank'
throws an exception...
TypeError: Cannot read property 'sql_alias' of undefined
at dare/src/get.js:430:19
at unwrap_field (dare/src/utils/unwrap_field.js:19:11)
at opts.orderby.opts.orderby.map.rule (dare/src/get.js:131:11)
In the below example both are saying they reference the other, in reality the reference should be defined in the joining table, aka the one which is not holding the unique value/primary key, aka the second one.
{
assets: {
id: 'assetCollections.asset_id'
},
assetCollections: {
asset_id: 'assets.id'
}
}
This causes alot of conflicting results including broken responses
3.0.4
to 3.0.5
.π¨ View failing branch.
This version is covered by your current version range and after updating it in your project the build failed.
@semantic-release/changelog is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.
The new version differs by 7 commits.
efcc658
fix: require Node.js >=8.16
4d75adc
chore(package): update xo to version 0.25.0
3493e20
ci(node): set node 8 to node 8.3 and add node 12
52edb8d
chore(package): update clear-module to version 4.0.0
80788e6
chore: remove commitizen from our dependencies
de20199
chore(package): update commitizen to version 4.0.0
8955437
chore(package): update ava to version 2.0.0
See the full diff
There is a collection of frequently asked questions. If those donβt help, you can always ask the humans behind Greenkeeper.
Your Greenkeeper Bot π΄
The table aliases should be abstracted from the request.
E.g. before
SELECT asset.name FROM asset;
now
SELECT a.name FROM asset a;
The filter object with an empty Array []
should return an empty resultset
e.g.
const filter = {value: []};
dare.get('table', ['name'], filter);
// SELECT name FROM table WHERE value IS NULL
Fields concatenated, e.g. within GROUP_CONCAT etc needs to have backslashes /
escaped as well as quotes
See https://dev.mysql.com/doc/refman/5.7/en/information-functions.html#function_found-rows should this run a
dare.get(tbl, fields, filter, {
found_rows: true
})
This will enable the subsequent query...
dare.sql('SELECT FOUND_ROWS()').then(handler);
Or Dare should handle the running of this second query. Something which it typically doesn't do, but it'll be useful.
When a date field is returned grouped with other fields it is not formatted by the likes of node-mysql2
Apply post formatting to convert fields to date format.
i.e. 2018-04-03 01:00:00
should be 2018-04-03T01:00:00.000Z
IN (NULL)
will never match any results.
For example:
const exampleQuery = {
fields: [
{`last_activity_time`: 'userDomains.last_activity_time'},
{'is_invited': 'userDomains.is_invited'},
{
userDomains: [
'is_deleted'
]
}
]
};
The call to userDomains: [ ...
overwrites the result returned by the initial last_activity_time
and is_invited
field queries.
The result would not include the last_activity_time
or is_invited
results, only the is_deleted
result.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.