Skip to content

Test boolean #11

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Apr 11, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion interbase/schema.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@
IBT_SQL_TIME = 13
IBT_SQL_TIMESTAMP = 35
IBT_BIGINT = 16
IBT_BOOLEAN = 17

MAX_INTSUBTYPES = 2
MAX_BLOBSUBTYPES = 8
Expand All @@ -72,7 +73,8 @@
IBT_SQL_TIME: 'TIME',
IBT_SQL_DATE: 'DATE',
IBT_SQL_TIMESTAMP: 'TIMESTAMP',
IBT_BIGINT: 'BIGINT'
IBT_BIGINT: 'BIGINT',
IBT_BOOLEAN: 'BOOLEAN',
}
INTEGRAL_SUBTYPES = ('UNKNOWN', 'NUMERIC', 'DECIMAL')
BLOB_SUBTYPES = ('BINARY', 'TEXT', 'BLR', 'ACL', 'RANGES', 'SUMMARY',
Expand Down
3 changes: 2 additions & 1 deletion interbase/test/files/create-test-db-dialect-1.sql
Original file line number Diff line number Diff line change
Expand Up @@ -612,7 +612,8 @@ CREATE TABLE T2
C13 DOUBLE PRECISION,
C14 DECIMAL(8, 4),
C15 DECIMAL(8, 4),
C16 BLOB SUB_TYPE 0 SEGMENT SIZE 80
C16 BLOB SUB_TYPE 0 SEGMENT SIZE 80,
C17 BOOLEAN DEFAULT FALSE
);

/* Table: T3, Owner: SYSDBA */
Expand Down
2 changes: 1 addition & 1 deletion interbase/test/files/create-test-db.bat
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
del test2020v4.ib
"C:\Program Files (x86)\Embarcadero\InterBase\bin\isql" -i create-test-db.sql
"C:\Program Files\Embarcadero\InterBase\bin\isql" -i create-test-db.sql
4 changes: 3 additions & 1 deletion interbase/test/files/create-test-db.sql
Original file line number Diff line number Diff line change
Expand Up @@ -340,6 +340,7 @@ CREATE TABLE JOB
MAX_SALARY SALARY NOT NULL,
JOB_REQUIREMENT BLOB SUB_TYPE TEXT SEGMENT SIZE 80,
LANGUAGE_REQ VARCHAR(255)[5],
IS_TEMPORARY BOOLEAN DEFAULT FALSE,
CONSTRAINT RDB$PRIMARY2 PRIMARY KEY (JOB_CODE, JOB_GRADE, JOB_COUNTRY)
);

Expand Down Expand Up @@ -611,7 +612,8 @@ CREATE TABLE T2
C13 DOUBLE PRECISION,
C14 DECIMAL(8, 4),
C15 DECIMAL(8, 4),
C16 BLOB SUB_TYPE 0 SEGMENT SIZE 80
C16 BLOB SUB_TYPE 0 SEGMENT SIZE 80,
C17 BOOLEAN DEFAULT FALSE
);

/* Table: T3, Owner: SYSDBA */
Expand Down
4 changes: 2 additions & 2 deletions interbase/test/test_arrays.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@
import datetime
import decimal

from core import InterBaseTestBase
from constants import IBTEST_HOST, IBTEST_USER, IBTEST_PASSWORD, IBTEST_DB_PATH, IBTEST_SQL_DIALECT,\
from .core import InterBaseTestBase
from .constants import IBTEST_HOST, IBTEST_USER, IBTEST_PASSWORD, IBTEST_DB_PATH, IBTEST_SQL_DIALECT,\
IBTEST_SERVER_PUBLIC_FILE


Expand Down
4 changes: 2 additions & 2 deletions interbase/test/test_bugs.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@
import datetime

from io import BytesIO
from core import InterBaseTestBase
from constants import IBTEST_HOST, IBTEST_USER, IBTEST_PASSWORD, IBTEST_DB_DIR_PATH, IBTEST_DB_PATH,\
from .core import InterBaseTestBase
from .constants import IBTEST_HOST, IBTEST_USER, IBTEST_PASSWORD, IBTEST_DB_DIR_PATH, IBTEST_DB_PATH,\
IBTEST_SQL_DIALECT, IBTEST_SERVER_PUBLIC_FILE


Expand Down
4 changes: 2 additions & 2 deletions interbase/test/test_change_views.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@
import interbase
import time

from core import InterBaseTestBase
from constants import IBTEST_HOST, IBTEST_USER, IBTEST_PASSWORD, IBTEST_DB_PATH, IBTEST_SQL_DIALECT,\
from .core import InterBaseTestBase
from .constants import IBTEST_HOST, IBTEST_USER, IBTEST_PASSWORD, IBTEST_DB_PATH, IBTEST_SQL_DIALECT,\
IBTEST_SERVER_PUBLIC_FILE


Expand Down
4 changes: 2 additions & 2 deletions interbase/test/test_charset_conversion.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@

import interbase

from core import InterBaseTestBase
from constants import IBTEST_HOST, IBTEST_USER, IBTEST_PASSWORD, IBTEST_DB_PATH, IBTEST_SQL_DIALECT,\
from .core import InterBaseTestBase
from .constants import IBTEST_HOST, IBTEST_USER, IBTEST_PASSWORD, IBTEST_DB_PATH, IBTEST_SQL_DIALECT,\
IBTEST_SERVER_PUBLIC_FILE


Expand Down
4 changes: 2 additions & 2 deletions interbase/test/test_connection.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,9 @@

from unittest import skipUnless
from sys import platform
from core import InterBaseTestBase
from .core import InterBaseTestBase
from contextlib import closing
from constants import IBTEST_PASSWORD, IBTEST_USER, IBTEST_DB_PATH, IBTEST_HOST,\
from .constants import IBTEST_PASSWORD, IBTEST_USER, IBTEST_DB_PATH, IBTEST_HOST,\
IBTEST_USE_EMBEDDED, IBTEST_SQL_DIALECT, IBTEST_SERVER_PUBLIC_FILE

class TestConnection(InterBaseTestBase):
Expand Down
4 changes: 2 additions & 2 deletions interbase/test/test_create.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,9 @@
import os
import interbase

from core import InterBaseTestBase
from .core import InterBaseTestBase
from contextlib import closing
from constants import IBTEST_HOST, IBTEST_USER, IBTEST_PASSWORD, IBTEST_DB_DIR_PATH,\
from .constants import IBTEST_HOST, IBTEST_USER, IBTEST_PASSWORD, IBTEST_DB_DIR_PATH,\
IBTEST_SQL_DIALECT, IBTEST_SERVER_PUBLIC_FILE


Expand Down
7 changes: 4 additions & 3 deletions interbase/test/test_cursor.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@

import interbase

from core import InterBaseTestBase
from constants import IBTEST_PASSWORD, IBTEST_USER, IBTEST_HOST, \
from .core import InterBaseTestBase
from .constants import IBTEST_PASSWORD, IBTEST_USER, IBTEST_HOST, \
IBTEST_DB_PATH, IBTEST_USE_EMBEDDED, IBTEST_SQL_DIALECT, IBTEST_SERVER_PUBLIC_FILE


Expand Down Expand Up @@ -136,7 +136,8 @@ def test_description(self):
"('MAX_SALARY', <class 'decimal.Decimal'>, " +
("20, 8, 10" if IBTEST_SQL_DIALECT == 3 else "17, 8, None") + ", -2, False), "
"('JOB_REQUIREMENT', <class 'str'>, 0, 8, 0, 1, True), "
"('LANGUAGE_REQ', <class 'list'>, -1, 8, 0, 0, True))"
"('LANGUAGE_REQ', <class 'list'>, -1, 8, 0, 0, True), "
"('IS_TEMPORARY', <class 'bool'>, 5, 2, 0, 0, True))"
)

cursor.execute('select * from proj_dept_budget')
Expand Down
2 changes: 1 addition & 1 deletion interbase/test/test_dbapi20.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
from unittest import skip, skipUnless

import interbase
from constants import IBTEST_HOST, IBTEST_USER, IBTEST_PASSWORD, IBTEST_DB, IBTEST_SERVER_PUBLIC_FILE
from .constants import IBTEST_HOST, IBTEST_USER, IBTEST_PASSWORD, IBTEST_DB, IBTEST_SERVER_PUBLIC_FILE

if sys.version[0] >= '3': #python 3.x
_BaseException = Exception
Expand Down
4 changes: 2 additions & 2 deletions interbase/test/test_distributed_transaction.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@
import os
import interbase

from core import InterBaseTestBase
from constants import IBTEST_HOST, IBTEST_USER, IBTEST_PASSWORD, IBTEST_DB_DIR_PATH,\
from .core import InterBaseTestBase
from .constants import IBTEST_HOST, IBTEST_USER, IBTEST_PASSWORD, IBTEST_DB_DIR_PATH,\
IBTEST_SQL_DIALECT, IBTEST_SERVER_PUBLIC_FILE
from unittest import skip

Expand Down
4 changes: 2 additions & 2 deletions interbase/test/test_encryption.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@
import interbase
import time

from core import InterBaseTestBase
from constants import IBTEST_HOST, IBTEST_USER, IBTEST_PASSWORD, IBTEST_DB_DIR_PATH, \
from .core import InterBaseTestBase
from .constants import IBTEST_HOST, IBTEST_USER, IBTEST_PASSWORD, IBTEST_DB_DIR_PATH, \
IBTEST_SQL_DIALECT, IBTEST_SERVER_PUBLIC_FILE


Expand Down
4 changes: 2 additions & 2 deletions interbase/test/test_events.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@
import threading

from unittest import skip
from core import InterBaseTestBase
from constants import IBTEST_DB_DIR_PATH, IBTEST_HOST, IBTEST_USER, IBTEST_PASSWORD, IBTEST_SQL_DIALECT,\
from .core import InterBaseTestBase
from .constants import IBTEST_DB_DIR_PATH, IBTEST_HOST, IBTEST_USER, IBTEST_PASSWORD, IBTEST_SQL_DIALECT,\
IBTEST_SERVER_PUBLIC_FILE


Expand Down
18 changes: 16 additions & 2 deletions interbase/test/test_insert_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@
import decimal
import datetime

from core import InterBaseTestBase
from constants import IBTEST_USER, IBTEST_HOST, IBTEST_PASSWORD, IBTEST_DB_PATH, IBTEST_SQL_DIALECT,\
from .core import InterBaseTestBase
from .constants import IBTEST_USER, IBTEST_HOST, IBTEST_PASSWORD, IBTEST_DB_PATH, IBTEST_SQL_DIALECT,\
IBTEST_SERVER_PUBLIC_FILE


Expand Down Expand Up @@ -226,3 +226,17 @@ def test_insert_numeric_decimal(self):
]
)

def test_insert_boolean(self):
cur = self.con.cursor()
cur.execute('insert into T2 (C1, C17) values (?, ?)', (0, False))
cur.execute('insert into T2 (C1, C17) values (?, ?)', (1, True))
self.con.commit()

cur.execute('select C1, C17 from T2 where C17 = ?', (False,))
row = cur.fetchone()
self.assertFalse(row is None or len(row) != 2)
self.assertEqual(row[1], False)

cur.execute('select C1, C17 from T2 where C17 = ?', (True,))
rows = cur.fetchall()
self.assertListEqual(rows, [(1, True)])
4 changes: 2 additions & 2 deletions interbase/test/test_prepared_statement.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@

import interbase

from core import InterBaseTestBase
from constants import IBTEST_HOST, IBTEST_USER, IBTEST_PASSWORD, IBTEST_DB_PATH, IBTEST_SQL_DIALECT,\
from .core import InterBaseTestBase
from .constants import IBTEST_HOST, IBTEST_USER, IBTEST_PASSWORD, IBTEST_DB_PATH, IBTEST_SQL_DIALECT,\
IBTEST_SERVER_PUBLIC_FILE


Expand Down
9 changes: 5 additions & 4 deletions interbase/test/test_schema.py
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What might this change be from 256 to 258? Is it the domain field ID?

Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@
from unittest import skip
from interbase import schema as sm
from contextlib import closing
from core import InterBaseTestBase, SchemaVisitor
from constants import IBTEST_HOST, IBTEST_USER, IBTEST_PASSWORD, IBTEST_DB_PATH, IBTEST_SQL_DIALECT,\
from .core import InterBaseTestBase, SchemaVisitor
from .constants import IBTEST_HOST, IBTEST_USER, IBTEST_PASSWORD, IBTEST_DB_PATH, IBTEST_SQL_DIALECT,\
IBTEST_SERVER_PUBLIC_FILE


Expand Down Expand Up @@ -152,7 +152,7 @@ def testSchemaFromConnection(self):
self.assertEqual(len(s.generators),2)
self.assertEqual(len(s.sysgenerators),10)
self.assertEqual(len(s.domains),15)
self.assertEqual(len(s.sysdomains), 256)
self.assertEqual(len(s.sysdomains), 258)
self.assertEqual(len(s.indices),28)
self.assertEqual(len(s.sysindices),77)
self.assertEqual(len(s.tables),15)
Expand Down Expand Up @@ -1006,7 +1006,7 @@ def testProcedureParameter(self):
#
self.assertEqual(c.procedure.name,'GET_EMP_PROJ')
self.assertEqual(c.sequence,0)
self.assertEqual(c.domain.name,'RDB$94')
self.assertEqual(c.domain.name,'RDB$96')
self.assertEqual(c.datatype,'SMALLINT')
self.assertEqual(c.type_from,interbase.schema.PROCPAR_DATATYPE)
self.assertIsNone(c.default)
Expand Down Expand Up @@ -2337,6 +2337,7 @@ def testVisitor(self):
"MAX_SALARY SALARY NOT NULL,\n " \
"JOB_REQUIREMENT BLOB SUB_TYPE TEXT SEGMENT SIZE 80,\n " \
"LANGUAGE_REQ VARCHAR(255)[5],\n " \
"IS_TEMPORARY BOOLEAN DEFAULT FALSE,\n " \
"CONSTRAINT RDB$PRIMARY2\n PRIMARY KEY (JOB_CODE,JOB_GRADE,JOB_COUNTRY)\n)\n" \
"CREATE PROCEDURE SHOW_LANGS (\n CODE VARCHAR(5),\n " \
"GRADE SMALLINT,\n CTY VARCHAR(15)\n)\nRETURNS (LANGUAGES VARCHAR(15))\nAS\n\n" \
Expand Down
4 changes: 2 additions & 2 deletions interbase/test/test_services.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,9 @@

from sys import platform
from unittest import skipUnless, skip
from core import InterBaseTestBase
from .core import InterBaseTestBase
from contextlib import closing
from constants import IBTEST_HOST, IBTEST_PASSWORD, IBTEST_DB_PATH, \
from .constants import IBTEST_HOST, IBTEST_PASSWORD, IBTEST_DB_PATH, \
IBTEST_USER, IBTEST_DB_DIR_PATH, IBTEST_USE_EMBEDDED, IBTEST_SQL_DIALECT, IBTEST_SERVER_PUBLIC_FILE


Expand Down
4 changes: 2 additions & 2 deletions interbase/test/test_stored_proc.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,9 @@

import interbase

from core import InterBaseTestBase
from .core import InterBaseTestBase
from decimal import Decimal
from constants import IBTEST_USER, IBTEST_HOST, IBTEST_PASSWORD, IBTEST_DB_PATH, IBTEST_SQL_DIALECT,\
from .constants import IBTEST_USER, IBTEST_HOST, IBTEST_PASSWORD, IBTEST_DB_PATH, IBTEST_SQL_DIALECT,\
IBTEST_SERVER_PUBLIC_FILE


Expand Down
4 changes: 2 additions & 2 deletions interbase/test/test_stream_blobs.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,9 @@
import interbase

from io import StringIO
from core import InterBaseTestBase
from .core import InterBaseTestBase
from contextlib import closing
from constants import IBTEST_HOST, IBTEST_USER, IBTEST_PASSWORD, IBTEST_DB_PATH, IBTEST_SQL_DIALECT,\
from .constants import IBTEST_HOST, IBTEST_USER, IBTEST_PASSWORD, IBTEST_DB_PATH, IBTEST_SQL_DIALECT,\
IBTEST_SERVER_PUBLIC_FILE


Expand Down
4 changes: 2 additions & 2 deletions interbase/test/test_transaction.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@

import interbase

from core import InterBaseTestBase
from constants import IBTEST_HOST, IBTEST_USER, IBTEST_PASSWORD, IBTEST_DB_PATH, IBTEST_SQL_DIALECT,\
from .core import InterBaseTestBase
from .constants import IBTEST_HOST, IBTEST_USER, IBTEST_PASSWORD, IBTEST_DB_PATH, IBTEST_SQL_DIALECT,\
IBTEST_SERVER_PUBLIC_FILE


Expand Down