Commit 22833ac
authored
feat: allow DDL with autocommit=false (#3057)
Adds support for running DDL statements when a connection is in autocommit=false mode. By default, DDL statements are only allowed when no transaction is active. That is; no query or DML statement has been executed which activated a read/write transaction. A new flag is added that can be used to revert the behavior back to the original behavior where DDL is always refused when autocommit=false. The same flag can also be used to make the API behave the same as MySQL and Oracle, where any active transaction is automatically committed whenever a DDL statement is encountered. Concretely this means that the following is now allowed: ``` set autocommit=false; create table Singers (SingerId INT64, Name STRING(MAX)) PRIMARY KEY (SingerId); ``` The following is by default NOT allowed, unless ddlInTransactionMode=AUTO_COMMIT_TRANSACTION ``` set autocommit=false; select * from singers; -- This starts a transaction create table Albums (AlbumId INT64) PRIMARY KEY (AlbumId); -- This is not allowed ```1 parent e595157 commit 22833ac
File tree
13 files changed
+3553
-256
lines changed- google-cloud-spanner
- src
- main/java/com/google/cloud/spanner/connection
- test
- java/com/google/cloud/spanner/connection
- resources/com/google/cloud/spanner/connection
- postgresql
13 files changed
+3553
-256
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
656 | 656 | | |
657 | 657 | | |
658 | 658 | | |
| 659 | + | |
| 660 | + | |
| 661 | + | |
| 662 | + | |
| 663 | + | |
| 664 | + | |
| 665 | + | |
| 666 | + | |
| 667 | + | |
| 668 | + | |
| 669 | + | |
| 670 | + | |
659 | 671 | | |
660 | 672 | | |
Lines changed: 6 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
773 | 773 | | |
774 | 774 | | |
775 | 775 | | |
| 776 | + | |
| 777 | + | |
| 778 | + | |
| 779 | + | |
| 780 | + | |
| 781 | + | |
776 | 782 | | |
777 | 783 | | |
778 | 784 | | |
| |||
Lines changed: 64 additions & 10 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
243 | 243 | | |
244 | 244 | | |
245 | 245 | | |
| 246 | + | |
246 | 247 | | |
247 | 248 | | |
248 | 249 | | |
| |||
271 | 272 | | |
272 | 273 | | |
273 | 274 | | |
| 275 | + | |
274 | 276 | | |
275 | 277 | | |
276 | 278 | | |
| |||
296 | 298 | | |
297 | 299 | | |
298 | 300 | | |
| 301 | + | |
299 | 302 | | |
300 | 303 | | |
301 | 304 | | |
| |||
571 | 574 | | |
572 | 575 | | |
573 | 576 | | |
| 577 | + | |
| 578 | + | |
| 579 | + | |
| 580 | + | |
| 581 | + | |
| 582 | + | |
| 583 | + | |
| 584 | + | |
| 585 | + | |
| 586 | + | |
| 587 | + | |
| 588 | + | |
| 589 | + | |
| 590 | + | |
| 591 | + | |
574 | 592 | | |
575 | 593 | | |
576 | 594 | | |
| |||
1639 | 1657 | | |
1640 | 1658 | | |
1641 | 1659 | | |
1642 | | - | |
| 1660 | + | |
| 1661 | + | |
| 1662 | + | |
| 1663 | + | |
| 1664 | + | |
| 1665 | + | |
| 1666 | + | |
| 1667 | + | |
| 1668 | + | |
| 1669 | + | |
1643 | 1670 | | |
1644 | 1671 | | |
1645 | 1672 | | |
1646 | 1673 | | |
1647 | 1674 | | |
1648 | 1675 | | |
1649 | 1676 | | |
1650 | | - | |
| 1677 | + | |
| 1678 | + | |
1651 | 1679 | | |
1652 | 1680 | | |
1653 | | - | |
| 1681 | + | |
1654 | 1682 | | |
| 1683 | + | |
1655 | 1684 | | |
1656 | | - | |
| 1685 | + | |
| 1686 | + | |
| 1687 | + | |
| 1688 | + | |
| 1689 | + | |
| 1690 | + | |
1657 | 1691 | | |
1658 | 1692 | | |
1659 | 1693 | | |
1660 | 1694 | | |
| 1695 | + | |
| 1696 | + | |
| 1697 | + | |
| 1698 | + | |
| 1699 | + | |
| 1700 | + | |
| 1701 | + | |
| 1702 | + | |
| 1703 | + | |
1661 | 1704 | | |
1662 | | - | |
1663 | | - | |
| 1705 | + | |
| 1706 | + | |
| 1707 | + | |
| 1708 | + | |
1664 | 1709 | | |
1665 | 1710 | | |
1666 | 1711 | | |
| |||
1741 | 1786 | | |
1742 | 1787 | | |
1743 | 1788 | | |
1744 | | - | |
| 1789 | + | |
1745 | 1790 | | |
1746 | 1791 | | |
1747 | 1792 | | |
| |||
1788 | 1833 | | |
1789 | 1834 | | |
1790 | 1835 | | |
1791 | | - | |
| 1836 | + | |
| 1837 | + | |
| 1838 | + | |
1792 | 1839 | | |
1793 | 1840 | | |
1794 | 1841 | | |
1795 | 1842 | | |
1796 | 1843 | | |
| 1844 | + | |
| 1845 | + | |
| 1846 | + | |
| 1847 | + | |
| 1848 | + | |
1797 | 1849 | | |
1798 | 1850 | | |
1799 | | - | |
| 1851 | + | |
| 1852 | + | |
1800 | 1853 | | |
1801 | 1854 | | |
1802 | 1855 | | |
| |||
1814 | 1867 | | |
1815 | 1868 | | |
1816 | 1869 | | |
1817 | | - | |
| 1870 | + | |
| 1871 | + | |
1818 | 1872 | | |
1819 | 1873 | | |
1820 | 1874 | | |
| |||
Lines changed: 23 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
183 | 183 | | |
184 | 184 | | |
185 | 185 | | |
| 186 | + | |
| 187 | + | |
186 | 188 | | |
187 | 189 | | |
188 | 190 | | |
| |||
253 | 255 | | |
254 | 256 | | |
255 | 257 | | |
| 258 | + | |
| 259 | + | |
256 | 260 | | |
257 | 261 | | |
258 | 262 | | |
| |||
374 | 378 | | |
375 | 379 | | |
376 | 380 | | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
377 | 386 | | |
378 | 387 | | |
379 | 388 | | |
| |||
697 | 706 | | |
698 | 707 | | |
699 | 708 | | |
| 709 | + | |
700 | 710 | | |
701 | 711 | | |
702 | 712 | | |
| |||
757 | 767 | | |
758 | 768 | | |
759 | 769 | | |
| 770 | + | |
760 | 771 | | |
761 | 772 | | |
762 | 773 | | |
| |||
1195 | 1206 | | |
1196 | 1207 | | |
1197 | 1208 | | |
| 1209 | + | |
| 1210 | + | |
| 1211 | + | |
| 1212 | + | |
| 1213 | + | |
| 1214 | + | |
| 1215 | + | |
| 1216 | + | |
1198 | 1217 | | |
1199 | 1218 | | |
1200 | 1219 | | |
| |||
1466 | 1485 | | |
1467 | 1486 | | |
1468 | 1487 | | |
| 1488 | + | |
| 1489 | + | |
| 1490 | + | |
| 1491 | + | |
1469 | 1492 | | |
1470 | 1493 | | |
1471 | 1494 | | |
| |||
Lines changed: 35 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1751 | 1751 | | |
1752 | 1752 | | |
1753 | 1753 | | |
1754 | | - | |
| 1754 | + | |
1755 | 1755 | | |
1756 | 1756 | | |
1757 | 1757 | | |
| |||
Lines changed: 14 additions & 7 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
151 | 151 | | |
152 | 152 | | |
153 | 153 | | |
154 | | - | |
| 154 | + | |
| 155 | + | |
155 | 156 | | |
156 | 157 | | |
157 | 158 | | |
| |||
765 | 766 | | |
766 | 767 | | |
767 | 768 | | |
768 | | - | |
| 769 | + | |
| 770 | + | |
769 | 771 | | |
770 | 772 | | |
771 | 773 | | |
| |||
920 | 922 | | |
921 | 923 | | |
922 | 924 | | |
923 | | - | |
| 925 | + | |
| 926 | + | |
924 | 927 | | |
925 | 928 | | |
926 | 929 | | |
| |||
1074 | 1077 | | |
1075 | 1078 | | |
1076 | 1079 | | |
1077 | | - | |
| 1080 | + | |
| 1081 | + | |
1078 | 1082 | | |
1079 | 1083 | | |
1080 | 1084 | | |
| |||
1378 | 1382 | | |
1379 | 1383 | | |
1380 | 1384 | | |
1381 | | - | |
| 1385 | + | |
| 1386 | + | |
1382 | 1387 | | |
1383 | 1388 | | |
1384 | 1389 | | |
| |||
1829 | 1834 | | |
1830 | 1835 | | |
1831 | 1836 | | |
1832 | | - | |
| 1837 | + | |
| 1838 | + | |
1833 | 1839 | | |
1834 | 1840 | | |
1835 | 1841 | | |
| |||
1979 | 1985 | | |
1980 | 1986 | | |
1981 | 1987 | | |
1982 | | - | |
| 1988 | + | |
| 1989 | + | |
1983 | 1990 | | |
1984 | 1991 | | |
1985 | 1992 | | |
| |||
0 commit comments