HeadlinesBriefing HeadlinesBriefing.com

GitHub ClickHouse/clickhouse-c: Header-Only C ক্লায়েন্ট

Hacker News •
×

ClickHouse/clickhouse-c হলো minimalist C ক্লায়েন্ট যা TCP over Native wire format বাস্তবায়ন করে। এই লাইব্রেরি একটি মূল হেডার প্লাস ঐচ্ছিক ফলো-আপ হেডার TCP, compression, codecs, এবং I/O backends জন্য। এটি PostgreSQL extensions-এর মধ্যে এম্বেড করার জন্য ডিজাইন করা गया है কিন্তু इसमें কোনো PostgreSQL-विशिष्ट কোড নেই। clickhouse.h একমাত্র অন্তর্ভুক্ত করলে একটি puro block decoder পেয়ে যা caller-supplied chc_io ব্যবহার করে, TCP ছাড়া, compression ছাড়া, libc এর বাইরে কোনো link-time নির্ভরতা ছাড়া clickhouse-local-এর FORMAT Native output পড়তে সক্ষম।

কwiaক্টের ডেমো clickhouse localuery TCP বা compression ছাড়া ডিকোডিং প্রদর্শন করে। examples/minimal_decode.c এন্ড-টু-এন্ড সংস্করণ উপলব্ধ। প্রয়োজনীয় সার্ভার সেটিং output_format_native_encode_types_in_binary_format = 0; tanpa এটি, সার্ভার বাইনারি টাইপ ট্যাগs উত্পাদন করে এবং chc_block_read CHC_ERR_TYPE ফেরত দেয়।

একই ট্রান্সলেশন-ইউনিট মডেল অনুসরণ করে ইন্টিগ্রেশন: একে একে उपভোগকারী জন্য একক translation unit CHC_IMPLEMENTATION ম্যাক্রো সংজ্ঞায়িত করে এবং হেডার অন্তর্ভুক্ত করে, আর অন্য TU শুধু পাবলিক ঘোষণা অন্তর্ভুক্ত করে। CHC_PROVIDE_STDLIB_ALLOCের পেছনে stdlib malloc/realloc/free helper উপলব্ধ। PostgreSQL extensions-র মধ্যে palloc/repalloc/pfree wiringের জন্য, pg_clickhouse বা pg_stat_ch দেখুন।

হেডার অন্তর্ভুক্ত clickhouse.h (কোর), clickhouse-client.h (TCP প্যাকেট লুপ), clickhouse-async.h (ioless client), clickhouse-compression.h (compressed frames, LZ4 & ZSTD এডাপ্টার), clickhouse-posix-io.h (ব্লকিং read/write), এবং clickhouse-openssl.h (SSL সমর্থন)। প্রতিটি ফলো-আপ হেডার স্বাধীন। test.sh CFLAGS এবং LDFLAGS কনফিগারেশন দিয়ে পরীক্ষা করা হয়েছে।

উৎস: Hacker News · সারাংশ: HeadlinesBriefing