refactor: Remove ixml refs in SqlCall - #102

Merged
kadler merged 2 commits into
IBM:masterfrom
abmusse:remove-ixml-for-sqlcall
Feb 20, 2020
Merged

refactor: Remove ixml refs in SqlCall#102
kadler merged 2 commits into
IBM:masterfrom
abmusse:remove-ixml-for-sqlcall

Conversation

@abmusse

@abmusseabmusse commented Feb 10, 2020

Copy link
Copy Markdown
Member

Part of #96

Resolves#110

@abmusse

Copy link
Copy Markdown
MemberAuthor

After removing ixml refs from SqlCall I ran the unit tests in SqlCallUnit.js:

$ npm test test/unit/SqlCallUnit.js ....
47 passing (30ms)
3 failing
1) SqlCall Class Unit Tests
connect
appends connect to sql XML:
TypeError: sql.connect is not a function
at Context.<anonymous> (test/unit/SqlCallUnit.js:190:11)
at processImmediate (internal/timers.js:439:21)
2) SqlCall Class Unit Tests
setOptions
appends options to sql XML:
TypeError: sql.setOptions is not a function
at Context.<anonymous> (test/unit/SqlCallUnit.js:200:11)
at processImmediate (internal/timers.js:439:21)
3) SqlCall Class Unit Tests
setOptions
appends options without options object to sql XML:
TypeError: sql.setOptions is not a function
at Context.<anonymous> (test/unit/SqlCallUnit.js:209:11)
at processImmediate (internal/timers.js:439:21)

All passed except SqlCall.connect and SqlCall.setOptions unit tests.

These functions were removed with #56 and these unit tests also need to be removed.

@abmusse

Copy link
Copy Markdown
MemberAuthor

Opened #106 for the above issue

@abmusse
abmusse marked this pull request as ready for review February 11, 2020 21:39
Comment threadlib/SqlCall.js
Comment threadlib/SqlCall.js Outdated
Comment on lines 33 to 35
addQuery(stmt, options) {
if (options && options.error) {
this.xml += iXml.iXmlNodeSqlQueryOpen(options.error) + stmt + iXml.iXmlNodeSqlQueryClose();
this.xml += `<query error='${options.error}'>${stmt}</query>`;
} else {
this.xml += iXml.iXmlNodeSqlQueryOpen() + stmt + iXml.iXmlNodeSqlQueryClose();
this.xml += `<query error='fast'>${stmt}</query>`;
}
}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Most of these could be something like

addQuery(stmt,options={}){this.xml+=`<prepare error='${options.error||'fast'}'>${stmt}</prepare>`;}

Comment threadlib/SqlCall.js
@abmusse

Copy link
Copy Markdown
MemberAuthor

Noticed that SqlCall.commit will no-op when options.action is not specified.

Check out the unit test: https://github.com/IBM/nodejs-itoolkit/blob/master/test/unit/SqlCallUnit.js#L113

Looks like iXmlNodeSqlCommit intended to default to rollback as the default action.

I think this should default to commit action instead.

Comment threadlib/SqlCall.js Outdated
}

tables(params, options = {}) {
this.xml += `<tables${options.error ? ` error='${options.error}'` : ''}>`;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
this.xml+=`<tables${options.error ? ` error='${options.error}'` : ''}>`;
this.xml+=`<tableserror='${options.error||'fast'}'>`;

It's a slight behavior change, but much clearer.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And by behavior change, I mean that we would be extraneously sending the default error option instead of leaving it blank and letting XMLSERVICE default it. The default is still the same, however, so the only difference is that we send some extra data in the XML that we didn't need to, but it's unlikely to hurt anything.

@abmusseabmusseFeb 14, 2020

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense we would need to update the unit tests as well to expect error to be sent by default now

Comment threadlib/SqlCall.js Outdated
this.xml += iXml.iXmlNodeSqlTableprivOpen();
}
tablePriv(params, options = {}) {
this.xml += `<tablepriv${options.error ? ` error='${options.error}'` : ''}>`;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as tables above.

Comment threadlib/SqlCall.js Outdated
this.xml += iXml.iXmlNodeSqlSpecialOpen();
}
special(params, options = {}) {
this.xml += `<special${options.error ? ` error='${options.error}'` : ''}>`;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like there's a bunch of them. All of them should be adjusted.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All should be fixed now

@kadlerkadler left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One minor change and I think we're good!

Comment threadlib/SqlCall.js Outdated
@abmusse
abmusse requested a review from kadlerFebruary 19, 2020 21:50
- Add error=fast default values for tests
- Add action=rollback default for commit tests

@kadlerkadler left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@kadler
kadler merged commit 82cb0d1 into IBM:masterFeb 20, 2020
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

SqlCall.commit will no-op when an action is not specified

2 participants

@abmusse@kadler
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

refactor: Remove ixml refs in SqlCall - #102

Merged
kadler merged 2 commits into
IBM:masterfrom
abmusse:remove-ixml-for-sqlcall
Feb 20, 2020
Merged

refactor: Remove ixml refs in SqlCall#102
kadler merged 2 commits into
IBM:masterfrom
abmusse:remove-ixml-for-sqlcall

Conversation

@abmusse

@abmusseabmusse commented Feb 10, 2020

Copy link
Copy Markdown
Member

Part of #96

Resolves#110

@abmusse

Copy link
Copy Markdown
MemberAuthor

After removing ixml refs from SqlCall I ran the unit tests in SqlCallUnit.js:

$ npm test test/unit/SqlCallUnit.js ....
47 passing (30ms)
3 failing
1) SqlCall Class Unit Tests
connect
appends connect to sql XML:
TypeError: sql.connect is not a function
at Context.<anonymous> (test/unit/SqlCallUnit.js:190:11)
at processImmediate (internal/timers.js:439:21)
2) SqlCall Class Unit Tests
setOptions
appends options to sql XML:
TypeError: sql.setOptions is not a function
at Context.<anonymous> (test/unit/SqlCallUnit.js:200:11)
at processImmediate (internal/timers.js:439:21)
3) SqlCall Class Unit Tests
setOptions
appends options without options object to sql XML:
TypeError: sql.setOptions is not a function
at Context.<anonymous> (test/unit/SqlCallUnit.js:209:11)
at processImmediate (internal/timers.js:439:21)

All passed except SqlCall.connect and SqlCall.setOptions unit tests.

These functions were removed with #56 and these unit tests also need to be removed.

@abmusse

Copy link
Copy Markdown
MemberAuthor

Opened #106 for the above issue

@abmusse
abmusse marked this pull request as ready for review February 11, 2020 21:39
Comment threadlib/SqlCall.js
Comment threadlib/SqlCall.js Outdated
Comment on lines 33 to 35
addQuery(stmt, options) {
if (options && options.error) {
this.xml += iXml.iXmlNodeSqlQueryOpen(options.error) + stmt + iXml.iXmlNodeSqlQueryClose();
this.xml += `<query error='${options.error}'>${stmt}</query>`;
} else {
this.xml += iXml.iXmlNodeSqlQueryOpen() + stmt + iXml.iXmlNodeSqlQueryClose();
this.xml += `<query error='fast'>${stmt}</query>`;
}
}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Most of these could be something like

addQuery(stmt,options={}){this.xml+=`<prepare error='${options.error||'fast'}'>${stmt}</prepare>`;}

Comment threadlib/SqlCall.js
@abmusse

Copy link
Copy Markdown
MemberAuthor

Noticed that SqlCall.commit will no-op when options.action is not specified.

Check out the unit test: https://github.com/IBM/nodejs-itoolkit/blob/master/test/unit/SqlCallUnit.js#L113

Looks like iXmlNodeSqlCommit intended to default to rollback as the default action.

I think this should default to commit action instead.

Comment threadlib/SqlCall.js Outdated
}

tables(params, options = {}) {
this.xml += `<tables${options.error ? ` error='${options.error}'` : ''}>`;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
this.xml+=`<tables${options.error ? ` error='${options.error}'` : ''}>`;
this.xml+=`<tableserror='${options.error||'fast'}'>`;

It's a slight behavior change, but much clearer.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And by behavior change, I mean that we would be extraneously sending the default error option instead of leaving it blank and letting XMLSERVICE default it. The default is still the same, however, so the only difference is that we send some extra data in the XML that we didn't need to, but it's unlikely to hurt anything.

@abmusseabmusseFeb 14, 2020

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense we would need to update the unit tests as well to expect error to be sent by default now

Comment threadlib/SqlCall.js Outdated
this.xml += iXml.iXmlNodeSqlTableprivOpen();
}
tablePriv(params, options = {}) {
this.xml += `<tablepriv${options.error ? ` error='${options.error}'` : ''}>`;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as tables above.

Comment threadlib/SqlCall.js Outdated
this.xml += iXml.iXmlNodeSqlSpecialOpen();
}
special(params, options = {}) {
this.xml += `<special${options.error ? ` error='${options.error}'` : ''}>`;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like there's a bunch of them. All of them should be adjusted.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All should be fixed now

@kadlerkadler left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One minor change and I think we're good!

Comment threadlib/SqlCall.js Outdated
@abmusse
abmusse requested a review from kadlerFebruary 19, 2020 21:50
- Add error=fast default values for tests
- Add action=rollback default for commit tests

@kadlerkadler left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@kadler
kadler merged commit 82cb0d1 into IBM:masterFeb 20, 2020
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

SqlCall.commit will no-op when an action is not specified

2 participants

@abmusse@kadler
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

refactor: Remove ixml refs in SqlCall - #102

Merged
kadler merged 2 commits into
IBM:masterfrom
abmusse:remove-ixml-for-sqlcall
Feb 20, 2020
Merged

refactor: Remove ixml refs in SqlCall#102
kadler merged 2 commits into
IBM:masterfrom
abmusse:remove-ixml-for-sqlcall

Conversation

@abmusse

@abmusseabmusse commented Feb 10, 2020

Copy link
Copy Markdown
Member

Part of #96

Resolves#110

@abmusse

Copy link
Copy Markdown
MemberAuthor

After removing ixml refs from SqlCall I ran the unit tests in SqlCallUnit.js:

$ npm test test/unit/SqlCallUnit.js ....
47 passing (30ms)
3 failing
1) SqlCall Class Unit Tests
connect
appends connect to sql XML:
TypeError: sql.connect is not a function
at Context.<anonymous> (test/unit/SqlCallUnit.js:190:11)
at processImmediate (internal/timers.js:439:21)
2) SqlCall Class Unit Tests
setOptions
appends options to sql XML:
TypeError: sql.setOptions is not a function
at Context.<anonymous> (test/unit/SqlCallUnit.js:200:11)
at processImmediate (internal/timers.js:439:21)
3) SqlCall Class Unit Tests
setOptions
appends options without options object to sql XML:
TypeError: sql.setOptions is not a function
at Context.<anonymous> (test/unit/SqlCallUnit.js:209:11)
at processImmediate (internal/timers.js:439:21)

All passed except SqlCall.connect and SqlCall.setOptions unit tests.

These functions were removed with #56 and these unit tests also need to be removed.

@abmusse

Copy link
Copy Markdown
MemberAuthor

Opened #106 for the above issue

@abmusse
abmusse marked this pull request as ready for review February 11, 2020 21:39
Comment threadlib/SqlCall.js
Comment threadlib/SqlCall.js Outdated
Comment on lines 33 to 35
addQuery(stmt, options) {
if (options && options.error) {
this.xml += iXml.iXmlNodeSqlQueryOpen(options.error) + stmt + iXml.iXmlNodeSqlQueryClose();
this.xml += `<query error='${options.error}'>${stmt}</query>`;
} else {
this.xml += iXml.iXmlNodeSqlQueryOpen() + stmt + iXml.iXmlNodeSqlQueryClose();
this.xml += `<query error='fast'>${stmt}</query>`;
}
}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Most of these could be something like

addQuery(stmt,options={}){this.xml+=`<prepare error='${options.error||'fast'}'>${stmt}</prepare>`;}

Comment threadlib/SqlCall.js
@abmusse

Copy link
Copy Markdown
MemberAuthor

Noticed that SqlCall.commit will no-op when options.action is not specified.

Check out the unit test: https://github.com/IBM/nodejs-itoolkit/blob/master/test/unit/SqlCallUnit.js#L113

Looks like iXmlNodeSqlCommit intended to default to rollback as the default action.

I think this should default to commit action instead.

Comment threadlib/SqlCall.js Outdated
}

tables(params, options = {}) {
this.xml += `<tables${options.error ? ` error='${options.error}'` : ''}>`;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
this.xml+=`<tables${options.error ? ` error='${options.error}'` : ''}>`;
this.xml+=`<tableserror='${options.error||'fast'}'>`;

It's a slight behavior change, but much clearer.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And by behavior change, I mean that we would be extraneously sending the default error option instead of leaving it blank and letting XMLSERVICE default it. The default is still the same, however, so the only difference is that we send some extra data in the XML that we didn't need to, but it's unlikely to hurt anything.

@abmusseabmusseFeb 14, 2020

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense we would need to update the unit tests as well to expect error to be sent by default now

Comment threadlib/SqlCall.js Outdated
this.xml += iXml.iXmlNodeSqlTableprivOpen();
}
tablePriv(params, options = {}) {
this.xml += `<tablepriv${options.error ? ` error='${options.error}'` : ''}>`;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as tables above.

Comment threadlib/SqlCall.js Outdated
this.xml += iXml.iXmlNodeSqlSpecialOpen();
}
special(params, options = {}) {
this.xml += `<special${options.error ? ` error='${options.error}'` : ''}>`;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like there's a bunch of them. All of them should be adjusted.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All should be fixed now

@kadlerkadler left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One minor change and I think we're good!

Comment threadlib/SqlCall.js Outdated
@abmusse
abmusse requested a review from kadlerFebruary 19, 2020 21:50
- Add error=fast default values for tests
- Add action=rollback default for commit tests

@kadlerkadler left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@kadler
kadler merged commit 82cb0d1 into IBM:masterFeb 20, 2020
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

SqlCall.commit will no-op when an action is not specified

2 participants

@abmusse@kadler
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

refactor: Remove ixml refs in SqlCall - #102

Merged
kadler merged 2 commits into
IBM:masterfrom
abmusse:remove-ixml-for-sqlcall
Feb 20, 2020
Merged

refactor: Remove ixml refs in SqlCall#102
kadler merged 2 commits into
IBM:masterfrom
abmusse:remove-ixml-for-sqlcall

Conversation

@abmusse

@abmusseabmusse commented Feb 10, 2020

Copy link
Copy Markdown
Member

Part of #96

Resolves#110

@abmusse

Copy link
Copy Markdown
MemberAuthor

After removing ixml refs from SqlCall I ran the unit tests in SqlCallUnit.js:

$ npm test test/unit/SqlCallUnit.js ....
47 passing (30ms)
3 failing
1) SqlCall Class Unit Tests
connect
appends connect to sql XML:
TypeError: sql.connect is not a function
at Context.<anonymous> (test/unit/SqlCallUnit.js:190:11)
at processImmediate (internal/timers.js:439:21)
2) SqlCall Class Unit Tests
setOptions
appends options to sql XML:
TypeError: sql.setOptions is not a function
at Context.<anonymous> (test/unit/SqlCallUnit.js:200:11)
at processImmediate (internal/timers.js:439:21)
3) SqlCall Class Unit Tests
setOptions
appends options without options object to sql XML:
TypeError: sql.setOptions is not a function
at Context.<anonymous> (test/unit/SqlCallUnit.js:209:11)
at processImmediate (internal/timers.js:439:21)

All passed except SqlCall.connect and SqlCall.setOptions unit tests.

These functions were removed with #56 and these unit tests also need to be removed.

@abmusse

Copy link
Copy Markdown
MemberAuthor

Opened #106 for the above issue

@abmusse
abmusse marked this pull request as ready for review February 11, 2020 21:39
Comment threadlib/SqlCall.js
Comment threadlib/SqlCall.js Outdated
Comment on lines 33 to 35
addQuery(stmt, options) {
if (options && options.error) {
this.xml += iXml.iXmlNodeSqlQueryOpen(options.error) + stmt + iXml.iXmlNodeSqlQueryClose();
this.xml += `<query error='${options.error}'>${stmt}</query>`;
} else {
this.xml += iXml.iXmlNodeSqlQueryOpen() + stmt + iXml.iXmlNodeSqlQueryClose();
this.xml += `<query error='fast'>${stmt}</query>`;
}
}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Most of these could be something like

addQuery(stmt,options={}){this.xml+=`<prepare error='${options.error||'fast'}'>${stmt}</prepare>`;}

Comment threadlib/SqlCall.js
@abmusse

Copy link
Copy Markdown
MemberAuthor

Noticed that SqlCall.commit will no-op when options.action is not specified.

Check out the unit test: https://github.com/IBM/nodejs-itoolkit/blob/master/test/unit/SqlCallUnit.js#L113

Looks like iXmlNodeSqlCommit intended to default to rollback as the default action.

I think this should default to commit action instead.

Comment threadlib/SqlCall.js Outdated
}

tables(params, options = {}) {
this.xml += `<tables${options.error ? ` error='${options.error}'` : ''}>`;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
this.xml+=`<tables${options.error ? ` error='${options.error}'` : ''}>`;
this.xml+=`<tableserror='${options.error||'fast'}'>`;

It's a slight behavior change, but much clearer.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And by behavior change, I mean that we would be extraneously sending the default error option instead of leaving it blank and letting XMLSERVICE default it. The default is still the same, however, so the only difference is that we send some extra data in the XML that we didn't need to, but it's unlikely to hurt anything.

@abmusseabmusseFeb 14, 2020

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense we would need to update the unit tests as well to expect error to be sent by default now

Comment threadlib/SqlCall.js Outdated
this.xml += iXml.iXmlNodeSqlTableprivOpen();
}
tablePriv(params, options = {}) {
this.xml += `<tablepriv${options.error ? ` error='${options.error}'` : ''}>`;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as tables above.

Comment threadlib/SqlCall.js Outdated
this.xml += iXml.iXmlNodeSqlSpecialOpen();
}
special(params, options = {}) {
this.xml += `<special${options.error ? ` error='${options.error}'` : ''}>`;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like there's a bunch of them. All of them should be adjusted.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All should be fixed now

@kadlerkadler left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One minor change and I think we're good!

Comment threadlib/SqlCall.js Outdated
@abmusse
abmusse requested a review from kadlerFebruary 19, 2020 21:50
- Add error=fast default values for tests
- Add action=rollback default for commit tests

@kadlerkadler left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@kadler
kadler merged commit 82cb0d1 into IBM:masterFeb 20, 2020
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

SqlCall.commit will no-op when an action is not specified

2 participants

@abmusse@kadler
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

refactor: Remove ixml refs in SqlCall - #102

Merged
kadler merged 2 commits into
IBM:masterfrom
abmusse:remove-ixml-for-sqlcall
Feb 20, 2020
Merged

refactor: Remove ixml refs in SqlCall#102
kadler merged 2 commits into
IBM:masterfrom
abmusse:remove-ixml-for-sqlcall

Conversation

@abmusse

@abmusseabmusse commented Feb 10, 2020

Copy link
Copy Markdown
Member

Part of #96

Resolves#110

@abmusse

Copy link
Copy Markdown
MemberAuthor

After removing ixml refs from SqlCall I ran the unit tests in SqlCallUnit.js:

$ npm test test/unit/SqlCallUnit.js ....
47 passing (30ms)
3 failing
1) SqlCall Class Unit Tests
connect
appends connect to sql XML:
TypeError: sql.connect is not a function
at Context.<anonymous> (test/unit/SqlCallUnit.js:190:11)
at processImmediate (internal/timers.js:439:21)
2) SqlCall Class Unit Tests
setOptions
appends options to sql XML:
TypeError: sql.setOptions is not a function
at Context.<anonymous> (test/unit/SqlCallUnit.js:200:11)
at processImmediate (internal/timers.js:439:21)
3) SqlCall Class Unit Tests
setOptions
appends options without options object to sql XML:
TypeError: sql.setOptions is not a function
at Context.<anonymous> (test/unit/SqlCallUnit.js:209:11)
at processImmediate (internal/timers.js:439:21)

All passed except SqlCall.connect and SqlCall.setOptions unit tests.

These functions were removed with #56 and these unit tests also need to be removed.

@abmusse

Copy link
Copy Markdown
MemberAuthor

Opened #106 for the above issue

@abmusse
abmusse marked this pull request as ready for review February 11, 2020 21:39
Comment threadlib/SqlCall.js
Comment threadlib/SqlCall.js Outdated
Comment on lines 33 to 35
addQuery(stmt, options) {
if (options && options.error) {
this.xml += iXml.iXmlNodeSqlQueryOpen(options.error) + stmt + iXml.iXmlNodeSqlQueryClose();
this.xml += `<query error='${options.error}'>${stmt}</query>`;
} else {
this.xml += iXml.iXmlNodeSqlQueryOpen() + stmt + iXml.iXmlNodeSqlQueryClose();
this.xml += `<query error='fast'>${stmt}</query>`;
}
}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Most of these could be something like

addQuery(stmt,options={}){this.xml+=`<prepare error='${options.error||'fast'}'>${stmt}</prepare>`;}

Comment threadlib/SqlCall.js
@abmusse

Copy link
Copy Markdown
MemberAuthor

Noticed that SqlCall.commit will no-op when options.action is not specified.

Check out the unit test: https://github.com/IBM/nodejs-itoolkit/blob/master/test/unit/SqlCallUnit.js#L113

Looks like iXmlNodeSqlCommit intended to default to rollback as the default action.

I think this should default to commit action instead.

Comment threadlib/SqlCall.js Outdated
}

tables(params, options = {}) {
this.xml += `<tables${options.error ? ` error='${options.error}'` : ''}>`;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
this.xml+=`<tables${options.error ? ` error='${options.error}'` : ''}>`;
this.xml+=`<tableserror='${options.error||'fast'}'>`;

It's a slight behavior change, but much clearer.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And by behavior change, I mean that we would be extraneously sending the default error option instead of leaving it blank and letting XMLSERVICE default it. The default is still the same, however, so the only difference is that we send some extra data in the XML that we didn't need to, but it's unlikely to hurt anything.

@abmusseabmusseFeb 14, 2020

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense we would need to update the unit tests as well to expect error to be sent by default now

Comment threadlib/SqlCall.js Outdated
this.xml += iXml.iXmlNodeSqlTableprivOpen();
}
tablePriv(params, options = {}) {
this.xml += `<tablepriv${options.error ? ` error='${options.error}'` : ''}>`;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as tables above.

Comment threadlib/SqlCall.js Outdated
this.xml += iXml.iXmlNodeSqlSpecialOpen();
}
special(params, options = {}) {
this.xml += `<special${options.error ? ` error='${options.error}'` : ''}>`;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like there's a bunch of them. All of them should be adjusted.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All should be fixed now

@kadlerkadler left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One minor change and I think we're good!

Comment threadlib/SqlCall.js Outdated
@abmusse
abmusse requested a review from kadlerFebruary 19, 2020 21:50
- Add error=fast default values for tests
- Add action=rollback default for commit tests

@kadlerkadler left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@kadler
kadler merged commit 82cb0d1 into IBM:masterFeb 20, 2020
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

SqlCall.commit will no-op when an action is not specified

2 participants

@abmusse@kadler
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

refactor: Remove ixml refs in SqlCall - #102

Merged
kadler merged 2 commits into
IBM:masterfrom
abmusse:remove-ixml-for-sqlcall
Feb 20, 2020
Merged

refactor: Remove ixml refs in SqlCall#102
kadler merged 2 commits into
IBM:masterfrom
abmusse:remove-ixml-for-sqlcall

Conversation

@abmusse

@abmusseabmusse commented Feb 10, 2020

Copy link
Copy Markdown
Member

Part of #96

Resolves#110

@abmusse

Copy link
Copy Markdown
MemberAuthor

After removing ixml refs from SqlCall I ran the unit tests in SqlCallUnit.js:

$ npm test test/unit/SqlCallUnit.js ....
47 passing (30ms)
3 failing
1) SqlCall Class Unit Tests
connect
appends connect to sql XML:
TypeError: sql.connect is not a function
at Context.<anonymous> (test/unit/SqlCallUnit.js:190:11)
at processImmediate (internal/timers.js:439:21)
2) SqlCall Class Unit Tests
setOptions
appends options to sql XML:
TypeError: sql.setOptions is not a function
at Context.<anonymous> (test/unit/SqlCallUnit.js:200:11)
at processImmediate (internal/timers.js:439:21)
3) SqlCall Class Unit Tests
setOptions
appends options without options object to sql XML:
TypeError: sql.setOptions is not a function
at Context.<anonymous> (test/unit/SqlCallUnit.js:209:11)
at processImmediate (internal/timers.js:439:21)

All passed except SqlCall.connect and SqlCall.setOptions unit tests.

These functions were removed with #56 and these unit tests also need to be removed.

@abmusse

Copy link
Copy Markdown
MemberAuthor

Opened #106 for the above issue

@abmusse
abmusse marked this pull request as ready for review February 11, 2020 21:39
Comment threadlib/SqlCall.js
Comment threadlib/SqlCall.js Outdated
Comment on lines 33 to 35
addQuery(stmt, options) {
if (options && options.error) {
this.xml += iXml.iXmlNodeSqlQueryOpen(options.error) + stmt + iXml.iXmlNodeSqlQueryClose();
this.xml += `<query error='${options.error}'>${stmt}</query>`;
} else {
this.xml += iXml.iXmlNodeSqlQueryOpen() + stmt + iXml.iXmlNodeSqlQueryClose();
this.xml += `<query error='fast'>${stmt}</query>`;
}
}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Most of these could be something like

addQuery(stmt,options={}){this.xml+=`<prepare error='${options.error||'fast'}'>${stmt}</prepare>`;}

Comment threadlib/SqlCall.js
@abmusse

Copy link
Copy Markdown
MemberAuthor

Noticed that SqlCall.commit will no-op when options.action is not specified.

Check out the unit test: https://github.com/IBM/nodejs-itoolkit/blob/master/test/unit/SqlCallUnit.js#L113

Looks like iXmlNodeSqlCommit intended to default to rollback as the default action.

I think this should default to commit action instead.

Comment threadlib/SqlCall.js Outdated
}

tables(params, options = {}) {
this.xml += `<tables${options.error ? ` error='${options.error}'` : ''}>`;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
this.xml+=`<tables${options.error ? ` error='${options.error}'` : ''}>`;
this.xml+=`<tableserror='${options.error||'fast'}'>`;

It's a slight behavior change, but much clearer.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And by behavior change, I mean that we would be extraneously sending the default error option instead of leaving it blank and letting XMLSERVICE default it. The default is still the same, however, so the only difference is that we send some extra data in the XML that we didn't need to, but it's unlikely to hurt anything.

@abmusseabmusseFeb 14, 2020

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense we would need to update the unit tests as well to expect error to be sent by default now

Comment threadlib/SqlCall.js Outdated
this.xml += iXml.iXmlNodeSqlTableprivOpen();
}
tablePriv(params, options = {}) {
this.xml += `<tablepriv${options.error ? ` error='${options.error}'` : ''}>`;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as tables above.

Comment threadlib/SqlCall.js Outdated
this.xml += iXml.iXmlNodeSqlSpecialOpen();
}
special(params, options = {}) {
this.xml += `<special${options.error ? ` error='${options.error}'` : ''}>`;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like there's a bunch of them. All of them should be adjusted.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All should be fixed now

@kadlerkadler left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One minor change and I think we're good!

Comment threadlib/SqlCall.js Outdated
@abmusse
abmusse requested a review from kadlerFebruary 19, 2020 21:50
- Add error=fast default values for tests
- Add action=rollback default for commit tests

@kadlerkadler left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@kadler
kadler merged commit 82cb0d1 into IBM:masterFeb 20, 2020
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

SqlCall.commit will no-op when an action is not specified

2 participants

@abmusse@kadler
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

refactor: Remove ixml refs in SqlCall - #102

Merged
kadler merged 2 commits into
IBM:masterfrom
abmusse:remove-ixml-for-sqlcall
Feb 20, 2020
Merged

refactor: Remove ixml refs in SqlCall#102
kadler merged 2 commits into
IBM:masterfrom
abmusse:remove-ixml-for-sqlcall

Conversation

@abmusse

@abmusseabmusse commented Feb 10, 2020

Copy link
Copy Markdown
Member

Part of #96

Resolves#110

@abmusse

Copy link
Copy Markdown
MemberAuthor

After removing ixml refs from SqlCall I ran the unit tests in SqlCallUnit.js:

$ npm test test/unit/SqlCallUnit.js ....
47 passing (30ms)
3 failing
1) SqlCall Class Unit Tests
connect
appends connect to sql XML:
TypeError: sql.connect is not a function
at Context.<anonymous> (test/unit/SqlCallUnit.js:190:11)
at processImmediate (internal/timers.js:439:21)
2) SqlCall Class Unit Tests
setOptions
appends options to sql XML:
TypeError: sql.setOptions is not a function
at Context.<anonymous> (test/unit/SqlCallUnit.js:200:11)
at processImmediate (internal/timers.js:439:21)
3) SqlCall Class Unit Tests
setOptions
appends options without options object to sql XML:
TypeError: sql.setOptions is not a function
at Context.<anonymous> (test/unit/SqlCallUnit.js:209:11)
at processImmediate (internal/timers.js:439:21)

All passed except SqlCall.connect and SqlCall.setOptions unit tests.

These functions were removed with #56 and these unit tests also need to be removed.

@abmusse

Copy link
Copy Markdown
MemberAuthor

Opened #106 for the above issue

@abmusse
abmusse marked this pull request as ready for review February 11, 2020 21:39
Comment threadlib/SqlCall.js
Comment threadlib/SqlCall.js Outdated
Comment on lines 33 to 35
addQuery(stmt, options) {
if (options && options.error) {
this.xml += iXml.iXmlNodeSqlQueryOpen(options.error) + stmt + iXml.iXmlNodeSqlQueryClose();
this.xml += `<query error='${options.error}'>${stmt}</query>`;
} else {
this.xml += iXml.iXmlNodeSqlQueryOpen() + stmt + iXml.iXmlNodeSqlQueryClose();
this.xml += `<query error='fast'>${stmt}</query>`;
}
}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Most of these could be something like

addQuery(stmt,options={}){this.xml+=`<prepare error='${options.error||'fast'}'>${stmt}</prepare>`;}

Comment threadlib/SqlCall.js
@abmusse

Copy link
Copy Markdown
MemberAuthor

Noticed that SqlCall.commit will no-op when options.action is not specified.

Check out the unit test: https://github.com/IBM/nodejs-itoolkit/blob/master/test/unit/SqlCallUnit.js#L113

Looks like iXmlNodeSqlCommit intended to default to rollback as the default action.

I think this should default to commit action instead.

Comment threadlib/SqlCall.js Outdated
}

tables(params, options = {}) {
this.xml += `<tables${options.error ? ` error='${options.error}'` : ''}>`;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
this.xml+=`<tables${options.error ? ` error='${options.error}'` : ''}>`;
this.xml+=`<tableserror='${options.error||'fast'}'>`;

It's a slight behavior change, but much clearer.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And by behavior change, I mean that we would be extraneously sending the default error option instead of leaving it blank and letting XMLSERVICE default it. The default is still the same, however, so the only difference is that we send some extra data in the XML that we didn't need to, but it's unlikely to hurt anything.

@abmusseabmusseFeb 14, 2020

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense we would need to update the unit tests as well to expect error to be sent by default now

Comment threadlib/SqlCall.js Outdated
this.xml += iXml.iXmlNodeSqlTableprivOpen();
}
tablePriv(params, options = {}) {
this.xml += `<tablepriv${options.error ? ` error='${options.error}'` : ''}>`;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as tables above.

Comment threadlib/SqlCall.js Outdated
this.xml += iXml.iXmlNodeSqlSpecialOpen();
}
special(params, options = {}) {
this.xml += `<special${options.error ? ` error='${options.error}'` : ''}>`;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like there's a bunch of them. All of them should be adjusted.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All should be fixed now

@kadlerkadler left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One minor change and I think we're good!

Comment threadlib/SqlCall.js Outdated
@abmusse
abmusse requested a review from kadlerFebruary 19, 2020 21:50
- Add error=fast default values for tests
- Add action=rollback default for commit tests

@kadlerkadler left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@kadler
kadler merged commit 82cb0d1 into IBM:masterFeb 20, 2020
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

SqlCall.commit will no-op when an action is not specified

2 participants

@abmusse@kadler
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

refactor: Remove ixml refs in SqlCall - #102

Merged
kadler merged 2 commits into
IBM:masterfrom
abmusse:remove-ixml-for-sqlcall
Feb 20, 2020
Merged

refactor: Remove ixml refs in SqlCall#102
kadler merged 2 commits into
IBM:masterfrom
abmusse:remove-ixml-for-sqlcall

Conversation

@abmusse

@abmusseabmusse commented Feb 10, 2020

Copy link
Copy Markdown
Member

Part of #96

Resolves#110

@abmusse

Copy link
Copy Markdown
MemberAuthor

After removing ixml refs from SqlCall I ran the unit tests in SqlCallUnit.js:

$ npm test test/unit/SqlCallUnit.js ....
47 passing (30ms)
3 failing
1) SqlCall Class Unit Tests
connect
appends connect to sql XML:
TypeError: sql.connect is not a function
at Context.<anonymous> (test/unit/SqlCallUnit.js:190:11)
at processImmediate (internal/timers.js:439:21)
2) SqlCall Class Unit Tests
setOptions
appends options to sql XML:
TypeError: sql.setOptions is not a function
at Context.<anonymous> (test/unit/SqlCallUnit.js:200:11)
at processImmediate (internal/timers.js:439:21)
3) SqlCall Class Unit Tests
setOptions
appends options without options object to sql XML:
TypeError: sql.setOptions is not a function
at Context.<anonymous> (test/unit/SqlCallUnit.js:209:11)
at processImmediate (internal/timers.js:439:21)

All passed except SqlCall.connect and SqlCall.setOptions unit tests.

These functions were removed with #56 and these unit tests also need to be removed.

@abmusse

Copy link
Copy Markdown
MemberAuthor

Opened #106 for the above issue

@abmusse
abmusse marked this pull request as ready for review February 11, 2020 21:39
Comment threadlib/SqlCall.js
Comment threadlib/SqlCall.js Outdated
Comment on lines 33 to 35
addQuery(stmt, options) {
if (options && options.error) {
this.xml += iXml.iXmlNodeSqlQueryOpen(options.error) + stmt + iXml.iXmlNodeSqlQueryClose();
this.xml += `<query error='${options.error}'>${stmt}</query>`;
} else {
this.xml += iXml.iXmlNodeSqlQueryOpen() + stmt + iXml.iXmlNodeSqlQueryClose();
this.xml += `<query error='fast'>${stmt}</query>`;
}
}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Most of these could be something like

addQuery(stmt,options={}){this.xml+=`<prepare error='${options.error||'fast'}'>${stmt}</prepare>`;}

Comment threadlib/SqlCall.js
@abmusse

Copy link
Copy Markdown
MemberAuthor

Noticed that SqlCall.commit will no-op when options.action is not specified.

Check out the unit test: https://github.com/IBM/nodejs-itoolkit/blob/master/test/unit/SqlCallUnit.js#L113

Looks like iXmlNodeSqlCommit intended to default to rollback as the default action.

I think this should default to commit action instead.

Comment threadlib/SqlCall.js Outdated
}

tables(params, options = {}) {
this.xml += `<tables${options.error ? ` error='${options.error}'` : ''}>`;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
this.xml+=`<tables${options.error ? ` error='${options.error}'` : ''}>`;
this.xml+=`<tableserror='${options.error||'fast'}'>`;

It's a slight behavior change, but much clearer.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And by behavior change, I mean that we would be extraneously sending the default error option instead of leaving it blank and letting XMLSERVICE default it. The default is still the same, however, so the only difference is that we send some extra data in the XML that we didn't need to, but it's unlikely to hurt anything.

@abmusseabmusseFeb 14, 2020

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense we would need to update the unit tests as well to expect error to be sent by default now

Comment threadlib/SqlCall.js Outdated
this.xml += iXml.iXmlNodeSqlTableprivOpen();
}
tablePriv(params, options = {}) {
this.xml += `<tablepriv${options.error ? ` error='${options.error}'` : ''}>`;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as tables above.

Comment threadlib/SqlCall.js Outdated
this.xml += iXml.iXmlNodeSqlSpecialOpen();
}
special(params, options = {}) {
this.xml += `<special${options.error ? ` error='${options.error}'` : ''}>`;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like there's a bunch of them. All of them should be adjusted.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All should be fixed now

@kadlerkadler left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One minor change and I think we're good!

Comment threadlib/SqlCall.js Outdated
@abmusse
abmusse requested a review from kadlerFebruary 19, 2020 21:50
- Add error=fast default values for tests
- Add action=rollback default for commit tests

@kadlerkadler left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@kadler
kadler merged commit 82cb0d1 into IBM:masterFeb 20, 2020
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

SqlCall.commit will no-op when an action is not specified

2 participants

@abmusse@kadler