From 6c9ec7dac79c9e30d8f12398160013b600654bff Mon Sep 17 00:00:00 2001 From: Oleg Broytman Date: Sat, 29 Apr 2017 16:23:44 +0300 Subject: [PATCH 01/16] TODO: Test at Travis and AppVeyor with Postgres [skip ci] --- TODO | 3 +++ 1 file changed, 3 insertions(+) diff --git a/TODO b/TODO index 8ce63ac..892deaa 100644 --- a/TODO +++ b/TODO @@ -1 +1,4 @@ +Test at Travis and AppVeyor with Postgres. + + PyPI. -- 2.39.2 From 5d1e6458d8b2c54559ca0edff8b0054b810fb87d Mon Sep 17 00:00:00 2001 From: Oleg Broytman Date: Sun, 30 Apr 2017 21:06:39 +0300 Subject: [PATCH 02/16] Fix comment in appveyor.yml [skip ci] --- appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index 34872fb..24320ec 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -60,7 +60,7 @@ install: - "pip --version" - "pip install tox" -# No build step - _namemapper extension will be built under tox +# No build step - we don't have C extensions build: false test_script: -- 2.39.2 From 94178a9c8a0ce429a21eb511646ba1abe6d12dc2 Mon Sep 17 00:00:00 2001 From: Oleg Broytman Date: Sun, 30 Apr 2017 22:49:42 +0300 Subject: [PATCH 03/16] Use Portable Python Utilities --- devscripts/cmp.py | 89 ----------------------------------------------- devscripts/rm.py | 7 ---- docs/news.rst | 2 ++ requirements.txt | 1 + setup.py | 4 ++- tox.ini | 9 ++--- 6 files changed, 11 insertions(+), 101 deletions(-) delete mode 100755 devscripts/cmp.py delete mode 100755 devscripts/rm.py diff --git a/devscripts/cmp.py b/devscripts/cmp.py deleted file mode 100755 index 0168bec..0000000 --- a/devscripts/cmp.py +++ /dev/null @@ -1,89 +0,0 @@ -#! /usr/bin/env python -"""cmp.py: compare two files. Portable replacement for cmp.""" - -import os -import sys - -if sys.argv[1] in ("-h", "--help"): - print("Broytman cmp.py 1.0, Copyright (C) 2003-2017 PhiloSoft Design") - print("Usage: cmp.py [-h|--help|-V|--version] [-i] file1 file2") - sys.exit() -elif sys.argv[1] in ("-V", "--version"): - print("Broytman cmp.py 1.0, Copyright (C) 2003-2017 PhiloSoft Design") - sys.exit() -elif sys.argv[1] == "-i": - show_pbar = False - fname1 = sys.argv[2] - fname2 = sys.argv[3] -else: - show_pbar = sys.stderr.isatty() - fname1 = sys.argv[1] - fname2 = sys.argv[2] - -if show_pbar: - try: - from m_lib.pbar.tty_pbar import ttyProgressBar - except ImportError: - show_pbar = 0 - -if show_pbar: - try: - size = os.path.getsize(fname1) - except: - print(fname1, ": no such file") - sys.exit(1) - -if show_pbar: - pbar = ttyProgressBar(0, size) - -file1 = open(fname1, 'rb') -file2 = open(fname2, 'rb') - -M = 1024*1024 -diff = False -count = 0 - - -def report(): - if show_pbar: - global pbar - del pbar - sys.stderr.write("Files differ at %d megabayte block\n" % count) - global diff - diff = True - - -while True: - block1 = file1.read(M) - block2 = file2.read(M) - - if show_pbar: - pbar.display(file1.tell()) - - if block1 and block2: - if len(block1) != len(block2): - report() - break - elif block1: - report() - break - elif block2: - report() - break - else: - break - - if block1 != block2: - report() - break - - count += 1 - -if show_pbar and not diff: - del pbar - -file1.close() -file2.close() - -if diff: - sys.exit(1) diff --git a/devscripts/rm.py b/devscripts/rm.py deleted file mode 100755 index 4278fef..0000000 --- a/devscripts/rm.py +++ /dev/null @@ -1,7 +0,0 @@ -#! /usr/bin/env python - -import os -import sys - -for filename in sys.argv[1:]: - os.unlink(filename) diff --git a/docs/news.rst b/docs/news.rst index bfd3c77..52e8ca1 100644 --- a/docs/news.rst +++ b/docs/news.rst @@ -8,6 +8,8 @@ Version 0.2.0 (2017-05-??) * Test at Travis and AppVeyor. +* Use Portable Python Utilities. + Version 0.1.2 (2017-04-27) -------------------------- diff --git a/requirements.txt b/requirements.txt index af29963..e558e85 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,3 +6,4 @@ SQLObject>=2.2.1; python_version >= '2.6' and python_version < '3.0' SQLObject>=3.0.0; python_version >= '3.4' m_lib.defenc>=1.0 m_lib>=3.1 +ppu diff --git a/setup.py b/setup.py index b7de6e4..a47b42a 100755 --- a/setup.py +++ b/setup.py @@ -18,7 +18,9 @@ from sqlconvert_version import __version__ # noqa kw = {} if is_setuptools: kw['install_requires'] = [ - 'sqlparse', 'SQLObject>=2.2.1', 'm_lib.defenc>=1.0', 'm_lib>=3.1', + 'sqlparse', 'SQLObject>=2.2.1', + 'm_lib.defenc>=1.0', 'm_lib>=3.1', + 'ppu' ] setup(name='sqlconvert', diff --git a/tox.ini b/tox.ini index eb6b355..abc744d 100644 --- a/tox.ini +++ b/tox.ini @@ -13,14 +13,15 @@ commands = {envpython} --version {envpython} -c "import struct; print(struct.calcsize('P') * 8)" deps = - sqlparse pytest pytest-cov py26: argparse + sqlparse py2{6,7}: SQLObject>=2.2.1 py3{4,5,6}: SQLObject>=3.0.0 m_lib>=3.1 m_lib.defenc>=1.0 + ppu postgres: psycopg2 sitepackages = True # Don't fail or warn on uninstalled commands @@ -34,8 +35,8 @@ commands = {[testenv]commands} {envpython} -m pytest --cov=sqlconvert {envpython} {envbindir}/mysql2sql -P demo/demo.sql test.out - {envpython} devscripts/cmp.py -i tests/mysql2sql/test.out test.out - {envpython} devscripts/rm.py test.out + {envpython} {envbindir}/cmp.py -i tests/mysql2sql/test.out test.out + {envpython} {envbindir}/rm.py test.out [testenv:py26] commands = {[general]commands} @@ -81,7 +82,7 @@ commands = {[postgresql]commands} commands = {[testenv]commands} {envpython} -m pytest --cov=sqlconvert -D sqlite:///tmp/test.sqdb - {envpython} devscripts/rm.py /tmp/test.sqdb + {envpython} {envbindir}/rm.py /tmp/test.sqdb [testenv:py26-sqlite] commands = {[sqlite]commands} -- 2.39.2 From 7bfda48d55c33fd6389365578d8890747cce4417 Mon Sep 17 00:00:00 2001 From: Oleg Broytman Date: Sun, 30 Apr 2017 22:54:07 +0300 Subject: [PATCH 04/16] Remove SQLite DB before tests; just in case --- tox.ini | 1 + 1 file changed, 1 insertion(+) diff --git a/tox.ini b/tox.ini index abc744d..65e5eff 100644 --- a/tox.ini +++ b/tox.ini @@ -81,6 +81,7 @@ commands = {[postgresql]commands} [sqlite] commands = {[testenv]commands} + -{envpython} {envbindir}/rm.py /tmp/test.sqdb {envpython} -m pytest --cov=sqlconvert -D sqlite:///tmp/test.sqdb {envpython} {envbindir}/rm.py /tmp/test.sqdb -- 2.39.2 From 1f2da2369fe3a90d73ac0355aa2314e920d9d76c Mon Sep 17 00:00:00 2001 From: Oleg Broytman Date: Sun, 30 Apr 2017 22:57:14 +0300 Subject: [PATCH 05/16] Add release script --- devscripts/release | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100755 devscripts/release diff --git a/devscripts/release b/devscripts/release new file mode 100755 index 0000000..32bcca1 --- /dev/null +++ b/devscripts/release @@ -0,0 +1,28 @@ +#! /bin/sh + +cd "`dirname \"$0\"`"/.. && +umask 022 && +chmod -R a+rX . && +set-commit-date.py && + +python setup.py build_py && +python setup.py build --executable '/usr/bin/env python' && +python setup.py sdist && + +for py in 2.6 2.7 3.4 3.5 3.6; do + find build -name '*.py[co]' -delete && + python$py setup.py build_py && + python$py setup.py build --executable '/usr/bin/env python' && + python$py -m compileall build && + python$py -O -m compileall build && + python$py setup.py bdist_egg || exit 1 +done + +find build -name '*.py[co]' -delete && +python setup.py bdist_wheel --universal && + +version=`python setup.py --version` +twine register dist/sqlconvert-"$version".tar.gz && +twine upload --sign dist/* && + +exec rm -rf build dist sqlconvert.egg-info -- 2.39.2 From 64c325bf4c78422a002ff11040f1a7f841276bc9 Mon Sep 17 00:00:00 2001 From: Oleg Broytman Date: Sun, 30 Apr 2017 22:55:53 +0300 Subject: [PATCH 06/16] Version 0.2.0 --- docs/news.rst | 2 +- sqlconvert/__version__.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/news.rst b/docs/news.rst index 52e8ca1..ba02e45 100644 --- a/docs/news.rst +++ b/docs/news.rst @@ -1,7 +1,7 @@ News ==== -Version 0.2.0 (2017-05-??) +Version 0.2.0 (2017-04-30) -------------------------- * Python 3.5, 3.6. diff --git a/sqlconvert/__version__.py b/sqlconvert/__version__.py index 10939f0..7fd229a 100644 --- a/sqlconvert/__version__.py +++ b/sqlconvert/__version__.py @@ -1 +1 @@ -__version__ = '0.1.2' +__version__ = '0.2.0' -- 2.39.2 From 6fb27a260658b04346999a4de0d78b0caacc6b2e Mon Sep 17 00:00:00 2001 From: Oleg Broytman Date: Sun, 30 Apr 2017 23:03:07 +0300 Subject: [PATCH 07/16] Fix doc title [skip ci] --- docs/index.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/index.rst b/docs/index.rst index 6e251be..fb45437 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -3,8 +3,8 @@ You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. -Welcome to sqlconvert's documentation! -===================================== +sqlconvert's documentation +========================== sqlconvert is a library to implement SQL converters. It uses `sqlparse `_ to parse SQL and `SQLObject -- 2.39.2 From 73271a119cf021eb1b63b9acf07b748a02ded566 Mon Sep 17 00:00:00 2001 From: Oleg Broytman Date: Sun, 30 Apr 2017 23:10:40 +0300 Subject: [PATCH 08/16] Published at PyPI [skip ci] --- TODO | 3 --- 1 file changed, 3 deletions(-) diff --git a/TODO b/TODO index 892deaa..25aa6c7 100644 --- a/TODO +++ b/TODO @@ -1,4 +1 @@ Test at Travis and AppVeyor with Postgres. - - -PyPI. -- 2.39.2 From 71665d24bf836911ce782d7438e67a5163a2b94b Mon Sep 17 00:00:00 2001 From: Oleg Broytman Date: Mon, 1 May 2017 00:45:10 +0300 Subject: [PATCH 09/16] Version 0.2.1: Convert README to reST --- README.txt => README.rst | 16 ++++++++++------ docs/news.rst | 5 +++++ setup.py | 2 +- sqlconvert/__version__.py | 2 +- 4 files changed, 17 insertions(+), 8 deletions(-) rename README.txt => README.rst (57%) diff --git a/README.txt b/README.rst similarity index 57% rename from README.txt rename to README.rst index 5cb1bbf..5092e8d 100644 --- a/README.txt +++ b/README.rst @@ -1,5 +1,9 @@ -Broytman SQL converter, Copyright (C) 2016-2017 PhiloSoft Design. +SQL converter. + Author: Oleg Broytman . + +Copyright (C) 2016-2017 PhiloSoft Design. + License: GPL. sqlconvert is a library to perform SQL conversions. It uses sqlparse to @@ -13,8 +17,8 @@ The first goal is to implement mysql2sql, a script intended primarily to convert mysqldump output (especially with extended INSERT syntax) to standard SQL to load at least to PostgreSQL or SQLite. -Home Page: http://phdru.name/Software/Python/sqlconvert/ -Documentation: http://phdru.name/Software/Python/sqlconvert/docs/ -Git repo: http://git.phdru.name/sqlconvert.git/ -GitHub repo: https://github.com/phdru/sqlconvert -Issue tracker: https://github.com/phdru/sqlconvert/issues +| Home Page: http://phdru.name/Software/Python/sqlconvert/ +| Documentation: http://phdru.name/Software/Python/sqlconvert/docs/ +| Git repo: http://git.phdru.name/sqlconvert.git/ +| GitHub repo: https://github.com/phdru/sqlconvert +| Issue tracker: https://github.com/phdru/sqlconvert/issues diff --git a/docs/news.rst b/docs/news.rst index ba02e45..cc1cca0 100644 --- a/docs/news.rst +++ b/docs/news.rst @@ -1,6 +1,11 @@ News ==== +Version 0.2.1 (2017-05-01) +-------------------------- + +* Convert README to reST. + Version 0.2.0 (2017-04-30) -------------------------- diff --git a/setup.py b/setup.py index a47b42a..a73d596 100755 --- a/setup.py +++ b/setup.py @@ -26,7 +26,7 @@ if is_setuptools: setup(name='sqlconvert', version=__version__, description='Broytman sqlconvert', - long_description=open('README.txt', 'rU').read(), + long_description=open('README.rst', 'rU').read(), author='Oleg Broytman', author_email='phd@phdru.name', url='http://phdru.name/Software/Python/', diff --git a/sqlconvert/__version__.py b/sqlconvert/__version__.py index 7fd229a..fc79d63 100644 --- a/sqlconvert/__version__.py +++ b/sqlconvert/__version__.py @@ -1 +1 @@ -__version__ = '0.2.0' +__version__ = '0.2.1' -- 2.39.2 From 93613fbece05d2f4e6b3840c417899750d8b7d98 Mon Sep 17 00:00:00 2001 From: Oleg Broytman Date: Sun, 7 May 2017 14:44:43 +0300 Subject: [PATCH 10/16] Move requirements.txt to devscripts/ Rename requirements_dev.txt to requirements_test.txt. Split requirements_test.txt intto requirements_tox.txt. [skip ci] --- requirements.txt => devscripts/requirements/requirements.txt | 0 .../requirements/requirements_docs.txt | 0 .../requirements/requirements_tests.txt | 1 - devscripts/requirements/requirements_tox.txt | 1 + 4 files changed, 1 insertion(+), 1 deletion(-) rename requirements.txt => devscripts/requirements/requirements.txt (100%) rename requirements_docs.txt => devscripts/requirements/requirements_docs.txt (100%) rename requirements_dev.txt => devscripts/requirements/requirements_tests.txt (78%) create mode 100644 devscripts/requirements/requirements_tox.txt diff --git a/requirements.txt b/devscripts/requirements/requirements.txt similarity index 100% rename from requirements.txt rename to devscripts/requirements/requirements.txt diff --git a/requirements_docs.txt b/devscripts/requirements/requirements_docs.txt similarity index 100% rename from requirements_docs.txt rename to devscripts/requirements/requirements_docs.txt diff --git a/requirements_dev.txt b/devscripts/requirements/requirements_tests.txt similarity index 78% rename from requirements_dev.txt rename to devscripts/requirements/requirements_tests.txt index ca2ff5d..8e890d8 100644 --- a/requirements_dev.txt +++ b/devscripts/requirements/requirements_tests.txt @@ -2,4 +2,3 @@ pytest pytest-cov -tox >= 1.8 diff --git a/devscripts/requirements/requirements_tox.txt b/devscripts/requirements/requirements_tox.txt new file mode 100644 index 0000000..9927ea4 --- /dev/null +++ b/devscripts/requirements/requirements_tox.txt @@ -0,0 +1 @@ +tox >= 1.8 -- 2.39.2 From 98de441a9a72b411ebfd01c79a1f84017a8ea421 Mon Sep 17 00:00:00 2001 From: Oleg Broytman Date: Sun, 7 May 2017 15:16:23 +0300 Subject: [PATCH 11/16] Move hard requirements from tox.ini to requirements.txt Move test requirements to requirements_tests.txt. --- tox.ini | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/tox.ini b/tox.ini index 65e5eff..0e276dc 100644 --- a/tox.ini +++ b/tox.ini @@ -13,15 +13,7 @@ commands = {envpython} --version {envpython} -c "import struct; print(struct.calcsize('P') * 8)" deps = - pytest - pytest-cov - py26: argparse - sqlparse - py2{6,7}: SQLObject>=2.2.1 - py3{4,5,6}: SQLObject>=3.0.0 - m_lib>=3.1 - m_lib.defenc>=1.0 - ppu + -rdevscripts/requirements/requirements_tests.txt postgres: psycopg2 sitepackages = True # Don't fail or warn on uninstalled commands -- 2.39.2 From 7d6c89bbfba4554ffe68dd8da0e6fed5961aa128 Mon Sep 17 00:00:00 2001 From: Oleg Broytman Date: Sun, 7 May 2017 20:25:11 +0300 Subject: [PATCH 12/16] Stop supporting Python 2.6 [skip ci] --- devscripts/release | 2 +- devscripts/requirements/requirements.txt | 3 +-- docs/install.rst | 2 -- setup.py | 1 - tox.ini | 11 +---------- 5 files changed, 3 insertions(+), 16 deletions(-) diff --git a/devscripts/release b/devscripts/release index 32bcca1..f1079da 100755 --- a/devscripts/release +++ b/devscripts/release @@ -9,7 +9,7 @@ python setup.py build_py && python setup.py build --executable '/usr/bin/env python' && python setup.py sdist && -for py in 2.6 2.7 3.4 3.5 3.6; do +for py in 2.7 3.4 3.5 3.6; do find build -name '*.py[co]' -delete && python$py setup.py build_py && python$py setup.py build --executable '/usr/bin/env python' && diff --git a/devscripts/requirements/requirements.txt b/devscripts/requirements/requirements.txt index e558e85..d1a7b7b 100644 --- a/devscripts/requirements/requirements.txt +++ b/devscripts/requirements/requirements.txt @@ -1,8 +1,7 @@ --install-option=-O2 -argparse; python_version == '2.6' sqlparse -SQLObject>=2.2.1; python_version >= '2.6' and python_version < '3.0' +SQLObject>=2.2.1; python_version >= '2.7' and python_version < '3.0' SQLObject>=3.0.0; python_version >= '3.4' m_lib.defenc>=1.0 m_lib>=3.1 diff --git a/docs/install.rst b/docs/install.rst index 4ca147d..5405039 100644 --- a/docs/install.rst +++ b/docs/install.rst @@ -23,8 +23,6 @@ Virtual envs pip install --trusted-host phdru.name --find-links=http://phdru.name/Software/Python/ --install-option='-O2' sqlconvert -For Python 2.6 the command is easy_install. - Installation from sources ========================= diff --git a/setup.py b/setup.py index a73d596..241185a 100755 --- a/setup.py +++ b/setup.py @@ -40,7 +40,6 @@ setup(name='sqlconvert', 'License :: OSI Approved :: GNU General Public License (GPL)', 'Operating System :: OS Independent', 'Programming Language :: Python :: 2', - 'Programming Language :: Python :: 2.6', 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.4', diff --git a/tox.ini b/tox.ini index 0e276dc..6feee24 100644 --- a/tox.ini +++ b/tox.ini @@ -1,6 +1,6 @@ [tox] minversion = 1.8 -envlist = {py26,py27,py34,py35,py36},{py26,py27,py34,py35,py36}-{postgres,sqlite},{py27,py34}-flake8 +envlist = {py27,py34,py35,py36},{py27,py34,py35,py36}-{postgres,sqlite},{py27,py34}-flake8 # Base test environment settings [testenv] @@ -30,9 +30,6 @@ commands = {envpython} {envbindir}/cmp.py -i tests/mysql2sql/test.out test.out {envpython} {envbindir}/rm.py test.out -[testenv:py26] -commands = {[general]commands} - [testenv:py27] commands = {[general]commands} @@ -54,9 +51,6 @@ commands = {envpython} -m pytest --cov=sqlconvert -D postgres:///test dropdb test -[testenv:py26-postgres] -commands = {[postgresql]commands} - [testenv:py27-postgres] commands = {[postgresql]commands} @@ -77,9 +71,6 @@ commands = {envpython} -m pytest --cov=sqlconvert -D sqlite:///tmp/test.sqdb {envpython} {envbindir}/rm.py /tmp/test.sqdb -[testenv:py26-sqlite] -commands = {[sqlite]commands} - [testenv:py27-sqlite] commands = {[sqlite]commands} -- 2.39.2 From fa5c08a8f2003486fd091f15b9f1f8ad38cef5d1 Mon Sep 17 00:00:00 2001 From: Oleg Broytman Date: Thu, 11 May 2017 00:07:18 +0300 Subject: [PATCH 13/16] Update TODO: Remove MySQL-specific SQL [skip ci] --- TODO | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/TODO b/TODO index 25aa6c7..bd62d16 100644 --- a/TODO +++ b/TODO @@ -1 +1,9 @@ Test at Travis and AppVeyor with Postgres. + + +In SQLite/Postgres (non-MySQL) mode: + + Remove table options like ENGINE, AUTO_INCREMENT, CHARSET, etc: + CREATE TABLE name (column_definitions) table_options; + + Remove LOCK/UNLOCK TABLES; -- 2.39.2 From 8d8db254ec4dd4199864a69ce44768de4689f7f6 Mon Sep 17 00:00:00 2001 From: Oleg Broytman Date: Thu, 11 May 2017 01:25:27 +0300 Subject: [PATCH 14/16] TODO: more MySQL-specific fixes [skip ci] --- TODO | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/TODO b/TODO index bd62d16..dba3442 100644 --- a/TODO +++ b/TODO @@ -3,6 +3,11 @@ Test at Travis and AppVeyor with Postgres. In SQLite/Postgres (non-MySQL) mode: + Replace AUTO_INCREMENT columns with INTEGER PRIMARY KEY for SQLite or + serial for Postgres. + + Remove CHARACTER SET, COLLATE and COMMENT from column definitions. + Remove table options like ENGINE, AUTO_INCREMENT, CHARSET, etc: CREATE TABLE name (column_definitions) table_options; -- 2.39.2 From 37241eff9eaf95463d02b703b573b1759abd6167 Mon Sep 17 00:00:00 2001 From: Oleg Broytman Date: Thu, 11 May 2017 01:25:27 +0300 Subject: [PATCH 15/16] TODO: even more MySQL-specific fixes [skip ci] --- TODO | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/TODO b/TODO index dba3442..5695fbf 100644 --- a/TODO +++ b/TODO @@ -6,9 +6,20 @@ In SQLite/Postgres (non-MySQL) mode: Replace AUTO_INCREMENT columns with INTEGER PRIMARY KEY for SQLite or serial for Postgres. + Change TINYINT to SMALLINT. Remove UNSIGNED. + For Postgres replace int with INTEGER. + Remove CHARACTER SET, COLLATE and COMMENT from column definitions. + Remove KEY and inde name from UNIQUE KEY: + UNIQUE KEY name (columns) -> UNIQUE (columns). + + Change multicolumn PRIMARY KEY to UNIQUE. + Remove table options like ENGINE, AUTO_INCREMENT, CHARSET, etc: - CREATE TABLE name (column_definitions) table_options; + CREATE TABLE name (column_definitions) table_options. + + Remove LOCK/UNLOCK TABLES. - Remove LOCK/UNLOCK TABLES; + Convert KEY to CREATE INDEX; remove size limit: + KEY name ("COLUMN_NAME"(20)) -> CREATE INDEX name ON table ("COLUMN_NAME"). -- 2.39.2 From fddbaa14a1e033373080dc322a5b6c0ef388ee72 Mon Sep 17 00:00:00 2001 From: Oleg Broytman Date: Fri, 12 May 2017 23:35:54 +0300 Subject: [PATCH 16/16] TODO: Create installers [skip ci] --- TODO | 3 +++ 1 file changed, 3 insertions(+) diff --git a/TODO b/TODO index 5695fbf..45ff84a 100644 --- a/TODO +++ b/TODO @@ -23,3 +23,6 @@ In SQLite/Postgres (non-MySQL) mode: Convert KEY to CREATE INDEX; remove size limit: KEY name ("COLUMN_NAME"(20)) -> CREATE INDEX name ON table ("COLUMN_NAME"). + + +Installers. -- 2.39.2