Selaa lähdekoodia

Revert only py2 version of phoenixdb 1.2.1 (#3184)

This reverts commit 49a372848801c6a0e568b6371e1ba66ae9f3bbce.
Ayush Goyal 2 vuotta sitten
vanhempi
commit
e4bb6bba55
31 muutettua tiedostoa jossa 293 lisäystä ja 294 poistoa
  1. 0 0
      desktop/core/ext-py/phoenixdb-1.1.0/LICENSE
  2. 0 0
      desktop/core/ext-py/phoenixdb-1.1.0/NOTICE
  3. 164 0
      desktop/core/ext-py/phoenixdb-1.1.0/PKG-INFO
  4. 5 5
      desktop/core/ext-py/phoenixdb-1.1.0/README.rst
  5. 6 10
      desktop/core/ext-py/phoenixdb-1.1.0/phoenixdb/__init__.py
  6. 0 0
      desktop/core/ext-py/phoenixdb-1.1.0/phoenixdb/avatica/__init__.py
  7. 0 0
      desktop/core/ext-py/phoenixdb-1.1.0/phoenixdb/avatica/client.py
  8. 0 0
      desktop/core/ext-py/phoenixdb-1.1.0/phoenixdb/avatica/proto/__init__.py
  9. 36 0
      desktop/core/ext-py/phoenixdb-1.1.0/phoenixdb/avatica/proto/common_pb2.py
  10. 36 0
      desktop/core/ext-py/phoenixdb-1.1.0/phoenixdb/avatica/proto/requests_pb2.py
  11. 36 0
      desktop/core/ext-py/phoenixdb-1.1.0/phoenixdb/avatica/proto/responses_pb2.py
  12. 0 0
      desktop/core/ext-py/phoenixdb-1.1.0/phoenixdb/connection.py
  13. 0 0
      desktop/core/ext-py/phoenixdb-1.1.0/phoenixdb/cursor.py
  14. 0 0
      desktop/core/ext-py/phoenixdb-1.1.0/phoenixdb/errors.py
  15. 0 0
      desktop/core/ext-py/phoenixdb-1.1.0/phoenixdb/meta.py
  16. 0 2
      desktop/core/ext-py/phoenixdb-1.1.0/phoenixdb/sqlalchemy_phoenix.py
  17. 0 0
      desktop/core/ext-py/phoenixdb-1.1.0/phoenixdb/tests/__init__.py
  18. 0 0
      desktop/core/ext-py/phoenixdb-1.1.0/phoenixdb/tests/dbapi20.py
  19. 0 0
      desktop/core/ext-py/phoenixdb-1.1.0/phoenixdb/tests/test_avatica.py
  20. 0 1
      desktop/core/ext-py/phoenixdb-1.1.0/phoenixdb/tests/test_db.py
  21. 2 2
      desktop/core/ext-py/phoenixdb-1.1.0/phoenixdb/tests/test_dbapi20.py
  22. 0 0
      desktop/core/ext-py/phoenixdb-1.1.0/phoenixdb/tests/test_errors.py
  23. 1 3
      desktop/core/ext-py/phoenixdb-1.1.0/phoenixdb/tests/test_sqlalchemy.py
  24. 0 0
      desktop/core/ext-py/phoenixdb-1.1.0/phoenixdb/tests/test_types.py
  25. 0 0
      desktop/core/ext-py/phoenixdb-1.1.0/phoenixdb/types.py
  26. 5 0
      desktop/core/ext-py/phoenixdb-1.1.0/setup.cfg
  27. 2 3
      desktop/core/ext-py/phoenixdb-1.1.0/setup.py
  28. 0 169
      desktop/core/ext-py/phoenixdb-1.2.1/PKG-INFO
  29. 0 33
      desktop/core/ext-py/phoenixdb-1.2.1/phoenixdb/avatica/proto/common_pb2.py
  30. 0 33
      desktop/core/ext-py/phoenixdb-1.2.1/phoenixdb/avatica/proto/requests_pb2.py
  31. 0 33
      desktop/core/ext-py/phoenixdb-1.2.1/phoenixdb/avatica/proto/responses_pb2.py

+ 0 - 0
desktop/core/ext-py/phoenixdb-1.2.1/LICENSE → desktop/core/ext-py/phoenixdb-1.1.0/LICENSE


+ 0 - 0
desktop/core/ext-py/phoenixdb-1.2.1/NOTICE → desktop/core/ext-py/phoenixdb-1.1.0/NOTICE


+ 164 - 0
desktop/core/ext-py/phoenixdb-1.1.0/PKG-INFO

@@ -0,0 +1,164 @@
+Metadata-Version: 2.1
+Name: phoenixdb
+Version: 1.1.0
+Summary: Phoenix database adapter for Python
+Home-page: http://phoenix.apache.org/python.html
+Author: Apache Software Foundation
+Author-email: dev@phoenix.apache.org
+License: Apache 2
+Description: Phoenix database adapter for Python
+        ===================================
+        
+        ``phoenixdb`` is a Python library for accessing 
+        `Apache Phoenix <http://phoenix.apache.org/>`_
+        using the
+        `remote query server <http://phoenix.apache.org/server.html>`_.
+        This library implements the
+        standard `DB API 2.0 <https://www.python.org/dev/peps/pep-0249/>`_ interface and a
+        subset of `SQLAlchemy <https://www.sqlalchemy.org/>`_, either of which should be familiar
+        to most Python programmers.
+        
+        Installation
+        ------------
+        
+        The source code is part of the phoenix-queryserver source distribution.
+        You can download it from <https://phoenix.apache.org/>, or get the latest development version
+        from <https://github.com/apache/phoenix-queryserver>
+        
+        Extract the archive and then install it manually::
+        
+            cd /path/to/phoenix-queryserver-x.y.z/python/phoenixdb
+            python setup.py install
+        
+        Usage
+        -----
+        
+        The library implements the standard DB API 2.0 interface, so it can be
+        used the same way you would use any other SQL database from Python, for example::
+        
+            import phoenixdb
+            import phoenixdb.cursor
+        
+            database_url = 'http://localhost:8765/'
+            conn = phoenixdb.connect(database_url, autocommit=True)
+        
+            cursor = conn.cursor()
+            cursor.execute("CREATE TABLE users (id INTEGER PRIMARY KEY, username VARCHAR)")
+            cursor.execute("UPSERT INTO users VALUES (?, ?)", (1, 'admin'))
+            cursor.execute("SELECT * FROM users")
+            print(cursor.fetchall())
+        
+            cursor = conn.cursor(cursor_factory=phoenixdb.cursor.DictCursor)
+            cursor.execute("SELECT * FROM users WHERE id=1")
+            print(cursor.fetchone()['USERNAME'])
+        
+        
+        Setting up a development environment
+        ------------------------------------
+        
+        If you want to quickly try out the included examples, you can set up a
+        local `virtualenv <https://virtualenv.pypa.io/en/latest/>`_ with all the
+        necessary requirements::
+        
+            virtualenv e
+            source e/bin/activate
+            pip install -r requirements.txt
+            python setup.py develop
+        
+        You can start a Phoenix QueryServer instance on http://localhost:8765 for testing by running
+        the following command in the pohoenix-queryserver-parent directory::
+        
+            mvn clean verify -am -pl phoenix-queryserver-it -Dtest=foo \
+            -Dit.test=QueryServerBasicsIT\#startLocalPQS \
+            -Ddo.not.randomize.pqs.port=true -Dstart.unsecure.pqs=true
+        
+        You can start a secure (https+kerberos) Phoenix QueryServer instance on https://localhost:8765
+        for testing by running the following command in the phoenix-queryserver-parent directory::
+        
+            mvn clean verify -am -pl phoenix-queryserver-it -Dtest=foo \
+            -Dit.test=SecureQueryServerPhoenixDBIT\#startLocalPQS \
+            -Ddo.not.randomize.pqs.port=true -Dstart.secure.pqs=true
+        
+        this will also create a shell script in phoenix-queryserver-it/target/krb_setup.sh, that you can use to set
+        up the environment for the tests.
+        
+        If you want to use the library without installing the phoenixdb library, you can use
+        the `PYTHONPATH` environment variable to point to the library directly::
+        
+            cd phoenix-queryserver-parent/python-phoenixdb
+            python setup.py build
+            cd ~/my_project
+            PYTHONPATH=$PHOENIX_HOME/build/lib python my_app.py
+        
+        Don't forget to run flake8 on your changes.
+        
+        Running the test suite
+        ----------------------
+        
+        The library comes with a test suite for testing Python DB API 2.0 compliance and
+        various Phoenix-specific features. In order to run the test suite, you need a
+        working Phoenix database and set the ``PHOENIXDB_TEST_DB_URL`` environment variable::
+        
+            export PHOENIXDB_TEST_DB_URL='http://localhost:8765/'
+            nosetests
+        
+        If you use a secure PQS server, you can set the connection parameters via the following environment
+        variables:
+        
+        - PHOENIXDB_TEST_DB_TRUSTSTORE
+        - PHOENIXDB_TEST_DB_AUTHENTICATION
+        - PHOENIXDB_TEST_DB_AVATICA_USER
+        - PHOENIXDB_TEST_DB_AVATICA_PASSWORD
+        
+        Similarly, tox can be used to run the test suite against multiple Python versions::
+        
+            pyenv install 3.5.5
+            pyenv install 3.6.4
+            pyenv install 2.7.14
+            pyenv global 2.7.14 3.5.5 3.6.4
+            PHOENIXDB_TEST_DB_URL='http://localhost:8765' tox
+        
+        You can use tox and docker to run the tests on supported python versions up to 3.8 without
+        installing the environments locally::
+        
+            docker build -t toxtest .
+            docker run --rm  -v `pwd`:/src toxtest
+        
+        You can also run the test suite from maven as part of the Java build by setting the 
+        run.full.python.testsuite property. You DO NOT need to set the PHOENIXDB_* enviroment variables,
+        maven will set them up for you. The output of the test run will be saved in
+        phoenix-queryserver/phoenix-queryserver-it/target/python-stdout.log and python-stderr.log::
+        
+            mvn clean verify -Drun.full.python.testsuite=true
+        
+        Known issues
+        ------------
+        
+        - TIME and DATE columns in Phoenix are stored as full timestamps with a millisecond accuracy,
+          but the remote protocol only exposes the time (hour/minute/second) or date (year/month/day)
+          parts of the columns. (`CALCITE-797 <https://issues.apache.org/jira/browse/CALCITE-797>`_, `CALCITE-798 <https://issues.apache.org/jira/browse/CALCITE-798>`_)
+        - TIMESTAMP columns in Phoenix are stored with a nanosecond accuracy, but the remote protocol truncates them to milliseconds. (`CALCITE-796 <https://issues.apache.org/jira/browse/CALCITE-796>`_)
+        
+        
+        SQLAlchemy feature support
+        --------------------------
+        
+        SQLAlchemy has a wide breadth of API, ranging from basic SQL commands to object-relational mapping support.
+        
+        Today, python-phoenixdb only supports the following subset of the complete SQLAlchemy API:
+        
+        - `Textual SQL <https://docs.sqlalchemy.org/en/13/core/tutorial.html#using-textual-sql>`_
+        
+        All other API should be considered not implemented.
+        
+Platform: UNKNOWN
+Classifier: Programming Language :: Python
+Classifier: Programming Language :: Python :: 2
+Classifier: Programming Language :: Python :: 2.7
+Classifier: Programming Language :: Python :: 3
+Classifier: Programming Language :: Python :: 3.4
+Classifier: Programming Language :: Python :: 3.5
+Classifier: Programming Language :: Python :: 3.6
+Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3.8
+Provides-Extra: SQLAlchemy

+ 5 - 5
desktop/core/ext-py/phoenixdb-1.2.1/README.rst → desktop/core/ext-py/phoenixdb-1.1.0/README.rst

@@ -61,14 +61,14 @@ You can start a Phoenix QueryServer instance on http://localhost:8765 for testin
 the following command in the pohoenix-queryserver-parent directory::
 
     mvn clean verify -am -pl phoenix-queryserver-it -Dtest=foo \
-    -Dit.test=QueryServerBasicsIT#startLocalPQS \
+    -Dit.test=QueryServerBasicsIT\#startLocalPQS \
     -Ddo.not.randomize.pqs.port=true -Dstart.unsecure.pqs=true
 
 You can start a secure (https+kerberos) Phoenix QueryServer instance on https://localhost:8765
 for testing by running the following command in the phoenix-queryserver-parent directory::
 
     mvn clean verify -am -pl phoenix-queryserver-it -Dtest=foo \
-    -Dit.test=SecureQueryServerPhoenixDBIT#startLocalPQS \
+    -Dit.test=SecureQueryServerPhoenixDBIT\#startLocalPQS \
     -Ddo.not.randomize.pqs.port=true -Dstart.secure.pqs=true
 
 this will also create a shell script in phoenix-queryserver-it/target/krb_setup.sh, that you can use to set
@@ -92,7 +92,7 @@ various Phoenix-specific features. In order to run the test suite, you need a
 working Phoenix database and set the ``PHOENIXDB_TEST_DB_URL`` environment variable::
 
     export PHOENIXDB_TEST_DB_URL='http://localhost:8765/'
-    tox
+    nosetests
 
 If you use a secure PQS server, you can set the connection parameters via the following environment
 variables:
@@ -110,11 +110,11 @@ Similarly, tox can be used to run the test suite against multiple Python version
     pyenv global 2.7.14 3.5.5 3.6.4
     PHOENIXDB_TEST_DB_URL='http://localhost:8765' tox
 
-You can use tox and docker to run the tests on supported python versions without
+You can use tox and docker to run the tests on supported python versions up to 3.8 without
 installing the environments locally::
 
     docker build -t toxtest .
-    docker run --rm --add-host=host.docker.internal:host-gateway -v `pwd`:/src toxtest
+    docker run --rm  -v `pwd`:/src toxtest
 
 You can also run the test suite from maven as part of the Java build by setting the 
 run.full.python.testsuite property. You DO NOT need to set the PHOENIXDB_* enviroment variables,

+ 6 - 10
desktop/core/ext-py/phoenixdb-1.2.1/phoenixdb/__init__.py → desktop/core/ext-py/phoenixdb-1.1.0/phoenixdb/__init__.py

@@ -123,14 +123,6 @@ def connect(url, max_retries=None, auth=None, authentication=None, avatica_user=
     return Connection(client, **kwargs)
 
 
-def _get_SPNEGOAuth():
-    try:
-        spnego = gssapi.mechs.Mechanism.from_sasl_name("SPNEGO")
-    except AttributeError:
-        spnego = gssapi.OID.from_int_seq("1.3.6.1.5.5.2")
-    return HTTPSPNEGOAuth(opportunistic_auth=True, mech=spnego)
-
-
 def _process_args(
         url, auth=None, authentication=None, avatica_user=None, avatica_password=None,
         truststore=None, verify=None, do_as=None, user=None, password=None):
@@ -184,10 +176,14 @@ def _process_args(
 
     if auth == "SPNEGO":
         # Special case for backwards compatibility
-        auth = _get_SPNEGOAuth()
+        auth = HTTPSPNEGOAuth(opportunistic_auth=True)
     elif auth is None and authentication is not None:
         if authentication == "SPNEGO":
-            auth = _get_SPNEGOAuth()
+            try:
+                spnego = gssapi.mechs.Mechanism.from_sasl_name("SPNEGO")
+            except AttributeError:
+                spnego = gssapi.OID.from_int_seq("1.3.6.1.5.5.2")
+            auth = HTTPSPNEGOAuth(opportunistic_auth=True, mech=spnego)
         elif authentication == "BASIC" and avatica_user is not None and avatica_password is not None:
             auth = HTTPBasicAuth(avatica_user, avatica_password)
         elif authentication == "DIGEST" and avatica_user is not None and avatica_password is not None:

+ 0 - 0
desktop/core/ext-py/phoenixdb-1.2.1/phoenixdb/avatica/__init__.py → desktop/core/ext-py/phoenixdb-1.1.0/phoenixdb/avatica/__init__.py


+ 0 - 0
desktop/core/ext-py/phoenixdb-1.2.1/phoenixdb/avatica/client.py → desktop/core/ext-py/phoenixdb-1.1.0/phoenixdb/avatica/client.py


+ 0 - 0
desktop/core/ext-py/phoenixdb-1.2.1/phoenixdb/avatica/proto/__init__.py → desktop/core/ext-py/phoenixdb-1.1.0/phoenixdb/avatica/proto/__init__.py


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 36 - 0
desktop/core/ext-py/phoenixdb-1.1.0/phoenixdb/avatica/proto/common_pb2.py


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 36 - 0
desktop/core/ext-py/phoenixdb-1.1.0/phoenixdb/avatica/proto/requests_pb2.py


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 36 - 0
desktop/core/ext-py/phoenixdb-1.1.0/phoenixdb/avatica/proto/responses_pb2.py


+ 0 - 0
desktop/core/ext-py/phoenixdb-1.2.1/phoenixdb/connection.py → desktop/core/ext-py/phoenixdb-1.1.0/phoenixdb/connection.py


+ 0 - 0
desktop/core/ext-py/phoenixdb-1.2.1/phoenixdb/cursor.py → desktop/core/ext-py/phoenixdb-1.1.0/phoenixdb/cursor.py


+ 0 - 0
desktop/core/ext-py/phoenixdb-1.2.1/phoenixdb/errors.py → desktop/core/ext-py/phoenixdb-1.1.0/phoenixdb/errors.py


+ 0 - 0
desktop/core/ext-py/phoenixdb-1.2.1/phoenixdb/meta.py → desktop/core/ext-py/phoenixdb-1.1.0/phoenixdb/meta.py


+ 0 - 2
desktop/core/ext-py/phoenixdb-1.2.1/phoenixdb/sqlalchemy_phoenix.py → desktop/core/ext-py/phoenixdb-1.1.0/phoenixdb/sqlalchemy_phoenix.py

@@ -90,8 +90,6 @@ class PhoenixDialect(DefaultDialect):
 
     driver = "phoenixdb"
 
-    supports_statement_cache = False  # We only implement textual SQL anyway
-
     ddl_compiler = PhoenixDDLCompiler
 
     execution_ctx_cls = PhoenixExecutionContext

+ 0 - 0
desktop/core/ext-py/phoenixdb-1.2.1/phoenixdb/tests/__init__.py → desktop/core/ext-py/phoenixdb-1.1.0/phoenixdb/tests/__init__.py


+ 0 - 0
desktop/core/ext-py/phoenixdb-1.2.1/phoenixdb/tests/dbapi20.py → desktop/core/ext-py/phoenixdb-1.1.0/phoenixdb/tests/dbapi20.py


+ 0 - 0
desktop/core/ext-py/phoenixdb-1.2.1/phoenixdb/tests/test_avatica.py → desktop/core/ext-py/phoenixdb-1.1.0/phoenixdb/tests/test_avatica.py


+ 0 - 1
desktop/core/ext-py/phoenixdb-1.2.1/phoenixdb/tests/test_db.py → desktop/core/ext-py/phoenixdb-1.1.0/phoenixdb/tests/test_db.py

@@ -125,7 +125,6 @@ class PhoenixDatabaseTest(DatabaseTestCase):
     def test_meta(self):
         with self.conn.cursor() as cursor:
             try:
-                cursor.execute('drop table if exists USERS')
                 cursor.execute('drop table if exists DEFAULT_TABLE')
                 cursor.execute('drop table if exists A_SCHEMA.A_TABLE')
                 cursor.execute('drop table if exists B_SCHMEA.B_TABLE')

+ 2 - 2
desktop/core/ext-py/phoenixdb-1.2.1/phoenixdb/tests/test_dbapi20.py → desktop/core/ext-py/phoenixdb-1.1.0/phoenixdb/tests/test_dbapi20.py

@@ -105,7 +105,7 @@ class PhoenixDatabaseAPI20Test(dbapi20.DatabaseAPI20Test):
             # no rows
             cur.execute('select name from %sbooze' % self.table_prefix)
             self.assertRaises(StopIteration, cur.next)
-            self.assertTrue(cur.rowcount in (-1, 0))
+            self.failUnless(cur.rowcount in (-1, 0))
 
             # cursor.next should raise an Error if called after
             # executing a query that cannnot return rows
@@ -120,6 +120,6 @@ class PhoenixDatabaseAPI20Test(dbapi20.DatabaseAPI20Test):
             self.assertEqual(r[0], 'Victoria Bitter', 'cursor.next retrieved incorrect data')
             # cursor.next should raise StopIteration if no more rows available
             self.assertRaises(StopIteration, cur.next)
-            self.assertTrue(cur.rowcount in (-1, 1))
+            self.failUnless(cur.rowcount in (-1, 1))
         finally:
             con.close()

+ 0 - 0
desktop/core/ext-py/phoenixdb-1.2.1/phoenixdb/tests/test_errors.py → desktop/core/ext-py/phoenixdb-1.1.0/phoenixdb/tests/test_errors.py


+ 1 - 3
desktop/core/ext-py/phoenixdb-1.2.1/phoenixdb/tests/test_sqlalchemy.py → desktop/core/ext-py/phoenixdb-1.1.0/phoenixdb/tests/test_sqlalchemy.py

@@ -59,13 +59,11 @@ class SQLAlchemyTest(unittest.TestCase):
             try:
                 inspector = db.inspect(engine)
 
-                connection.execute('drop table if exists USERS')
                 connection.execute('drop table if exists ALCHEMY_TEST')
                 connection.execute('drop table if exists A.ALCHEMY_TEST_A')
                 connection.execute('drop table if exists B.ALCHEMY_TEST_B')
 
                 self.assertEqual(inspector.get_schema_names(), ['', 'SYSTEM'])
-                self.assertEqual(inspector.get_table_names(), [])
 
                 connection.execute(text('create table ALCHEMY_TEST (ID integer primary key)'))
                 connection.execute(text('create table A.ALCHEMY_TEST_A (ID_A integer primary key)'))
@@ -80,7 +78,7 @@ class SQLAlchemyTest(unittest.TestCase):
                 self.assertEqual(inspector.get_table_names('B'), ['ALCHEMY_TEST_B'])
 
                 self.assertEqual(inspector.get_view_names(), ['ALCHEMY_TEST_VIEW'])
-
+                
                 self.assertEqual(inspector.get_columns('ALCHEMY_TEST').pop()['name'], 'ID')
                 self.assertEqual(
                     inspector.get_columns('ALCHEMY_TEST', '').pop()['name'], 'ID')

+ 0 - 0
desktop/core/ext-py/phoenixdb-1.2.1/phoenixdb/tests/test_types.py → desktop/core/ext-py/phoenixdb-1.1.0/phoenixdb/tests/test_types.py


+ 0 - 0
desktop/core/ext-py/phoenixdb-1.2.1/phoenixdb/types.py → desktop/core/ext-py/phoenixdb-1.1.0/phoenixdb/types.py


+ 5 - 0
desktop/core/ext-py/phoenixdb-1.2.1/setup.cfg → desktop/core/ext-py/phoenixdb-1.1.0/setup.cfg

@@ -1,3 +1,8 @@
+[nosetests]
+verbosity = 2
+testmatch = ^test_.+
+where = phoenixdb/tests
+
 [build_sphinx]
 source-dir = doc
 build-dir = doc/build

+ 2 - 3
desktop/core/ext-py/phoenixdb-1.2.1/setup.py → desktop/core/ext-py/phoenixdb-1.1.0/setup.py

@@ -59,7 +59,7 @@ else:
         'Sphinx;python_version>="3.6"',
     ],
 
-version = "1.2.1"
+version = "1.1.0"
 
 setup(
     name="phoenixdb",
@@ -84,12 +84,11 @@ setup(
         'Programming Language :: Python :: 2',
         'Programming Language :: Python :: 2.7',
         'Programming Language :: Python :: 3',
+        'Programming Language :: Python :: 3.4',
         'Programming Language :: Python :: 3.5',
         'Programming Language :: Python :: 3.6',
         'Programming Language :: Python :: 3.7',
         'Programming Language :: Python :: 3.8',
-        'Programming Language :: Python :: 3.9',
-        'Programming Language :: Python :: 3.10'
     ],
     install_requires=install_requires,
     extras_require={

+ 0 - 169
desktop/core/ext-py/phoenixdb-1.2.1/PKG-INFO

@@ -1,169 +0,0 @@
-Metadata-Version: 2.1
-Name: phoenixdb
-Version: 1.2.1
-Summary: Phoenix database adapter for Python
-Home-page: http://phoenix.apache.org/python.html
-Author: Apache Software Foundation
-Author-email: dev@phoenix.apache.org
-License: Apache 2
-Platform: UNKNOWN
-Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 2
-Classifier: Programming Language :: Python :: 2.7
-Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.5
-Classifier: Programming Language :: Python :: 3.6
-Classifier: Programming Language :: Python :: 3.7
-Classifier: Programming Language :: Python :: 3.8
-Classifier: Programming Language :: Python :: 3.9
-Classifier: Programming Language :: Python :: 3.10
-Provides-Extra: SQLAlchemy
-License-File: LICENSE
-License-File: NOTICE
-
-Phoenix database adapter for Python
-===================================
-
-``phoenixdb`` is a Python library for accessing 
-`Apache Phoenix <http://phoenix.apache.org/>`_
-using the
-`remote query server <http://phoenix.apache.org/server.html>`_.
-This library implements the
-standard `DB API 2.0 <https://www.python.org/dev/peps/pep-0249/>`_ interface and a
-subset of `SQLAlchemy <https://www.sqlalchemy.org/>`_, either of which should be familiar
-to most Python programmers.
-
-Installation
-------------
-
-The source code is part of the phoenix-queryserver source distribution.
-You can download it from <https://phoenix.apache.org/>, or get the latest development version
-from <https://github.com/apache/phoenix-queryserver>
-
-Extract the archive and then install it manually::
-
-    cd /path/to/phoenix-queryserver-x.y.z/python/phoenixdb
-    python setup.py install
-
-Usage
------
-
-The library implements the standard DB API 2.0 interface, so it can be
-used the same way you would use any other SQL database from Python, for example::
-
-    import phoenixdb
-    import phoenixdb.cursor
-
-    database_url = 'http://localhost:8765/'
-    conn = phoenixdb.connect(database_url, autocommit=True)
-
-    cursor = conn.cursor()
-    cursor.execute("CREATE TABLE users (id INTEGER PRIMARY KEY, username VARCHAR)")
-    cursor.execute("UPSERT INTO users VALUES (?, ?)", (1, 'admin'))
-    cursor.execute("SELECT * FROM users")
-    print(cursor.fetchall())
-
-    cursor = conn.cursor(cursor_factory=phoenixdb.cursor.DictCursor)
-    cursor.execute("SELECT * FROM users WHERE id=1")
-    print(cursor.fetchone()['USERNAME'])
-
-
-Setting up a development environment
-------------------------------------
-
-If you want to quickly try out the included examples, you can set up a
-local `virtualenv <https://virtualenv.pypa.io/en/latest/>`_ with all the
-necessary requirements::
-
-    virtualenv e
-    source e/bin/activate
-    pip install -r requirements.txt
-    python setup.py develop
-
-You can start a Phoenix QueryServer instance on http://localhost:8765 for testing by running
-the following command in the pohoenix-queryserver-parent directory::
-
-    mvn clean verify -am -pl phoenix-queryserver-it -Dtest=foo \
-    -Dit.test=QueryServerBasicsIT#startLocalPQS \
-    -Ddo.not.randomize.pqs.port=true -Dstart.unsecure.pqs=true
-
-You can start a secure (https+kerberos) Phoenix QueryServer instance on https://localhost:8765
-for testing by running the following command in the phoenix-queryserver-parent directory::
-
-    mvn clean verify -am -pl phoenix-queryserver-it -Dtest=foo \
-    -Dit.test=SecureQueryServerPhoenixDBIT#startLocalPQS \
-    -Ddo.not.randomize.pqs.port=true -Dstart.secure.pqs=true
-
-this will also create a shell script in phoenix-queryserver-it/target/krb_setup.sh, that you can use to set
-up the environment for the tests.
-
-If you want to use the library without installing the phoenixdb library, you can use
-the `PYTHONPATH` environment variable to point to the library directly::
-
-    cd phoenix-queryserver-parent/python-phoenixdb
-    python setup.py build
-    cd ~/my_project
-    PYTHONPATH=$PHOENIX_HOME/build/lib python my_app.py
-
-Don't forget to run flake8 on your changes.
-
-Running the test suite
-----------------------
-
-The library comes with a test suite for testing Python DB API 2.0 compliance and
-various Phoenix-specific features. In order to run the test suite, you need a
-working Phoenix database and set the ``PHOENIXDB_TEST_DB_URL`` environment variable::
-
-    export PHOENIXDB_TEST_DB_URL='http://localhost:8765/'
-    tox
-
-If you use a secure PQS server, you can set the connection parameters via the following environment
-variables:
-
-- PHOENIXDB_TEST_DB_TRUSTSTORE
-- PHOENIXDB_TEST_DB_AUTHENTICATION
-- PHOENIXDB_TEST_DB_AVATICA_USER
-- PHOENIXDB_TEST_DB_AVATICA_PASSWORD
-
-Similarly, tox can be used to run the test suite against multiple Python versions::
-
-    pyenv install 3.5.5
-    pyenv install 3.6.4
-    pyenv install 2.7.14
-    pyenv global 2.7.14 3.5.5 3.6.4
-    PHOENIXDB_TEST_DB_URL='http://localhost:8765' tox
-
-You can use tox and docker to run the tests on supported python versions without
-installing the environments locally::
-
-    docker build -t toxtest .
-    docker run --rm --add-host=host.docker.internal:host-gateway -v `pwd`:/src toxtest
-
-You can also run the test suite from maven as part of the Java build by setting the 
-run.full.python.testsuite property. You DO NOT need to set the PHOENIXDB_* enviroment variables,
-maven will set them up for you. The output of the test run will be saved in
-phoenix-queryserver/phoenix-queryserver-it/target/python-stdout.log and python-stderr.log::
-
-    mvn clean verify -Drun.full.python.testsuite=true
-
-Known issues
-------------
-
-- TIME and DATE columns in Phoenix are stored as full timestamps with a millisecond accuracy,
-  but the remote protocol only exposes the time (hour/minute/second) or date (year/month/day)
-  parts of the columns. (`CALCITE-797 <https://issues.apache.org/jira/browse/CALCITE-797>`_, `CALCITE-798 <https://issues.apache.org/jira/browse/CALCITE-798>`_)
-- TIMESTAMP columns in Phoenix are stored with a nanosecond accuracy, but the remote protocol truncates them to milliseconds. (`CALCITE-796 <https://issues.apache.org/jira/browse/CALCITE-796>`_)
-
-
-SQLAlchemy feature support
---------------------------
-
-SQLAlchemy has a wide breadth of API, ranging from basic SQL commands to object-relational mapping support.
-
-Today, python-phoenixdb only supports the following subset of the complete SQLAlchemy API:
-
-- `Textual SQL <https://docs.sqlalchemy.org/en/13/core/tutorial.html#using-textual-sql>`_
-
-All other API should be considered not implemented.
-
-

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 33
desktop/core/ext-py/phoenixdb-1.2.1/phoenixdb/avatica/proto/common_pb2.py


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 33
desktop/core/ext-py/phoenixdb-1.2.1/phoenixdb/avatica/proto/requests_pb2.py


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 33
desktop/core/ext-py/phoenixdb-1.2.1/phoenixdb/avatica/proto/responses_pb2.py


Kaikkia tiedostoja ei voida näyttää, sillä liian monta tiedostoa muuttui tässä diffissä