happy-sql 2.0.6 → 2.0.8

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.
Files changed (94) hide show
  1. package/ChangeLog +16 -0
  2. package/lib/happy-sql.js +5 -1
  3. package/lib/parser/fixture/comment-fix.js +6 -1
  4. package/lib/parser/fixture/section-multi-fix.js +22 -4
  5. package/lib/parser/fixture/select-fix.js +6 -1
  6. package/lib/parser/fixture/with-named-fix.js +41 -9
  7. package/lib/parser/fixture/with-named-insert-fix.js +42 -9
  8. package/lib/parser/parser.js +5 -2
  9. package/lib/parser/visitors/clause/count/fixture/count-fix.js +8 -1
  10. package/lib/parser/visitors/clause/count/fixture/count-one-fix.js +8 -1
  11. package/lib/parser/visitors/clause/create-sequence/fixture/create-sequence-fix.js +3 -1
  12. package/lib/parser/visitors/clause/create-table/fixture/create-table-autoincrement-fix.js +10 -3
  13. package/lib/parser/visitors/clause/create-table/fixture/create-table-default-fix.js +9 -3
  14. package/lib/parser/visitors/clause/create-table/fixture/create-table-identity-always-fix.js +10 -3
  15. package/lib/parser/visitors/clause/create-table/fixture/create-table-identity-by-default-fix.js +10 -3
  16. package/lib/parser/visitors/clause/create-table/fixture/create-table-nextval-fix.js +16 -4
  17. package/lib/parser/visitors/clause/create-table/fixture/create-table-not-null-fix.js +9 -3
  18. package/lib/parser/visitors/clause/create-table/fixture/create-table-serial-fix.js +9 -3
  19. package/lib/parser/visitors/clause/delete/fixture/delete-fix.js +8 -1
  20. package/lib/parser/visitors/clause/from/fixture/from-fix.js +6 -1
  21. package/lib/parser/visitors/clause/from/fixture/from-where-fix.js +10 -1
  22. package/lib/parser/visitors/clause/from/fixture/join-fix.js +12 -1
  23. package/lib/parser/visitors/clause/from/fixture/join-multi-fix.js +19 -1
  24. package/lib/parser/visitors/clause/from/fixture/join-on-in-fix.js +17 -1
  25. package/lib/parser/visitors/clause/from/fixture/join-on-is-not-null-fix.js +14 -1
  26. package/lib/parser/visitors/clause/from/fixture/join-on-is-null-fix.js +14 -1
  27. package/lib/parser/visitors/clause/from/fixture/join-on-like-fix.js +15 -1
  28. package/lib/parser/visitors/clause/from/fixture/join-on-not-eq-fix.js +12 -1
  29. package/lib/parser/visitors/clause/from/fixture/join-on-number-fix.js +12 -1
  30. package/lib/parser/visitors/clause/from/fixture/join-on-or-fix.js +12 -1
  31. package/lib/parser/visitors/clause/from/fixture/join-on-param-fix.js +12 -1
  32. package/lib/parser/visitors/clause/from/from.js +1 -26
  33. package/lib/parser/visitors/clause/insert/fixture/insert-fix.js +9 -1
  34. package/lib/parser/visitors/clause/insert/fixture/insert-identifier-fix.js +15 -1
  35. package/lib/parser/visitors/clause/insert/fixture/insert-multi-fix.js +9 -1
  36. package/lib/parser/visitors/clause/insert/fixture/insert-number-fix.js +16 -1
  37. package/lib/parser/visitors/clause/insert/fixture/insert-returning-conflict-fix.js +18 -1
  38. package/lib/parser/visitors/clause/insert/fixture/insert-returning-fix.js +12 -5
  39. package/lib/parser/visitors/clause/insert/fixture/insert-returning-id-fix.js +12 -5
  40. package/lib/parser/visitors/clause/insert/fixture/insert-string-fix.js +15 -1
  41. package/lib/parser/visitors/clause/on-conflict/fixture/on-conflict-fix.js +15 -1
  42. package/lib/parser/visitors/clause/on-conflict/fixture/on-conflict-nothing-fix.js +12 -1
  43. package/lib/parser/visitors/clause/select/fixture/select-alias-fix.js +7 -1
  44. package/lib/parser/visitors/clause/select/fixture/select-alias-param-fix.js +6 -1
  45. package/lib/parser/visitors/clause/select/fixture/select-fix.js +6 -1
  46. package/lib/parser/visitors/clause/select/fixture/select-last-insert-rowid-fix.js +6 -1
  47. package/lib/parser/visitors/clause/select/fixture/select-lastval-fix.js +6 -1
  48. package/lib/parser/visitors/clause/select/fixture/select-number-fix.js +9 -1
  49. package/lib/parser/visitors/clause/select/fixture/select-param-fix.js +7 -1
  50. package/lib/parser/visitors/clause/update/fixture/update-fix.js +9 -1
  51. package/lib/parser/visitors/clause/update/fixture/update-identifier-fix.js +9 -1
  52. package/lib/parser/visitors/clause/update/fixture/update-no-where-fix.js +6 -1
  53. package/lib/parser/visitors/clause/update/fixture/update-number-fix.js +9 -1
  54. package/lib/parser/visitors/clause/update/fixture/update-string-fix.js +9 -1
  55. package/lib/parser/visitors/clause/update/fixture/update-where-and-fix.js +11 -0
  56. package/lib/parser/visitors/clause/update/fixture/update-where-and.sql +1 -0
  57. package/lib/parser/visitors/clause/update/fixture/update-where-in-fix.js +16 -0
  58. package/lib/parser/visitors/clause/update/fixture/update-where-in.sql +1 -0
  59. package/lib/parser/visitors/clause/update/fixture/update-where-is-not-null-fix.js +13 -0
  60. package/lib/parser/visitors/clause/update/fixture/update-where-is-not-null.sql +1 -0
  61. package/lib/parser/visitors/clause/update/fixture/update-where-is-null-fix.js +13 -0
  62. package/lib/parser/visitors/clause/update/fixture/update-where-is-null.sql +1 -0
  63. package/lib/parser/visitors/clause/update/fixture/update-where-like-fix.js +14 -0
  64. package/lib/parser/visitors/clause/update/fixture/update-where-like.sql +1 -0
  65. package/lib/parser/visitors/clause/update/fixture/update-where-or-fix.js +11 -0
  66. package/lib/parser/visitors/clause/update/fixture/update-where-or.sql +1 -0
  67. package/lib/parser/visitors/clause/where/fixture/where-boolean-fix.js +11 -0
  68. package/lib/parser/visitors/clause/where/fixture/where-boolean.sql +1 -0
  69. package/lib/parser/visitors/clause/where/fixture/where-compare-fix.js +9 -1
  70. package/lib/parser/visitors/clause/where/fixture/where-fix.js +9 -1
  71. package/lib/parser/visitors/clause/where/fixture/where-gte-fix.js +9 -1
  72. package/lib/parser/visitors/clause/where/fixture/where-in-fix.js +14 -1
  73. package/lib/parser/visitors/clause/where/fixture/where-is-not-null-fix.js +11 -1
  74. package/lib/parser/visitors/clause/where/fixture/where-is-null-fix.js +11 -1
  75. package/lib/parser/visitors/clause/where/fixture/where-like-fix.js +12 -1
  76. package/lib/parser/visitors/clause/where/fixture/where-member-fix.js +11 -0
  77. package/lib/parser/visitors/clause/where/fixture/where-member.sql +1 -0
  78. package/lib/parser/visitors/clause/where/fixture/where-not-eq-fix.js +9 -1
  79. package/lib/parser/visitors/clause/where/fixture/where-null-fix.js +11 -0
  80. package/lib/parser/visitors/clause/where/fixture/where-null.sql +1 -0
  81. package/lib/parser/visitors/clause/where/fixture/where-number-fix.js +9 -1
  82. package/lib/parser/visitors/clause/where/fixture/where-or-fix.js +9 -1
  83. package/lib/printer/visitors/array-expression.js +4 -2
  84. package/lib/printer/visitors/call-expression/clauses/column/column.js +1 -1
  85. package/lib/printer/visitors/call-expression/clauses/create-table/create-table.js +7 -3
  86. package/lib/printer/visitors/call-expression/clauses/delete/delete.js +1 -1
  87. package/lib/printer/visitors/call-expression/clauses/from/from.js +1 -1
  88. package/lib/printer/visitors/call-expression/clauses/insert/insert.js +1 -1
  89. package/lib/printer/visitors/call-expression/clauses/into/into.js +1 -1
  90. package/lib/printer/visitors/call-expression/clauses/join/join.js +3 -2
  91. package/lib/printer/visitors/call-expression/clauses/select/select.js +1 -1
  92. package/lib/printer/visitors/call-expression/clauses/update/update.js +2 -2
  93. package/lib/printer/visitors/call-expression/clauses/with-named/with-named.js +23 -6
  94. package/package.json +1 -1
@@ -1,3 +1,11 @@
1
1
  [
2
- insert(into(t, [x, y], values(':x', ':y'))),
2
+ insert(
3
+ into(
4
+ t, [x, y],
5
+ values(
6
+ ':x',
7
+ ':y',
8
+ ),
9
+ ),
10
+ ),
3
11
  ];
@@ -1,3 +1,18 @@
1
1
  [
2
- insert(into(t, x, values(':x')), onConflict(x, y, set(count === 1))),
2
+ insert(
3
+ into(
4
+ t,
5
+ x,
6
+ values(
7
+ ':x',
8
+ ),
9
+ ),
10
+ onConflict(
11
+ x,
12
+ y,
13
+ set(
14
+ count === 1,
15
+ ),
16
+ ),
17
+ ),
3
18
  ];
@@ -1,3 +1,20 @@
1
1
  [
2
- insert(into(t, x, values(':x')), onConflict(x, set(y === ':y')), returning(id)),
2
+ insert(
3
+ into(
4
+ t,
5
+ x,
6
+ values(
7
+ ':x',
8
+ ),
9
+ ),
10
+ onConflict(
11
+ x,
12
+ set(
13
+ y === ':y',
14
+ ),
15
+ ),
16
+ returning(
17
+ id,
18
+ ),
19
+ ),
3
20
  ];
@@ -1,7 +1,14 @@
1
1
  [
2
- insert(into(
3
- CallExpression,
4
- parent_id,
5
- values(':parent_id'),
6
- ), returning(id as 'call_id')),
2
+ insert(
3
+ into(
4
+ CallExpression,
5
+ parent_id,
6
+ values(
7
+ ':parent_id',
8
+ ),
9
+ ),
10
+ returning(
11
+ id as 'call_id',
12
+ ),
13
+ ),
7
14
  ];
@@ -1,7 +1,14 @@
1
1
  [
2
- insert(into(
3
- CallExpression,
4
- parent_id,
5
- values(':parent_id'),
6
- ), returning(id)),
2
+ insert(
3
+ into(
4
+ CallExpression,
5
+ parent_id,
6
+ values(
7
+ ':parent_id',
8
+ ),
9
+ ),
10
+ returning(
11
+ id,
12
+ ),
13
+ ),
7
14
  ];
@@ -1,3 +1,17 @@
1
1
  [
2
- insert(into(t, x, values(':x')), onConflict(x, set(name === 'hello'))),
2
+ insert(
3
+ into(
4
+ t,
5
+ x,
6
+ values(
7
+ ':x',
8
+ ),
9
+ ),
10
+ onConflict(
11
+ x,
12
+ set(
13
+ name === 'hello',
14
+ ),
15
+ ),
16
+ ),
3
17
  ];
@@ -1,3 +1,17 @@
1
1
  [
2
- insert(into(t, x, values(':x')), onConflict(x, set(x === ':x'))),
2
+ insert(
3
+ into(
4
+ t,
5
+ x,
6
+ values(
7
+ ':x',
8
+ ),
9
+ ),
10
+ onConflict(
11
+ x,
12
+ set(
13
+ x === ':x',
14
+ ),
15
+ ),
16
+ ),
3
17
  ];
@@ -1,3 +1,14 @@
1
1
  [
2
- insert(into(t, x, values(':x')), onConflict(nothing)),
2
+ insert(
3
+ into(
4
+ t,
5
+ x,
6
+ values(
7
+ ':x',
8
+ ),
9
+ ),
10
+ onConflict(
11
+ nothing,
12
+ ),
13
+ ),
3
14
  ];
@@ -1,3 +1,9 @@
1
1
  [
2
- select('msg' as 'message', 42 as 'num', from(t)),
2
+ select(
3
+ 'msg' as 'message',
4
+ 42 as 'num',
5
+ from(
6
+ t,
7
+ ),
8
+ ),
3
9
  ];
@@ -1,3 +1,8 @@
1
1
  [
2
- select(':file' as 'file', from(t)),
2
+ select(
3
+ ':file' as 'file',
4
+ from(
5
+ t,
6
+ ),
7
+ ),
3
8
  ];
@@ -1,3 +1,8 @@
1
1
  [
2
- select('*', from(users)),
2
+ select(
3
+ '*',
4
+ from(
5
+ users,
6
+ ),
7
+ ),
3
8
  ];
@@ -1,3 +1,8 @@
1
1
  [
2
- select(lastInsertRowid(), from(users)),
2
+ select(
3
+ lastInsertRowid(),
4
+ from(
5
+ users,
6
+ ),
7
+ ),
3
8
  ];
@@ -1,3 +1,8 @@
1
1
  [
2
- select(lastval(), from(users)),
2
+ select(
3
+ lastval(),
4
+ from(
5
+ users,
6
+ ),
7
+ ),
3
8
  ];
@@ -1,3 +1,11 @@
1
1
  [
2
- select('*', from(t, where(num === 42))),
2
+ select(
3
+ '*',
4
+ from(
5
+ t,
6
+ where(
7
+ num === 42,
8
+ ),
9
+ ),
10
+ ),
3
11
  ];
@@ -1,3 +1,9 @@
1
1
  [
2
- select(':arg_name', id, from(t)),
2
+ select(
3
+ ':arg_name',
4
+ id,
5
+ from(
6
+ t,
7
+ ),
8
+ ),
3
9
  ];
@@ -1,3 +1,11 @@
1
1
  [
2
- update(t, set(x === ':x'), where(id === ':id')),
2
+ update(
3
+ t,
4
+ set(
5
+ x === ':x',
6
+ ),
7
+ where(
8
+ id === ':id',
9
+ ),
10
+ ),
3
11
  ];
@@ -1,3 +1,11 @@
1
1
  [
2
- update(t, set(x === y), where(id === ':id')),
2
+ update(
3
+ t,
4
+ set(
5
+ x === y,
6
+ ),
7
+ where(
8
+ id === ':id',
9
+ ),
10
+ ),
3
11
  ];
@@ -1,3 +1,8 @@
1
1
  [
2
- update(t, set(x === ':x')),
2
+ update(
3
+ t,
4
+ set(
5
+ x === ':x',
6
+ ),
7
+ ),
3
8
  ];
@@ -1,3 +1,11 @@
1
1
  [
2
- update(t, set(x === 1), where(id === ':id')),
2
+ update(
3
+ t,
4
+ set(
5
+ x === 1,
6
+ ),
7
+ where(
8
+ id === ':id',
9
+ ),
10
+ ),
3
11
  ];
@@ -1,3 +1,11 @@
1
1
  [
2
- update(t, set(name === 'hello'), where(id === ':id')),
2
+ update(
3
+ t,
4
+ set(
5
+ name === 'hello',
6
+ ),
7
+ where(
8
+ id === ':id',
9
+ ),
10
+ ),
3
11
  ];
@@ -0,0 +1,11 @@
1
+ [
2
+ update(
3
+ t,
4
+ set(
5
+ x === 1,
6
+ ),
7
+ where(
8
+ a === 1 && b === 2,
9
+ ),
10
+ ),
11
+ ];
@@ -0,0 +1 @@
1
+ UPDATE t SET x = 1 WHERE a = 1 AND b = 2
@@ -0,0 +1,16 @@
1
+ [
2
+ update(
3
+ t,
4
+ set(
5
+ x === 1,
6
+ ),
7
+ where(
8
+ inList(
9
+ y,
10
+ 1,
11
+ 2,
12
+ 3,
13
+ ),
14
+ ),
15
+ ),
16
+ ];
@@ -0,0 +1 @@
1
+ UPDATE t SET x = 1 WHERE y IN (1, 2, 3)
@@ -0,0 +1,13 @@
1
+ [
2
+ update(
3
+ t,
4
+ set(
5
+ x === 1,
6
+ ),
7
+ where(
8
+ isNotNull(
9
+ y,
10
+ ),
11
+ ),
12
+ ),
13
+ ];
@@ -0,0 +1 @@
1
+ UPDATE t SET x = 1 WHERE y IS NOT NULL
@@ -0,0 +1,13 @@
1
+ [
2
+ update(
3
+ t,
4
+ set(
5
+ x === 1,
6
+ ),
7
+ where(
8
+ isNull(
9
+ y,
10
+ ),
11
+ ),
12
+ ),
13
+ ];
@@ -0,0 +1 @@
1
+ UPDATE t SET x = 1 WHERE y IS NULL
@@ -0,0 +1,14 @@
1
+ [
2
+ update(
3
+ t,
4
+ set(
5
+ x === 1,
6
+ ),
7
+ where(
8
+ like(
9
+ y,
10
+ '%a%',
11
+ ),
12
+ ),
13
+ ),
14
+ ];
@@ -0,0 +1 @@
1
+ UPDATE t SET x = 1 WHERE y LIKE '%a%'
@@ -0,0 +1,11 @@
1
+ [
2
+ update(
3
+ t,
4
+ set(
5
+ x === 1,
6
+ ),
7
+ where(
8
+ a === 1 || b === 2,
9
+ ),
10
+ ),
11
+ ];
@@ -0,0 +1 @@
1
+ UPDATE t SET x = 1 WHERE a = 1 OR b = 2
@@ -0,0 +1,11 @@
1
+ [
2
+ select(
3
+ '*',
4
+ from(
5
+ t,
6
+ where(
7
+ x === true,
8
+ ),
9
+ ),
10
+ ),
11
+ ];
@@ -0,0 +1 @@
1
+ SELECT * FROM t WHERE x = true
@@ -1,3 +1,11 @@
1
1
  [
2
- select('*', from(t, where(x > 1 && y < 2))),
2
+ select(
3
+ '*',
4
+ from(
5
+ t,
6
+ where(
7
+ x > 1 && y < 2,
8
+ ),
9
+ ),
10
+ ),
3
11
  ];
@@ -1,3 +1,11 @@
1
1
  [
2
- select('*', from(users, where(id === ':id'))),
2
+ select(
3
+ '*',
4
+ from(
5
+ users,
6
+ where(
7
+ id === ':id',
8
+ ),
9
+ ),
10
+ ),
3
11
  ];
@@ -1,3 +1,11 @@
1
1
  [
2
- select('*', from(t, where(x >= 1))),
2
+ select(
3
+ '*',
4
+ from(
5
+ t,
6
+ where(
7
+ x >= 1,
8
+ ),
9
+ ),
10
+ ),
3
11
  ];
@@ -1,3 +1,16 @@
1
1
  [
2
- select('*', from(t, where(inList(x, 1, 2, 3)))),
2
+ select(
3
+ '*',
4
+ from(
5
+ t,
6
+ where(
7
+ inList(
8
+ x,
9
+ 1,
10
+ 2,
11
+ 3,
12
+ ),
13
+ ),
14
+ ),
15
+ ),
3
16
  ];
@@ -1,3 +1,13 @@
1
1
  [
2
- select('*', from(t, where(isNotNull(x)))),
2
+ select(
3
+ '*',
4
+ from(
5
+ t,
6
+ where(
7
+ isNotNull(
8
+ x,
9
+ ),
10
+ ),
11
+ ),
12
+ ),
3
13
  ];
@@ -1,3 +1,13 @@
1
1
  [
2
- select('*', from(t, where(isNull(x)))),
2
+ select(
3
+ '*',
4
+ from(
5
+ t,
6
+ where(
7
+ isNull(
8
+ x,
9
+ ),
10
+ ),
11
+ ),
12
+ ),
3
13
  ];
@@ -1,3 +1,14 @@
1
1
  [
2
- select('*', from(t, where(like(x, ':pattern')))),
2
+ select(
3
+ '*',
4
+ from(
5
+ t,
6
+ where(
7
+ like(
8
+ x,
9
+ ':pattern',
10
+ ),
11
+ ),
12
+ ),
13
+ ),
3
14
  ];
@@ -0,0 +1,11 @@
1
+ [
2
+ select(
3
+ '*',
4
+ from(
5
+ t,
6
+ where(
7
+ a.b === 1,
8
+ ),
9
+ ),
10
+ ),
11
+ ];
@@ -0,0 +1 @@
1
+ SELECT * FROM t WHERE a.b = 1
@@ -1,3 +1,11 @@
1
1
  [
2
- select('*', from(t, where(x !== ':y'))),
2
+ select(
3
+ '*',
4
+ from(
5
+ t,
6
+ where(
7
+ x !== ':y',
8
+ ),
9
+ ),
10
+ ),
3
11
  ];
@@ -0,0 +1,11 @@
1
+ [
2
+ select(
3
+ '*',
4
+ from(
5
+ t,
6
+ where(
7
+ x === null,
8
+ ),
9
+ ),
10
+ ),
11
+ ];
@@ -0,0 +1 @@
1
+ SELECT * FROM t WHERE x = NULL
@@ -1,3 +1,11 @@
1
1
  [
2
- select('*', from(t, where(id === 42))),
2
+ select(
3
+ '*',
4
+ from(
5
+ t,
6
+ where(
7
+ id === 42,
8
+ ),
9
+ ),
10
+ ),
3
11
  ];
@@ -1,3 +1,11 @@
1
1
  [
2
- select('*', from(t, where(x === ':x' || y === ':y'))),
2
+ select(
3
+ '*',
4
+ from(
5
+ t,
6
+ where(
7
+ x === ':x' || y === ':y',
8
+ ),
9
+ ),
10
+ ),
3
11
  ];
@@ -5,7 +5,9 @@ export const ArrayExpression = (path, {write, traverse}) => {
5
5
  for (const [i, el] of elements.entries()) {
6
6
  traverse(el);
7
7
 
8
- if (i < n)
9
- write('\n\n');
8
+ if (i < n) {
9
+ write.newline();
10
+ write.newline();
11
+ }
10
12
  }
11
13
  };
@@ -3,7 +3,7 @@ export const column = (path, {write, traverse}) => {
3
3
 
4
4
  for (const [i, arg] of args.entries()) {
5
5
  if (i > 0)
6
- write(' ');
6
+ write.space();
7
7
 
8
8
  traverse(arg);
9
9
  }
@@ -3,13 +3,17 @@ export const createTable = (path, {write, traverse}) => {
3
3
 
4
4
  write('CREATE TABLE ');
5
5
  traverse(name);
6
- write(' (\n');
6
+ write.space();
7
+ write('(');
8
+ write.newline();
7
9
 
8
10
  const elements = columns.get('elements');
9
11
 
10
12
  for (const [i, element] of elements.entries()) {
11
- if (i > 0)
12
- write(',\n');
13
+ if (i > 0) {
14
+ write(',');
15
+ write.newline();
16
+ }
13
17
 
14
18
  traverse(element);
15
19
  }
@@ -7,7 +7,7 @@ export const deleteFrom = (path, {write, traverse}) => {
7
7
  traverse(fromArg);
8
8
 
9
9
  if (whereArg) {
10
- write('\n');
10
+ write.newline();
11
11
  traverse(whereArg);
12
12
  }
13
13
  };