@intentius/chant-lexicon-sql 0.121.1 → 0.123.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/clickhouse/catalog-types.d.ts +8 -0
- package/dist/clickhouse/catalog-types.d.ts.map +1 -1
- package/dist/clickhouse/entities.d.ts +37 -11
- package/dist/clickhouse/entities.d.ts.map +1 -1
- package/dist/clickhouse/import/generator.d.ts.map +1 -1
- package/dist/clickhouse/overlays/codecs.d.ts.map +1 -1
- package/dist/clickhouse/overlays/kinds.d.ts +1 -1
- package/dist/clickhouse/overlays/kinds.d.ts.map +1 -1
- package/dist/clickhouse/overlays/types.d.ts.map +1 -1
- package/dist/clickhouse/plan/commands.d.ts.map +1 -1
- package/dist/clickhouse/row-types.d.ts +30 -0
- package/dist/clickhouse/row-types.d.ts.map +1 -0
- package/dist/clickhouse/type-syntax.d.ts +33 -0
- package/dist/clickhouse/type-syntax.d.ts.map +1 -0
- package/dist/clickhouse.d.ts +1 -1
- package/dist/clickhouse.d.ts.map +1 -1
- package/dist/codegen/clickhouse-module.d.ts.map +1 -1
- package/dist/codegen/postgres-module.d.ts.map +1 -1
- package/dist/core/index.d.ts +4 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/typed.d.ts +132 -0
- package/dist/core/typed.d.ts.map +1 -0
- package/dist/generated/clickhouse.d.ts +7 -1
- package/dist/generated/clickhouse.d.ts.map +1 -1
- package/dist/generated/postgres.d.ts +6 -0
- package/dist/generated/postgres.d.ts.map +1 -1
- package/dist/integrity.json +27 -5
- package/dist/lint/audit-catalog.d.ts.map +1 -1
- package/dist/lint/post-synth/audit-entries.d.ts.map +1 -1
- package/dist/lint/post-synth/clickhouse-type-check.d.ts +37 -0
- package/dist/lint/post-synth/clickhouse-type-check.d.ts.map +1 -0
- package/dist/lint/post-synth/index.d.ts.map +1 -1
- package/dist/lint/post-synth/postgres-audit-entries.d.ts.map +1 -1
- package/dist/lint/post-synth/postgres-names.d.ts +151 -0
- package/dist/lint/post-synth/postgres-names.d.ts.map +1 -0
- package/dist/lint/post-synth/sql101.d.ts +9 -0
- package/dist/lint/post-synth/sql101.d.ts.map +1 -0
- package/dist/lint/post-synth/sql102.d.ts +16 -0
- package/dist/lint/post-synth/sql102.d.ts.map +1 -0
- package/dist/lint/post-synth/sqlch121.d.ts +10 -0
- package/dist/lint/post-synth/sqlch121.d.ts.map +1 -0
- package/dist/lint/post-synth/sqlch122.d.ts +10 -0
- package/dist/lint/post-synth/sqlch122.d.ts.map +1 -0
- package/dist/lint/post-synth/sqlch123.d.ts +9 -0
- package/dist/lint/post-synth/sqlch123.d.ts.map +1 -0
- package/dist/lint/post-synth/sqlch124.d.ts +6 -0
- package/dist/lint/post-synth/sqlch124.d.ts.map +1 -0
- package/dist/lint/post-synth/sqlch125.d.ts +11 -0
- package/dist/lint/post-synth/sqlch125.d.ts.map +1 -0
- package/dist/lint/post-synth/sqlch126.d.ts +12 -0
- package/dist/lint/post-synth/sqlch126.d.ts.map +1 -0
- package/dist/lint/post-synth/sqlch127.d.ts +22 -0
- package/dist/lint/post-synth/sqlch127.d.ts.map +1 -0
- package/dist/lint/post-synth/sqlpg119.d.ts +18 -0
- package/dist/lint/post-synth/sqlpg119.d.ts.map +1 -0
- package/dist/lint/post-synth/sqlpg120.d.ts +17 -0
- package/dist/lint/post-synth/sqlpg120.d.ts.map +1 -0
- package/dist/lint/post-synth/sqlpg121.d.ts +12 -0
- package/dist/lint/post-synth/sqlpg121.d.ts.map +1 -0
- package/dist/lint/post-synth/sqlpg122.d.ts +12 -0
- package/dist/lint/post-synth/sqlpg122.d.ts.map +1 -0
- package/dist/lint/post-synth/sqlpg123.d.ts +17 -0
- package/dist/lint/post-synth/sqlpg123.d.ts.map +1 -0
- package/dist/lint/post-synth/sqlpg124.d.ts +16 -0
- package/dist/lint/post-synth/sqlpg124.d.ts.map +1 -0
- package/dist/lint/post-synth/sqlpg125.d.ts +17 -0
- package/dist/lint/post-synth/sqlpg125.d.ts.map +1 -0
- package/dist/lint/post-synth/sqlpg126.d.ts +19 -0
- package/dist/lint/post-synth/sqlpg126.d.ts.map +1 -0
- package/dist/lint/rules/index.d.ts +3 -1
- package/dist/lint/rules/index.d.ts.map +1 -1
- package/dist/lint/rules/sqlch004.d.ts +19 -0
- package/dist/lint/rules/sqlch004.d.ts.map +1 -0
- package/dist/lint/rules/sqlpg005.d.ts +18 -0
- package/dist/lint/rules/sqlpg005.d.ts.map +1 -0
- package/dist/lint/rules/typed-names.d.ts +43 -0
- package/dist/lint/rules/typed-names.d.ts.map +1 -0
- package/dist/manifest.json +1 -1
- package/dist/okf/index.md +19 -0
- package/dist/okf/rules/SQL101.md +23 -0
- package/dist/okf/rules/SQL102.md +11 -0
- package/dist/okf/rules/SQLCH004.md +11 -0
- package/dist/okf/rules/SQLCH121.md +11 -0
- package/dist/okf/rules/SQLCH122.md +11 -0
- package/dist/okf/rules/SQLCH123.md +11 -0
- package/dist/okf/rules/SQLCH124.md +18 -0
- package/dist/okf/rules/SQLCH125.md +11 -0
- package/dist/okf/rules/SQLCH126.md +15 -0
- package/dist/okf/rules/SQLCH127.md +15 -0
- package/dist/okf/rules/SQLPG005.md +11 -0
- package/dist/okf/rules/SQLPG119.md +16 -0
- package/dist/okf/rules/SQLPG120.md +16 -0
- package/dist/okf/rules/SQLPG121.md +11 -0
- package/dist/okf/rules/SQLPG122.md +15 -0
- package/dist/okf/rules/SQLPG123.md +16 -0
- package/dist/okf/rules/SQLPG124.md +11 -0
- package/dist/okf/rules/SQLPG125.md +11 -0
- package/dist/okf/rules/SQLPG126.md +11 -0
- package/dist/okf/types/Dictionary.md +4 -0
- package/dist/okf/types/Function.md +5 -0
- package/dist/okf/types/Grant.md +6 -0
- package/dist/okf/types/MaterializedView.md +1 -0
- package/dist/okf/types/PostgresDefaultPrivileges.md +4 -0
- package/dist/okf/types/PostgresDomain.md +2 -0
- package/dist/okf/types/PostgresEnum.md +1 -0
- package/dist/okf/types/PostgresFunction.md +4 -0
- package/dist/okf/types/PostgresGrant.md +5 -0
- package/dist/okf/types/PostgresPolicy.md +4 -0
- package/dist/okf/types/PostgresProcedure.md +4 -0
- package/dist/okf/types/PostgresSequence.md +2 -0
- package/dist/okf/types/PostgresTrigger.md +4 -0
- package/dist/okf/types/RowPolicy.md +4 -0
- package/dist/okf/types/Table.md +1 -0
- package/dist/okf/types/View.md +1 -0
- package/dist/postgres/entities.d.ts +38 -9
- package/dist/postgres/entities.d.ts.map +1 -1
- package/dist/postgres/import/generator.d.ts.map +1 -1
- package/dist/postgres/overlays/extension-objects.d.ts +28 -0
- package/dist/postgres/overlays/extension-objects.d.ts.map +1 -0
- package/dist/postgres/overlays/types.d.ts +10 -0
- package/dist/postgres/overlays/types.d.ts.map +1 -1
- package/dist/postgres/row-types.d.ts +17 -0
- package/dist/postgres/row-types.d.ts.map +1 -0
- package/dist/postgres/testing/migration.d.ts +3 -2
- package/dist/postgres/testing/migration.d.ts.map +1 -1
- package/dist/postgres.d.ts +1 -1
- package/dist/postgres.d.ts.map +1 -1
- package/dist/rules/audit-entries.ts +7 -0
- package/dist/rules/clickhouse-type-check.ts +173 -0
- package/dist/rules/postgres-audit-entries.ts +8 -0
- package/dist/rules/postgres-names.ts +510 -0
- package/dist/rules/sql101.ts +62 -0
- package/dist/rules/sql102.ts +34 -0
- package/dist/rules/sqlch004.ts +81 -0
- package/dist/rules/sqlch121.ts +12 -0
- package/dist/rules/sqlch122.ts +12 -0
- package/dist/rules/sqlch123.ts +11 -0
- package/dist/rules/sqlch124.ts +21 -0
- package/dist/rules/sqlch125.ts +56 -0
- package/dist/rules/sqlch126.ts +57 -0
- package/dist/rules/sqlch127.ts +128 -0
- package/dist/rules/sqlpg005.ts +73 -0
- package/dist/rules/sqlpg119.ts +37 -0
- package/dist/rules/sqlpg120.ts +70 -0
- package/dist/rules/sqlpg121.ts +32 -0
- package/dist/rules/sqlpg122.ts +28 -0
- package/dist/rules/sqlpg123.ts +63 -0
- package/dist/rules/sqlpg124.ts +47 -0
- package/dist/rules/sqlpg125.ts +40 -0
- package/dist/rules/sqlpg126.ts +37 -0
- package/dist/rules/typed-names.ts +120 -0
- package/dist/sql-types-command.d.ts +19 -0
- package/dist/sql-types-command.d.ts.map +1 -0
- package/dist/sql-types.d.ts +53 -0
- package/dist/sql-types.d.ts.map +1 -0
- package/package.json +2 -2
- package/src/clickhouse/catalog-types.ts +9 -0
- package/src/clickhouse/dictionary.test.ts +1 -1
- package/src/clickhouse/entities.ts +79 -14
- package/src/clickhouse/import/generator.ts +7 -1
- package/src/clickhouse/import/roundtrip.test.ts +1 -1
- package/src/clickhouse/overlays/codecs.ts +6 -2
- package/src/clickhouse/overlays/kinds.ts +1 -1
- package/src/clickhouse/overlays/types.ts +20 -3
- package/src/clickhouse/plan/commands.ts +5 -0
- package/src/clickhouse/row-types.ts +158 -0
- package/src/clickhouse/type-syntax.ts +82 -0
- package/src/clickhouse.ts +10 -0
- package/src/codegen/clickhouse-module.ts +15 -1
- package/src/codegen/postgres-module.ts +43 -0
- package/src/composites/composites.test.ts +7 -6
- package/src/core/index.ts +4 -0
- package/src/core/typed.ts +143 -0
- package/src/generated/clickhouse.ts +1905 -6
- package/src/generated/postgres.ts +2639 -0
- package/src/lint/audit-catalog.ts +28 -0
- package/src/lint/post-synth/audit-entries.ts +7 -0
- package/src/lint/post-synth/clickhouse-catalog-checks.test.ts +315 -0
- package/src/lint/post-synth/clickhouse-type-check.ts +173 -0
- package/src/lint/post-synth/index.ts +34 -0
- package/src/lint/post-synth/postgres-audit-entries.ts +8 -0
- package/src/lint/post-synth/postgres-checks.test.ts +214 -1
- package/src/lint/post-synth/postgres-names.ts +510 -0
- package/src/lint/post-synth/sql101.ts +62 -0
- package/src/lint/post-synth/sql102.ts +34 -0
- package/src/lint/post-synth/sqlch121.ts +12 -0
- package/src/lint/post-synth/sqlch122.ts +12 -0
- package/src/lint/post-synth/sqlch123.ts +11 -0
- package/src/lint/post-synth/sqlch124.ts +21 -0
- package/src/lint/post-synth/sqlch125.ts +56 -0
- package/src/lint/post-synth/sqlch126.ts +57 -0
- package/src/lint/post-synth/sqlch127.ts +128 -0
- package/src/lint/post-synth/sqlpg119.ts +37 -0
- package/src/lint/post-synth/sqlpg120.ts +70 -0
- package/src/lint/post-synth/sqlpg121.ts +32 -0
- package/src/lint/post-synth/sqlpg122.ts +28 -0
- package/src/lint/post-synth/sqlpg123.ts +63 -0
- package/src/lint/post-synth/sqlpg124.ts +47 -0
- package/src/lint/post-synth/sqlpg125.ts +40 -0
- package/src/lint/post-synth/sqlpg126.ts +37 -0
- package/src/lint/rules/index.ts +4 -2
- package/src/lint/rules/sqlch004.ts +81 -0
- package/src/lint/rules/sqlpg005.ts +73 -0
- package/src/lint/rules/typed-names.test.ts +151 -0
- package/src/lint/rules/typed-names.ts +120 -0
- package/src/op/__snapshots__/watch-pipeline.test.ts.snap +3 -3
- package/src/postgres/entities.ts +65 -12
- package/src/postgres/import/generator.ts +7 -1
- package/src/postgres/overlays/extension-objects.ts +100 -0
- package/src/postgres/overlays/types.ts +25 -0
- package/src/postgres/row-types.ts +111 -0
- package/src/postgres.ts +10 -0
- package/src/sql-types-command.ts +99 -0
- package/src/sql-types-staleness.test.ts +110 -0
- package/src/sql-types.test.ts +132 -0
- package/src/sql-types.ts +352 -0
- package/src/typecheck.test.ts +12 -3
- package/src/typed-columns.test.ts +92 -0
package/dist/integrity.json
CHANGED
|
@@ -1,23 +1,30 @@
|
|
|
1
1
|
{
|
|
2
2
|
"algorithm": "sha256",
|
|
3
3
|
"artifacts": {
|
|
4
|
-
"manifest.json": "
|
|
4
|
+
"manifest.json": "342fd07aac72ace1ac175ddde04f7242b8160e5caf660fae77d7320aad35ca0c",
|
|
5
5
|
"meta.json": "44b1dcfa5b5e5be2239fdc9614ab6c11d3f1461d64e61d572e3658af6c96aa68",
|
|
6
6
|
"types/index.d.ts": "0286ebb367773e84c76818b0f69cb14cff8328fd2f8c65ed87563c8d5815458c",
|
|
7
7
|
"rules/postgres-templates.ts": "da6e305bc2ff3d0d64a20925fe588e051c2a4b556b37f2581c61c314ef7c580d",
|
|
8
8
|
"rules/sqlch001.ts": "042af8bf78ea64524657eafa7a739734800cf99956bfa6152948684bede46955",
|
|
9
9
|
"rules/sqlch002.ts": "d866298167d3f2f7b39bddd28cfbb4a761281a2816d6c21db19b86b32434737a",
|
|
10
10
|
"rules/sqlch003.ts": "16ee8bf9369d97cf72b021d32636e5cc23bd168a51981eef826228c24fa8a8e9",
|
|
11
|
+
"rules/sqlch004.ts": "d97a5c0faaa22e8f0803b2d3cd608df63007b8ddd2edeca883822f8c537fcacf",
|
|
11
12
|
"rules/sqlpg001.ts": "c6f0cb4da0b8deff16d33be2253eab2d500e82a74d28c264eba9aeada132c85f",
|
|
12
13
|
"rules/sqlpg002.ts": "547e10e4da7a78b149b632eba21d876cb710b77fa654c7eed8ce86e27e37e81b",
|
|
13
14
|
"rules/sqlpg003.ts": "6f4903f9fdd3eb87bd4db3ad7e8fa0320db20f719ead7685a03cf7da677a7183",
|
|
14
15
|
"rules/sqlpg004.ts": "68e4eaaa455f155d6dfe779eb01d7f134d856ab5db7cf45e2eb110ed7147b580",
|
|
16
|
+
"rules/sqlpg005.ts": "fe6e2e2bd5b9beaf99187f404a704a25f51d4088737739c7663fcdc9aba94009",
|
|
15
17
|
"rules/templates.ts": "f021609378d287d5e2dc763b022fa10ef74f402fa59d380a238c5ceed2995fd8",
|
|
16
|
-
"rules/
|
|
18
|
+
"rules/typed-names.ts": "a6d1e8c9e2417c05deec9534bff663c561ba462a1821a235284cba4e273776be",
|
|
19
|
+
"rules/audit-entries.ts": "2339bc445687a4037652ffd300e3a230866b8abfd91f08a2ba831179cf646424",
|
|
17
20
|
"rules/clickhouse-helpers.ts": "cdbbfd53ecf2cf912ecc60a9aeb2fd5d66db3665dc5b541a3a336904dc385b8a",
|
|
18
|
-
"rules/
|
|
21
|
+
"rules/clickhouse-type-check.ts": "75396cd5aef4ae09d6f7dea92924b0867e5c9182bbf918ade4d9b42823e54538",
|
|
22
|
+
"rules/postgres-audit-entries.ts": "30887efb76971b6db629807e583576e875d939c906eada0f260b90a5eec646b8",
|
|
19
23
|
"rules/postgres-helpers.ts": "35c953054368f45be16466250f42053def1fabf1e551eab48742dc4ff4f823c7",
|
|
24
|
+
"rules/postgres-names.ts": "6da1e3ba43aadf5e082b6f315e8f27697d39f00a13228af82f7bb8991181f06f",
|
|
20
25
|
"rules/sql-helpers.ts": "8d2a2f9a392c67de6a959b6ff699669df1de7f004f7db8863a1bd032fb884138",
|
|
26
|
+
"rules/sql101.ts": "5d08a073a155d682fd59131ebbf14d72c85016d0682cbc87bfdd303440049a5a",
|
|
27
|
+
"rules/sql102.ts": "7898a292ef801316ba1232001fcaa2f9a11d62d21cf25a176f0af19e409bb4fa",
|
|
21
28
|
"rules/sqlch101.ts": "6ffb9007e4f9b014946b7a98733b77b7da3501e8713bb27b34553823dbd58d89",
|
|
22
29
|
"rules/sqlch102.ts": "5c6b1d3ef1dee8954fdf8e8451830f2f74dc9e701e039454fa1f069853e499d6",
|
|
23
30
|
"rules/sqlch103.ts": "db5b8071e4ec18a504dfbaa23b5c046a11ca0f5fddbb54cb43f20b824a3274e0",
|
|
@@ -38,6 +45,13 @@
|
|
|
38
45
|
"rules/sqlch118.ts": "5913b3e496bb5aec9baff8485e7d93a472baab9c599813cd6a4142fe9f9001f2",
|
|
39
46
|
"rules/sqlch119.ts": "be7f7d74be1e98083a72ef01c8cf6ac926b5e19f9372d260f34993b5724658b6",
|
|
40
47
|
"rules/sqlch120.ts": "a34f72f316b2ac021e2ed6ba8321dbf9678ad722bb15b7044cf6281eebe70d6c",
|
|
48
|
+
"rules/sqlch121.ts": "95bbcf65246b5492ca201e8932016dac41e9a7ccb809e57bf18821037a2c2fe5",
|
|
49
|
+
"rules/sqlch122.ts": "c9f3c613317d9b15e4a42cab2c28896ec14bf67f041bdffe7632d10355de0e73",
|
|
50
|
+
"rules/sqlch123.ts": "adb13902ad9a98b1f4ad09d50ea9f9eabef9fd7dada65389c7977b2dfbcc0173",
|
|
51
|
+
"rules/sqlch124.ts": "975534efd968a090bdab3847fcbc3521a5902c8ab1704ebdbca5faded832f5c3",
|
|
52
|
+
"rules/sqlch125.ts": "c235f9ea00542fa53c662457e2d70abf43e9ab13b2877d6e047904c8cb7f0e42",
|
|
53
|
+
"rules/sqlch126.ts": "58f45e5bd29f445d30b45876fed5a4a53a2de0cf63eaa5472202b36d0bcf7b2e",
|
|
54
|
+
"rules/sqlch127.ts": "6662ecaa0f0c45538e9461c27c00d4f20438dc0355ca485d41d8b5fb9451c6a9",
|
|
41
55
|
"rules/sqlpg101.ts": "34bd3032af0a1054f2ee90b6e66dd2c159406196e86159545b1d18874fb3ce4b",
|
|
42
56
|
"rules/sqlpg102.ts": "0a4f30a46fc1af3a251fd60ba8fee28f853605629cc93a2881c5bf8664dfd68e",
|
|
43
57
|
"rules/sqlpg103.ts": "d172dbb711917a50dcb4e894d554730386cfdc056c10338733083dbf344f6f86",
|
|
@@ -55,7 +69,15 @@
|
|
|
55
69
|
"rules/sqlpg115.ts": "ba3df2715edbd643436bec08d52311b8beae9ae318899ace4cdf2b62949ff202",
|
|
56
70
|
"rules/sqlpg116.ts": "7a47846aa3ea1cfd3857b76476a5daeb6bfaefe86ea2cb33de1debbaf9b21afe",
|
|
57
71
|
"rules/sqlpg117.ts": "3d5c2d57ccdee3cf91c3ba3cb6363750787a850df8ebd75e9cc3f33113303827",
|
|
58
|
-
"rules/sqlpg118.ts": "e2a40a88a9374c4d99d02118ca4c60877ba0c6eb1ce603a93b24f5fd23d81dde"
|
|
72
|
+
"rules/sqlpg118.ts": "e2a40a88a9374c4d99d02118ca4c60877ba0c6eb1ce603a93b24f5fd23d81dde",
|
|
73
|
+
"rules/sqlpg119.ts": "2355b1b0d14a9603776e432e6a2b29a35c05a29b8ed057c2077bc970a20277f4",
|
|
74
|
+
"rules/sqlpg120.ts": "2f2035f3f46ef5a2de0606de20dd8c159fd67cd076e532cc634d37eef5c495f7",
|
|
75
|
+
"rules/sqlpg121.ts": "44dcd44efce37e81c69a5debfcf8d04a8511c3ac4aa26b61c22b8067790e6d52",
|
|
76
|
+
"rules/sqlpg122.ts": "cd9a13cd25ed366404a671ee0fdab97e130b17445bdf02fbb5832ab59056be10",
|
|
77
|
+
"rules/sqlpg123.ts": "2c2d3080823a455de2a56e563f3bc31af47686814e5eda90eaddc38defed50c8",
|
|
78
|
+
"rules/sqlpg124.ts": "57a499e6602399880e820a2adcd93b3775febc9034a9c5e5e59a7603ebe83a9b",
|
|
79
|
+
"rules/sqlpg125.ts": "cc7411c57c525613dc720ba00e986bbc4e5a84b8b0bcfa7a6ce0d058f039f025",
|
|
80
|
+
"rules/sqlpg126.ts": "d57b82a5842273876510131d67bf4418cbd61eff821e245edebc644dafd502bb"
|
|
59
81
|
},
|
|
60
|
-
"composite": "
|
|
82
|
+
"composite": "b0e89dfeba8ee0ff6eb2f090d1453a01509b15428cf91d29c68e99a9e44dd0e2"
|
|
61
83
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit-catalog.d.ts","sourceRoot":"","sources":["../../src/lint/audit-catalog.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAA2B,KAAK,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AASxF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"audit-catalog.d.ts","sourceRoot":"","sources":["../../src/lint/audit-catalog.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAA2B,KAAK,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AASxF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAiFpD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit-entries.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/audit-entries.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAE1E,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"audit-entries.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/audit-entries.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAE1E,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CA2B7D,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Checking a ClickHouse column type against the pinned catalog, for SQLCH121
|
|
3
|
+
* (the family), SQLCH122 (its parameters) and SQLCH123 (a wrapper the server
|
|
4
|
+
* refuses). One walk over the type answers all three; each check keeps the
|
|
5
|
+
* findings with its own id.
|
|
6
|
+
*
|
|
7
|
+
* Families come from `system.data_type_families` (`TYPE_FAMILIES`): a name is
|
|
8
|
+
* case-sensitive unless the catalog marks it case-insensitive, and an alias
|
|
9
|
+
* resolves to its family. Parameters come from the `TYPE_PARAMETERS` overlay.
|
|
10
|
+
* The walk goes into every parameter that is itself a type, so `UInt46`
|
|
11
|
+
* inside `Array(Map(String, UInt46))` is found.
|
|
12
|
+
*/
|
|
13
|
+
import { checkOf } from "./clickhouse-helpers.js";
|
|
14
|
+
import { type OutputObject } from "./sql-helpers.js";
|
|
15
|
+
export interface TypeFinding {
|
|
16
|
+
checkId: "SQLCH121" | "SQLCH122" | "SQLCH123";
|
|
17
|
+
/** What is wrong, without the column: `UInt46 is not a type family ClickHouse 26.8.15.10 has`. */
|
|
18
|
+
detail: string;
|
|
19
|
+
}
|
|
20
|
+
type FamilySpec = {
|
|
21
|
+
canonical: string;
|
|
22
|
+
caseInsensitive: boolean;
|
|
23
|
+
};
|
|
24
|
+
/** A family by name as the server resolves it: exactly, or in any case when the catalog marks it case-insensitive. */
|
|
25
|
+
export declare function familyOf(name: string): FamilySpec | undefined;
|
|
26
|
+
/** Every finding for one column type, in the order the walk meets them. */
|
|
27
|
+
export declare function typeFindings(type: string, version: string): TypeFinding[];
|
|
28
|
+
/** Each declared column type in the build: tables, views that list their columns, and dictionary attributes. */
|
|
29
|
+
export declare function columnTypes(objects: readonly OutputObject[]): Generator<{
|
|
30
|
+
object: OutputObject;
|
|
31
|
+
column: string;
|
|
32
|
+
type: string;
|
|
33
|
+
}>;
|
|
34
|
+
/** The body of one of the three type checks: every column type's findings with that id. */
|
|
35
|
+
export declare function reportTypeFindings(id: TypeFinding["checkId"]): Parameters<typeof checkOf>[1];
|
|
36
|
+
export {};
|
|
37
|
+
//# sourceMappingURL=clickhouse-type-check.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clickhouse-type-check.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/clickhouse-type-check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAqB,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAErE,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC;IAC9C,kGAAkG;IAClG,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,KAAK,UAAU,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,OAAO,CAAA;CAAE,CAAC;AASlE,sHAAsH;AACtH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAE7D;AA2BD,2EAA2E;AAC3E,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,WAAW,EAAE,CAMzE;AAiFD,gHAAgH;AAChH,wBAAiB,WAAW,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,GAAG,SAAS,CAAC;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAMhI;AAED,2FAA2F;AAC3F,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,CAS5F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAyDvE,eAAO,MAAM,eAAe,EAAE,cAAc,EAwD3C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgres-audit-entries.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/postgres-audit-entries.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAE1E,eAAO,MAAM,6BAA6B,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"postgres-audit-entries.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/postgres-audit-entries.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAE1E,eAAO,MAAM,6BAA6B,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CA2BlE,CAAC"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Names in a Postgres declaration, read against the target major's catalog:
|
|
3
|
+
* column types, function calls, index access methods and operator classes.
|
|
4
|
+
* SQLPG119 to SQLPG126 share it.
|
|
5
|
+
*
|
|
6
|
+
* The line every check here keeps: a name the catalog or the project can
|
|
7
|
+
* answer for is checked; a name qualified with a schema the project does not
|
|
8
|
+
* declare (`billing.money`, `pg_catalog.int4`) is a plain-text reference and
|
|
9
|
+
* left to the server; a name the core catalog lacks is a warning, not an
|
|
10
|
+
* error, when the project declares an extension, since extension objects are
|
|
11
|
+
* not in the catalog (`overlays/extension-objects.ts` covers the common ones).
|
|
12
|
+
*/
|
|
13
|
+
import type { PostSynthContext } from "@intentius/chant/lint/post-synth";
|
|
14
|
+
import { type PgTable } from "./postgres-helpers.js";
|
|
15
|
+
import { type OutputObject } from "./sql-helpers.js";
|
|
16
|
+
/** The catalog category of a built-in type (`N` numeric, `S` string...). */
|
|
17
|
+
export declare const categoryOf: (canonical: string) => string | undefined;
|
|
18
|
+
/** The parameters a built-in type takes, from the overlay. */
|
|
19
|
+
export declare const parametersOf: (canonical: string) => readonly import("../../postgres/catalog-types.js").ClauseArgument[];
|
|
20
|
+
/** An identifier's value: a quoted one as written, a bare one folded to lower case. */
|
|
21
|
+
export declare function identValue(text: string): string;
|
|
22
|
+
/** Split on commas at depth 0. */
|
|
23
|
+
export declare function splitTopLevel(text: string): string[];
|
|
24
|
+
/** The bare column names of an `INCLUDE` list as the output keeps it (`b, "X"`, or `(b, c)`). */
|
|
25
|
+
export declare function includeColumns(text: string | undefined): string[];
|
|
26
|
+
/** What the build declares, for resolving a name to it. */
|
|
27
|
+
export interface PgProject {
|
|
28
|
+
major: number;
|
|
29
|
+
objects: OutputObject[];
|
|
30
|
+
byExport: Map<string, OutputObject>;
|
|
31
|
+
schemas: Set<string>;
|
|
32
|
+
/** Declared extension names. */
|
|
33
|
+
extensions: Set<string>;
|
|
34
|
+
}
|
|
35
|
+
export declare function projectOf(ctx: PostSynthContext): PgProject;
|
|
36
|
+
/** The project a set of output objects declares, at `major`: for a reader that holds the build output itself (`chant sql types`). */
|
|
37
|
+
export declare function projectFromObjects(objects: OutputObject[], major: number): PgProject;
|
|
38
|
+
/** A name the core catalog does not have: the finding's severity and a note, or nothing when an extension accounts for it. */
|
|
39
|
+
export interface Miss {
|
|
40
|
+
severity: "error" | "warning";
|
|
41
|
+
/** `, which comes from the pg_trgm extension the project does not declare` and the like. */
|
|
42
|
+
note: string;
|
|
43
|
+
}
|
|
44
|
+
export interface ParsedType {
|
|
45
|
+
schema?: string;
|
|
46
|
+
/** The name: words joined by one space, bare words lower case. */
|
|
47
|
+
name: string;
|
|
48
|
+
quoted: boolean;
|
|
49
|
+
/** The modifiers of the first `(...)`, as written. */
|
|
50
|
+
modifiers?: string[];
|
|
51
|
+
array: boolean;
|
|
52
|
+
/** `interval`'s fields, upper case (`DAY TO SECOND`). */
|
|
53
|
+
fields?: string;
|
|
54
|
+
}
|
|
55
|
+
/** A type as written in a column, domain or sequence: `numeric(12,2)`, `time(3) with time zone`, `app.mood[]`. Undefined when it is not a plain type name. */
|
|
56
|
+
export declare function parseType(text: string | undefined): ParsedType | undefined;
|
|
57
|
+
export type TypeResolution = {
|
|
58
|
+
kind: "builtin";
|
|
59
|
+
canonical: string;
|
|
60
|
+
serial?: boolean;
|
|
61
|
+
} | {
|
|
62
|
+
kind: "declared";
|
|
63
|
+
object: OutputObject;
|
|
64
|
+
}
|
|
65
|
+
/** Qualified with a schema the project does not declare, or provided by a declared extension: not checked. */
|
|
66
|
+
| {
|
|
67
|
+
kind: "outside";
|
|
68
|
+
} | {
|
|
69
|
+
kind: "missing";
|
|
70
|
+
miss: Miss;
|
|
71
|
+
}
|
|
72
|
+
/** A built-in type the target major does not have. */
|
|
73
|
+
| {
|
|
74
|
+
kind: "absent";
|
|
75
|
+
canonical: string;
|
|
76
|
+
};
|
|
77
|
+
/** Resolve a parsed type at the target major. `serial` admits `serial` and friends (a column). */
|
|
78
|
+
export declare function resolveType(p: PgProject, t: ParsedType, opts?: {
|
|
79
|
+
serial?: boolean;
|
|
80
|
+
}): TypeResolution;
|
|
81
|
+
/** A type as the user wrote it, for a message. */
|
|
82
|
+
export declare const typeLabel: (t: ParsedType) => string;
|
|
83
|
+
/**
|
|
84
|
+
* A comparable identity for a column's type, for a foreign key: a built-in
|
|
85
|
+
* type's catalog category (`U`, the catch-all, by name), a domain's base type,
|
|
86
|
+
* an enum or row type by name; `[]` for an array. Undefined when it cannot be
|
|
87
|
+
* told (a type outside the project).
|
|
88
|
+
*/
|
|
89
|
+
export declare function typeIdentity(p: PgProject, text: string | undefined, depth?: number): string | undefined;
|
|
90
|
+
export interface Call {
|
|
91
|
+
schema?: string;
|
|
92
|
+
name: string;
|
|
93
|
+
}
|
|
94
|
+
/** The function calls in an expression: a name directly followed by `(`, outside string literals, not a key word construct. */
|
|
95
|
+
export declare function callsIn(expr: string | undefined): Call[];
|
|
96
|
+
export type CallResolution = {
|
|
97
|
+
ok: true;
|
|
98
|
+
} | {
|
|
99
|
+
ok: false;
|
|
100
|
+
miss: Miss;
|
|
101
|
+
since?: number;
|
|
102
|
+
until?: number;
|
|
103
|
+
};
|
|
104
|
+
/** Resolve a call at the target major. */
|
|
105
|
+
export declare function resolveCall(p: PgProject, c: Call): CallResolution;
|
|
106
|
+
/** The expressions of a table, domain or index that may call functions, each with where it sits. */
|
|
107
|
+
export declare function expressionsOf(o: OutputObject): Array<{
|
|
108
|
+
where: string;
|
|
109
|
+
expr: string;
|
|
110
|
+
}>;
|
|
111
|
+
export interface IndexElement {
|
|
112
|
+
/** The column or expression, without its collation, operator class or ordering. */
|
|
113
|
+
expr: string;
|
|
114
|
+
opclass?: {
|
|
115
|
+
schema?: string;
|
|
116
|
+
name: string;
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
/** An index element (`(lower(x)) text_pattern_ops DESC`, `x gin_trgm_ops`) split into its expression and operator class. */
|
|
120
|
+
export declare function parseIndexElement(text: string): IndexElement | undefined;
|
|
121
|
+
export type MethodResolution = {
|
|
122
|
+
ok: true;
|
|
123
|
+
} | {
|
|
124
|
+
ok: false;
|
|
125
|
+
miss: Miss;
|
|
126
|
+
since?: number;
|
|
127
|
+
until?: number;
|
|
128
|
+
};
|
|
129
|
+
/** An index access method at the target major. */
|
|
130
|
+
export declare function resolveMethod(p: PgProject, method: string): MethodResolution;
|
|
131
|
+
export type OpClassResolution = {
|
|
132
|
+
ok: true;
|
|
133
|
+
} | {
|
|
134
|
+
ok: false;
|
|
135
|
+
miss: Miss;
|
|
136
|
+
otherMethods?: string[];
|
|
137
|
+
};
|
|
138
|
+
/** An operator class for `method` at the target major. */
|
|
139
|
+
export declare function resolveOpClass(p: PgProject, method: string, opclass: {
|
|
140
|
+
schema?: string;
|
|
141
|
+
name: string;
|
|
142
|
+
}): OpClassResolution;
|
|
143
|
+
/** The table an interpolated reference names (`references`, `table`, a grant's object): the entity when it is one, else undefined. */
|
|
144
|
+
export declare function interpolatedTable(p: PgProject, ref: unknown, sqlName: string | undefined): PgTable | undefined;
|
|
145
|
+
/**
|
|
146
|
+
* Every column a table has, its own and those it inherits or copies from a
|
|
147
|
+
* declared parent; undefined when some come from somewhere the build cannot
|
|
148
|
+
* see (a plain-text parent, `LIKE`, `OF type`).
|
|
149
|
+
*/
|
|
150
|
+
export declare function columnsOf(p: PgProject, t: PgTable, seen?: Set<string>): Map<string, PgTable["columns"][number]> | undefined;
|
|
151
|
+
//# sourceMappingURL=postgres-names.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postgres-names.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/postgres-names.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { PostSynthCheck } from "@intentius/chant/lint/post-synth";
|
|
2
|
+
/**
|
|
3
|
+
* SQL101: two exports declare the same object, the same kind under the same
|
|
4
|
+
* qualified name (`shop.events` twice). The build writes both `CREATE`
|
|
5
|
+
* statements, and the second fails on the server, or replaces the first
|
|
6
|
+
* under `OR REPLACE`.
|
|
7
|
+
*/
|
|
8
|
+
export declare const sql101: PostSynthCheck;
|
|
9
|
+
//# sourceMappingURL=sql101.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sql101.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/sql101.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAuB,MAAM,kCAAkC,CAAC;AA0B5F;;;;;GAKG;AACH,eAAO,MAAM,MAAM,EAAE,cA6BpB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { PostSynthCheck } from "@intentius/chant/lint/post-synth";
|
|
2
|
+
/**
|
|
3
|
+
* SQL102: `sql-types.d.ts` no longer matches what the build declares.
|
|
4
|
+
*
|
|
5
|
+
* tsc checks a typed tag's columns, and the foreign-key and sort-key slots,
|
|
6
|
+
* against the generated file, never against the template text, so a stale file
|
|
7
|
+
* keeps checking the old types. The check renders the declarations in memory
|
|
8
|
+
* (the render `chant sql types` writes) and compares them with the file in the
|
|
9
|
+
* project's source directory. Silent when the context carries no project
|
|
10
|
+
* directory (a hand-built one) or the file does not exist, so a project that
|
|
11
|
+
* has not adopted typed columns, or keeps the file elsewhere, sees nothing.
|
|
12
|
+
* `chant sql types --check` is the same comparison without a build, and a
|
|
13
|
+
* workspace `generated` entry runs it under `chant workspace check --generated`.
|
|
14
|
+
*/
|
|
15
|
+
export declare const sql102: PostSynthCheck;
|
|
16
|
+
//# sourceMappingURL=sql102.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sql102.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/sql102.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAGvE;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,MAAM,EAAE,cAiBpB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SQLCH121: a column type names a family the pinned server does not have
|
|
3
|
+
* (`UInt46`, `uint64`, `Nullabel(String)`), at any depth of the type.
|
|
4
|
+
*
|
|
5
|
+
* The family list is the pinned server's own (`system.data_type_families`),
|
|
6
|
+
* aliases included; a name is case-sensitive unless the catalog marks it
|
|
7
|
+
* case-insensitive.
|
|
8
|
+
*/
|
|
9
|
+
export declare const sqlch121: import("@intentius/chant").PostSynthCheck;
|
|
10
|
+
//# sourceMappingURL=sqlch121.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlch121.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/sqlch121.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,2CAA2I,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SQLCH122: a column type's parameters do not fit the family: parameters on a
|
|
3
|
+
* family that takes none, a required one missing (`FixedString`), too many,
|
|
4
|
+
* or a number outside its range (`Decimal(100, 2)`).
|
|
5
|
+
*
|
|
6
|
+
* The parameter grammar is the `TYPE_PARAMETERS` overlay; no system table
|
|
7
|
+
* holds it.
|
|
8
|
+
*/
|
|
9
|
+
export declare const sqlch122: import("@intentius/chant").PostSynthCheck;
|
|
10
|
+
//# sourceMappingURL=sqlch122.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlch122.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/sqlch122.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,2CAA+H,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SQLCH123: `Nullable` around a type ClickHouse keeps out of it: `Array`,
|
|
3
|
+
* `Map`, `Nested`, `LowCardinality`, `Variant` or another `Nullable`. The
|
|
4
|
+
* server refuses the column ("Nested type ... cannot be inside Nullable
|
|
5
|
+
* type"). `Nullable(Tuple(...))` is left alone: the server takes it when the
|
|
6
|
+
* profile enables `enable_nullable_tuple_type`.
|
|
7
|
+
*/
|
|
8
|
+
export declare const sqlch123: import("@intentius/chant").PostSynthCheck;
|
|
9
|
+
//# sourceMappingURL=sqlch123.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlch123.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/sqlch123.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,eAAO,MAAM,QAAQ,2CAAgJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlch124.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/sqlch124.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,eAAO,MAAM,QAAQ,2CAanB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SQLCH125: a codec's parameters do not fit it: more than the codec takes
|
|
3
|
+
* (`LZ4(1)`), a number outside its range (`ZSTD(99)`, `LZ4HC(13)`), or a
|
|
4
|
+
* value outside its set (`Delta(3)`; the byte width is 1, 2, 4 or 8).
|
|
5
|
+
*
|
|
6
|
+
* The parameters are the `CODEC_OVERLAY`'s; a codec marked `"unknown"` there
|
|
7
|
+
* (the experimental ones with undocumented parameters) is not checked. An
|
|
8
|
+
* unknown codec name is SQLCH114's.
|
|
9
|
+
*/
|
|
10
|
+
export declare const sqlch125: import("@intentius/chant").PostSynthCheck;
|
|
11
|
+
//# sourceMappingURL=sqlch125.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlch125.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/sqlch125.ts"],"names":[],"mappings":"AAQA;;;;;;;;GAQG;AACH,eAAO,MAAM,QAAQ,2CAsCnB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SQLCH126: a `GRANT` column list names a column the `${}` table does not
|
|
3
|
+
* declare: `GRANT SELECT(kindd) ON ${events}`. The server refuses the grant
|
|
4
|
+
* ("There is no column ...").
|
|
5
|
+
*
|
|
6
|
+
* Only a target the grant interpolates is checked, against the columns it
|
|
7
|
+
* declares; a target written as a plain name, or a view that infers its
|
|
8
|
+
* columns from its SELECT, is left to the server. ClickHouse has no declared
|
|
9
|
+
* `REVOKE`, so a grant is the only column list.
|
|
10
|
+
*/
|
|
11
|
+
export declare const sqlch126: import("@intentius/chant").PostSynthCheck;
|
|
12
|
+
//# sourceMappingURL=sqlch126.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlch126.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/sqlch126.ts"],"names":[],"mappings":"AAqBA;;;;;;;;;GASG;AACH,eAAO,MAAM,QAAQ,2CAyBnB,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A catalog function, or an aggregate function with combinator suffixes
|
|
3
|
+
* (`countIf`, `sumState`, `uniqMerge`). A table function (`numbers`) counts
|
|
4
|
+
* too: it is a name the server has, and where it does not belong is the
|
|
5
|
+
* server's to say.
|
|
6
|
+
*/
|
|
7
|
+
export declare function isKnownFunction(name: string): boolean;
|
|
8
|
+
/** The names an expression calls: an identifier directly followed by `(`, outside strings and quoted names. */
|
|
9
|
+
export declare function calledNames(expr: string): string[];
|
|
10
|
+
/**
|
|
11
|
+
* SQLCH127: an expression the table declares calls a function the pinned
|
|
12
|
+
* server does not have: `DEFAULT noww()`, `PARTITION BY toYYYYMMM(at)`.
|
|
13
|
+
*
|
|
14
|
+
* Read in each column's `DEFAULT`, `MATERIALIZED`, `ALIAS`, `EPHEMERAL` and
|
|
15
|
+
* TTL expression, in `ORDER BY`, `PRIMARY KEY`, `PARTITION BY`, `SAMPLE BY`
|
|
16
|
+
* and the table TTL, and in each skip index expression. A name counts when it
|
|
17
|
+
* is in `system.functions` (case as the catalog says, aliases included), is an
|
|
18
|
+
* aggregate function with combinator suffixes, or is a function the project
|
|
19
|
+
* declares with `func`.
|
|
20
|
+
*/
|
|
21
|
+
export declare const sqlch127: import("@intentius/chant").PostSynthCheck;
|
|
22
|
+
//# sourceMappingURL=sqlch127.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlch127.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/sqlch127.ts"],"names":[],"mappings":"AAgCA;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAoBrD;AAED,+GAA+G;AAC/G,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CA4BlD;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,QAAQ,2CAyBnB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SQLPG119: a column, array element, domain base or sequence `AS` type the
|
|
3
|
+
* target major does not have.
|
|
4
|
+
*
|
|
5
|
+
* Doc: https://www.postgresql.org/docs/18/datatype.html. The server refuses
|
|
6
|
+
* `type "numerik" does not exist` at CREATE. A built-in type counts in every
|
|
7
|
+
* spelling Postgres accepts: the catalog's `pg_type` name and `format_type()`
|
|
8
|
+
* name (`int4`, `integer`), and the grammar's own spellings (`int`, `decimal`,
|
|
9
|
+
* `double precision`, `time with time zone`), an overlay beside the catalog.
|
|
10
|
+
* So does a type the project declares (`type`, `domain`, a table's row type),
|
|
11
|
+
* by `${}` or by name. A type qualified with a schema the project does not
|
|
12
|
+
* declare is a plain-text reference and left to the server. An unknown name is
|
|
13
|
+
* a warning when the project declares an extension, since extension types are
|
|
14
|
+
* not in the core catalog; the overlay of common extension types answers for
|
|
15
|
+
* the ones it knows.
|
|
16
|
+
*/
|
|
17
|
+
export declare const sqlpg119: import("@intentius/chant").PostSynthCheck;
|
|
18
|
+
//# sourceMappingURL=sqlpg119.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlpg119.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/sqlpg119.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,QAAQ,2CAiBnB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SQLPG120: a type modifier that does not fit the type.
|
|
3
|
+
*
|
|
4
|
+
* Doc: https://www.postgresql.org/docs/18/datatype-numeric.html,
|
|
5
|
+
* https://www.postgresql.org/docs/18/datatype-character.html,
|
|
6
|
+
* https://www.postgresql.org/docs/18/datatype-datetime.html,
|
|
7
|
+
* https://www.postgresql.org/docs/18/datatype-bit.html. The server refuses a
|
|
8
|
+
* modifier on a type that takes none (`bigint(8)`), `numeric` precision
|
|
9
|
+
* outside 1 to 1000 or scale outside -1000 to 1000 (0 to the precision before
|
|
10
|
+
* 15), `varchar(n)` or `char(n)` outside 1 to 10485760, `timestamp`, `time`
|
|
11
|
+
* or `interval` precision outside 0 to 6, `bit(n)` below 1, and `float(p)`
|
|
12
|
+
* outside 1 to 53. The parameters and ranges are the lexicon's type overlay.
|
|
13
|
+
* Only built-in types are checked: a declared or extension type's modifiers
|
|
14
|
+
* are its own (`geometry(Point, 4326)`).
|
|
15
|
+
*/
|
|
16
|
+
export declare const sqlpg120: import("@intentius/chant").PostSynthCheck;
|
|
17
|
+
//# sourceMappingURL=sqlpg120.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlpg120.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/sqlpg120.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,QAAQ,2CAanB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SQLPG121: an identity column whose type is not `smallint`, `integer` or
|
|
3
|
+
* `bigint`.
|
|
4
|
+
*
|
|
5
|
+
* Doc: https://www.postgresql.org/docs/18/sql-createtable.html ("GENERATED {
|
|
6
|
+
* ALWAYS | BY DEFAULT } AS IDENTITY ... The column ... must be of type
|
|
7
|
+
* smallint, integer or bigint"). The server refuses `identity column type must
|
|
8
|
+
* be smallint, integer, or bigint` at CREATE. A declared type (a domain) is
|
|
9
|
+
* left to the server.
|
|
10
|
+
*/
|
|
11
|
+
export declare const sqlpg121: import("@intentius/chant").PostSynthCheck;
|
|
12
|
+
//# sourceMappingURL=sqlpg121.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlpg121.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/sqlpg121.ts"],"names":[],"mappings":"AAKA;;;;;;;;;GASG;AACH,eAAO,MAAM,QAAQ,2CAgBnB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SQLPG122: a table that declares a column twice, or an enum that lists a
|
|
3
|
+
* label twice.
|
|
4
|
+
*
|
|
5
|
+
* Doc: https://www.postgresql.org/docs/18/sql-createtable.html and
|
|
6
|
+
* https://www.postgresql.org/docs/18/sql-createtype.html. The server refuses
|
|
7
|
+
* `column "id" specified more than once` and `enum labels must be unique`.
|
|
8
|
+
* Column names are compared as Postgres folds them; labels as written, since
|
|
9
|
+
* they are case-sensitive strings.
|
|
10
|
+
*/
|
|
11
|
+
export declare const sqlpg122: import("@intentius/chant").PostSynthCheck;
|
|
12
|
+
//# sourceMappingURL=sqlpg122.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlpg122.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/sqlpg122.ts"],"names":[],"mappings":"AAKA;;;;;;;;;GASG;AACH,eAAO,MAAM,QAAQ,2CAYnB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SQLPG123: a bare column name in a key, index or grant column list that the
|
|
3
|
+
* table does not declare.
|
|
4
|
+
*
|
|
5
|
+
* Doc: https://www.postgresql.org/docs/18/sql-createtable.html,
|
|
6
|
+
* https://www.postgresql.org/docs/18/sql-createindex.html,
|
|
7
|
+
* https://www.postgresql.org/docs/18/sql-grant.html. The server refuses
|
|
8
|
+
* `column "idd" named in key does not exist` (or `column "emial" does not
|
|
9
|
+
* exist`) at CREATE or GRANT. Checked: `PRIMARY KEY`, `UNIQUE` and their
|
|
10
|
+
* `INCLUDE`, a foreign key's own columns, an index's bare columns and
|
|
11
|
+
* `INCLUDE` on a `${}` table, and a `GRANT`/`REVOKE` column list on a `${}`
|
|
12
|
+
* table. An expression (an index expression, a CHECK, a generated column) is
|
|
13
|
+
* left to the server, as is a table whose columns come from somewhere the
|
|
14
|
+
* build cannot see (`LIKE`, `OF type`, a plain-text parent).
|
|
15
|
+
*/
|
|
16
|
+
export declare const sqlpg123: import("@intentius/chant").PostSynthCheck;
|
|
17
|
+
//# sourceMappingURL=sqlpg123.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlpg123.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/sqlpg123.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,QAAQ,2CA4CnB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SQLPG124: a foreign key to a `${}` table that names a column the table does
|
|
3
|
+
* not declare, or pairs columns whose types do not compare.
|
|
4
|
+
*
|
|
5
|
+
* Doc: https://www.postgresql.org/docs/18/ddl-constraints.html#DDL-CONSTRAINTS-FK
|
|
6
|
+
* and https://www.postgresql.org/docs/18/catalog-pg-type.html#CATALOG-TYPCATEGORY-TABLE.
|
|
7
|
+
* The server refuses `column "idd" referenced in foreign key constraint does
|
|
8
|
+
* not exist` and `Key columns "customer_id" and "id" are of incompatible
|
|
9
|
+
* types: text and bigint`. Types compare by their catalog category: `integer`
|
|
10
|
+
* to `bigint` (both numeric) passes, `text` to `bigint` fails. The
|
|
11
|
+
* user-defined category (`uuid`, `bytea`, `jsonb`...) compares by type; a
|
|
12
|
+
* domain by its base type; an enum by itself. A key to a table named in plain
|
|
13
|
+
* text, or a type outside the project, is left to the server.
|
|
14
|
+
*/
|
|
15
|
+
export declare const sqlpg124: import("@intentius/chant").PostSynthCheck;
|
|
16
|
+
//# sourceMappingURL=sqlpg124.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlpg124.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/sqlpg124.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,QAAQ,2CA6BnB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SQLPG125: an index access method or operator class the target major does
|
|
3
|
+
* not have, or an operator class that is not for the index's method.
|
|
4
|
+
*
|
|
5
|
+
* Doc: https://www.postgresql.org/docs/18/sql-createindex.html and
|
|
6
|
+
* https://www.postgresql.org/docs/18/indexes-opclass.html. The server refuses
|
|
7
|
+
* `access method "btreee" does not exist` and `operator class "numeric_opz"
|
|
8
|
+
* does not exist for access method "btree"` at CREATE. Methods and operator
|
|
9
|
+
* classes come from the target major's catalog (`pg_am`, `pg_opclass`). The
|
|
10
|
+
* ones an extension adds (`gin_trgm_ops` from pg_trgm, `hnsw` from vector)
|
|
11
|
+
* pass when the project declares that extension and are an error naming it
|
|
12
|
+
* when it does not; one neither the catalog nor the extension overlay knows is
|
|
13
|
+
* a warning when the project declares any extension. An operator class
|
|
14
|
+
* qualified with a schema the project does not declare is left alone.
|
|
15
|
+
*/
|
|
16
|
+
export declare const sqlpg125: import("@intentius/chant").PostSynthCheck;
|
|
17
|
+
//# sourceMappingURL=sqlpg125.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlpg125.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/sqlpg125.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,QAAQ,2CAqBnB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SQLPG126: a call to a function the target major does not have, in a column
|
|
3
|
+
* `DEFAULT`, a generated column, a `CHECK` (a table's or a domain's), or an
|
|
4
|
+
* index expression.
|
|
5
|
+
*
|
|
6
|
+
* Doc: https://www.postgresql.org/docs/18/functions.html. The server refuses
|
|
7
|
+
* `function noww() does not exist` at CREATE. A name counts when it is in
|
|
8
|
+
* the target major's `pg_proc`, a function or procedure the project declares,
|
|
9
|
+
* a type name used as a cast (`int4(x)`), or qualified with a schema the
|
|
10
|
+
* project does not declare. Only a name directly followed by `(`, outside
|
|
11
|
+
* string literals, is a call; the grammar's own constructs that read like
|
|
12
|
+
* calls (`COALESCE`, `NULLIF`, `GREATEST`, `LEAST`, `CAST`, `EXTRACT`, `ROW`,
|
|
13
|
+
* `ARRAY`, `EXISTS`, `IN`, `ANY`, `ALL`, `SOME`, and the key word forms of
|
|
14
|
+
* `OVERLAY`, `POSITION`, `SUBSTRING` and `TRIM`) are reserved or column-name
|
|
15
|
+
* key words, not `pg_proc` names, and are skipped by their key word category.
|
|
16
|
+
* An error, or a warning when the project declares an extension.
|
|
17
|
+
*/
|
|
18
|
+
export declare const sqlpg126: import("@intentius/chant").PostSynthCheck;
|
|
19
|
+
//# sourceMappingURL=sqlpg126.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlpg126.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/sqlpg126.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,QAAQ,2CAgBnB,CAAC"}
|