




'''simple docstring'''


import contextlib
import os
import sqlitea

import pytest

from datasets import Dataset, Features, Value
from datasets.io.sql import SqlDatasetReader, SqlDatasetWriter

from ..utils import assert_arrow_memory_doesnt_increase, assert_arrow_memory_increases, require_sqlalchemy
def 						lowerCamelCase__   (				a    ,	a							):
						assert isinstance(a    ,	a							)
						assert dataset.num_rows == 4
						assert dataset.num_columns == 3
						assert dataset.column_names == ["col_1", "col_2", "col_3"]
						for feature, expected_dtype in expected_features.items():
												assert dataset.features[feature].dtype == expected_dtype
@require_sqlalchemy
@pytest.mark.parametrize('keep_in_memory'    ,	[False, True]							)
def 						lowerCamelCase__   (				a    ,	a    ,	a    ,	a							):
						__snake_case						 =   tmp_path / 'cache'
						__snake_case						 =   {'col_1': 'string', 'col_2': 'int64', 'col_3': 'float64'}
						with assert_arrow_memory_increases() if keep_in_memory else assert_arrow_memory_doesnt_increase():
												__snake_case						 =   SqlDatasetReader(
												    'dataset'    ,	'sqlite:///' + sqlite_path    ,	cache_dir=a    ,	keep_in_memory=a							).read()
						_check_sql_dataset(a    ,	a							)
@require_sqlalchemy
@pytest.mark.parametrize(
    'features'    ,	[
        None,
        {'col_1': 'string', 'col_2': 'int64', 'col_3': 'float64'},
        {'col_1': 'string', 'col_2': 'string', 'col_3': 'string'},
        {'col_1': 'int32', 'col_2': 'int32', 'col_3': 'int32'},
        {'col_1': 'float32', 'col_2': 'float32', 'col_3': 'float32'},
    ]    ,	)
def 						lowerCamelCase__   (				a    ,	a    ,	a    ,	a							):
						__snake_case						 =   tmp_path / 'cache'
						__snake_case						 =   {'col_1': 'string', 'col_2': 'int64', 'col_3': 'float64'}
						__snake_case						 =   features.copy() if features else default_expected_features
						__snake_case						 =   (
						    Features({feature: Value(a							) for feature, dtype in features.items()}							) if features is not None else None
						)
						__snake_case						 =   SqlDatasetReader('dataset'    ,	'sqlite:///' + sqlite_path    ,	features=a    ,	cache_dir=a							).read()
						_check_sql_dataset(a    ,	a							)
def 						lowerCamelCase__   (				a							):
						with contextlib.closing(sqlitea.connect(a							)							) as con:
												__snake_case						 =   con.cursor()
												cur.execute('SELECT * FROM dataset'							)
												for row in cur:
																		yield row
@require_sqlalchemy
def 						lowerCamelCase__   (				a    ,	a    ,	a							):
						__snake_case						 =   tmp_path / 'cache'
						__snake_case						 =   os.path.join(a    ,	'tmp.sql'							)
						__snake_case						 =   SqlDatasetReader('dataset'    ,	'sqlite:///' + sqlite_path    ,	cache_dir=a							).read()
						SqlDatasetWriter(a    ,	'dataset'    ,	'sqlite:///' + output_sqlite_path    ,	num_proc=1							).write()

						__snake_case						 =   iter_sql_file(a							)
						__snake_case						 =   iter_sql_file(a							)

						for rowa, rowa in zip(a    ,	a							):
												assert rowa == rowa
@require_sqlalchemy
def 						lowerCamelCase__   (				a    ,	a    ,	a							):
						__snake_case						 =   tmp_path / 'cache'
						__snake_case						 =   os.path.join(a    ,	'tmp.sql'							)
						__snake_case						 =   SqlDatasetReader('dataset'    ,	'sqlite:///' + sqlite_path    ,	cache_dir=a							).read()
						SqlDatasetWriter(a    ,	'dataset'    ,	'sqlite:///' + output_sqlite_path    ,	num_proc=2							).write()

						__snake_case						 =   iter_sql_file(a							)
						__snake_case						 =   iter_sql_file(a							)

						for rowa, rowa in zip(a    ,	a							):
												assert rowa == rowa






@require_sqlalchemy
def 						lowerCamelCase__   (				a    ,	a    ,	a							):
						__snake_case						 =   tmp_path / 'cache'
						__snake_case						 =   os.path.join(a    ,	'tmp.sql'							)
						__snake_case						 =   SqlDatasetReader('dataset'    ,	'sqlite:///' + sqlite_path    ,	cache_dir=a							).read()
						with pytest.raises(a							):
												SqlDatasetWriter(a    ,	'dataset'    ,	'sqlite:///' + output_sqlite_path    ,	num_proc=0							).write()







'''simple docstring'''


from math import isqrt, loga
def 						lowerCamelCase__   (				a							):
						__snake_case						 =   [True] * max_number
						for i in range(2    ,	isqrt(max_number - 1							) + 1							):
												if is_prime[i]:
																		for j in range(i**2    ,	a    ,	a							):
																								__snake_case						 =   False

						return [i for i in range(2    ,	a							) if is_prime[i]]
def 						lowerCamelCase__   (				a = 800800    ,	a = 800800							):
						__snake_case						 =   degree * loga(a							)
						__snake_case						 =   int(a							)
						__snake_case						 =   calculate_prime_numbers(a							)

						__snake_case						 =   0
						__snake_case						 =   0
						__snake_case						 =   len(a							) - 1
						while left < right:
												while (
												    prime_numbers[right] * loga(prime_numbers[left]							)
												    + prime_numbers[left] * loga(prime_numbers[right]							)
												    > upper_bound
												):
																		right -= 1
												hybrid_integers_count += right - left
												left += 1

						return hybrid_integers_count


if __name__ == "__main__":
	print(f'''{solution() = }''')

