"""Zjistí propojení mezi hlavní DB a externí DB - spusť na Windows"""
import fdb, glob

# Hlavní DB
conn_main = fdb.connect(dsn=r'localhost:c:\medicus 3\data\medicus.fdb',
    user='SYSDBA', password='masterkey', charset='win1250')
cur = conn_main.cursor()

# Najít exportované záznamy v FILES (BODY není velký BLOB)
print("=== FILES záznamy po exportu (malý BODY = reference na externí DB) ===")
cur.execute("""
    SELECT ID, IDPAC, FILENAME, DATUM, EXT_ID, DOCID,
           OCTET_LENGTH(BODY) as BODY_LEN,
           CAST(BODY AS VARCHAR(100)) as BODY_TEXT
    FROM FILES
    WHERE OCTET_LENGTH(BODY) < 100
    ORDER BY ID DESC ROWS 5
""")
for r in cur.fetchall():
    print(f"  ID={r[0]}  IDPAC={r[1]}  FILE={r[2]}")
    print(f"    DATUM={r[3]}  EXT_ID={r[4]}  DOCID={r[5]}")
    print(f"    BODY_LEN={r[6]}  BODY_TEXT='{r[7]}'")

# Ukázka záznamu s plným BODY (ještě ne exportovaný)
print("\n=== FILES záznamy PŘED exportem (velký BODY = binary data) ===")
cur.execute("""
    SELECT ID, FILENAME, DATUM, EXT_ID, OCTET_LENGTH(BODY) as BODY_LEN
    FROM FILES
    WHERE OCTET_LENGTH(BODY) > 1000
    ORDER BY ID DESC ROWS 3
""")
for r in cur.fetchall():
    print(f"  ID={r[0]}  FILE={r[1]}  DATUM={r[2]}  EXT_ID={r[3]}  BODY={r[4]}B")

conn_main.close()

# Porovnat s externí DB
print("\n=== DATA záznamy v externí DB ===")
soubory = glob.glob(r'u:\MEDICUS_FILES_*.fdb') + glob.glob(r'u:\MEDICUS_FILES_*.FDB')
soubor = sorted(soubory)[0]  # vezmeme nejstarší
print(f"Soubor: {soubor}")
conn_ext = fdb.connect(dsn=f'localhost:{soubor}', user='SYSDBA', password='masterkey', charset='win1250')
cur_ext = conn_ext.cursor()
cur_ext.execute("SELECT UID, DATASIZE, CHUNK FROM DATA ORDER BY CHUNK ROWS 5")
for r in cur_ext.fetchall():
    print(f"  UID='{r[0]}'  DATASIZE={r[1]}  CHUNK={r[2]}")
conn_ext.close()
