mirror of https://github.com/nocodb/nocodb
Raju Udava
3 years ago
9 changed files with 234487 additions and 0 deletions
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,951 @@
|
||||
{ |
||||
"name": "nc-xcdb", |
||||
"version": "1.0.0", |
||||
"lockfileVersion": 1, |
||||
"requires": true, |
||||
"dependencies": { |
||||
"abbrev": { |
||||
"version": "1.1.1", |
||||
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", |
||||
"integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" |
||||
}, |
||||
"ajv": { |
||||
"version": "6.12.6", |
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", |
||||
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", |
||||
"optional": true, |
||||
"requires": { |
||||
"fast-deep-equal": "^3.1.1", |
||||
"fast-json-stable-stringify": "^2.0.0", |
||||
"json-schema-traverse": "^0.4.1", |
||||
"uri-js": "^4.2.2" |
||||
} |
||||
}, |
||||
"ansi-regex": { |
||||
"version": "2.1.1", |
||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", |
||||
"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" |
||||
}, |
||||
"aproba": { |
||||
"version": "1.2.0", |
||||
"resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", |
||||
"integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" |
||||
}, |
||||
"are-we-there-yet": { |
||||
"version": "1.1.7", |
||||
"resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", |
||||
"integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", |
||||
"requires": { |
||||
"delegates": "^1.0.0", |
||||
"readable-stream": "^2.0.6" |
||||
} |
||||
}, |
||||
"asn1": { |
||||
"version": "0.2.6", |
||||
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", |
||||
"integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", |
||||
"optional": true, |
||||
"requires": { |
||||
"safer-buffer": "~2.1.0" |
||||
} |
||||
}, |
||||
"assert-plus": { |
||||
"version": "1.0.0", |
||||
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", |
||||
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", |
||||
"optional": true |
||||
}, |
||||
"asynckit": { |
||||
"version": "0.4.0", |
||||
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", |
||||
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", |
||||
"optional": true |
||||
}, |
||||
"aws-sign2": { |
||||
"version": "0.7.0", |
||||
"resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", |
||||
"integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", |
||||
"optional": true |
||||
}, |
||||
"aws4": { |
||||
"version": "1.11.0", |
||||
"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", |
||||
"integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", |
||||
"optional": true |
||||
}, |
||||
"balanced-match": { |
||||
"version": "1.0.2", |
||||
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", |
||||
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" |
||||
}, |
||||
"bcrypt-pbkdf": { |
||||
"version": "1.0.2", |
||||
"resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", |
||||
"integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", |
||||
"optional": true, |
||||
"requires": { |
||||
"tweetnacl": "^0.14.3" |
||||
} |
||||
}, |
||||
"block-stream": { |
||||
"version": "0.0.9", |
||||
"resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", |
||||
"integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", |
||||
"optional": true, |
||||
"requires": { |
||||
"inherits": "~2.0.0" |
||||
} |
||||
}, |
||||
"brace-expansion": { |
||||
"version": "1.1.11", |
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", |
||||
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", |
||||
"requires": { |
||||
"balanced-match": "^1.0.0", |
||||
"concat-map": "0.0.1" |
||||
} |
||||
}, |
||||
"caseless": { |
||||
"version": "0.12.0", |
||||
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", |
||||
"integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", |
||||
"optional": true |
||||
}, |
||||
"chownr": { |
||||
"version": "1.1.4", |
||||
"resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", |
||||
"integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" |
||||
}, |
||||
"code-point-at": { |
||||
"version": "1.1.0", |
||||
"resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", |
||||
"integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" |
||||
}, |
||||
"combined-stream": { |
||||
"version": "1.0.8", |
||||
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", |
||||
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", |
||||
"optional": true, |
||||
"requires": { |
||||
"delayed-stream": "~1.0.0" |
||||
} |
||||
}, |
||||
"concat-map": { |
||||
"version": "0.0.1", |
||||
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", |
||||
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" |
||||
}, |
||||
"console-control-strings": { |
||||
"version": "1.1.0", |
||||
"resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", |
||||
"integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" |
||||
}, |
||||
"core-util-is": { |
||||
"version": "1.0.3", |
||||
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", |
||||
"integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" |
||||
}, |
||||
"dashdash": { |
||||
"version": "1.14.1", |
||||
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", |
||||
"integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", |
||||
"optional": true, |
||||
"requires": { |
||||
"assert-plus": "^1.0.0" |
||||
} |
||||
}, |
||||
"debug": { |
||||
"version": "3.2.7", |
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", |
||||
"integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", |
||||
"requires": { |
||||
"ms": "^2.1.1" |
||||
} |
||||
}, |
||||
"deep-extend": { |
||||
"version": "0.6.0", |
||||
"resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", |
||||
"integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" |
||||
}, |
||||
"delayed-stream": { |
||||
"version": "1.0.0", |
||||
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", |
||||
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", |
||||
"optional": true |
||||
}, |
||||
"delegates": { |
||||
"version": "1.0.0", |
||||
"resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", |
||||
"integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" |
||||
}, |
||||
"detect-libc": { |
||||
"version": "1.0.3", |
||||
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", |
||||
"integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=" |
||||
}, |
||||
"ecc-jsbn": { |
||||
"version": "0.1.2", |
||||
"resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", |
||||
"integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", |
||||
"optional": true, |
||||
"requires": { |
||||
"jsbn": "~0.1.0", |
||||
"safer-buffer": "^2.1.0" |
||||
} |
||||
}, |
||||
"extend": { |
||||
"version": "3.0.2", |
||||
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", |
||||
"integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", |
||||
"optional": true |
||||
}, |
||||
"extsprintf": { |
||||
"version": "1.3.0", |
||||
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", |
||||
"integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", |
||||
"optional": true |
||||
}, |
||||
"fast-deep-equal": { |
||||
"version": "3.1.3", |
||||
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", |
||||
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", |
||||
"optional": true |
||||
}, |
||||
"fast-json-stable-stringify": { |
||||
"version": "2.1.0", |
||||
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", |
||||
"integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", |
||||
"optional": true |
||||
}, |
||||
"forever-agent": { |
||||
"version": "0.6.1", |
||||
"resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", |
||||
"integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", |
||||
"optional": true |
||||
}, |
||||
"form-data": { |
||||
"version": "2.3.3", |
||||
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", |
||||
"integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", |
||||
"optional": true, |
||||
"requires": { |
||||
"asynckit": "^0.4.0", |
||||
"combined-stream": "^1.0.6", |
||||
"mime-types": "^2.1.12" |
||||
} |
||||
}, |
||||
"fs-minipass": { |
||||
"version": "1.2.7", |
||||
"resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", |
||||
"integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", |
||||
"requires": { |
||||
"minipass": "^2.6.0" |
||||
} |
||||
}, |
||||
"fs.realpath": { |
||||
"version": "1.0.0", |
||||
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", |
||||
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" |
||||
}, |
||||
"fstream": { |
||||
"version": "1.0.12", |
||||
"resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", |
||||
"integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", |
||||
"optional": true, |
||||
"requires": { |
||||
"graceful-fs": "^4.1.2", |
||||
"inherits": "~2.0.0", |
||||
"mkdirp": ">=0.5 0", |
||||
"rimraf": "2" |
||||
} |
||||
}, |
||||
"gauge": { |
||||
"version": "2.7.4", |
||||
"resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", |
||||
"integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", |
||||
"requires": { |
||||
"aproba": "^1.0.3", |
||||
"console-control-strings": "^1.0.0", |
||||
"has-unicode": "^2.0.0", |
||||
"object-assign": "^4.1.0", |
||||
"signal-exit": "^3.0.0", |
||||
"string-width": "^1.0.1", |
||||
"strip-ansi": "^3.0.1", |
||||
"wide-align": "^1.1.0" |
||||
} |
||||
}, |
||||
"getpass": { |
||||
"version": "0.1.7", |
||||
"resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", |
||||
"integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", |
||||
"optional": true, |
||||
"requires": { |
||||
"assert-plus": "^1.0.0" |
||||
} |
||||
}, |
||||
"glob": { |
||||
"version": "7.2.0", |
||||
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", |
||||
"integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", |
||||
"requires": { |
||||
"fs.realpath": "^1.0.0", |
||||
"inflight": "^1.0.4", |
||||
"inherits": "2", |
||||
"minimatch": "^3.0.4", |
||||
"once": "^1.3.0", |
||||
"path-is-absolute": "^1.0.0" |
||||
} |
||||
}, |
||||
"graceful-fs": { |
||||
"version": "4.2.8", |
||||
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", |
||||
"integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==", |
||||
"optional": true |
||||
}, |
||||
"har-schema": { |
||||
"version": "2.0.0", |
||||
"resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", |
||||
"integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", |
||||
"optional": true |
||||
}, |
||||
"har-validator": { |
||||
"version": "5.1.5", |
||||
"resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", |
||||
"integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", |
||||
"optional": true, |
||||
"requires": { |
||||
"ajv": "^6.12.3", |
||||
"har-schema": "^2.0.0" |
||||
} |
||||
}, |
||||
"has-unicode": { |
||||
"version": "2.0.1", |
||||
"resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", |
||||
"integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" |
||||
}, |
||||
"http-signature": { |
||||
"version": "1.2.0", |
||||
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", |
||||
"integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", |
||||
"optional": true, |
||||
"requires": { |
||||
"assert-plus": "^1.0.0", |
||||
"jsprim": "^1.2.2", |
||||
"sshpk": "^1.7.0" |
||||
} |
||||
}, |
||||
"iconv-lite": { |
||||
"version": "0.4.24", |
||||
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", |
||||
"integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", |
||||
"requires": { |
||||
"safer-buffer": ">= 2.1.2 < 3" |
||||
} |
||||
}, |
||||
"ignore-walk": { |
||||
"version": "3.0.4", |
||||
"resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.4.tgz", |
||||
"integrity": "sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==", |
||||
"requires": { |
||||
"minimatch": "^3.0.4" |
||||
} |
||||
}, |
||||
"inflight": { |
||||
"version": "1.0.6", |
||||
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", |
||||
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", |
||||
"requires": { |
||||
"once": "^1.3.0", |
||||
"wrappy": "1" |
||||
} |
||||
}, |
||||
"inherits": { |
||||
"version": "2.0.4", |
||||
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", |
||||
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" |
||||
}, |
||||
"ini": { |
||||
"version": "1.3.8", |
||||
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", |
||||
"integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" |
||||
}, |
||||
"is-fullwidth-code-point": { |
||||
"version": "1.0.0", |
||||
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", |
||||
"integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", |
||||
"requires": { |
||||
"number-is-nan": "^1.0.0" |
||||
} |
||||
}, |
||||
"is-typedarray": { |
||||
"version": "1.0.0", |
||||
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", |
||||
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", |
||||
"optional": true |
||||
}, |
||||
"isarray": { |
||||
"version": "1.0.0", |
||||
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", |
||||
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" |
||||
}, |
||||
"isexe": { |
||||
"version": "2.0.0", |
||||
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", |
||||
"integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", |
||||
"optional": true |
||||
}, |
||||
"isstream": { |
||||
"version": "0.1.2", |
||||
"resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", |
||||
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", |
||||
"optional": true |
||||
}, |
||||
"jsbn": { |
||||
"version": "0.1.1", |
||||
"resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", |
||||
"integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", |
||||
"optional": true |
||||
}, |
||||
"json-schema": { |
||||
"version": "0.4.0", |
||||
"resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", |
||||
"integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", |
||||
"optional": true |
||||
}, |
||||
"json-schema-traverse": { |
||||
"version": "0.4.1", |
||||
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", |
||||
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", |
||||
"optional": true |
||||
}, |
||||
"json-stringify-safe": { |
||||
"version": "5.0.1", |
||||
"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", |
||||
"integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", |
||||
"optional": true |
||||
}, |
||||
"jsprim": { |
||||
"version": "1.4.2", |
||||
"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", |
||||
"integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", |
||||
"optional": true, |
||||
"requires": { |
||||
"assert-plus": "1.0.0", |
||||
"extsprintf": "1.3.0", |
||||
"json-schema": "0.4.0", |
||||
"verror": "1.10.0" |
||||
} |
||||
}, |
||||
"mime-db": { |
||||
"version": "1.51.0", |
||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", |
||||
"integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", |
||||
"optional": true |
||||
}, |
||||
"mime-types": { |
||||
"version": "2.1.34", |
||||
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", |
||||
"integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", |
||||
"optional": true, |
||||
"requires": { |
||||
"mime-db": "1.51.0" |
||||
} |
||||
}, |
||||
"minimatch": { |
||||
"version": "3.0.4", |
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", |
||||
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", |
||||
"requires": { |
||||
"brace-expansion": "^1.1.7" |
||||
} |
||||
}, |
||||
"minimist": { |
||||
"version": "1.2.5", |
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", |
||||
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" |
||||
}, |
||||
"minipass": { |
||||
"version": "2.9.0", |
||||
"resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", |
||||
"integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", |
||||
"requires": { |
||||
"safe-buffer": "^5.1.2", |
||||
"yallist": "^3.0.0" |
||||
} |
||||
}, |
||||
"minizlib": { |
||||
"version": "1.3.3", |
||||
"resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", |
||||
"integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", |
||||
"requires": { |
||||
"minipass": "^2.9.0" |
||||
} |
||||
}, |
||||
"mkdirp": { |
||||
"version": "0.5.5", |
||||
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", |
||||
"integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", |
||||
"requires": { |
||||
"minimist": "^1.2.5" |
||||
} |
||||
}, |
||||
"ms": { |
||||
"version": "2.1.3", |
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", |
||||
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" |
||||
}, |
||||
"needle": { |
||||
"version": "2.9.1", |
||||
"resolved": "https://registry.npmjs.org/needle/-/needle-2.9.1.tgz", |
||||
"integrity": "sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ==", |
||||
"requires": { |
||||
"debug": "^3.2.6", |
||||
"iconv-lite": "^0.4.4", |
||||
"sax": "^1.2.4" |
||||
} |
||||
}, |
||||
"node-addon-api": { |
||||
"version": "3.2.1", |
||||
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", |
||||
"integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==" |
||||
}, |
||||
"node-gyp": { |
||||
"version": "3.8.0", |
||||
"resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", |
||||
"integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", |
||||
"optional": true, |
||||
"requires": { |
||||
"fstream": "^1.0.0", |
||||
"glob": "^7.0.3", |
||||
"graceful-fs": "^4.1.2", |
||||
"mkdirp": "^0.5.0", |
||||
"nopt": "2 || 3", |
||||
"npmlog": "0 || 1 || 2 || 3 || 4", |
||||
"osenv": "0", |
||||
"request": "^2.87.0", |
||||
"rimraf": "2", |
||||
"semver": "~5.3.0", |
||||
"tar": "^2.0.0", |
||||
"which": "1" |
||||
} |
||||
}, |
||||
"node-pre-gyp": { |
||||
"version": "0.11.0", |
||||
"resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.11.0.tgz", |
||||
"integrity": "sha512-TwWAOZb0j7e9eGaf9esRx3ZcLaE5tQ2lvYy1pb5IAaG1a2e2Kv5Lms1Y4hpj+ciXJRofIxxlt5haeQ/2ANeE0Q==", |
||||
"requires": { |
||||
"detect-libc": "^1.0.2", |
||||
"mkdirp": "^0.5.1", |
||||
"needle": "^2.2.1", |
||||
"nopt": "^4.0.1", |
||||
"npm-packlist": "^1.1.6", |
||||
"npmlog": "^4.0.2", |
||||
"rc": "^1.2.7", |
||||
"rimraf": "^2.6.1", |
||||
"semver": "^5.3.0", |
||||
"tar": "^4" |
||||
}, |
||||
"dependencies": { |
||||
"nopt": { |
||||
"version": "4.0.3", |
||||
"resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", |
||||
"integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", |
||||
"requires": { |
||||
"abbrev": "1", |
||||
"osenv": "^0.1.4" |
||||
} |
||||
}, |
||||
"safe-buffer": { |
||||
"version": "5.2.1", |
||||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", |
||||
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" |
||||
}, |
||||
"tar": { |
||||
"version": "4.4.19", |
||||
"resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz", |
||||
"integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==", |
||||
"requires": { |
||||
"chownr": "^1.1.4", |
||||
"fs-minipass": "^1.2.7", |
||||
"minipass": "^2.9.0", |
||||
"minizlib": "^1.3.3", |
||||
"mkdirp": "^0.5.5", |
||||
"safe-buffer": "^5.2.1", |
||||
"yallist": "^3.1.1" |
||||
} |
||||
} |
||||
} |
||||
}, |
||||
"nopt": { |
||||
"version": "3.0.6", |
||||
"resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", |
||||
"integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", |
||||
"optional": true, |
||||
"requires": { |
||||
"abbrev": "1" |
||||
} |
||||
}, |
||||
"npm-bundled": { |
||||
"version": "1.1.2", |
||||
"resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz", |
||||
"integrity": "sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==", |
||||
"requires": { |
||||
"npm-normalize-package-bin": "^1.0.1" |
||||
} |
||||
}, |
||||
"npm-normalize-package-bin": { |
||||
"version": "1.0.1", |
||||
"resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", |
||||
"integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==" |
||||
}, |
||||
"npm-packlist": { |
||||
"version": "1.4.8", |
||||
"resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz", |
||||
"integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==", |
||||
"requires": { |
||||
"ignore-walk": "^3.0.1", |
||||
"npm-bundled": "^1.0.1", |
||||
"npm-normalize-package-bin": "^1.0.1" |
||||
} |
||||
}, |
||||
"npmlog": { |
||||
"version": "4.1.2", |
||||
"resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", |
||||
"integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", |
||||
"requires": { |
||||
"are-we-there-yet": "~1.1.2", |
||||
"console-control-strings": "~1.1.0", |
||||
"gauge": "~2.7.3", |
||||
"set-blocking": "~2.0.0" |
||||
} |
||||
}, |
||||
"number-is-nan": { |
||||
"version": "1.0.1", |
||||
"resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", |
||||
"integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" |
||||
}, |
||||
"oauth-sign": { |
||||
"version": "0.9.0", |
||||
"resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", |
||||
"integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", |
||||
"optional": true |
||||
}, |
||||
"object-assign": { |
||||
"version": "4.1.1", |
||||
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", |
||||
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" |
||||
}, |
||||
"once": { |
||||
"version": "1.4.0", |
||||
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", |
||||
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", |
||||
"requires": { |
||||
"wrappy": "1" |
||||
} |
||||
}, |
||||
"os-homedir": { |
||||
"version": "1.0.2", |
||||
"resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", |
||||
"integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" |
||||
}, |
||||
"os-tmpdir": { |
||||
"version": "1.0.2", |
||||
"resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", |
||||
"integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" |
||||
}, |
||||
"osenv": { |
||||
"version": "0.1.5", |
||||
"resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", |
||||
"integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", |
||||
"requires": { |
||||
"os-homedir": "^1.0.0", |
||||
"os-tmpdir": "^1.0.0" |
||||
} |
||||
}, |
||||
"path-is-absolute": { |
||||
"version": "1.0.1", |
||||
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", |
||||
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" |
||||
}, |
||||
"performance-now": { |
||||
"version": "2.1.0", |
||||
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", |
||||
"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", |
||||
"optional": true |
||||
}, |
||||
"process-nextick-args": { |
||||
"version": "2.0.1", |
||||
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", |
||||
"integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" |
||||
}, |
||||
"psl": { |
||||
"version": "1.8.0", |
||||
"resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", |
||||
"integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", |
||||
"optional": true |
||||
}, |
||||
"punycode": { |
||||
"version": "2.1.1", |
||||
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", |
||||
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", |
||||
"optional": true |
||||
}, |
||||
"qs": { |
||||
"version": "6.5.2", |
||||
"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", |
||||
"integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", |
||||
"optional": true |
||||
}, |
||||
"rc": { |
||||
"version": "1.2.8", |
||||
"resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", |
||||
"integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", |
||||
"requires": { |
||||
"deep-extend": "^0.6.0", |
||||
"ini": "~1.3.0", |
||||
"minimist": "^1.2.0", |
||||
"strip-json-comments": "~2.0.1" |
||||
} |
||||
}, |
||||
"readable-stream": { |
||||
"version": "2.3.7", |
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", |
||||
"integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", |
||||
"requires": { |
||||
"core-util-is": "~1.0.0", |
||||
"inherits": "~2.0.3", |
||||
"isarray": "~1.0.0", |
||||
"process-nextick-args": "~2.0.0", |
||||
"safe-buffer": "~5.1.1", |
||||
"string_decoder": "~1.1.1", |
||||
"util-deprecate": "~1.0.1" |
||||
} |
||||
}, |
||||
"request": { |
||||
"version": "2.88.2", |
||||
"resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", |
||||
"integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", |
||||
"optional": true, |
||||
"requires": { |
||||
"aws-sign2": "~0.7.0", |
||||
"aws4": "^1.8.0", |
||||
"caseless": "~0.12.0", |
||||
"combined-stream": "~1.0.6", |
||||
"extend": "~3.0.2", |
||||
"forever-agent": "~0.6.1", |
||||
"form-data": "~2.3.2", |
||||
"har-validator": "~5.1.3", |
||||
"http-signature": "~1.2.0", |
||||
"is-typedarray": "~1.0.0", |
||||
"isstream": "~0.1.2", |
||||
"json-stringify-safe": "~5.0.1", |
||||
"mime-types": "~2.1.19", |
||||
"oauth-sign": "~0.9.0", |
||||
"performance-now": "^2.1.0", |
||||
"qs": "~6.5.2", |
||||
"safe-buffer": "^5.1.2", |
||||
"tough-cookie": "~2.5.0", |
||||
"tunnel-agent": "^0.6.0", |
||||
"uuid": "^3.3.2" |
||||
} |
||||
}, |
||||
"rimraf": { |
||||
"version": "2.7.1", |
||||
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", |
||||
"integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", |
||||
"requires": { |
||||
"glob": "^7.1.3" |
||||
} |
||||
}, |
||||
"safe-buffer": { |
||||
"version": "5.1.2", |
||||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", |
||||
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" |
||||
}, |
||||
"safer-buffer": { |
||||
"version": "2.1.2", |
||||
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", |
||||
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" |
||||
}, |
||||
"sax": { |
||||
"version": "1.2.4", |
||||
"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", |
||||
"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" |
||||
}, |
||||
"semver": { |
||||
"version": "5.3.0", |
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", |
||||
"integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=" |
||||
}, |
||||
"set-blocking": { |
||||
"version": "2.0.0", |
||||
"resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", |
||||
"integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" |
||||
}, |
||||
"signal-exit": { |
||||
"version": "3.0.6", |
||||
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", |
||||
"integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==" |
||||
}, |
||||
"sqlite3": { |
||||
"version": "5.0.2", |
||||
"resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-5.0.2.tgz", |
||||
"integrity": "sha512-1SdTNo+BVU211Xj1csWa8lV6KM0CtucDwRyA0VHl91wEH1Mgh7RxUpI4rVvG7OhHrzCSGaVyW5g8vKvlrk9DJA==", |
||||
"requires": { |
||||
"node-addon-api": "^3.0.0", |
||||
"node-gyp": "3.x", |
||||
"node-pre-gyp": "^0.11.0" |
||||
} |
||||
}, |
||||
"sshpk": { |
||||
"version": "1.16.1", |
||||
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", |
||||
"integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", |
||||
"optional": true, |
||||
"requires": { |
||||
"asn1": "~0.2.3", |
||||
"assert-plus": "^1.0.0", |
||||
"bcrypt-pbkdf": "^1.0.0", |
||||
"dashdash": "^1.12.0", |
||||
"ecc-jsbn": "~0.1.1", |
||||
"getpass": "^0.1.1", |
||||
"jsbn": "~0.1.0", |
||||
"safer-buffer": "^2.0.2", |
||||
"tweetnacl": "~0.14.0" |
||||
} |
||||
}, |
||||
"string-width": { |
||||
"version": "1.0.2", |
||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", |
||||
"integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", |
||||
"requires": { |
||||
"code-point-at": "^1.0.0", |
||||
"is-fullwidth-code-point": "^1.0.0", |
||||
"strip-ansi": "^3.0.0" |
||||
} |
||||
}, |
||||
"string_decoder": { |
||||
"version": "1.1.1", |
||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", |
||||
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", |
||||
"requires": { |
||||
"safe-buffer": "~5.1.0" |
||||
} |
||||
}, |
||||
"strip-ansi": { |
||||
"version": "3.0.1", |
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", |
||||
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", |
||||
"requires": { |
||||
"ansi-regex": "^2.0.0" |
||||
} |
||||
}, |
||||
"strip-json-comments": { |
||||
"version": "2.0.1", |
||||
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", |
||||
"integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" |
||||
}, |
||||
"tar": { |
||||
"version": "2.2.2", |
||||
"resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", |
||||
"integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", |
||||
"optional": true, |
||||
"requires": { |
||||
"block-stream": "*", |
||||
"fstream": "^1.0.12", |
||||
"inherits": "2" |
||||
} |
||||
}, |
||||
"tough-cookie": { |
||||
"version": "2.5.0", |
||||
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", |
||||
"integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", |
||||
"optional": true, |
||||
"requires": { |
||||
"psl": "^1.1.28", |
||||
"punycode": "^2.1.1" |
||||
} |
||||
}, |
||||
"tunnel-agent": { |
||||
"version": "0.6.0", |
||||
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", |
||||
"integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", |
||||
"optional": true, |
||||
"requires": { |
||||
"safe-buffer": "^5.0.1" |
||||
} |
||||
}, |
||||
"tweetnacl": { |
||||
"version": "0.14.5", |
||||
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", |
||||
"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", |
||||
"optional": true |
||||
}, |
||||
"uri-js": { |
||||
"version": "4.4.1", |
||||
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", |
||||
"integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", |
||||
"optional": true, |
||||
"requires": { |
||||
"punycode": "^2.1.0" |
||||
} |
||||
}, |
||||
"util-deprecate": { |
||||
"version": "1.0.2", |
||||
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", |
||||
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" |
||||
}, |
||||
"uuid": { |
||||
"version": "3.4.0", |
||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", |
||||
"integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", |
||||
"optional": true |
||||
}, |
||||
"verror": { |
||||
"version": "1.10.0", |
||||
"resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", |
||||
"integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", |
||||
"optional": true, |
||||
"requires": { |
||||
"assert-plus": "^1.0.0", |
||||
"core-util-is": "1.0.2", |
||||
"extsprintf": "^1.2.0" |
||||
}, |
||||
"dependencies": { |
||||
"core-util-is": { |
||||
"version": "1.0.2", |
||||
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", |
||||
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", |
||||
"optional": true |
||||
} |
||||
} |
||||
}, |
||||
"which": { |
||||
"version": "1.3.1", |
||||
"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", |
||||
"integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", |
||||
"optional": true, |
||||
"requires": { |
||||
"isexe": "^2.0.0" |
||||
} |
||||
}, |
||||
"wide-align": { |
||||
"version": "1.1.5", |
||||
"resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", |
||||
"integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", |
||||
"requires": { |
||||
"string-width": "^1.0.2 || 2 || 3 || 4" |
||||
} |
||||
}, |
||||
"wrappy": { |
||||
"version": "1.0.2", |
||||
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", |
||||
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" |
||||
}, |
||||
"yallist": { |
||||
"version": "3.1.1", |
||||
"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", |
||||
"integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,14 @@
|
||||
{ |
||||
"name": "nc-xcdb", |
||||
"version": "1.0.0", |
||||
"description": "", |
||||
"main": "index.js", |
||||
"scripts": { |
||||
"test": "echo \"Error: no test specified\" && exit 1" |
||||
}, |
||||
"author": "", |
||||
"license": "ISC", |
||||
"dependencies": { |
||||
"sqlite3": "^5.0.2" |
||||
} |
||||
} |
@ -0,0 +1,6 @@
|
||||
#!/bin/bash |
||||
set -v |
||||
|
||||
rm sakila.db |
||||
sqlite3 sakila.db < ./sqlite-sakila-schema.sql |
||||
sqlite3 sakila.db < ./sqlite-sakila-insert-data.sql |
@ -0,0 +1,45 @@
|
||||
/* |
||||
|
||||
Sakila for SQLite is a port of the Sakila example database available for MySQL, which was originally developed by Mike Hillyer of the MySQL AB documentation team. |
||||
This project is designed to help database administrators to decide which database to use for development of new products |
||||
The user can run the same SQL against different kind of databases and compare the performance |
||||
|
||||
License: BSD |
||||
Copyright DB Software Laboratory |
||||
http://www.etl-tools.com |
||||
|
||||
*/ |
||||
|
||||
-- Delete data |
||||
DELETE FROM payment |
||||
; |
||||
DELETE FROM rental |
||||
; |
||||
DELETE FROM customer |
||||
; |
||||
DELETE FROM film_category |
||||
; |
||||
DELETE FROM film_text |
||||
; |
||||
DELETE FROM film_actor |
||||
; |
||||
DELETE FROM inventory |
||||
; |
||||
DELETE FROM film |
||||
; |
||||
DELETE FROM category |
||||
; |
||||
DELETE FROM staff |
||||
; |
||||
DELETE FROM store |
||||
; |
||||
DELETE FROM actor |
||||
; |
||||
DELETE FROM address |
||||
; |
||||
DELETE FROM city |
||||
; |
||||
DELETE FROM country |
||||
; |
||||
DELETE FROM language |
||||
; |
@ -0,0 +1,70 @@
|
||||
/* |
||||
|
||||
Sakila for SQLite is a port of the Sakila example database available for MySQL, which was originally developed by Mike Hillyer of the MySQL AB documentation team. |
||||
This project is designed to help database administrators to decide which database to use for development of new products |
||||
The user can run the same SQL against different kind of databases and compare the performance |
||||
|
||||
License: BSD |
||||
Copyright DB Software Laboratory |
||||
http://www.etl-tools.com |
||||
|
||||
*/ |
||||
|
||||
-- Drop Views |
||||
|
||||
DROP VIEW customer_list |
||||
; |
||||
DROP VIEW film_list |
||||
; |
||||
--DROP VIEW nicer_but_slower_film_list; |
||||
DROP VIEW sales_by_film_category |
||||
; |
||||
DROP VIEW sales_by_store |
||||
; |
||||
DROP VIEW staff_list |
||||
; |
||||
|
||||
-- Drop Tables |
||||
|
||||
DROP TABLE payment |
||||
; |
||||
DROP TABLE rental |
||||
; |
||||
DROP TABLE inventory |
||||
; |
||||
DROP TABLE film_text |
||||
; |
||||
DROP TABLE film_category |
||||
; |
||||
DROP TABLE film_actor |
||||
; |
||||
DROP TABLE film |
||||
; |
||||
DROP TABLE language |
||||
; |
||||
DROP TABLE customer |
||||
; |
||||
DROP TABLE actor |
||||
; |
||||
DROP TABLE category |
||||
; |
||||
DROP TABLE store |
||||
; |
||||
DROP TABLE address |
||||
; |
||||
DROP TABLE staff |
||||
; |
||||
DROP TABLE city |
||||
; |
||||
DROP TABLE country |
||||
; |
||||
|
||||
-- Procedures and views |
||||
--drop procedure film_in_stock; |
||||
--drop procedure film_not_in_stock; |
||||
--drop function get_customer_balance; |
||||
--drop function inventory_held_by_customer; |
||||
--drop function inventory_in_stock; |
||||
--drop procedure rewards_report; |
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,647 @@
|
||||
/* |
||||
|
||||
Sakila for SQLite is a port of the Sakila example database available for MySQL, which was originally developed by Mike Hillyer of the MySQL AB documentation team. |
||||
This project is designed to help database administrators to decide which database to use for development of new products |
||||
The user can run the same SQL against different kind of databases and compare the performance |
||||
|
||||
License: BSD |
||||
Copyright DB Software Laboratory |
||||
http://www.etl-tools.com |
||||
|
||||
*/ |
||||
|
||||
-- |
||||
-- Table structure for table actor |
||||
-- |
||||
--DROP TABLE actor; |
||||
|
||||
BEGIN TRANSACTION; |
||||
|
||||
CREATE TABLE actor ( |
||||
actor_id integer PRIMARY KEY AUTOINCREMENT NOT NULL, |
||||
first_name VARCHAR(45) NOT NULL, |
||||
last_name VARCHAR(45) NOT NULL, |
||||
last_update TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP |
||||
) |
||||
; |
||||
|
||||
CREATE INDEX idx_actor_last_name ON actor(last_name) |
||||
; |
||||
|
||||
CREATE TRIGGER actor_trigger_ai AFTER INSERT ON actor |
||||
BEGIN |
||||
UPDATE actor SET last_update = DATETIME('NOW') WHERE rowid = new.rowid; |
||||
END |
||||
; |
||||
|
||||
CREATE TRIGGER actor_trigger_au AFTER UPDATE ON actor |
||||
BEGIN |
||||
UPDATE actor SET last_update = DATETIME('NOW') WHERE rowid = new.rowid; |
||||
END |
||||
; |
||||
|
||||
-- |
||||
-- Table structure for table country |
||||
-- |
||||
|
||||
CREATE TABLE country ( |
||||
country_id INTEGER NOT NULL, |
||||
country VARCHAR(50) NOT NULL, |
||||
last_update TIMESTAMP, |
||||
PRIMARY KEY (country_id) |
||||
) |
||||
; |
||||
|
||||
CREATE TRIGGER country_trigger_ai AFTER INSERT ON country |
||||
BEGIN |
||||
UPDATE country SET last_update = DATETIME('NOW') WHERE rowid = new.rowid; |
||||
END |
||||
; |
||||
|
||||
CREATE TRIGGER country_trigger_au AFTER UPDATE ON country |
||||
BEGIN |
||||
UPDATE country SET last_update = DATETIME('NOW') WHERE rowid = new.rowid; |
||||
END |
||||
; |
||||
|
||||
-- |
||||
-- Table structure for table city |
||||
-- |
||||
|
||||
CREATE TABLE city ( |
||||
city_id INTEGER NOT NULL, |
||||
city VARCHAR(50) NOT NULL, |
||||
country_id INTEGER NOT NULL, |
||||
last_update TIMESTAMP NOT NULL, |
||||
PRIMARY KEY (city_id), |
||||
CONSTRAINT fk_city_country FOREIGN KEY (country_id) REFERENCES country (country_id) ON DELETE NO ACTION ON UPDATE CASCADE |
||||
) |
||||
; |
||||
CREATE INDEX idx_fk_country_id ON city(country_id) |
||||
; |
||||
|
||||
CREATE TRIGGER city_trigger_ai AFTER INSERT ON city |
||||
BEGIN |
||||
UPDATE city SET last_update = DATETIME('NOW') WHERE rowid = new.rowid; |
||||
END |
||||
; |
||||
|
||||
CREATE TRIGGER city_trigger_au AFTER UPDATE ON city |
||||
BEGIN |
||||
UPDATE city SET last_update = DATETIME('NOW') WHERE rowid = new.rowid; |
||||
END |
||||
; |
||||
|
||||
-- |
||||
-- Table structure for table address |
||||
-- |
||||
|
||||
CREATE TABLE address ( |
||||
address_id INTEGER NOT NULL, |
||||
address VARCHAR(50) NOT NULL, |
||||
address2 VARCHAR(50) DEFAULT NULL, |
||||
district VARCHAR(20) NOT NULL, |
||||
city_id INTEGER NOT NULL, |
||||
postal_code VARCHAR(10) DEFAULT NULL, |
||||
phone VARCHAR(20) NOT NULL, |
||||
last_update TIMESTAMP NOT NULL, |
||||
PRIMARY KEY (address_id), |
||||
CONSTRAINT fk_address_city FOREIGN KEY (city_id) REFERENCES city (city_id) ON DELETE NO ACTION ON UPDATE CASCADE |
||||
) |
||||
; |
||||
|
||||
CREATE INDEX idx_fk_city_id ON address(city_id) |
||||
; |
||||
|
||||
CREATE TRIGGER address_trigger_ai AFTER INSERT ON address |
||||
BEGIN |
||||
UPDATE address SET last_update = DATETIME('NOW') WHERE rowid = new.rowid; |
||||
END |
||||
; |
||||
|
||||
CREATE TRIGGER address_trigger_au AFTER UPDATE ON address |
||||
BEGIN |
||||
UPDATE address SET last_update = DATETIME('NOW') WHERE rowid = new.rowid; |
||||
END |
||||
; |
||||
|
||||
-- |
||||
-- Table structure for table language |
||||
-- |
||||
|
||||
CREATE TABLE language ( |
||||
language_id INTEGER NOT NULL , |
||||
name CHAR(20) NOT NULL, |
||||
last_update TIMESTAMP NOT NULL, |
||||
PRIMARY KEY (language_id) |
||||
) |
||||
; |
||||
|
||||
CREATE TRIGGER language_trigger_ai AFTER INSERT ON language |
||||
BEGIN |
||||
UPDATE language SET last_update = DATETIME('NOW') WHERE rowid = new.rowid; |
||||
END |
||||
; |
||||
|
||||
CREATE TRIGGER language_trigger_au AFTER UPDATE ON language |
||||
BEGIN |
||||
UPDATE language SET last_update = DATETIME('NOW') WHERE rowid = new.rowid; |
||||
END |
||||
; |
||||
|
||||
-- |
||||
-- Table structure for table category |
||||
-- |
||||
|
||||
CREATE TABLE category ( |
||||
category_id INTEGER NOT NULL, |
||||
name VARCHAR(25) NOT NULL, |
||||
last_update TIMESTAMP NOT NULL, |
||||
PRIMARY KEY (category_id) |
||||
); |
||||
|
||||
CREATE TRIGGER category_trigger_ai AFTER INSERT ON category |
||||
BEGIN |
||||
UPDATE category SET last_update = DATETIME('NOW') WHERE rowid = new.rowid; |
||||
END |
||||
; |
||||
|
||||
CREATE TRIGGER category_trigger_au AFTER UPDATE ON category |
||||
BEGIN |
||||
UPDATE category SET last_update = DATETIME('NOW') WHERE rowid = new.rowid; |
||||
END |
||||
; |
||||
|
||||
-- |
||||
-- Table structure for table customer |
||||
-- |
||||
|
||||
CREATE TABLE customer ( |
||||
customer_id INTEGER NOT NULL, |
||||
store_id INTEGER NOT NULL, |
||||
first_name VARCHAR(45) NOT NULL, |
||||
last_name VARCHAR(45) NOT NULL, |
||||
email VARCHAR(50) DEFAULT NULL, |
||||
address_id INTEGER NOT NULL, |
||||
active CHAR(1) DEFAULT 'Y' NOT NULL, |
||||
create_date TIMESTAMP NOT NULL, |
||||
last_update TIMESTAMP NOT NULL, |
||||
PRIMARY KEY (customer_id), |
||||
CONSTRAINT fk_customer_store FOREIGN KEY (store_id) REFERENCES store (store_id) ON DELETE NO ACTION ON UPDATE CASCADE, |
||||
CONSTRAINT fk_customer_address FOREIGN KEY (address_id) REFERENCES address (address_id) ON DELETE NO ACTION ON UPDATE CASCADE |
||||
) |
||||
; |
||||
|
||||
CREATE INDEX idx_customer_fk_store_id ON customer(store_id) |
||||
; |
||||
CREATE INDEX idx_customer_fk_address_id ON customer(address_id) |
||||
; |
||||
CREATE INDEX idx_customer_last_name ON customer(last_name) |
||||
; |
||||
|
||||
CREATE TRIGGER customer_trigger_ai AFTER INSERT ON customer |
||||
BEGIN |
||||
UPDATE customer SET last_update = DATETIME('NOW') WHERE rowid = new.rowid; |
||||
END |
||||
; |
||||
|
||||
CREATE TRIGGER customer_trigger_au AFTER UPDATE ON customer |
||||
BEGIN |
||||
UPDATE customer SET last_update = DATETIME('NOW') WHERE rowid = new.rowid; |
||||
END |
||||
; |
||||
|
||||
-- |
||||
-- Table structure for table film |
||||
-- |
||||
|
||||
CREATE TABLE film ( |
||||
film_id INTEGER NOT NULL, |
||||
title VARCHAR(255) NOT NULL, |
||||
description BLOB SUB_TYPE TEXT DEFAULT NULL, |
||||
release_year VARCHAR(4) DEFAULT NULL, |
||||
language_id INTEGER NOT NULL, |
||||
original_language_id INTEGER DEFAULT NULL, |
||||
rental_duration INTEGER DEFAULT 3 NOT NULL, |
||||
rental_rate DECIMAL(4,2) DEFAULT 4.99 NOT NULL, |
||||
length INTEGER DEFAULT NULL, |
||||
replacement_cost DECIMAL(5,2) DEFAULT 19.99 NOT NULL, |
||||
rating VARCHAR(10) DEFAULT 'G', |
||||
special_features VARCHAR(100) DEFAULT NULL, |
||||
last_update TIMESTAMP NOT NULL, |
||||
PRIMARY KEY (film_id), |
||||
CONSTRAINT CHECK_special_features CHECK(special_features is null or |
||||
special_features like '%Trailers%' or |
||||
special_features like '%Commentaries%' or |
||||
special_features like '%Deleted Scenes%' or |
||||
special_features like '%Behind the Scenes%'), |
||||
CONSTRAINT CHECK_special_rating CHECK(rating in ('G','PG','PG-13','R','NC-17')), |
||||
CONSTRAINT fk_film_language FOREIGN KEY (language_id) REFERENCES language (language_id) , |
||||
CONSTRAINT fk_film_language_original FOREIGN KEY (original_language_id) REFERENCES language (language_id) |
||||
) |
||||
; |
||||
CREATE INDEX idx_fk_language_id ON film(language_id) |
||||
; |
||||
CREATE INDEX idx_fk_original_language_id ON film(original_language_id) |
||||
; |
||||
|
||||
CREATE TRIGGER film_trigger_ai AFTER INSERT ON film |
||||
BEGIN |
||||
UPDATE film SET last_update = DATETIME('NOW') WHERE rowid = new.rowid; |
||||
END |
||||
; |
||||
|
||||
CREATE TRIGGER film_trigger_au AFTER UPDATE ON film |
||||
BEGIN |
||||
UPDATE film SET last_update = DATETIME('NOW') WHERE rowid = new.rowid; |
||||
END |
||||
; |
||||
|
||||
-- |
||||
-- Table structure for table film_actor |
||||
-- |
||||
|
||||
CREATE TABLE film_actor ( |
||||
actor_id INTEGER NOT NULL, |
||||
film_id INTEGER NOT NULL, |
||||
last_update TIMESTAMP NOT NULL, |
||||
PRIMARY KEY (actor_id,film_id), |
||||
CONSTRAINT fk_film_actor_actor FOREIGN KEY (actor_id) REFERENCES actor (actor_id) ON DELETE NO ACTION ON UPDATE CASCADE, |
||||
CONSTRAINT fk_film_actor_film FOREIGN KEY (film_id) REFERENCES film (film_id) ON DELETE NO ACTION ON UPDATE CASCADE |
||||
) |
||||
; |
||||
|
||||
CREATE INDEX idx_fk_film_actor_film ON film_actor(film_id) |
||||
; |
||||
|
||||
CREATE INDEX idx_fk_film_actor_actor ON film_actor(actor_id) |
||||
; |
||||
|
||||
CREATE TRIGGER film_actor_trigger_ai AFTER INSERT ON film_actor |
||||
BEGIN |
||||
UPDATE film_actor SET last_update = DATETIME('NOW') WHERE rowid = new.rowid; |
||||
END |
||||
; |
||||
|
||||
CREATE TRIGGER film_actor_trigger_au AFTER UPDATE ON film_actor |
||||
BEGIN |
||||
UPDATE film_actor SET last_update = DATETIME('NOW') WHERE rowid = new.rowid; |
||||
END |
||||
; |
||||
|
||||
|
||||
-- |
||||
-- Table structure for table film_category |
||||
-- |
||||
|
||||
CREATE TABLE film_category ( |
||||
film_id INTEGER NOT NULL, |
||||
category_id INTEGER NOT NULL, |
||||
last_update TIMESTAMP NOT NULL, |
||||
PRIMARY KEY (film_id, category_id), |
||||
CONSTRAINT fk_film_category_film FOREIGN KEY (film_id) REFERENCES film (film_id) ON DELETE NO ACTION ON UPDATE CASCADE, |
||||
CONSTRAINT fk_film_category_category FOREIGN KEY (category_id) REFERENCES category (category_id) ON DELETE NO ACTION ON UPDATE CASCADE |
||||
) |
||||
; |
||||
|
||||
CREATE INDEX idx_fk_film_category_film ON film_category(film_id) |
||||
; |
||||
|
||||
CREATE INDEX idx_fk_film_category_category ON film_category(category_id) |
||||
; |
||||
|
||||
CREATE TRIGGER film_category_trigger_ai AFTER INSERT ON film_category |
||||
BEGIN |
||||
UPDATE film_category SET last_update = DATETIME('NOW') WHERE rowid = new.rowid; |
||||
END |
||||
; |
||||
|
||||
CREATE TRIGGER film_category_trigger_au AFTER UPDATE ON film_category |
||||
BEGIN |
||||
UPDATE film_category SET last_update = DATETIME('NOW') WHERE rowid = new.rowid; |
||||
END |
||||
; |
||||
|
||||
-- |
||||
-- Table structure for table film_text |
||||
-- |
||||
|
||||
CREATE TABLE film_text ( |
||||
film_id INTEGER NOT NULL, |
||||
title VARCHAR(255) NOT NULL, |
||||
description BLOB SUB_TYPE TEXT, |
||||
PRIMARY KEY (film_id) |
||||
) |
||||
; |
||||
|
||||
-- |
||||
-- Table structure for table inventory |
||||
-- |
||||
|
||||
CREATE TABLE inventory ( |
||||
inventory_id INTEGER NOT NULL, |
||||
film_id INTEGER NOT NULL, |
||||
store_id INTEGER NOT NULL, |
||||
last_update TIMESTAMP NOT NULL, |
||||
PRIMARY KEY (inventory_id), |
||||
CONSTRAINT fk_inventory_store FOREIGN KEY (store_id) REFERENCES store (store_id) ON DELETE NO ACTION ON UPDATE CASCADE, |
||||
CONSTRAINT fk_inventory_film FOREIGN KEY (film_id) REFERENCES film (film_id) ON DELETE NO ACTION ON UPDATE CASCADE |
||||
) |
||||
; |
||||
|
||||
CREATE INDEX idx_fk_film_id ON inventory(film_id) |
||||
; |
||||
|
||||
CREATE INDEX idx_fk_film_id_store_id ON inventory(store_id,film_id) |
||||
; |
||||
|
||||
CREATE TRIGGER inventory_trigger_ai AFTER INSERT ON inventory |
||||
BEGIN |
||||
UPDATE inventory SET last_update = DATETIME('NOW') WHERE rowid = new.rowid; |
||||
END |
||||
; |
||||
|
||||
CREATE TRIGGER inventory_trigger_au AFTER UPDATE ON inventory |
||||
BEGIN |
||||
UPDATE inventory SET last_update = DATETIME('NOW') WHERE rowid = new.rowid; |
||||
END |
||||
; |
||||
|
||||
-- |
||||
-- Table structure for table staff |
||||
-- |
||||
|
||||
CREATE TABLE staff ( |
||||
staff_id INTEGER NOT NULL, |
||||
first_name VARCHAR(45) NOT NULL, |
||||
last_name VARCHAR(45) NOT NULL, |
||||
address_id INTEGER NOT NULL, |
||||
picture BLOB DEFAULT NULL, |
||||
email VARCHAR(50) DEFAULT NULL, |
||||
store_id INTEGER NOT NULL, |
||||
active INTEGER DEFAULT 1 NOT NULL, |
||||
username VARCHAR(16) NOT NULL, |
||||
password VARCHAR(40) DEFAULT NULL, |
||||
last_update TIMESTAMP NOT NULL, |
||||
PRIMARY KEY (staff_id), |
||||
CONSTRAINT fk_staff_store FOREIGN KEY (store_id) REFERENCES store (store_id) ON DELETE NO ACTION ON UPDATE CASCADE, |
||||
CONSTRAINT fk_staff_address FOREIGN KEY (address_id) REFERENCES address (address_id) ON DELETE NO ACTION ON UPDATE CASCADE |
||||
) |
||||
; |
||||
CREATE INDEX idx_fk_staff_store_id ON staff(store_id) |
||||
; |
||||
|
||||
CREATE INDEX idx_fk_staff_address_id ON staff(address_id) |
||||
; |
||||
|
||||
CREATE TRIGGER staff_trigger_ai AFTER INSERT ON staff |
||||
BEGIN |
||||
UPDATE staff SET last_update = DATETIME('NOW') WHERE rowid = new.rowid; |
||||
END |
||||
; |
||||
|
||||
CREATE TRIGGER staff_trigger_au AFTER UPDATE ON staff |
||||
BEGIN |
||||
UPDATE staff SET last_update = DATETIME('NOW') WHERE rowid = new.rowid; |
||||
END |
||||
; |
||||
|
||||
-- |
||||
-- Table structure for table store |
||||
-- |
||||
|
||||
CREATE TABLE store ( |
||||
store_id INTEGER NOT NULL, |
||||
manager_staff_id INTEGER NOT NULL, |
||||
address_id INTEGER NOT NULL, |
||||
last_update TIMESTAMP NOT NULL, |
||||
PRIMARY KEY (store_id), |
||||
CONSTRAINT fk_store_staff FOREIGN KEY (manager_staff_id) REFERENCES staff (staff_id) , |
||||
CONSTRAINT fk_store_address FOREIGN KEY (address_id) REFERENCES address (address_id) |
||||
) |
||||
; |
||||
|
||||
CREATE INDEX idx_store_fk_manager_staff_id ON store(manager_staff_id) |
||||
; |
||||
|
||||
CREATE INDEX idx_fk_store_address ON store(address_id) |
||||
; |
||||
|
||||
CREATE TRIGGER store_trigger_ai AFTER INSERT ON store |
||||
BEGIN |
||||
UPDATE store SET last_update = DATETIME('NOW') WHERE rowid = new.rowid; |
||||
END |
||||
; |
||||
|
||||
CREATE TRIGGER store_trigger_au AFTER UPDATE ON store |
||||
BEGIN |
||||
UPDATE store SET last_update = DATETIME('NOW') WHERE rowid = new.rowid; |
||||
END |
||||
; |
||||
|
||||
-- |
||||
-- Table structure for table payment |
||||
-- |
||||
|
||||
CREATE TABLE payment ( |
||||
payment_id INTEGER NOT NULL, |
||||
customer_id INTEGER NOT NULL, |
||||
staff_id INTEGER NOT NULL, |
||||
rental_id INTEGER DEFAULT NULL, |
||||
amount DECIMAL(5,2) NOT NULL, |
||||
payment_date TIMESTAMP NOT NULL, |
||||
last_update TIMESTAMP NOT NULL, |
||||
PRIMARY KEY (payment_id), |
||||
CONSTRAINT fk_payment_rental FOREIGN KEY (rental_id) REFERENCES rental (rental_id) ON DELETE SET NULL ON UPDATE CASCADE, |
||||
CONSTRAINT fk_payment_customer FOREIGN KEY (customer_id) REFERENCES customer (customer_id) , |
||||
CONSTRAINT fk_payment_staff FOREIGN KEY (staff_id) REFERENCES staff (staff_id) |
||||
) |
||||
; |
||||
CREATE INDEX idx_fk_staff_id ON payment(staff_id) |
||||
; |
||||
CREATE INDEX idx_fk_customer_id ON payment(customer_id) |
||||
; |
||||
|
||||
CREATE TRIGGER payment_trigger_ai AFTER INSERT ON payment |
||||
BEGIN |
||||
UPDATE payment SET last_update = DATETIME('NOW') WHERE rowid = new.rowid; |
||||
END |
||||
; |
||||
|
||||
CREATE TRIGGER payment_trigger_au AFTER UPDATE ON payment |
||||
BEGIN |
||||
UPDATE payment SET last_update = DATETIME('NOW') WHERE rowid = new.rowid; |
||||
END |
||||
; |
||||
|
||||
CREATE TABLE rental ( |
||||
rental_id INTEGER NOT NULL, |
||||
rental_date TIMESTAMP NOT NULL, |
||||
inventory_id INTEGER NOT NULL, |
||||
customer_id INTEGER NOT NULL, |
||||
return_date TIMESTAMP DEFAULT NULL, |
||||
staff_id INTEGER NOT NULL, |
||||
last_update TIMESTAMP NOT NULL, |
||||
PRIMARY KEY (rental_id), |
||||
CONSTRAINT fk_rental_staff FOREIGN KEY (staff_id) REFERENCES staff (staff_id) , |
||||
CONSTRAINT fk_rental_inventory FOREIGN KEY (inventory_id) REFERENCES inventory (inventory_id) , |
||||
CONSTRAINT fk_rental_customer FOREIGN KEY (customer_id) REFERENCES customer (customer_id) |
||||
) |
||||
; |
||||
CREATE INDEX idx_rental_fk_inventory_id ON rental(inventory_id) |
||||
; |
||||
CREATE INDEX idx_rental_fk_customer_id ON rental(customer_id) |
||||
; |
||||
CREATE INDEX idx_rental_fk_staff_id ON rental(staff_id) |
||||
; |
||||
CREATE UNIQUE INDEX idx_rental_uq ON rental (rental_date,inventory_id,customer_id) |
||||
; |
||||
|
||||
CREATE TRIGGER rental_trigger_ai AFTER INSERT ON rental |
||||
BEGIN |
||||
UPDATE rental SET last_update = DATETIME('NOW') WHERE rowid = new.rowid; |
||||
END |
||||
; |
||||
|
||||
CREATE TRIGGER rental_trigger_au AFTER UPDATE ON rental |
||||
BEGIN |
||||
UPDATE rental SET last_update = DATETIME('NOW') WHERE rowid = new.rowid; |
||||
END |
||||
; |
||||
-- |
||||
-- View structure for view customer_list |
||||
-- |
||||
|
||||
CREATE VIEW customer_list |
||||
AS |
||||
SELECT cu.customer_id AS ID, |
||||
cu.first_name||' '||cu.last_name AS name, |
||||
a.address AS address, |
||||
a.postal_code AS zip_code, |
||||
a.phone AS phone, |
||||
city.city AS city, |
||||
country.country AS country, |
||||
case when cu.active=1 then 'active' else '' end AS notes, |
||||
cu.store_id AS SID |
||||
FROM customer AS cu JOIN address AS a ON cu.address_id = a.address_id JOIN city ON a.city_id = city.city_id |
||||
JOIN country ON city.country_id = country.country_id |
||||
; |
||||
-- |
||||
-- View structure for view film_list |
||||
-- |
||||
|
||||
CREATE VIEW film_list |
||||
AS |
||||
SELECT film.film_id AS FID, |
||||
film.title AS title, |
||||
film.description AS description, |
||||
category.name AS category, |
||||
film.rental_rate AS price, |
||||
film.length AS length, |
||||
film.rating AS rating, |
||||
actor.first_name||' '||actor.last_name AS actors |
||||
FROM category LEFT JOIN film_category ON category.category_id = film_category.category_id LEFT JOIN film ON film_category.film_id = film.film_id |
||||
JOIN film_actor ON film.film_id = film_actor.film_id |
||||
JOIN actor ON film_actor.actor_id = actor.actor_id |
||||
; |
||||
|
||||
-- |
||||
-- View structure for view staff_list |
||||
-- |
||||
|
||||
CREATE VIEW staff_list |
||||
AS |
||||
SELECT s.staff_id AS ID, |
||||
s.first_name||' '||s.last_name AS name, |
||||
a.address AS address, |
||||
a.postal_code AS zip_code, |
||||
a.phone AS phone, |
||||
city.city AS city, |
||||
country.country AS country, |
||||
s.store_id AS SID |
||||
FROM staff AS s JOIN address AS a ON s.address_id = a.address_id JOIN city ON a.city_id = city.city_id |
||||
JOIN country ON city.country_id = country.country_id |
||||
; |
||||
-- |
||||
-- View structure for view sales_by_store |
||||
-- |
||||
|
||||
CREATE VIEW sales_by_store |
||||
AS |
||||
SELECT |
||||
s.store_id |
||||
,c.city||','||cy.country AS store |
||||
,m.first_name||' '||m.last_name AS manager |
||||
,SUM(p.amount) AS total_sales |
||||
FROM payment AS p |
||||
INNER JOIN rental AS r ON p.rental_id = r.rental_id |
||||
INNER JOIN inventory AS i ON r.inventory_id = i.inventory_id |
||||
INNER JOIN store AS s ON i.store_id = s.store_id |
||||
INNER JOIN address AS a ON s.address_id = a.address_id |
||||
INNER JOIN city AS c ON a.city_id = c.city_id |
||||
INNER JOIN country AS cy ON c.country_id = cy.country_id |
||||
INNER JOIN staff AS m ON s.manager_staff_id = m.staff_id |
||||
GROUP BY |
||||
s.store_id |
||||
, c.city||','||cy.country |
||||
, m.first_name||' '||m.last_name |
||||
; |
||||
-- |
||||
-- View structure for view sales_by_film_category |
||||
-- |
||||
-- Note that total sales will add up to >100% because |
||||
-- some titles belong to more than 1 category |
||||
-- |
||||
|
||||
CREATE VIEW sales_by_film_category |
||||
AS |
||||
SELECT |
||||
c.name AS category |
||||
, SUM(p.amount) AS total_sales |
||||
FROM payment AS p |
||||
INNER JOIN rental AS r ON p.rental_id = r.rental_id |
||||
INNER JOIN inventory AS i ON r.inventory_id = i.inventory_id |
||||
INNER JOIN film AS f ON i.film_id = f.film_id |
||||
INNER JOIN film_category AS fc ON f.film_id = fc.film_id |
||||
INNER JOIN category AS c ON fc.category_id = c.category_id |
||||
GROUP BY c.name |
||||
; |
||||
|
||||
-- |
||||
-- View structure for view actor_info |
||||
-- |
||||
|
||||
/* |
||||
CREATE VIEW actor_info |
||||
AS |
||||
SELECT |
||||
a.actor_id, |
||||
a.first_name, |
||||
a.last_name, |
||||
GROUP_CONCAT(DISTINCT CONCAT(c.name, ': ', |
||||
(SELECT GROUP_CONCAT(f.title ORDER BY f.title SEPARATOR ', ') |
||||
FROM sakila.film f |
||||
INNER JOIN sakila.film_category fc |
||||
ON f.film_id = fc.film_id |
||||
INNER JOIN sakila.film_actor fa |
||||
ON f.film_id = fa.film_id |
||||
WHERE fc.category_id = c.category_id |
||||
AND fa.actor_id = a.actor_id |
||||
) |
||||
) |
||||
ORDER BY c.name SEPARATOR '; ') |
||||
AS film_info |
||||
FROM sakila.actor a |
||||
LEFT JOIN sakila.film_actor fa |
||||
ON a.actor_id = fa.actor_id |
||||
LEFT JOIN sakila.film_category fc |
||||
ON fa.film_id = fc.film_id |
||||
LEFT JOIN sakila.category c |
||||
ON fc.category_id = c.category_id |
||||
GROUP BY a.actor_id, a.first_name, a.last_name; |
||||
*/ |
||||
|
||||
-- TO DO PROCEDURES |
||||
-- TO DO TRIGGERS |
||||
|
||||
END TRANSACTION; |
Binary file not shown.
Loading…
Reference in new issue