-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: support current_utctimestamp #865
Merged
Merged
Changes from all commits
Commits
Show all changes
16 commits
Select commit
Hold shift + click to select a range
6266f54
feat: support current_utctimestamp
johannes-vogel 7c25bbf
Merge branch 'main' into johannes-vogel-patch-2
SamuelBrucksch 4829482
add test
johannes-vogel 46dd16a
Merge branch 'main' into johannes-vogel-patch-2
johannes-vogel 90bb63b
make function hana specific
johannes-vogel bb41808
use lowercase function in tests
johannes-vogel 875e376
only append brackets for args if provided
johannes-vogel b237eeb
Revert "only append brackets for args if provided"
johannes-vogel 0f5f291
adapt test
johannes-vogel 35c35f1
no args, no brackets
johannes-vogel dd9373c
reorder tests
johannes-vogel d22df56
fix
johannes-vogel c514b27
Merge branch 'main' into johannes-vogel-patch-2
johannes-vogel 13e6f36
skip failing tests on HXE
johannes-vogel 8d21391
revert
johannes-vogel e266b9a
Merge branch 'main' into johannes-vogel-patch-2
johannes-vogel File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
const cds = require('../../test/cds') | ||
|
||
describe('HANA native functions', () => { | ||
const { expect } = cds.test(__dirname, 'fuzzy.cds') | ||
|
||
describe('current_timestamp', () => { | ||
test('no arguments', async () => { | ||
const cqn = { SELECT: { | ||
one: true, | ||
from: {ref: ['DUMMY']}, | ||
columns: [{func: 'current_utctimestamp', as: 'NO'}] | ||
}} | ||
|
||
const res = await cds.run(cqn) | ||
|
||
expect(res.NO.match(/\.(\d\d\d)0000/)).not.to.be.null // default 3 | ||
}) | ||
|
||
// HXE does not allow args | ||
test.skip('0 skips ms precision', async () => { | ||
const cqn = { SELECT: { | ||
one: true, | ||
from: {ref: ['DUMMY']}, | ||
columns: [ | ||
{func: 'current_utctimestamp', as: 'NO'}, | ||
{func: 'current_utctimestamp', args: [{val: 0}], as: 'P0'}] | ||
}} | ||
|
||
const res = await cds.run(cqn) | ||
|
||
expect(res.P0.match(/\.0000000/)).not.to.be.null | ||
}) | ||
|
||
// HXE does not allow args | ||
test.skip('arbitrary values', async () => { | ||
const cqn = { SELECT: { | ||
one: true, | ||
from: {ref: ['DUMMY']}, | ||
columns: [ | ||
{func: 'current_utctimestamp', args: [{val: 3}], as: 'P3'}, | ||
{func: 'current_utctimestamp', args: [{val: 7}], as: 'P7'}] | ||
}} | ||
|
||
const res = await cds.run(cqn) | ||
|
||
expect(res.P3.match(/\.(\d\d\d)0000/)).not.to.be.null | ||
expect(res.P7.match(/\.(\d\d\d\d\d\d\d)/)).not.to.be.null | ||
}) | ||
}) | ||
}) |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we add this function definition into the other databases?
Then the test can be move here:
cds-dbs/test/compliance/functions.test.js
Lines 339 to 348 in 45bcdcf
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I initially started there but the other databases don't support the argument, I could also split: noargs in compliance and args in hana native section.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
#909 but I don't like the different behavior on the dbs
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is a good finding that the databases have different response formats. The purpose of the cal-functions is to define them in a way that they response in the correct format. Most likely adding a
cast
orelement
to the original func can apply the correct output converter for each database.